Milan Robocup Team 2006 Andrea Bonarini1 , Matteo Matteucci1 , Marcello Restelli1 , and Domenico Sorrenti2 1
Politecnico di Milano Artificial Intelligence and Robotics Lab Department of Electronics and Information Politecnico di Milano, Milan, Italy {bonarini,matteucc,restelli}@elet.polimi.it 2 Department of Information, Systems and Communication Universit` a di Milano Bicocca, Milan, Italy
[email protected]
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 improvements of our behavior-based fuzzy control and coordination architecture, the design of new robots, and the aspects related to artificial vision and self-localization.
1
Introduction
The Milan Robocup Team has faced in the last years many research issues, including: catadioptric sensor design [10], image analysis for omnidirectional vision [2], sensor fusion [7], self-localization [11], behavior definition and management [3],[5], team coordination [8], learning and adaptation [4]. We only mention here some of teh technical achievements of the last two years: the development from scratch of new PIC-based control cards, the design of new kicking devices and the implementation of new, bifront Janus III robot bases and new omnidirectional Triskar bases (figure 1. In this paper we focus on other major results: enhancements to our behavior–based architecture (section 2), introducing the so–called informed behavior hierarchy, where behaviors receive the action proposals from behaviors at lower levels of the hierarchy and reason on them without the need of knowing which behavior is proposing the action, new mirrors for our panoramic vision sensors and a new color classification method robust to spatial and temporal changes in light intensity (section 3), a robust and general self-localization method (section 4), and new kinematic–independent, odometric sensors 5.
2
Control Architecture
In this section we present the model we adopt to coordinate behaviors and robots. The main goals for the design of this model have been: uniform representation of
Fig. 1. A picture of Robaldo and Recam, respectively a Janus III and a Triskar base.
concepts (percepts, goals, coordination information), integration among planning and reactive modules, easy design of behavioral and strategic modules, easy application of learning and adaptation techniques to learn parts of the models and adapt both single robot and team behavior to dynamical environments. We have adopted this model in Robocup, and also in service applications, and in space (planet exploration) applications. We base our model on the representation of concepts as fuzzy predicates, i.e., logical predicates that map real-valued variables into the truth interval [0..1]. Fuzzy predicates give the possibility to interpret in linguistic and conceptual terms both goals, coordination information, and data coming from sensors and teammates. Each agent builds a world map by merging data from different sources. The map manager can answer queries by evaluating fuzzy predicates on data present in the map [7]. Each robot is governed by a set of behavior modules [3], presently implemented as a set of fuzzy rules each. The fuzzy behavior management system Mr.BRIAN (Multi–level ruling BRIAN) [5] accepts as antecedent of the rules also predicates about the action proposals of other behaviors. This makes it possible to define a hierarchy among behavioral modules, so that modules at a higher level can reason about the actions proposed by modules at lower levels to eventually modify them. A set of CANDO conditions is associated to each behavior; they are represented by fuzzy predicates whose truth value is taken as an estimation of the applicability of the behavior in the faced situation. If applicability is above a given threshold, the rules of the behavior module are triggered and the corresponding actions are proposed. Each action is associated to a weight coming from the evaluation of the fuzzy rules in the behavior. In general, several behaviors are activated at a time, so we may have many proposed actions. These are weighted by the WANT conditions, fuzzy predicates, associated to each behavior, that state the opportunity to do the actions proposed by a behavioral module. WANT conditions include fuzzy predicates evaluated on the present state of the world, and also conditions coming from the coordination module
described below. At the end of the evaluation process, the proposed, weighted actions are composed to produce the actual commands to the actuators. SCARE, (SCARE Coordinates Agents in Robotic Environments) [8] coordinates the activity of the agents within the team. It assigns agents to activities. An activity is either a job or a schema. A job is a simple activity with a given goal which may be achieved, in principle, in different ways, by different behavior modules. A schema is a complex activity, made of temporally and/or logically constrained jobs, which can be assigned to different agents. To each activity are associated fuzzy predicates to evaluate different aspects: when an activity can take part to the assignment process (cando), whether the situation gives to the agent good possibilities of success (chance), whether the activity is useful to the team in the present situation (utility), when the activity can be considered as successful (success), when it has to be considered failed (failure). SCARE ranks the activities by evaluating these fuzzy predicates through queries on the world map manager, and also by considering a set of parameters that describe synthetically the characteristics of the different agents. The goal of SCARE is to draw the most from the available resources. One of our research goals is to integrate heterogeneous robots in an effective team. After a first decision making phase, we have a rank of activities and potential assignments. Then, a coordination phase selects the best assignments considering also that schemata need to be assigned to appropriate sets of agents. At the end of this process, each agent is assigned to a job and new goal predicates are produced to drive the behavior system according to the the SCARE decisions. A copy of SCARE is instantiated on each agent. When agents cannot communicate, the local SCARE instance cannot assign activities to other agents and can only coordinate activities for the single agent. As soon as some communication link becomes active, one of the communicating instances of SCARE takes the role of leader and works for all the connected agents. This mechanism adapts the coordination activity to face the problems arising with degradation of communication links.
3
The vision sensor
We have panoramic vision systems on all our robots. In the previous years we machined many different mirrors. Our main scientific contributions in this research field are in the prescribed accuracy area, where the design follows the accuracy requisites of the application, both at the pixel and the part level [10]. Basing on this framework, we have redesigned mirrors to have a standard, low–cost sensor, placed at a reasonable height (60 cm), able to reliably perceive distance and direction of lines and ball from 0 to 7 meters, and the only direction of vertical objects such as goals (even above goal keepers), projected in the center of the image (see figure 3), well further than the present field limits. Our approach to image processing is based on a specific image sub-sampling scheme [2]: it is a regular sampling in polar coordinates. The neighbor pixels of each sample point are considered and a low-pass filter applied to them.
For what concerns color classification our system, is now quite robust to spatial and temporal variations of lighting conditions, as shown in Figures 2(b) and 3(b). The new classification method [1] is completely data-based and uses a k-NN classifier to build a Color Look-up Table from the RGB color space to the labels of Robocup standard colors.
(a)
(b)
Fig. 2. Image captured at the Science Festival in Genova, October 2003, and its color classification with our present system. Notice how shadows do not interfere with classification.
(a)
(b)
Fig. 3. Image captured with the new mirror, and its present color classification.
After the classification step we have a two-fold processing. The first one is based on conventional (color) connectivity analysis, the second one performs a radial scan of the image, at different directions to look for lines.
4
The self–localization module
In past work [11], we have studied and developed a self-localization method, independent from the specific sensors used for feeding data to it. Our localization system has three main components: the map of the environment, the perceptions and the localization engine. The environment is represented by a 2D geometrical map made up of simple, geometrical primitives (types), like points, lines, circles, etc. For each primitive a list of attributes must be specified, which describe its main characteristics. Moreover, for each map element we have to specify the sensors able to perceive it. On the other hand, we have sensor data and, possibly, other localization applications sending data. Both produce perceptions, intended to be everything able to provide any information about the the robot pose. Each perception is characterized by type, attributes, and the sensor that has perceived it. The localization engine takes in input the map and the perceptions, and produces the estimated poses of the robot, which may be more than one if the environment and/or the perceptions have inherent ambiguities. We have implemented an evidence accumulation method. We divide the search space in subregions (called cells), to which we associate a counter, as usual in evidence accumulation methods. Each perception increases the counter associated to a cell if some point internal to the cell is compatible with both the perception and the model. Then, on the basis of the votes collected by each cell, the system selects the ones which are more likely to contain the correct robot pose. This process is iterated on the selected cells, which are subdivided in subcells, until at least one termination condition is matched. When this happens, the system has to provide its currently best solution(s). In order to accomplish this task we cluster the adjacent cells in the vote accumulator as long as voted cells are encountered. Then, we compute the barycenter of the cluster as the weighted average of the cell centers. The weights are the votes received by each cell, and a reliability is associated to them. We have successfully validated this localization approach in the RoboCup middle-size league, obtaining on the field these error values: average position error = 5.63cm, maximum position error = 9.32cm, average orientation error = 0.72o , maximum orientation error = 1.41o.
5
The odometric sensor
We have implemented a new odometric device [6], based on the measures taken by two optical mice fixed on the bottom of the robot. Our odometer does not suffer from slipping and drift problems, since the sensors are not bound to any driving wheel. Also the crawling problems are resolved, since the mice go on reading even when the robot movement is due to a push, and not to the engines. Furthermore, this is a very low-cost system which can be easily interfaced with any platform. In fact, it requires only two optical mice which can be placed in any position under the robot, and can be connected using the USB interface.
Details about this device are given elsewhere [6], we can only mention here that the odometric error obtained so far without any correction on a Robocup carpet is comparable with that reported in [9] after correction.
6
Conclusion
In this paper, we have presented main research acievements since Lisbon 2005. In summary: we have developed new holonomic robots, added to our behavior management system the possibility to work with hierarchies of informed behaviors, improved the coordination mechanism, improved self-localization, improved color classification to solve the problem of shadows and sunny blades on the field, implemented a new odometric sensor based on optical mice.
References 1. F. Anzani, D. Bosisio, M. Matteucci, and D. G. Sorrenti. On-line color calibration in non-stationary environments. In Proceedings of Robocup Symposium 2005, 2005. 2. 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. 3. 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. 4. A. Bonarini and M. Matteucci. Learning context motivation in coordinated behaviors. In Proceedings of IAS-6, pages 519–526, Amsterdam, NL, 2000. IOS Press. 5. A. Bonarini, M. Matteucci, and M.Restelli. A novel model to rule behavior interaction. In Proceedings of the Eighth Intelligent Autonomous Systems Conference (IAS-8), Amsterdam, NL, 2004. IOS Press. In Press. 6. 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. 7. 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. 8. 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. 9. J. Borenstein and L. Feng. Measurement and correction od systematic odometry errors in mobile robots. IEEE Transactions on Robotics and Automation, 12(6):869–880, 1996. 10. 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. 11. 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.