Milan Robocup Team 2009
A. Bonarini, A. Furlan, L. Malagò, D. Marzorati, M. Matteucci, D. Migliore, M. Restelli, D. G. Sorrenti
Artificial Intelligence and Robotics Lab, Dept. of Electronics and Information, Politecnico di Milano, Milan, Italy; IRAlab, Dept. Informatica, Sistemistica e Comunicazione, Università di Milano - Bicocca, Milan, Italy
Abstract In our multi–university team, we have faced almost all the aspects of the design and implementation of Robocup MSL robots. In this paper, we focus on the upgrade of the robots in the last two years, including new sensor systems, ball-handling and kicking devices, and on the modifications in behaviors and world modeling systems needed to manage and exploit the new devices.
1 Introduction
The Milan Robocup Team has faced in the last years many research issues, including: catadioptric sensor design [16, 18, 19, 17], image analysis for omnidirectional vision [2, 15, 1], optical mice-based odometry [8], [6], sensor fusion [9], data reliability [7], conceptualization [10], anchoring [12], whistle recognition [5], self-localization [20, 21], behavior definition and management [3], [11], team coordination [13], learning and adaptation [4].
The team is currently composed of one goalie (Rabbiati, Figure 1), two Janus-III bidirectional bases (Figure 3), and three Triskar omnidirectional bases (Figure 2). All the bases have been already described in past Team Description Papers. Some technical improvements have been done in the last two years: the onboard PC for our robots is no longer a portable PC, but a MAC mini, providing enough computational power; moreover, we completely re-designed the control and power boards, which are now more reliable and less power hungry than in the past.
In this paper, we focus on the major achievements, namely the enhancement of the sensor equipment, including a second camera and a compass (Section 2), new actuators for kicking and for controlling the ball (Section 3), as well as the upgrades in behaviors and world modeling, needed to manage and exploit the new devices (Section 4).
2 Sensors
In this section, we present the new sensors added to the omnidirectional camera already present, which is now used mainly for self-localization, global vision around the robot, and strategic considerations. The new sensors are a compass and a frontal camera.
Compass
Due to the increased dimension of field and the fact that goals are no longer colored, the self-localization system is expected not being always able to disambiguate between a finite set of potential solutions, i.e., robot positions in the field. To overcome such potential issue, we included a compass on board. It is a compass module which uses the Philips KMZ51 magnetic field sensor. It provides the absolute orientation w.r.t. the magnetic north with a resolution of 0.1 degrees. This device has been interfaced with a Microchip PIC board that sends data to the PC. Data are considered as all the data that come into our world model management system MAP [9], and are directly integrated as a source of information for the self-localization module, described in [20]. Surprisingly enough, despite the supposedly strong magnetic fields produced by the kicker and the engines, the deviation of the compass data from the correct ones is not significant and the overall information provided by it can be considered as quite reliable. We considered the introduction of a compass more robust with respect to relying on the continuous tracking of the relative robot-to-goals pose.
Frontal camera
A frontal camera is added to the robot, beside the catadioptric camera that we have developed the since the beginning of our participation to Robocup.
This sensor has multiple purposes; the main task is to provide precise information about the ball when this is controlled by the robot, enabling more refined control and ball-handling. It could provides also more precise information about field lines, so enabling a more accurate local localization, and allows the implementation of a stereo system, jointly with the catadioptric camera, so to locate the ball accurately even when this is not on the floor, e.g., when it is coming from loop kicks.
The camera is a Unibrain Fire-I, a standard low-cost IEEE 1394 camera, as the one we are using for the catadioptric sensor. The image analysis module has been provided with new functionalities to interpret the data from this camera. The color classification system is the same as the one used for the other camera (Figure 5), as well as the blob growing algorithm, but the image subsampling and organization are different. While for the catadioptric sensor the image is subsampled in circular crowns by averaging color values of pixels around each receptor and then [2] classifying the color [16], for the front image (Figure 4) we base on classical down-sampling.
To speed up computation, specific color classification, devoted only to the detection of the color of the ball is applied on the subsampled image. A blob growing algorithm is then applied to the classified image to detect possible regions containing the ball. When the ball is the ball is nearby the robot, then it appears quite large and often it is also only partially visible; on the other hand, when the ball is quite far, the blob size is reduced, but typically fully visible (see Figure 6)
When the ball is not in the nearby area (i.e., ball not in control of the robot) the main issue is whether the ball is laying on the floor or flying; we fit an ellipse to the blob contour pixels and determine the ball location using the a priori known ball size and the geometry of the ellipse (see Figure 7); when the the ball is quite near, we found much more robust to fit a circle instead of the apparently more appropriate ellipse due to the partial view of the ball perimeter¹.
¹ In Figure 7 we present the fully undistorted image; however, undistortion is only applied to points on the edge to be fitted to reduce the computational load.
The circle and the ellipse fitting modules developed for the frontal camera constitute the basis of the processing that we will use for detecting a generic ball. We are already working in this direction and we are exploiting the use of circular Hough transform on the edges extracted from a color invariant transformation [14]. The circles extracted from the Hough transform are feed into a Kalman filter and the 3D position of the ball is recovered and tracked. Since the Kalman Filter gives a prediction on the position of the ball in the next image, we use this prediction to further reduce the computational load of the algorithm applying only in the predicted area the circular Hough transform.
The computational burden is increased by the processing of this second camera, but the overall activity of image interpretation still requires just the 60% of each control cycle, fixed at 20Hz by our real-time middleware [11].
3 Actuators
In this section, we present the new actuators: the magnetic kicking device and the active ball-handling mechanism.
Magnetic kicker
Following the common trend in MSL, we have developed a new magnetic kicker, providing a kick stronger than that provided by the old pneumatic device. It must be noticed that, despite several teams have developed this kind of device since many years, none has published enough details about it to enable other teams to replicate it. To fill this gap we are trying to do this here. Our new kicker consists of a pure iron core, connected to an aluminum cylinder, as shown in Figure 9. This system can slide inside a plastic cylinder (made of PVC) that holds 620 copper coils (wire diameter: 0.8mm). The external cylinder is blocked into a steel system, which plays also the role of stopping the action of the kicker and of supporting the retaining spring fixed on the back of the core (spring k value=30N/m). The coil is magnetically isolated from the rest of the robot by a sheet of FINEMET material.
The strongest kick is obtained by powering the coil for 25msec by a 3.300µF capacitor, charged at 400V, controlled by a PIC-based board that we have developed. Under these conditions, the ball reaches a maximum speed of 8.8 m/sec. In order to pass the ball to team-mates, it is possible to modulate the kick strength by varying the voltage over the capacitor. The capacitor is fully recharged in about 4 seconds.
The point attached to the core hits the ball either directly or through a device intended to produce a loop kick.
Ball-handling
The new kicker needs a more precise ball positioning to transfer the mechanical energy to the ball, and a better ball control was also needed for dribbling. We decided to implement an active ball-handling mechanism to substitute the passive one that required a lot of adjustments on the field for each specific ball. The present system is based on omniwheels held by sticks raised and lowered by an electromagnetic linear actuator (visible in Figure 4 and Figure 2). The omniwheels are lowered when the ball is in the proper place, as detected by the vision system. Since their length is greater that one third of the ball, they are lowered for the maximum amount of time allowed, then raised and lowered again, thus providing a discontinuous ball control action. We decided to take this way to rely on good control for at least a given amount of time, accepting a lower quality control for the needed interval. New dribbling and kicking behaviors have been designed to exploit this new actuator. The kicking behavior guarantees that the ball is in contact with the kicker when this is activated, while the dribbling behavior obtains dribbling curves with a radius as small as 50 cm.
4 Software
In this section we describe SW improvements different from the ones already mentioned, more directly related to sensors and actuators, namely behaviors to receive passage kicks, the introduction in the world model of the concepts of "computed target" and of "best position", used to implement behaviors to get positions appropriate to receive passages, and other strategic positions.
Ball passing
The Milan RoboCup Team is focusing on team playing, involving complex coordination schemes. Ball passing is an elementary soccer skill required to realize effective joint strategies. For this reason, using a mathematical model based on the robot kinematics and the estimated movement of the ball, we compute the best trajectory (i.e., the one that minimizes the passage time) to receive the ball. In order to perform such trajectory, we produce virtual points (see Section 4) that are processed by the behavior management module [11]. Furthermore, in order to receive high-speed passages we exploit the ball handling mechanism previously described (see Section 3). By lowering the two sticks, most of the energy of the impact is absorbed when the ball slots in below them.
Virtual points in world model
We consider all points that do not correspond to physical features as "virtual points". These may be, for instance, points where a robot, a teammate or the ball should be at a given moment in order to successfully perform a complex action, such as a passage. Each virtual point is described by means of fuzzy predicates. An algorithm (which runs inside the world modeler and is activated by the coordination module [13]) computes the position of the virtual point by maximizing the degree of truth of the related fuzzy predicate. Examples of virtual points computed by the world model are: the position to avoid markers, the position to kick at goal, or the position to block an opponent movement.
5 Conclusion
In this paper, we have presented main research achievements since our last participation to Robocup in Bremen 2006. In summary: we have re-designed robots to include new computers, new sensor systems, ball-handling and kicking devices, and we have added behaviors and world modeling capabilities needed to manage and exploit the new devices and to improve the game.
References
- Federico Anzani, Daniele Bosisio, Matteo Matteucci, and Domenico G. Sorrenti. On-line color calibration in non-stationary environments. In Ansgar Bredenfeld, Adam Jacoff, Itsuki Noda, and Yasutake Takahashi, editors, RoboCup, volume 4020 of Lecture Notes in Computer Science, pages 396–407. Springer, 2005.
- A. Bonarini, P. Aliverti, and M. Lucioni. An omnidirectional vision sensor for fast tracking for mobile robots. IEEE Transactions on Instrumentation and Measuring, 49(3):509–512, 2000.
- A. Bonarini, G. Invernizzi, T.H. Labella, and M. Matteucci. An architecture to coordinate fuzzy behaviors to control an autonomous robot. Fuzzy Sets and Systems, 134(1):101–115, 2003.
- A. Bonarini and M. Matteucci. Learning context motivation in coordinated behaviors. In Proceedings of IAS-6, pages 519–526, Amsterdam, NL, 2000. IOS Press.
- A. Bonarini, M. Matteucci, and A. Lavatelli. A Composite System for Real-Time Robust Whistle Recognition, volume 4020, pages 130–141. Springer Verlag, Berlin, D, 2006.
- A. Bonarini, M. Matteucci, and M.Restelli. Kinematic-independent dead-reckoning sensor for indoor mobile robotics. In Proceedings of the 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS-2004), Los ALamitos, CA, 2004. IEEE Computer press.
- A. Bonarini, M. Matteucci, and M.Restelli. A model to manage data reliability in behavior-based robotics. In Proceedings of IAV 2004, 5th IFAC Symposium on Intelligent Autonomous Vehicles, Amsterdam, NL, 2004. Elsevier.
- A. Bonarini, M. Matteucci, and M.Restelli. Automatic error detection and reduction for an odometric sensor based on two optical mice. In Proceedings ICRA 2005, pages 1687–1692, 2005.
- A. Bonarini, M. Matteucci, and M. Restelli. Anchoring: do we need new solutions to an old problem or do we have old solutions for a new problem? In Proceedings of the AAAI Fall Symposium on Anchoring Symbols to Sensor Data in Single and Multiple Robot Systems, pages 79–86, Menlo Park, CA, 2001. AAAI Press.
- A. Bonarini, M. Matteucci, and M. Restelli. Concepts and fuzzy models for behavior-based robotics. International Journal of Approximate Reasoning, 41:110–127, 2006.
- A. Bonarini, M. Matteucci, and M. Restelli. MRT: Robotics Off-the-Shelf with the Modular Robotic Toolkit, volume 30 of Springer Tracts in Advanced Robotics, pages 345–364. Springer Verlag, Berlin, D, 2007.
- A. Bonarini, M. Matteucci, and M. Restelli. Problems and solutions for anchoring in multi-robot applications. Journal of Intelligent and Fuzzy Systems, 18(3):245–254, 2007.
- A. Bonarini and M. Restelli. An architecture to implement agents co-operating in dynamic environments. In Proceedings of AAMAS 2002 - Autonomous Agents and Multi-Agent Systems, pages 1143–1144, New York, NY, 2002. ACM Press.
- Jan-Mark Geusebroek, Rein van den Boomgaard, Arnold W.M. Smeulders, and Hugo Geerts. Color invariance. IEEE Trans. Pattern Anal. Mach. Intell., 23(12):1338–1350, 2001.
- Erio Grillo, Matteo Matteucci, and Domenico G. Sorrenti. Getting the most from your color camera in a color-coded world. In Daniele Nardi, Martin Riedmiller, Claude Sammut, and Jos Santos-Victor, editors, RobuCup, volume 3276 of Lecture Notes in Computer Science, pages 221–235. Springer, 2004.
- P. Lima, A. Bonarini, C. Machado, F. M. Marchese, C. Marques, F. Ribeiro, and D. G. Sorrenti. Omnidirectional catadioptric vision for soccer robots. International Journal of Robotics and Autonomous Systems, 36(2-3):87–102, 2001.
- MARCHESE F. M. and SORRENTI D. G. Omni-directional vision with a multipart mirror. In Workshop EuRoboCup 2000, Amsterdam, Netherlands. 28th May - 2nd June 2000. proceedings on CD-Rom. IEEE Computer Society, May 2000.
- MARCHESE F. M. and SORRENTI D. G. Mirror design of a prescribed accuracy omni-directional vision system. In 3rd workshop on Omnidirectional Vision, colocated with 7th ECCV. IEEE Computer Society, June 2002.
- F. M. Marchese and D. G. Sorrenti. Omni-directional vision with a multi-part mirror. In T. Balch P. Stone, editor, RoboCup 00–Robot Soccer World Cup IV, Berlin, D, 2000. Springer Verlag.
- M. Restelli, D. G. Sorrenti, and F. M. Marchese. Murea: a multi-resolution evidence accumulation method for robot localization in known environments. In Proceedings of IROS 2002, pages 415–420, Piscayaway, NJ, 2002. IEEE Computer press.
- Marcello Restelli, Domenico G. Sorrenti, and Fabio M. Marchese. A probabilistic framework for weighting different sensor data in murea. In BONARINI A. YOSHIDA K. POLANI D., BROWNING B., editor, RoboCup 2003: Robot Soccer World Cup VII, Berlin, D, 2004. Springer Verlag.