General description

Basically, the robots architecture is centered on a main processing unit that is responsible for the higher-level behavior coordination, i.e. the coordination layer. This main processing unit (a PC) processes visual information gathered from the vision system, executes high-level control functions and handles external communication with the other robots. This unit also receives sensing information and sends actuating commands to control the robot attitude by means of a distributed low-level sensing/actuating system.

The PC runs the Linux operating system. The communication among team robots uses an adaptive TDMA transmission control protocol on top of IEEE 802.11x, that reduces the probability of transmission collisions between team mates thus reducing the communication latency.

Low level sensing/actuating system

The low-level sensing/actuation system provides four main functions, namely: motor velocity control, kicking control, ball handling control and inertial measurement. The motor velocity control is carried out through 3 independent modules, one for each DC motor, running a standard PID controller.

The kicking function includes the control of an electromagnetic Kicker, with 50 levels of kicking strength, able to shoot a regular size 5 FIFA ball with speeds up to 11 m/s. The kicking control module also allows choosing between two types of shot: lob shot or straight shot.

The ball handling control module controls the ball grabbing during dribbling actions trying to keep the ball close to the robot while avoiding ball holding situations. It also tries to gather the ball during ball pass actions.

The inertial measurement unit (IMU) is a 9 DOF module with a triple-axis gyro, a triple-axis accelerometer and a triple-axis magnetometer, which is mainly used to estimate the heading of the robot, later on fused with the heading provided by the vision system.

The low-level control layer connects to the coordination layer through a CAN-USB gateway.

Vision System

The current version of the vision system uses an omni-directional setup based on a catadioptric configuration implemented with a gigabit ethernet camera and a hyperbolic mirror.

The image processing software uses radial search lines to analyze the color information. The regions of the image that have to be excluded from analysis (such as the robot itself, the bars that hold the mirror and the areas outside the mirror) are ignored through the use of a previously generated image mask. The objects of interest (the ball, obstacles and the green to white transitions) are detected through algorithms that, using the color information collected by the radial search lines, calculate the object position and/or their limits in an angular representation (distance and angle). The green/white detected transition points, that are at a distance smaller than a predefined value, are stored in a real-time data base (RTDB) for latter use by the robot self-localization process.

The relationship between image pixels and real world distances is obtained through an analytical method developed by the team (see publications link) that explores a back-propagation ray-tracing approach and the mathematical properties of the mirror surface.

High-level coordination and control

The high-level decision is built around three main modules: sensor fusion, basic behaviors and high-level decision and cooperation. The objective of the sensor fusion module is to gather the noisy information from the sensors and from teammates and update the World State database that will be used by the high-level decision and coordination. 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.

Mechanical description

For a complete mechanical description of the current version of CAMBADA robots please check this link.

Our Sponsors