Brainstormers Tribots object tracking

Robot soccer is more than controlling a single autonomous robot. It also deals with interacting with other objects, i.e. interacting with the ball and interacting with teammates and opponent robots. Hence, the ability to model other objects and their dynamic behavior is inevitable to be successful.

The Tribots' Approach for Ball Tracking

object tracking

The ball obviously plays the most important role in robot soccer. At the current level of play it is kicked with a velocity of at most 8 m/s by some teams and it is sometimes chipped. The robots move with at most 3 m/s. The latency of sensors and actuators sum to approximately 150 ms. Hence, the difference between the actual ball position at the time of interaction and the ball position at the time of sensing can differ up to 120 cm - six times the diameter of the ball.

To interact with the ball, an estimation of the ball velocity and the direction of the ball movement is necessary. To do this, we use a physical model of the ball movement assuming a movement in the xy-plane with constant velocity and a bouncing movement in the z-direction. Using the latest observations of the ball position given by the stereo camera system we can estimate the motion parameters and use them for the prediction of the ball position at future points in time.

Estimation of the Robot Velocity and Stuck Recognition

Beside the information about the ball velocity, information about the robot's own movement is necessary to achive a good robot behavior. Unfortunately, the information that we get from wheel encoders is distorted by slippage and kinetic effects so that it is noisy and heavily biased.

To overcome this problem, we additinally use an approach that estimates the robot movement from the latest robot positions that have been calculated by our self localization approach. In contrast to the ball movement, a robot can turn itself so that we are faced with a nonlinear motion model. However, we can analytically determine estimates of both, the linear and the angular velocity of the robot. The velocity estimate independent of wheel encoders and driving commands is very helpful to detect stuck situations in which a robot is blocked by another robot and cannot move forword although it likes to move forward. By comparing the desired robot velocity given by the driving commands and the actual velocity calculated from the results of self localization we can determine a criterion that recognizes these kind of stuck situations.

In further steps of behavior processing, our robots are using a specialized behavior to overcome stuck situations. By moving backwardly or turning they are able to free themselves (and maybe to free the ball) and to avoid broken motors and stuck games.