CAMBADA'2011: Team Description Paper

A. J. R. Neves, J. L. Azevedo, B. Cunha, J. Cunha, R. Dias, P. Fonseca, N. Lau, J. Silva, T. Ângelo, C. Cruz, G. Corrente, L. S. Lopes, P. Pedreiras, A. Pereira, A. Pinho, J. Rodrigues, F. Santos, J. Vieira

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'2011. 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, new algorithms for object detection and calibration of the vision system, improvements in the world modeling, algorithms for ball interception, development of a model for trajectory generation, implementation of a simulator and several improvements in the high-level coordination and control, namely a new model for set pieces and strategic positioning, passes in free play and automatic kicking calibration.

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 and 2010), the European RoboLudens, German Open (3 $^{rd}$ in 2010) and the annual Portuguese Open Robotics Festival (3 $^{rd}$ place in 2006, 1 $^{st}$ in 2007, 2008, 2009 and 2010). 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.

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. Section 7 describes the simulator application and, finally, Section 8 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.
_page_1_Picture_3.jpeg

New Platform

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 are also being 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.
_page_2_Picture_2.jpeg

Vision System

Some improvements have been made in the vision system, particularly in the development of object detection algorithms based on morphological information to recognize arbitrary FIFA balls and the use of higher resolution images using the Format 7 available in the Point Grey digital cameras. The last point leads to the development of more efficient and optimized algorithms for colored object detection, namely orange balls, black obstacles and white lines.

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 [4] 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 [5]. 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 modelling and robot control

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

3D ball detection

During an MSL soccer game, the ball is mostly played on the ground and our omni-directional detection algorithm take advantage of that fact. However, in some specific situations like, for instance, a shot to the goal, the ball leaves the ground. In these situations, the ball is visible for a few omni-directional camera cycles, but the estimation is very degraded by perspective effects. After those few cycles, the ball goes out of the visible range of the omni-directional camera and when it becomes visible again, it is also affected by perspective effects.

To try to overcome this limitation, it is desirable that the ball is visible and with known position even when it is kicked out of the ground. This is particularly important for defense purposes, since the shots to the goals are generally made this way.

For that purpose, we installed a camera on the front of the robot, pointing forward with its focal axis parallel to the ground. This camera allows us to have a wide image of the area in front of the robot and up to some considerable height. We call this feature FrontVision.

With the integration of the information from both the omni-directional and the frontal camera, we can obtain a reasonable estimate of the projection of the ball on the ground, allowing the players to follow the path of the ball even when it is on the air, if the ball is in front of them.

Obstacles detection and classification

The detection of obstacles in the MSL is important for general navigation of the robots on the field. The detection of these obstacles is based on the existence of black color on each robot. We consider important that, besides being able to detect the obstacles, our robots should be able to identify which of the obstacles are opponents and which are team mates.

Recent modifications were made so that 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 behaviour.

We developed a solution for a ball interception behaviour 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 first version of the algorithm was used in the 2009 competitions and an improved model was used during 2010. We are currently finishing a manuscript to be submitted where the algorithm is presented in detail.

Trajectory generation

The displacement of a mobile robot in a controlled way requires the computation of a sequence of points, that define the robot's trajectory at consecutive time instants. We developed a heuristic to compute the points in a trajectory in a 2D space based on the trapezoidal velocity profile, where the movement occurs in three phases: initial acceleration from initial velocity to a plateau speed (phase 1), travelling in uniform motion at plateau velocity (phase 2) and acceleration from plateau velocity to final velocity (phase 3). The computed trajectory is subject to the constraints of initial position and velocity, final position and velocity (defined as vectors) and the values for acceleration and plateau speed (defined as scalars).

The proposed heuristics are directed at omnidirectional holonomic robots, i.e., robots that are capable of, amongst others, manoeuvring without affecting the orientation. The results show that these algorithms are capable of producing the correct result in most situations.

The algorithms involve iterative procedures, for which the proof of convergence is still an open issue. Although without a formal proof, numerical experiments have shown that both algorithms converged to a viable solution when the data fulfils the necessary conditions. The behaviours used in the CAMBADA agent are being adapted to use the trajectory generation.

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.

New model of Set Pieces

The CAMBADA team has now a model of set pieces that allows the execution of each set piece in different ways depending, for example, on the positioning in the field. It is now possible to specify several robots to receive the ball in a set piece, its position on the field and their priority to receive the ball.

New algorithms have been developed to turn the set pieces more dynamic, allowing, for example, the choice in real time of the robot that will receive the ball according to several conditions. A GUI application was developed to configure the current model of set pieces (Fig. 3 on the left).

Strategic positioning

The coordination model of the CAMBADA team is based on concepts like strategic positioning, role and formation. Formations are sets of strategic positionings, each one being a movement model for a specific player. The assignment of a player to a specific positioning is performed in a dynamic way and according to a set of pre-defined rules.

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 (using a graphic interactive tool as shown in Fig. 3 on the right) 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.

Fig. 3. On the left the GUI application used to configure the set pieces. On the right, the GUI application used to configure the DT formation model.
Fig. 3. On the left the GUI application used to configure the set pieces. On the right, the GUI application used to configure the DT formation model.

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 year, the CAMBADA team used passes with success in free play during several games.

The pass would be from the robot having the ball, that under special circumstances, will pass the ball to another robot that is waiting to receive the ball. Using the team coordination approach of CAMBADA, based on formations, flexible positionings and dynamic role and positioning assignment [7], the Striker was adapted to, in special situations (mostly when it can not move forward in the field), signal another robot, the Receiver, that prepares himself to receive the ball. This is only possible due to the precise coordination between CAMBADA agents which relies on information sharing and integration within the team.

Automatic kicking calibration

Regarding the robot's new kicking device, not only it was improved in terms of hardware, allowing both direct and lob kicking, but also has now some better software tools.

Automating the calibration process of the kicking device is accomplished using two robots, both communicating with each other using the RtDB. 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 the RtDB.

On the field, the Striker kicks many times, from different distances. It receives the height from the Watcher and then decides if the last kick had the right power for that distance or not. If the kick was successful, he moves on to another distance. Doing this repeatedly, allows it to fill a distance-power table, with enough values to interpolate and generate a polynomial function that relates distance and power, which is used in-game.

Fig. 4. On the left, the position of the robots on the field during the kicker calibration procedure. On the right, the information processed by the Watcher.
Fig. 4. On the left, the position of the robots on the field during the kicker calibration procedure. On the right, the information processed by the Watcher.
_page_6_Picture_6.jpeg

Simulator

Using as a starting point the source code of the robotic simulator Gazebo, we created an adequate simulation environment for the CAMBADA team. Some components of Gazebo were modified and new sensors (omnidirectional vision, compass and barrier) and actuators (holonomic motion, kicker and grabber) were developed (modules of the CAMBADA robots, as presented in Fig. 1).

The CAMBADA team plays in a well defined environment: a MSL field with two goals, a ball and the robots. In this environment, the RTDB becomes the interface between the robotic agent and the simulation, instead of the memory mapped file interface (compatible with Player provided by Gazebo).

Conclusions

This paper described the current development stage of the CAMBADA robots. Since the last submission of qualification materials, in January 2010, several major improvements have been carried out, namely: the design of a new platform, new algorithms for object detection and calibration of the vision system, improvements in the world modeling, algorithms for ball interception, development of a model for trajectory generation, implementation of simulator and several improvements in the high-level coordination and control, namely a new model for set pieces and strategic positioning, passes in free play and automatic kicking calibration. Moreover, a master thesis finished in this period and two Ph.D students have started their work in the project. Three students are also collaborating in the project as volunteers.

References

  1. Neves, A., Azevedo, J., B. Cunha, N.L., Silva, J., Santos, F., Corrente, G., Martins, D.A., Figueiredo, N., Pereira, A., Almeida, L., Lopes, L.S., Pedreiras, P.: 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 (2010 (in press))
  4. 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 Conference on Pattern Recognition and Image Analysis, IbPRIA-2009. Volume 5524 of Lecture Notes in Computer Science., Póvoa do Varzim, Portugal, Springer (June 2009) 80–87
  5. 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. Volume 5001 of Lecture Notes in Computer Science., Atlanta, USA, Springer (2007) 417–424
  6. Silva, J., Lau, N., Neves, A.J.R., Rodrigues, J., Azevedo, J.L.: World modeling on an MSL robotic soccer team. Mechatronics (2010 (in press))
  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 (2010 (in press))