Mostly Harmless: Team Description Paper 2009
Harald Altinger, Bernd Bergler, Stefan J. Galler, Alexander Hieden, Christof Hoppe, Thomas Joham, Thomas Magnet, Michael Maier, Stephan Mühlbacher-Karrer, Daniel Muschick, Christopher Preschern, Gerald Steinbauer, Robert Unterberger, Franz Wotawa
Institute for Software Technology, Graz University of Technology, 8010 Graz, Austria
Abstract This paper describes the latest innovations of the Mostly Harmless RoboCup Middle-Size Team at Graz University of Technology. Research activities focused on improving the ball handling capabilities through additional sensor technologies, completely automating the configuration process of all robot components and improving team cooperation behavior. The team shall be understood as an education platform as well. About 20 students are currently working on projects and theses related to the team.
1 Introduction
We founded the Mostly Harmless RoboCup Team at Graz University of Technology back in 2002. The team participated in most of the German Open and RoboCup tournaments since 2003 and managed to proceed to the second round a couple of times.
We see the team not only as a research platform but as an education platform for currently more than twenty students including students of computer science, electrical and mechanical engineering. PhD students and several master students have worked on scientifically relevant challenges such as path-planning, color independent vision, artificial intelligence [5] and automatic fault detection [9].
Based on professional fault analysis (see Section 2) several improvements of our hardware platform were realized. The results of our experiments for equipping our robots with touch sensitive ball handling devices are also submitted to the International RoboCup Symposium.
In Section 3 one will find the general software structure. Furthermore, a new concept of the behavior engine, automatic camera calibration and our concept for playing passes are mentioned.
2 Hardware Improvements
The team was confronted with two major problems related to our hardware. We managed to analyze both of them with the help of high-tech equipment, such as an infrared camera and a high-speed camera system provided by cooperation partners inside our university: The first problem was that our robots' hard drives only lasted a couple of months until they failed due to a head crash. The second problem is that our robots are very heavy and therefore not very flexible in their movement. Furthermore, if we want to put new equipment on them, we are verging on the weight limit.
We learned from those experiments that the top part of the robot oscillates with a frequency of 38.5 Hertz which causes a head crash on the hard disk if it is writing data during the kick.
Analyzing the weight of our robots revealed three fans cooling the robots' gears. To determine whether they are absolutely necessary or not we observed the robots temperature with an infrared camera.
In the upper row of Figure 1 one can see shots of the robot taken without the fans turned on. The first image is taken while the robot is not moving, the second one after three minutes and the last one after six minutes of moving. In the lower row one can see the corresponding temperatures when the fans are turned on.
2.1 Upgrade to Flash Memory
Each robot is equipped with a Mini-ITX industrial PC with 2.5" IDE hard drives. They have significant drawbacks: they are highly sensitive to vibrations and concussion and they are complicated to replace in case of an error where the operating system has to be restored. We had recurring failures due to concussions from our strong pneumatic kicker.
Possible solutions were switching to Solid State Disks [8] and Compact Flash (CF) cards. Like other teams we decided to use Compact Flash cards [11]. Compact Flash cards support error correcting code (ECC) and dynamic wear-leveling. Another significant reason for choosing CF-cards is their ability to speak the IDE protocol natively, so the adapters are very simple and we could achieve higher data rates than specified by the vendor.
Tests showed that the boot time of the linux operating system decreased by about 30% through the random-access nature of flash memory [4] and the 50% higher read speed than our 5400rpm hard drives.
2.2 Compass
To distinguish between the own and the opponent goal Mostly Harmless equipped its robots with compass sensors, as did most of the RoboCup Middle-Size League teams. We experimented with multiple sensors to find out if the earth's magnetic field will be disturbed by our robots, the motors and computers. Starting with a x-Sens MTi sensor, which contains a digital compass, we ended up with the KMZ51 compass sensor from Philips Semiconductors as a viable and affordable solution.
Its working principle is based on the magnetoresistive effect, which means a change of resistance if the external magnetic field changes. In our case when the robot is moving across the earth's magnetic field, especially when it is turning. A complete circuit with an integrated analog-digital converter and micro controller can be found within the CMPS03 compass module from Devantech [3].
2.3 Touch-sensitive Ball Handling
To enhance the robots' dribbling capability, we considered a human soccer player who can "measure" the force he applies to the ball with the help of his skin. Therefore, we had the intention to give the robot the ability to "feel" the ball as well. This intention was inspired by Takyuki Hoshi et al. [10]. Currently we are experimenting with a combination of four sensor types: micro switches, diffuse sensors, pressure sensors and capacitive sensors. The results are submitted to the International RoboCup Symposium 2009 [1].
The pressure sensor, connected to a pressure pad, is mounted on the guidance device. The pressure variation caused by the ball during the hit against the guidance is very small. Therefore we developed a capable amplifier circuit to get a usable measurement range. The resulting signal is sampled with 1kHz by the analog-digital converter of our AT90CAN128 micro controller.
The capacitive sensor is based on pairs of two electrodes with a common ground. Two of those pairs are used within a differential measurement to determine the balls position/movement within the ball guidance. We are using a capacitive sensor chip [12] developed by the Institute of Electrical Measurement and Measurement Signal Processing (EMT) of Graz University of Technology. It delivers the measurement value via the Serial Peripheral Interface Bus (SPI). Based on the fact that a ball has got a low capacitive influence, we can only determine the balls position/movement when it is not more than 5 centimeters away from the sensor's electrodes. Figure 3 shows our experimental result when the ball is coming from the left hand side, hitting the tray and leaving to the right. The curve shows the differential signal from the two capacitive electrode pairs.
3 Software Innovations
Due to performance problems in the past we re-designed the basic communication flow of our software architecture. As one can see in Figure 4, all modules, starting from the sensor fusion to the actuators, are now running in a single thread. Only the long-term planner and the self-localization still have their own thread.
3.1 Fast and Robust Behavior Engine
The enhancement of the behavior engine as described in this section was originally introduced at IEA/AIE 2008 [6].
The execution of different behavior patterns in order to achieve a given task is one of the fundamental prerequisites of an autonomous mobile robot. Once a robot has derived a plan to achieve its task, some mechanism is needed to execute the plan. Such a mechanism has to be flexible in order to allow execution of different plans, sub-plans or behavior patterns. This requires an appropriate description or programming language. In addition, the mechanism has to be robust against failure. Even in situations which are new to the robot, the execution of behavior patterns should not fail.
There is a great number of proposed mechanisms to organize, structure and describe the task execution of autonomous robots. On the highest level these mechanisms can be divided into three major groups: (1) the reactive paradigm, (2) the deliberative paradigm and (3) the hybrid paradigm.
We developed a framework to organize and execute behavior patterns in a flexible and robust way using the hybrid paradigm. The organization of the reactive part is based on Teleo-Reactive (TR) Programs proposed by Nilsson [7]. TR-Programs are ordered lists of condition-action pairs, which ensure robustness in dynamic environments. Because basic TR-Programs are not able to deal with parallel actions, we introduced extended TR-Programs. Such TR-Programs serve as actions for a higher-level planning module.
3.2 Calibration-Free Ball Detection
During the last two years, our vision development was focused on simplifying the setup process of the software. The objective was to design a new ball detection algorithm that uses the ball color as the main feature, but that needs no calibration process. In addition, the proposed method is luminance independent.
The catadioptric camera system provides pictures in the YUV color format. This color space is suitable for dealing with different illumination situations because the luminance (Y-channel) is independent of the chrominance (represented by U and V channel). Another advantage of this color format is the representation of the ball color. In the V channel the orange color is represented by very high values. The remaining colors, especially the green floor seen on a RoboCup field, are mapped to much darker values.
This observation leads to a very intuitive and fast algorithm. Because we assume that the ball is located on the floor, we have to find a crossing from dark to bright and going back to dark. With a scan line method we search for such crossings in the V channel.
In the next step we apply a region growing algorithm around such a light spot in the image. We thus get a segmentation mask of the ball. For filtering out false positives, we apply some heuristics on this mask, e.g. the aspect ratio, the size and the filling degree of the bounding box.
The computing time for the whole algorithm applied on a 700 x 700 pixel image takes not more than 2ms on the 2GHz Intel Mobile processor of the robots.
3.3 Model-based Camera Calibration
The objective is to create an automatic process that calibrates the lookup table for the mapping between pixel coordinates in the omni-directional image and real-world coordinates.
For the rotation and translation of all system components to each other we use the Gallilei transformation. We use a closed functional form of the equation instead of the vectorial solution used by other teams [2].
We constructed a mathematical concept that returns the exact distances and the angle of the playing field lines relative to the robot. These distances are used to create a virtual playing field which will be compared to the optimal case. After the comparison we are able to detect the average deviation. To minimize this error we are using mathematical approximation methods to find the optimal calibration. If the deviation is small enough, we can disregard it. Furthermore, we try to develop an automatic algorithm for this process. Then the robot is able to calibrate it completely autonomously during game preparation setup as well as during the game.
3.4 Robot Cooperation: Passing
4 Conclusion & Outlook
In the past two years, the Mostly Harmless team of Graz University of Technology has made considerable efforts to make both its hard- and software more easy to maintain and effective. It has both met the new challenges of the RoboCup federation and contributed original scientific work. Not only does it strive to be highly competitive, it also provides a playful working environment to numerous motivated students. Many projects apart from the ones mentioned before are currently being worked on, such as an improved odometry sensor and the integration of a second, directed camera.
References
- Harald Altinger, Stefan J. Galler, Stephan Mhlbacher-Karrer, Gerald Steinbauer, Franz Wotawa, and Hubert Zangl. Touch sensitive ball handling device. submitted to International RoboCup Symposium 2009.
- Bernardo Cunha, Jos´e Azevedo, Nuno Lau, and Luis Almeida. Obtaining the inverse distance map from a non-svp hyperbolic catadioptric robotic vision system. Lecture Notes in Computer Science, 5001:417–424, 2008.
- Devantech. Devantech CMPS03 datasheet.
- Douglas Dumitru. Understanding Flash SSD Performance. ACSL (Applied Computer Science, Ltd.), http://STORAGEsearch.com, August 2007.
- Gordon Fraser. Ai-planning for robotic soccer. Master's thesis, Institute for Software Technology, Graz University of Technology, 2003.
- Gerhard Gubisch, Gerald Steinbauer, Martin Weiglhofer, and Franz Wotawa. A teleo-reactive architecture for fast, reactive and robust control of mobile robots. Lecture Notes in Computer Science, 5027:541–550, 2008.
- Nils J. Nilsson. Teleo-reactive programs for agent control. JAIR, 1:139–158, 1994.
- K. Baumgart T. Kleppe C. Hoppe S. Triller D. Saur J. Wollenhaupt T. Amma M. Blumenstein F. Seute A. Witsch P. A. Baer, R. Reichle and Geihs. Carpe noctem 2006. In International RoboCup Symposium. Distributed Systems Group, University of Kassel, 2006.
- Gerald Steinbauer. Intelligent and Robust Control of Autonomous Mobile Robots. PhD thesis, Institute of Software Technology, Graz University of Technology, Austria, October 2006.
- Hiroyuki Shinoda Takyuki Hoshi. Robot skin based on touch-are-sensitive tactile element. Robotics and Automation, 2006. ICRA 2006. Proceedings 2006 IEEE InternationalConference on, pages 3463–3468, March 2006.
- Markus Koch Alexander Bruder Stefan Rose Willi Richert, Bernd Kleinjohann and Philipp Adelt. The paderkicker team robocup 2006. In International RoboCup Symposium 2006, Germany, 2006. of Computer Science, Electrical Engineering and Mathematics, University of Paderborn.
- H. Zangl, Th. Bretterklieber, and G. Holler. On the design of a fully differential capacitive sensor front-end interfacecircuit. In Microelectronics Conference ME2008, pages 132–136, Vienna, Austria, October 15-16, 2008.