CAMBADA'2009: Team Description Paper
J. L. Azevedo, M. B. Cunha, N. Lau, A. Neves, G. Corrente, F. Santos, A. Pereira, L. Almeida, L. S. Lopes, P. Pedreiras, J. Vieira, D. Martins, N. Figueiredo, J. Silva, N. Filipe, I. Pinheiro
Transverse Activity on Intelligent Robotics IEETA/DETI – University of Aveiro 3810-193 Aveiro, Portugal
Abstract This paper describes the CAMBADA middle-size robotic soccer team for the purpose of qualification to RoboCup'2009. Last year improvements have been made mostly in the vision system, in the highlevel coordination and control and in the information integration and localization. Previous experience of some elements of the team in the RoboCup Simulation League has been highly relevant particularly in the design of the high-level coordination and control framework.
1 Introduction
CAMBADA is the RoboCup middle-size league soccer team of the University of Aveiro. The project aims at fostering the Aveiro university research at several levels of the MSL challenge. Research conducted within this project has led to developments at the hardware level infrastructure, vision system, multi-agent monitoring and high-level decision and coordination. This paper is focused on these components.
The development of the team started in 2003 and a steady progress was observed since then. CAMBADA participated in several national and international competitions, including RoboCup world championships (5th place in 2007, 1st in 2008), the European RoboLudens and the annual Portuguese Open Robotics Festival (3rd place in 2006, i1st in 2007 and 2008). The good result obtained in RoboCup'2008 is largely due to the developed coordination methodologies, improvements in the information integration and localization and new advances in the vision system.
This paper describes the current development stage of the team and is organized as follows: Section 2 describes the general architecture of the robots focusing both on low-level control hardware aspects and on the general software architecture. Section 3 presents the current version of the vision system. Section 4 describes the high-level coordination and control framework and, finally, Section 5 concludes the paper.
CAMBADA is an acronym of Cooperative Autonomous Mobile roBots with Advanced Distributed Architecture.
2 General Architecture of the Robots
The CAMBADA robots (Fig. 1) were designed and completely built in-house. The baseline for robot construction is a cylindrical envelope, with 485 mm in diameter. The mechanical structure of the players is layered and modular. Each layer can easily be replaced by an equivalent one. The components in the lower layer, namely motors, wheels, batteries and an electromechanical kicker, are attached to an aluminum plate placed 8 cm above the floor. The second layer contains the control electronics. The third layer contains a laptop computer, at 22.5 cm from the floor, an omni-directional vision system, a frontal camera and an electronic compass, all close to the maximum height of 80 cm. The players are capable of holonomic motion, based on three omni-directional roller wheels.
The robots computing system architecture follows the fine-grained distributed model [1] where most of the elementary functions, e.g. closed loop control of complex actuators, are encapsulated in small microcontroller based nodes, connected through a network. A laptop node is used to execute higher-level control functions and to facilitate the interconnection of off-the-shelf devices, e.g. cameras, through standard interfaces, e.g. USB or Firewire. For this purpose, Controller Area Network (CAN), a real-time fieldbus typical in distributed embedded systems, has been chosen. This network is complemented with a higher-level transmission control protocol to enhance its real-time performance, composability and fault-tolerance, namely the FTT-CAN protocol (Flexible Time-Triggered communication over CAN) [2].
The communication among robots and to the base station uses the standard wireless LAN protocol IEEE 802.11x profiting from large availability of complying equipment.
The software system in each player is distributed among the various computational units. High-level functions run on the computer, a laptop PC running Linux operating system. Low-level functions run partly on dedicated microcontrollers. A cooperative sensing approach based on a Real-Time Database (RTDB) has been adopted [3]. The RTDB is a data structure where players share their world models. It is updated and replicated in all players in real-time.
A software module called Integrator is used to update the world state information. This is done by filtering the raw information coming from sensors (i.e. vision, odometry, etc.) and determining the best estimate of the position and velocity of each object.
The software of CAMBADA players is composed of several different processes that have responsibility for different tasks: image acquisition, image analysis, integration/decision and communication with the low-level modules. The order and schedule of activation of these processes is performed by a process manager library called Pman. Pman stores in a database the characteristics of each process to activate and allows the activation of recurrent tasks, settling phase control (through the definition of temporal offsets), precedence restrictions, priorities, etc. The Pman services allow changes in the temporal characteristics of the process schedule during run-time [4, 5].
It is very important that all robots share the same play mode obtained by processing the referee orders given through the referee box. In CAMBADA, an application inside the team's base station checks the messages received from the referee box, and converts the event triggered protocol of communication referee box - base station to a state oriented playmode information that is broadcasted to robots using the RTDB. This ensures that the delay between the reception of a referee event from the referee box and its awareness by all robots is minimized, enabling a synchronized collective behavior.
3 Vision System
Some improvements have been made in the vision system, in particular the development of object detection algorithms based on morphological information to recognize arbitrary FIFA balls and the development of an autonomous camera calibration system.
The vision system of the CAMBADA robots is based on an hybrid system, formed by an omnidirectional and a perspective sub-system, that together can analyze the environment around the robots, both at close and long distances [6].
The information regarding close objects, like white lines of the field, other robots and the ball, are acquired through the omnidirectional system, whereas the perspective system is used to locate other robots and the ball at long distances, which are difficult to detect using the omnidirectional vision system.
The software architecture is based on a distributed paradigm, grouping main tasks in different modules. The software can be split in three main modules, namely the Utility Sub-System, the Color Processing Sub-System and the Morphological Processing Sub-System, as can be seen in Fig. 3. Each one of these sub-systems labels a domain area where their processes fit, as the case of Acquire Image and Display Image in the Utility Sub-System. As can be seen in the Color Processing Sub-System, proper color classification and extraction processes were developed, along with an object detection process to extract information, through color analysis, from the acquired image [6, 7]. The Morphological Processing Sub-System consists of a preliminary version of a color independent ball detection algorithm, that is still under study and development [8].
The position of the detected objects are sent to the real-time database after converting its position in the image into the real position in the environment, using an inverse distance map obtained with the algorithms and tools described in [9].
3.1 Arbitrary ball detection
It was developed an arbitrary FIFA ball recognition algorithm based on the use of edge detection and the circular Hough transform [8]. Figure 4 presents an example of the of the Morphological Processing Sub-System. As can be observed, the balls in the Edges Image (Fig. 4 b)) have almost circular contours. Figure 4 c) shows the resulting image after applying the circular Hough transform. Notice that the center of the balls present a very high peak when compared to the rest of the image. The ball considered was the closest to the robot due to the fact that it has the high peak in the image.
3.2 Autonomous configuration digital camera parameters
An algorithm was developed to configure the most important features of the cameras, namely exposure, white-balance, gain and brightness without human intervention [10]. The self-calibration process for a single robot requires a few seconds, including the time necessary to interact with the application, which is considered fast in comparison to the several minutes needed for manual calibration by an expert user. The experimental results obtained show that the algorithm converges independently of the initial configuration of the camera. Moreover, the images acquired after the proposed calibration algorithm were analyzed using statistical measurements and these confirm that the images have the desired characteristics.
The proposed approach uses measurements extracted from digital images to quantify the image quality. A number of typical measurements used in the literature can be computed from the image gray level histogram, namely, the mean (µ), the entropy (E), the absolute central moment (ACM) and the mean sample value (MSV). These measurements are used to calibrate the exposure and gain. Moreover, it analyzes a white area in the image to calibrate the whitebalance and a black area to calibrate the brightness
4 High-level coordination and control
The high-level decision is built around three main modules: sensor fusion [11], basic behaviors and high-level decision and cooperation [12]. Monitoring of the whole team of robots is also one of the pursued lines of research. The objective of the sensor fusion module is to gather the noisy information from the sensors and from other robots and update the RTDB database that will be used by the highlevel decision and coordination modules. The basic behaviors module provides the set of primitives that the higher-level decision modules use to control the robot. It is essential to provide those modules with a good set of alternatives, each of which should be as efficient as possible. The high-level decision module is responsible for the analysis of the current situation and for the performing of decision-making processes carried out by each player in order to maximize, not only the performance of its actions, but also the global success of the team.
4.1 Sensor fusion
The CAMBADA team robots are completely autonomous and thus they possess their own perception sensors. The information provided by those sensors is raw and has to be processed to provide better quality information for the agent. Sensor fusion techniques provide the means to achieve this information enhancement. An implementation of a Kalman filter was developed and tested to estimate the ball position from the noisy measurements and to detect changes on the ball path, based on a comparison between predicted values and measured values [11] (other teams use identical approaches [13]. Also, a linear regression was implemented for estimation of the ball and robot velocities, following the same ideias of [14]. The velocity estimation of the ball was greatly improved and is now much more reliable in game situations.
Due to changes in the MSL rules, which made the field fully symmetrical from the vision point of view, a new electronic compass was integrated providing a means to verify the results of the position tracking algorithm and hence enhance localization.
The information resulting from the sensor fusion is kept in a description of the state of the world used by the robot. Some developments were made in this world state representation. Algorithms were created and implemented to allow the agent to check for a set of conditions that are used by the high level decision module. The developments on sensor fusion and world state representation supported the implementation of new behaviors. The behaviors define "reactions" to a set of conditions, that can be verified through the information of the state of the world, and are the responsible for defining the commands to be sent down to the low level controllers of the actuators. The intelligent combination of these behaviors allows the robot to act in a defined way on the field. Work at the behavior level provides better action capabilities, important for the development of effective game strategies.
Two new interception behaviors were implemented that allow the robot to intercept the ball by reasoning over its path and the robot capabilities. Also a new algorithm for ball avoidance was developed, for situations like kickoff, throwin and other situations when the game is stopped. In these situations the robots have to reposition themselves on the field without touching the ball. The created algorithm improves the performance by reducing the necessary deviation. The new behaviors brought a new dynamic to the game and the tools to manipulate the state of the world provided a simplification and improved the modularity of the high level code.
4.2 Basic behaviors and high-level decision
In CAMBADA each robot is an independent agent and coordinates its actions with its teammates through communication and information exchange. The resulting behavior of the individual robot should be integrated into the global team strategy, thus resulting in cooperative actions by all the robots. This is done by the use of roles and behaviors that define each robot attitude in the field and resulting individual actions. Behaviors are the basic sensorimotor skills of the robot, like moving to a specific position or kicking the ball, while roles select the active behavior at each time step.
New roles were created to add to the team strategy and some of the previous existing roles were improved. Some of the existing behaviors were also improved to better fit the desired goals. During open play, the CAMBADA agents use only three roles: RoleGoalie, RoleSupporter and RoleStriker. The RoleGoalie is activated for the goalkeeper. RoleSupporter moves according to its strategic positioning. RoleStriker is an active player role. Other roles (RoleBarrier, RoleReplacer, RoleToucher) are used in set-pieces like kick-off, throw-in, goal-kick, corner-kick and free-kick. The role assignment algorithm may be performed by the coach agent in the base station, ensuring a coordinated assignment result, or locally by each robot.
Two player roles have recently been developed for coordinated passes in the CAMBADA team. In the general case, the player running RoleStriker may decide to take on RolePasser, choosing the player to receive the ball. After being notified, the second player takes on the RoleReceiver. These roles have not been used yet for open play in international competition games, but they have been demonstrated in RoboCup'2008 MSL Free Technical Challenge and a similar mechanism has been used for corner kicks.
The coordination model of the CAMBADA team is based on notions like strategic positioning, role and formation. A formation defines a movement model for the robotic players. Formations are sets of strategic positioning, where each positioning is a movement model for a specific player. The assignment of players to specific positioning is dynamic, and is done according to some rules. Two examples of formations are presented in Fig. 6.
5 Conclusions
This paper described the current development stage of the CAMBADA robots. Since the last submission of qualification materials (in January/2008) several major improvements have been carried out, namely: the development of object detection algorithms based on morphological information to recognize arbitrary FIFA balls, the development of an autonomous camera calibration system, the development of sensor fusion techniques and world state representation, new roles were created to add to the team strategy and some of the previous existing roles were improved.
These team improvements led to good results both at RoboCup'2008 Suzhou, China and at the Portuguese Robotics Open (1st place). After RoboCup'2008 the development has been focused on perfecting the vision system and the highlevel decision algorithms. CAMBADA development team currently includes 3 Msc. students.
6 Acknowledgment
This work was supported in part by the Fundação para a Ciência e a Tecnologia (FCT) project, ACORD - PTDC/EIA/70695/2006.
References
- Azevedo, J.L., Cunha, B., Almeida, L.: Hierarchical distributed architectures for autonomous mobile robots: a case study. In: Proc. of the 12th IEEE Conf. on Emerging Technologies and Factory Automation, ETFA2007, Greece, pp. 973–980
- Almeida, L., Pedreiras, P., Fonseca, J.A.: The FTT-CAN protocol: Why and how. IEEE Transactions on Industrial Electronics 49(6) (2002) 1189–1201
- Almeida, L., Santos, F., Facchinetti, T., Pedreira, P., Silva, V., Lopes, L.S.: Coordinating distributed autonomous agents with a real-time database: The CAMBADA project. In: Proc. of the 19th International Symposium on Computer and Information Sciences, ISCIS 2004. Volume 3280 of Lecture Notes in Computer Science., Springer (2004) 878–886
- Pedreiras, P., Teixeira, F., Ferreira, N., Almeida, L., Pinho, A., Santos, F.: Enhancing the reactivity of the vision subsystem in autonomous mobile robots using real-time techniques. In: Proc. of RoboCup 2006. Volume 4020 of Lecture Notes in Computer Science., Springer (2006) 371–383
- Pedreiras, P., Almeida, L.: Task Management for Soft Real-Time Applications Based on General Purpose Operating Systems, Robotic Soccer. Itech Education and Publishing, Vienna, Austria (2007)
- Neves, A.J.R., Martins, D.A., Pinho, A.J.: A hybrid vision system for soccer robots using radial search lines. In: Proc. of the 8th Conf. on Autonomous Robot Systems and Competitions, Portuguese Robotics Open - ROBOTICA'2008, Aveiro, Portugal (April 2008) 51–55
- Neves, A.J.R., Corrente, G., Pinho, A.J.: An omnidirectional vision system for soccer robots. In: Progress in Artificial Intelligence. Volume 4874 of Lecture Notes in Artificial Inteligence., Springer (2007) 499–507
- Martins, D.A., Neves, A.J.R., Pinho, A.J.: Real-time generic ball recognition in RoboCup domain. In: Proc. of the 11th edition of the Ibero-American Conf. on Artificial Intelligence, IBERAMIA 2008, Lisbon, Portugal (october 2008)
- Cunha, B., Azevedo, J.L., Lau, N., Almeida, L.: Obtaining the inverse distance map from a non-SVP hyperbolic catadioptric robotic vision system. In: Proc. of the RoboCup 2007, Atlanta, USA (2007)
- Neves, A.J.R., B. Cunha, A.J.P., Pinheiro, I.: Autonomous configuration of parameters in robotic digital cameras. In: Proc. of the 4th Iberian Conf. on Pattern Recognition and Image Analysis, ibPRIA 2009, Póvoa de Varzim, Portugal (June 2009 (Submitted))
- Silva, J., Lau, N., Rodrigues, J., Azevedo, J.L.: Ball sensor fusion and ball interception behaviours for a robotic soccer team. In: Proc. of the 11th edition of the Ibero-American Conf. on Artificial Intelligence, IBERAMIA 2008, Lisbon, Portugal (Oct. 2008)
- Lau, N., Lopes, L.S., Corrente, G.: CAMBADA: information sharing and team coordination. In: Proc. of the 8th Conf. on Autonomous Robot Systems and Competitions, Portuguese Robotics Open - ROBOTICA'2008, Aveiro, Portugal (April 2008) 27–32
- Ferrein, A., Hermanns, L., Lakemeyer, G.: Comparing Sensor Fusion Techniques for Ball Position Estimation. In: Proc. of the RoboCup 2005 Symposium. Springer (2005)
- Lauer, M., Lange, S., Riedmiller, M. In: Modeling Moving Objects in a Dynamically Changing Robot Application. Springer (2005) 291–303