Academia.eduAcademia.edu

Clockwork Orange: The Dutch RoboSoccer Team

2002, RoboCup 2001: Robot Soccer World Cup V

Clockwork Orange: The Dutch RoboSoccer Team Matthijs Spaan1 , Marco Wiering2 , Robert Bartelds3 , Raymond Donkervoort1, Pieter Jonker3, and Frans Groen1 1 1 Intelligent Autonomous Systems Group, University of Amsterdam, the Netherlands 2 Intelligent Systems Group, Utrecht University, the Netherlands 3 Pattern Recognition Group, Delft University of Technology, the Netherlands Introduction The Dutch RoboSoccer Team, called “Clockwork Orange”1 is a Dutch research project in which 3 universities participate: the University of Amsterdam, the Delft University of Technology, and University Utrecht. In this research project we study multi agent systems in general and multi robot systems in particular, as we participate in the RoboCup middle-size league. Due to severe hardware problems Utrecht University could sadly not contribute to the team this year. 2 The Robots Our team consists of two types of robots: six Nomad Scout robots (used by Delft and Amsterdam) and one Pioneer 2 robot (used by Utrecht). The Nomad Scout (see figure 1(Left)) has odometry sensors and one wide angle colour camera for sensing and a pneumatic driven kick device as effector. Its 16 ultrasonic sensors and its tactile bumper ring are not used. The Pioneer 2 (see figure 1(Right)) uses a laser range finder, 16 ultrasonic sonar sensors, odometry sensors, and a camera for sensing. It uses the same pneumatic kick device as effector. For communication between robots we use a Breezecom wireless Ethernet system. 3 Vision Our vision research is mostly directed at the problems of recognition and selflocalisation. We can detect and track all objects typically found in a RoboCup environment[5]. This is done via color detection by circular arcs in an adapted HSI space. We have implemented 2 different ways for self-localisation, a local and a global method (see [3] for details). Both are based on detecting the lines of the field and the goals. The global method first splits the screen into multiple regions of interest and does a rough Hough transform on each of these. Then the method 1 Nickname of the human Dutch national soccer team of the seventies. A. Birk, S. Coradeschi, and S. Tadokoro (Eds.): RoboCup 2001, LNAI 2377, pp. 627–630, 2002. c Springer-Verlag Berlin Heidelberg 2002  628 Matthijs Spaan et al. Fig. 1. Our robots. Left: a Nomad Scout robot. Right: the Pioneer 2 robot. searches for the precise lines using linear edge detectors in the vicinity of the lines found by the Hough transform. These are matched to the world model giving an estimate of the position. Because of the symmetry of the field multiple candidates are found. We then use Multiple Hypothesis Tracking to follow all the candidates over time, updating them for our own movement. Since there are multiple candidates now we need a quick method to verify these and to correct for changes. The local method uses a first order Taylor approximation of the displacement of the line, independent in x, y and φ, to calculate the displacement in robot coordinates. It uses the least square error to give an overall result on the match. We can repeat the method to see if it converges. Next we check all the candidates, verifying their heading and distance to the goals and the overall result given to us by the local method. The loop is repeated until one candidate remains, who is used to update out position. If no candidates remain we switch back to global self-localisation. 4 World Model To enable a distributed form of control, the world model is also distributed. Each of the robots in our team locally maintains an world model consisting of the robot’s own position and the positions of the other objects in the game (i.e. other robots and the ball). To communicate the world model between the robots we need an absolute world model for which we need to know our own position. This position is based on odometry and vision-based self-localisation. Both have their advantages and disadvantages. Odometry is very accurate for small distances but is not suitable for longer periods of driving and completely loses its value when the robot collides. Vision self-localisation can give us quite a good position estimation at any time (assuming it sees enough lines) but is very expensive in time and resources and its positions arrive with considerable delay. The world model combines these two sensors to get an estimation of our position, taking into account the lag of the self-localisation [4]. Clockwork Orange: The Dutch RoboSoccer Team 629 The other objects are detected by the vision system as shapes, which the world model matches to the known objects which have the same shape and are closest to the observed shape. From this information we can form a relative model of the world, which we can easily transform knowing our own position, into an absolute one. This information is shared with the other robots using the wireless Ethernet, so each robot can not only keep track of objects it perceives itself but also of objects perceived only by its teammates. 5 Team Skills The advantage of a absolute shared world model is that team coordination is greatly simplified. Sharing the same world model enables the team members to reason not only about their own actions, but they can also predict the next action a team member will take. Communication on the team coordination level is used to improve robustness and is almost a necessity since the team is heterogeneous both in hardware and software. The Utrecht Pioneer 2 robot uses a subsumption architecture while the Amsterdam/Delft Nomad Scouts operate on a hybrid architecture. Our team uses a global team behavior (a strategy) from which each robot derives its individual role. Our team skills module determines the current team behavior using a simple finite state machine. Each player has its role defined by the team behavior. There are about half a dozen different roles available, all of which have an attacking, defending or intercepting purpose. Utility functions based on potential fields [7, 6] are used to distribute the roles among the team members. This technique is similar to the ones used by other participants in the middle-size league [2, 9]. Each robot calculates its own scores for the roles useful at the moment, communicates them and then calculates the scores of its team mates. When no scores from other team mates are received the locally calculated scores can be used. This introduces a level of redundancy which can improve the team performance. When everybody knows the scores for the roles of each team member the roles can be easily distributed. The exact specification of an role is not (and can not be) the same on both architectures. The following describes the Amsterdam/Delft approach (see [4] for details) which is similar to the one Tambe [8] described for use in the simulation league. A Markov decision process is used to search through state space of a robot’s future states. First a number of possible actions and their parameters with respect to the current situation and individual behavior are generated. For each of these actions the probability of success is calculated. The impact on the world of an action and the expected concurrent actions of team mates and enemy players is evaluated. Modeling team mate actions is relatively easily compared to modeling your opponent with reasonable accuracy. The evaluation criteria both include a role evaluation (using potential fields) as well as concepts like ball possession. Now the action with the maximum expected utility can be chosen and the process can be repeated to look further ahead. 630 6 Matthijs Spaan et al. Behavior Based Control The Pioneer 2 robot of Utrecht University uses an extended version of the subsumption architecture [1] in which particular behaviors such as Get Ball, Dribble, and Score compete for controlling the robot. All behaviors can react in correspondence to the world model or to direct sensor data provided by the camera and laser range finder. In future work, we extend the system by integrating learning as part of the behavior-based control architecture of the robot. This is done by providing the robot with different implementations of the same behavior. These behaviors are tested during online play against an opponent. If a particular behavior is successful against an opponent team, the behavior gets strengthened, and is therefore used more often. This allows us to learn a sequence of behaviors which has the highest expected probability of success against an opponent. 7 Conclusion We were able to maintain a distributed world model using vision-based selflocalisation. This information was used to create high level team coordination. Clockwork Orange reached the quarter finals of RoboCup 2001 to be defeated by the world champion. In total seven games were played, resulting in three victories, one draw and three losses. References [1] R.A. Brooks. Achieving artificial intelligence through building robots. MIT AI Lab Memo 899, 1986. [2] C. Castelpietra, L. Iocchi, M. Piaggio, A. Scalzo, and A. Sgorbissa. Communication and coordination among heterogeneous mid-size players: ART99. In Proceedings of the 4th International Workshop on RoboCup, pages 149–158, 2000. [3] F. de Jong, J. Caarls, R. Bartelds, and P. P. Jonker. A two-tiered approach to self-localization. In RoboCup 2001. Springer-Verlag, 2002. [4] F.C.A. Groen, J. Roodhart, M. Spaan, R. Donkervoort, and N. Vlassis. A distributed world model for robot soccer that supports the development of team skills. In Proceedings of the 13th Belgian-Dutch Conference on Artificial Intelligence (BNAIC’01), 2001. [5] P. P. Jonker, J. Caarls, and W. Bokhove. Fast and accurate robot vision for vision-based motion. In RoboCup 2000: Robot Soccer World Cup IV, pages 72–81, Melbourne, Australia, 2000. [6] O. Khatib. Real-time obstacle avoidance for manipulators and mobile robots. International Journal of Robotics Research, 5(1):90–98, 1986. [7] J. Latombe. Robot Motion Planning. Kluwer Academic Publishers, 1991. [8] M. Tambe and W. Zhang. Towards flexible teamwork in persistent teams: Extended report. Journal of Autonomous Agents and Multi-Agent Systems, 3(2):159–183, 2000. [9] T. Weigel, W. Auerbach, M. Dietl, B. Dümler, J. Gutmann, K. Marko, K. Müller, B. Nebel, B. Szerbakowski, and M. Thiel. CS Freiburg: Doing the right thing in a group. In RoboCup 2000: Robot Soccer World Cup IV. Springer-Verlag, 2001.