CAMBADA'2012: Team Description Paper

A. J. R. Neves, J. L. Azevedo, B. Cunha, J. Cunha, R. Dias, P. Fonseca, N. Lau, E. Pedrosa, A. Pereira, J. Silva

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'2012. During the last year, improvements have been made in almost every components of the robot. Most important changes are the design of a new platform, improvements in the world modeling, algorithms for ball interception, development of a model for trajectory generation and several improvements in the high-level coordination and control, namely a new model for setplays, strategic positioning, passes in free play, automatic kicking calibration and learning.

Introduction

CAMBADA is the RoboCup Middle Size League (MSL) soccer team of the University of Aveiro, Portugal. The project involves people working on several areas contributing for the development of all the components of the robot, from the hardware to the software.

The development of the team started in 2003 and a steady progress was observed since then. CAMBADA has participated in several national and international competitions, including RoboCup world championships ( $5^{th}$ place in 2007, $1^{st}$ in 2008 and $3^{rd}$ in 2009, 2010 and 2011), the European RoboLudens, German Open ( $2^{nd}$ in 2010) and the annual Portuguese Open Robotics Festival ( $3^{rd}$ place in 2006, $1^{st}$ in 2007, 2008, 2009, 2010, 2011). Moreover, the CAMBADA team achieved excellent results in the mandatory technical challenge of the RoboCup MSL: 2nd place in 2008, 1st place in 2009 and 4th place in 2010. A $1^{st}$ place in the 2011 RoboCup Free Challenge was also achieved.

This paper describes the current development stage of the team and is organized as follows: Section 2 describes the general architecture of the robots. Section 3 describes the recent improvements of the hardware. Section 4 presents the current version of the vision system. Section 5 addresses the world modeling and the control of the robots. Section 6 describes the high-level coordination and control framework and, finally, Section 7 concludes the paper.

CAMBADA is an acronym for Cooperative Autonomous Mobile roBots with Advanced Distributed Architecture.

General architecture of the robots

The general architecture of the CAMBADA robots has been described in [1, 2]. Basically, the robots follow a biomorphic paradigm, each being centered on a main processing unit (a laptop), which is responsible for the high-level behavior coordination, i.e. the coordination layer. This main processing unit handles external communication with the other robots and has high bandwidth sensors, typically vision, directly attached to it. Finally, this unit receives low bandwidth sensing information and sends actuating commands to control the robot attitude by means of a distributed low-level sensing/actuating system.

Fig. 1. On the left, a picture of a CAMBADA robot. On the right, the main modules in the architecture of the robots.
Fig. 1. On the left, a picture of a CAMBADA robot. On the right, the main modules in the architecture of the robots.
Fig. 1. On the left, a picture of a CAMBADA robot. On the right, the main modules in the architecture of the robots.
Fig. 1. On the left, a picture of a CAMBADA robot. On the right, the main modules in the architecture of the robots.

New Platform

Although the current CAMBADA platform has proved to be stable, robust and reliable, a set of specific drawbacks have been identified in view of the growing challenges in the league. This is the case, namely, of the ability to move faster than the current 2.5 m/s top speed, possible after the replacement of the NiMH batteries used previously by smaller and lighter ones based on LiPo technology, and the ability to actively control the ball in a more efficient way. These drawbacks have triggered the design of a new platform, currently under development, which tries to reuse the model and functionalities which have proved to be efficient and introduces changes in those aspects that require a new approach.

The main issues that are addressed in the new platform can be summarized as follows: new, custom made, omni-directional wheels. The CAMBADA robots currently use plastic based, off the shelf, standard omni-directional wheels from Kornylac. These wheels, although providing a good grip, are mechanically fragile and reveal a fast wear-out especially at the plastic/steel interface of the free rollers. The new solution is based on an aluminum 3 piece sandwich structure (see details in the mechanical drawings) in which 2 sets of 12 off-phase free rollers are supported.

A new power transmission system, based on synchronous belts and sprockets. In order to be able to re-use current Maxon 150W DC motors, power transmission to the wheels will be provided by a synchronous belt system instead of the current direct drive approach. This solution provides a two-fold advantage: different sets of sprockets can be used to provide different torque/maximum speed ratios; the wheels are supported by their own set of bearings, relaxing the radial significant effort on the output motor bearing of the current solution. New motor control boards were also developed in order to improve the control of the motors in this new configuration.

A new ball handling mechanism. This mechanism will be based on a double active handler similar to some of the solutions already presented by other teams. Direction and speed of the ball interface rollers is closed loop controlled in order to ensure full compliance with ball handling current rules.

Fig. 2. The new platform of the CAMBADA robots.
Fig. 2. The new platform of the CAMBADA robots.
Fig. 2. The new platform of the CAMBADA robots.
Fig. 2. The new platform of the CAMBADA robots.

Vision System

The current vision system of the CAMBADA robots is based on an omnidirectional setup described in [3]. Additionally, the goal-keeper also has a perspective camera to help in the detection of balls in a 3D space.

For the calibration of the vision system, it is used the algorithm described in [3] that does not require human interaction to configure the most important parameters of the camera, namely the exposure, the white-balance, the gain and the brightness. Moreover, this algorithm runs continuously, even during the game, therefore coping with environmental changes that often occur while playing.

For most practical robotic applications, the setup of the vision system requires the translation of the planar field of view at the camera sensor plane, into real world coordinates at the ground plane, using the robot as the center of this system. A detailed description of that algorithm is presented in [3]. During the last year, some improvements have been made including easy to use feedback mechanisms for distance map validations, better lens distortion compensation and a tool for extraction of parameters that will be used, in the near future, by a fully automatic image to real world coordinates transformation tool.

World modeling and robot control

Some improvements to the world model has been or are being made [4]. The main changes aim to improve the precision of the ball and obstacles perception, obstacles avoidance and ball interception algorithms.

Obstacle avoidance

The reactive component of obstacle avoidance algorithm has been improved in order to try to ensure that the probability of robot to robot or robot to obstacle crash, or even touch, is reduced to a minimum. The system relies on a set or fully configurable virtual sonars, based on a set of parametric values, and is supported on the vision subsystem. This allows the use of different sonar configurations according to each particular game situation. Each sonar has non linear shape, which encompasses the robot body itself, and its rotational alignment is dynamically changed according to the target position of the robot on the field. Each time the frontal sonar (in terms of target position) is obstructed, a search algorithm, with track history, is applied in order to determined the best alternative path to follow. This allows a smooth movement transition when obstacles are dynamically changing their position on the field. This procedure is done at each processing cycle (currently 30 per second).

3D ball detection

To detect balls in the air, we use a single perspective camera pointing forward. The detection of the ball in the image is made by using a hybrid color/shape approach, which uses color detection to extract regions of the image where the ball can be and then analyses these small images to assert, by circularity detection, if a ball is really present in that region of the image.

This approach allows the algorithm to make use of fast color detection algorithms, balanced with slower but more accurate shape algorithms, keeping the run time of the process within the existing real-time constraints [5].

This new source of information about the ball is merged with the existent information (omni directional camera and team information share), allowing to complement it.

Fig. 3. Example of a ball detected using the front vision system and a graphical representation of the polar histograms used to validate the circularity.
Fig. 3. Example of a ball detected using the front vision system and a graphical representation of the polar histograms used to validate the circularity.

Obstacles detection and classification

The obstacle management is mainly performed by the integration process. The vision system, after segmenting the image, returns a set of all valid black points detected around the robot. These points are ordered angularly.

The integration process takes the points and builds the obstacles. This is made by an iterative process which starts by acquiring the first black point and define it as the limits of an obstacle. Iteratively, each black point is tested to be within a given neighborhood of the previous one and they are clustered together into each obstacle.

To be able to distinguish obstacles, to identify which of them are team mates and which are opponent robots, a fusion between the own visual information of the obstacles and the shared team mate positions is made.

Ball interception

It is extremely important for a robot in robotic soccer to retrieve the ball as soon as possible. Therefore, ball interception is a key behavior.

We developed a solution for a ball interception behavior based on an uniformly accelerated robot model, where not only the ball velocity is taken into account but also the robot current velocity as well as the robot acceleration, maximum velocity and sensor-action delays are considered.

The algorithm was first used in the 2009 competitions and is described with detail in [6].

High-level coordination and control

Some improvements in the high-level coordination and control has been and are being made [7]. The main changes aim to improve the way as set pieces are executed, improvements in the strategic positioning, passes in free play and automatic kicking calibration.

Setplays

The setplay concept is very frequently used in several collective sports to improve the effectiveness of the teams strategy. A general framework for setplay execution was developed that can be used to specify, select and aid execution of setplays in several different RoboCup leagues [8].

Setplays can be defined using an interactive graphical tool, which outputs a textual description of the setplay in a predefined language. During normal operation setplay selection is achieved using a Case-Based Reasoning approach that learns from previous executions in similar contexts. The execution of the setplay is aided by an execution engine that can be easily integrated with the robot agents by providing implementations for several Conditions and Actions needed by the setplay (Fig. 4). The execution of seplays in CAMBADA, using this setplay framework, has already been performed in simulation and its adaptation to the real robots is currently under development.

Fig. 4. Actions and Conditions definitions. From [8].
Fig. 4. Actions and Conditions definitions. From [8].

Strategic positioning

The formation model used by CAMBADA since 2006 is an adaptation of Situation Based Strategic Positioning (SBSP) developed in the Simulation League. After RoboCup 2010, the CAMBADA agent has been enhanced with a new formation model (called DT), also originally developed in the Simulation League, where the positioning of each player results from defining a set of key ball positions for which the player target position is defined and then interpolating these positionings using a Delaunay Triangulation of the key ball positions.

The CAMBADA formation can now use SBSP formations, simpler but less flexible, or DT formations, that allow a more precise positioning of the formation over the entire field. This was presented in RoboCup 2011 free challenge (1st place).

Passes during a game

In the MSL, a pass made during a game, without being in a set piece strategy, was barely seen before. This is a hard task due to the need of a precise coordination between agents. In the last two years, the CAMBADA team used passes with success in free play during several games. The detailed algorithm will be presented in a paper currently being prepared.

Automatic kicking calibration

We are developing a self-calibration process of the kicking device using two robots communicating with each other. One of them (the Striker) is the robot which is calibrating its kicker, and the other (Watcher) is an auxiliary teammate that will calculate the height of the ball when it enters the goal and shares this information on a Real-Time Data Base. New algorithms are being developed for Watcher 3D ball detection using high-speed cameras and 3D cameras.

With the calibration process developed since last year [9], we achieved better results, but they did not met the expectations. This year, we continued work, but complementing it with the study of the real ball's trajectory. To accomplish this, a SICK LMS100 (laser range finder) is placed on the ball's trajectory plane, tracking its position at a 50Hz rate. All the data is then analysed with a MAT-LAB tool that filters it to get a normalised parabola. From this, we should be able to relate strength and parabola parameters, and further model the ball's behavior after a kick. In order to get better results, this process will be done for every robot, with every possible kick strengths, many times, so we developed other tool to save time that communicates with the laser range finder and automatically stores data in a text file for later analysis.

Fig. 5. On the left, the position of the robots on the field during the kicker calibration procedure. On the center, the information processed by the Watcher. On the right, the data acquired by the laser range finder during a kick.
Fig. 5. On the left, the position of the robots on the field during the kicker calibration procedure. On the center, the information processed by the Watcher. On the right, the data acquired by the laser range finder during a kick.

Reinforcement Learning

The development of behaviors for robotic soccer using classing programming approaches is a challenging endeavor. We need to consider the different dimensions that compose the current state of the world, such as robot position and velocity, ball position and velocity, obstacles, etc. Given the current level of competitiveness between the top teams in the Middle Size, the CAMBADA team is striving to develop better behaviors that endow our robots with better individual skills.

To achieve this objective the CAMBADA is planning to apply Reinforcement Learning in order to increase the performance of existing behavior as well as develop new behaviors through learning. In this context we plan to apply the Neural Fitted Q Iteration framework, extensively applied in the Brainstormers Tribots [10] Middle Size Team with great results.

Conclusions

This paper described the current development stage of the CAMBADA robots. Since the last submission of qualification materials, in January 2011, several major improvements have been carried out, namely: the design of a new platform, yet to be implemented; the replacement of the NiMH batteries used previously by smaller and lighter ones based on LiPo technology which increased the maximum velocity of the robots by 25% and overall robot power autonomy (one set of batteries allows the robot to play two full RoboCup MSL games); the development of new and more efficient motor control boards; new algorithms for object detection used in the frontal vision system to detect the ball in 3D; improvements in the world modeling; algorithms for ball interception; several improvements in the high-level coordination and control, namely a new model for set pieces and strategic positioning, passes in free play, automatic kicking calibration and learning algorithms for some basic behaviors. Moreover, three Ph.D students are doing work in the project and several students are also collaborating in the project as volunteers.

References

  1. Neves, A.J.R. et al.: 2. In: CAMBADA soccer team: from robot architecture to multiagent coordination. I-Tech Education and Publishing, Vienna, Austria (In Vladan Papic (Ed.), Robot Soccer, 2010)
  2. Azevedo, J.L., Cunha, B., Almeida, L.: Hierarchical distributed architectures for autonomous mobile robots: a case study. In: Proc. of the 12th IEEE Conference on Emerging Technologies and Factory Automation, ETFA2007, Greece (2007) 973–980
  3. Neves, A.J.R., Pinho, A.J., Martins, D.A., Cunha, B.: An efficient omnidirectional vision system for soccer robots: from calibration to object detection. Mechatronics 21(2) (mar 2011) 399–410
  4. Silva, J., Lau, N., Neves, A.J.R., Rodrigues, J., Azevedo, J.L.: World modeling on an MSL robotic soccer team. Mechatronics 21(2) (mar 2011) 411–422
  5. Silva, J., Antunes, M., Lau, N., Neves, A.J.R., Lopes, L.S.: Aerial ball detection in RoboCup Middle Size League using polar histograms. In: Proc. of the 17th Portuguese Conf. on Pattern Recognition, Recpad-2011, Porto, Portugal (oct 2011)
  6. Cunha, J., Lau, N., Rodrigues, J.M.O.S.: Ball interception behaviour in robotic soccer. In: RoboCup 2011: Robot Soccer World Cup XV. Lecture Notes in Artificial Intelligence, Springer (2011)
  7. Lau, N., Lopes, L.S., Corrente, G., Filipe, N., Sequeira, R.: Robot team coordination using dynamic role and positioning assignment and role based setplays. Mechatronics 21(2) (mar 2011) 445–454
  8. Mota, L., Reis, L.P., Lau, N.: Multi-robot coordination using setplays in the middle-size and simulation leagues. Mechatronics 21(2) (mar 2011) 434–444
  9. Dias, R., Neves, A.J.R., Azevedo, J.L.: Autonomous calibration for the kicking device of a soccer robot. In: Proc. of the 5th International Workshop on Intelligent Robotics, IROBOT 2011, Lisbon, Portugal (oct 2011)
  10. Riedmiller, M., Gabel, T., Hafner, R., Lange, S.: Reinforcement learning for robot soccer. Auton. Robots 27(1) (2009) 55–73