Enhancement of the Botnia RoboCup Soccer
SSL Team
Smail Menani, Yang Liu, Johan Dams, Jukka Matila, and Jani Ahvonen
Department of Information Technology
Vaasan Ammattikorkeakoulu, Wolffintie 30, 65200 Vaasa, Finland
{smv, yli, jd, juma, ja}@puv.fi
Abstract. The Botnia 2005 prototype showed many design and implementation errors and weaknesses. An investigation of the Botnia 2005
old design is carried out to study the possibilities of improvement. In
the previous design, the global vision was not reliable and the motion
control of the robot was poor. Other important technical problems were
also taken into consideration such as loss of power, dribbling and kicking
systems as well as safety issues. In this design a robust high precision
global vision system is implemented and the PID Motion Control System
is improved. A new PCB is designed and better electronic designs are
used to reduce the power consumption and extend the life of the batteries. In the new model, a secondary RF communication is added and
the communication protocol is improved to increase the throughput and
reduce recovery delays. The new design proved to be efficient and good
results were obtained as first participation during the 2006 RoboCup
word championship.
Keywords: RoboCup, Botnia, agent, Computer vision, image processing
1
Introduction
RoboCup is an international project that covers computer vision, artificial intelligence, robotics and other fields. RoboCup is organized in three main areas:
1) RoboCupSoccer, 2) RoboCupRescue, and 3) RoboCupJunior. RoboCupSoccer is the most challenging and it is divided into 5 leagues: 1) Simulation, 2)
the Small-size robots, 3) the middle-size robots, 4) the four-legged robots, and
5) Humanoid. This paper gives a description and improvement of the Botnia
RoboCup Soccer team.
2
Overview of the Botnia RoboCup
The RoboCup System installation is shown in Figure 1. The Botnia Robot soccer
Team is composed of 5 systems. The mobile robots; 2) the off-board control
system; 3) the transmission System; 4) the Simulation System and 5) the vision
system.
2
Fig. 1. Botnia RoboCup System installation
2.1
The Mobile Robots Hardware
Botnia mobile robots are designed based on the f-180 small-size RoboCup league
rules [1]. Each robot must fit inside a cylinder of 180 mm diameter and no more
than 150 mm high. Hence each part of the robot must be designed carefully to
fulfill this rule. The hardware of the robot is mounted on three Omni-directional
wheels situated at 120 degrees from each other. The wheels are driven by three
Faulhaber 12V DC motors with built-in encoder and gear box. In previous design, low resolution encoders were used which has created control instability at
high speed. At high speed, the encoder generates a constant error which is permanently increased by the integral action of the PID controller and drives the
robot to instability. To solve this problem a software reset is used in the control
loop. Because the control loop resets too often and this may have a big draw back
on power and can cause failure to other components (Some robots were burn out
during competition); a higher resolution encoder is then used. Other change is
the power supply circuit. Previous design uses just a linear regulator which is
not recommended for battery powered system due to their low power efficiency.
A switching power regulator is then selected and used in the new design.
The 2006 RoboCup new rules require that, each team must have at least
two communication channels. With the selected RF module, it was not possible
to use the old microcontroller. It was necessary then to upgrade to a new microcontroller. This change is very costly, because it leads to a complete change
in the circuit board and rewrite complete new software for it. Another important change is also made to the motor drives. In the previous design, the motor
drivers sink too much current and generate too much heat which causes excessive
power loss and in some cases failure in some components. With the mechanical
vibration of the robot, and the excess heat generated by the motor drivers some
of the pins can loose contact with their traces on the PCB. This happen quiet
often when the robot get stuck with the opponent robot or when the robot is
driven with full speed. The traces of the old PCB are also not appropriate for
3
Fig. 2. The PCB of the Botnia 2005
Fig. 3. 4 layer PCB of the Botnia 2006
such application, Figure 2. In the new design better motor drivers are used, and
the traces of the PCB which are supposed to draw a relatively high current flow
are increased in width. With the new motor drivers, and improvement in the
PCB, the robots can run with full speed and the temperature of the components
remains within accepted range. The HW of the Botnia 2005 robots is composed
of two PCB boards with DIP type electronic components. The first PCB carries the microcontroller and transmission electronics and the other carries motor
drivers, the power supply and the PID controller electronics. The two boards are
interconnected with row type connectors. In the new design all electronic components are SMD and built on a single PCB to avoid any loose contact between
the boards, Figure 3. But the kicking and dribbling control circuit is built into
a separate board because of safety reasons.
2.2
The kicker
The kicker of the botnia 2005 robot is made simply with three cylindrical bars of
aluminum which rotate together around a common axis. The kicker is controlled
by a small DC motor. A kick occurs each time the ball is at the vicinity of the
4
rotating bars and a command to kick is sent by the strategy server. This kicker
is inefficient, because of the delay caused by the video processing and AI system
(about 25 ms). This makes it impossible to have a kick during a game. Even, if
the ball is kicked, there is not enough power for the ball to travel fast enough.
Fig. 4. Kicker of the botnia 2005 robot
A completely different kicker mechanism is used with the botnia 2006 robots.
Without going into the details; the new kicker is composed of the direct kicker
and chip kicker. The direct kick allows the ball to travel horizontally while with
the chip kick, the ball can be projected with an angle of approximately 45 degrees see Figure 5. To provide enough power for the kicker, a carefully selected
electromagnetic solenoid is used with a well designed electric circuit. In order
that the ball acquire enough acceleration, the kicker circuit takes in the 12 V Dc
voltage from the battery and converts it to 300V DC source (It can be less, but
a large amount of power is lost due to the weakness in the mechanical design
of the Botnia 2006 Robots). The kicker circuit is rather complicated, because of
the anti-electrical shock circuit to prevent any kind of electrical injuries.
Fig. 5. Kicker of the botnia 2006 robot
A ball detector circuit is designed to allow the kicker to be activated only
when a kick command is sent to the robot and the ball is in contact with the
kicker device.
5
2.3
Vision System
The vision system is based on Doraemon video server by Jacky Baltes. The
vision system is developed on a Linux platform and is composed of the following
modules: 1) camera calibration, 2) field mapping and masking, 3) color training
4) object search and 5) data broadcasting modules. The vision system processes
images and broadcasts real-time data with very high accuracy, while resisting
dramatic changes in environmental lighting condition.
Camera Calibration A common problem to machine vision in general and
to RoboCup in particular is the variability in lighting conditions and the representation of the tri-spectral physical images to a numerical representation of an
object [Kenneth R].[1]. A single camera can only capture part of a half field. To
capture the whole field, two cameras with wide angle lens are needed. Geometric
distortion and other errors introduces by the camera requires from the vision system to find the relationship between the real physical object co-ordinates and the
co-ordinates of the symbolic object. In RoboCup, this method is known as camera calibration. To reduce the errors caused by the geometric distortion, Tsai’s
camera model is used with known geometric pattern on the field to estimate the
positions of the real objects.
Fig. 6. The Pattern used by the old vision system
The calibration pattern used by the old vision system is a 2D pattern and
consists of a paper board of 48 black squares, which are positioned on the top
surface of the soccer field as described in Figure 6. This 2D calibration pattern
allows easy and relatively fast calibration but position errors can be significant
(10mm to 30mm). This is not tolerated in a real game. In RoboCup, the robots
are 10 to 15cm high and the ball is 3.5 cm high. A 2D calibration pattern
can’t provide all information needed for the Tsai’s camera model to estimate the
6
positions of real 3D objects. The botnia 2006 vision system uses a 3D calibration
pattern as shown in Figure 8 to provide 3D known data points to allow the Tsai’s
camera model to estimate real object’s position more precisely.
Fig. 7. The initial 3D calibration pattern
The initial pattern for the camera calibration is shown in Figure 7. Notice
the bars on the corners. They are 15 cm high, the same high of the botnia
2006 robots. The current calibration pattern is shown in Figure 8. This pattern
has all 3D sample points distributed evenly around the field. This gives better
calibration result than the previous one. The maximum position error is now
around 7mm to 10mm.
Fig. 8. The actual 3D calibration pattern
Color Training Color training means selecting the real objects pixels from
live video image and getting the threshold values for each pixel and forming the
threshold range. Computer vision based on unconstrained RGB space is highly
sensitive to lighting conditions, thus the same colored objects may not match
7
with their models. Fortunately, the colors defined by the RoboCup committee
are located at corners of the RGB color space [Thomas Charles Karpati]. To
limit the RGB color space, Rmin-Rmax, Gmin-Gmax, and Bmin-Bmax can be
used. This would give accepted results for fixed lighting and normal usage. But
in RoboCup the lighting changes extensively. In order to differentiate more colors under a wide range of lighting, a much tighter set of threshold is required.
The RGB differences (1) and RGB ratio (2) thresholds are used.
(1)
(R-G)min - (R-G)max
(B-G)min - (B-G)max
(G-B)min - (G-B)max
(2)
(R ratio)min - (R ratio)max
(G ratio)min - (G ratio)max
(B ratio)min - (B ratio)max
This threshold range is being used in color search process Figure 9.
Fig. 9. Color training tool
The user usually sets the threshold range manually by adding as much pixel
values as possible to represent all possible matching colors.
Object Search Edge detection is a common method used in object recognition
but it is a time consuming. To make it practical for RoboCup, the method is
simplified to color detection applied to limited regions of the image and not to
the whole image, Figure 10.
This is possible by selecting a predefined color pattern for each object (Ball,
Robot 1, Robot 2, etc). Each robot is defined by one reference color, two identification colors and one orientation color, as seen in Figure 12. Identification color
8
Fig. 10. Color pattern and object detection methods
markers are placed at the exact location on the robot and are searched only in
these specific areas. The pixels in the whole image are scanned for the reference
colors of all objects. When the reference color is matched, its center point is calculated and the same process is then repeated for the related ID and orientation
colors to completely identify a robot. Then line equation of the center points is
used to calculate the robot orientation.
Fig. 11. Off board control System
But this is not required for the ball object, because it has only one color of
interest. Same applied for the opponent objects.
Fig. 12. Robot Identification pattern
There are 11 objects to be identified in each frame of image. The total time
required for all objects detection is around 30ms. There are 33ms between 2
consecutive frames. Objects on the field can travel with an average speed of 2
m/s. In 33ms an object can move 66mm. Hence the same color object in the
current frame is located within a region of a radius of 70mm compared to the
previous frame. After the initial time full image scan, the object search can then
9
be limited to an area of 70mm in radius. This has a great improvement in the
object search algorithm. The time for detecting all objects is reduced by 85%
or 5ms. The average image processing time is 10 ms. This is the combination
of a region search which is 5 ms and a full scan search 20ms. Under normal
conditions only a region search is being used which means most of the time, the
processing time is 5 ms. The radius of the search area can change depending on
the speed of objects.
2.4
Botnia Off Board Control System
Figure 11 shows the off board control system. It includes the testing and monitoring modules and a simulation interface. The monitoring module is used to
select game strategies, test the robots, follow the game progress and set the game
parameters (i.e. the real size of the playing field, defense line, maximum robot
speed, etc). The purpose of the simulation is to set a current strategy, simulate
the execution of the AI module before the start of the game or during time-out,
monitor the behavior of individual agent, and display debugging messages from
the agents.
3
Conclusion
The drawbacks and weaknesses of the botnia 2005 have been studied and analyzed and an improved version of it is designed and implemented. Each robot
has better kicking capabilities and can track its trajectory smoothly with the
help of the improved PID and vision systems. The robots can play the full soccer
game without any problems. The new team was qualified to the 2006 RoboCup
word championship held in Germany. In this competition there were a total of
20 teams and Botnia team achieved the 12th position. This is a good result for
being the first participation in such competition. Further development ar under
investigation to design the next generation of the botnia RoboCup Soccer Team.
10
References
1. RoboCup Organization Official Home page http://www.robocup.org [visiteil on 02/
02/2004]
2. Simple Direct Media Layer (SDL) http://www.libsdl.org [visited on 02/02/2004]
3. Baltes, Jacky: Practical camera and color calibration for large rooms In Manuela
Veloso, Enrico Pagello, and Hiroaki Kitano, editors. RoboCup-99: Robot Soccer
World Cup III, pp 148-161, Springer Verlag, New York (2000)
4. Ould-Khessal Nadir, Yan Naing, Teng Jit Sin: Cooperative Strategies in Robotic
Soccer Proceedings of the Seventh International Conference On Automation,
Robotics, Control And Vision (ICARC V02), Singapore (2002)
5. Muir, P.F. and Neuman, C.P 1987: Kinematic modeling of wheeled mobile robots
J. Robotic Systems, 4(2):281-340
6. Sahn, S.K., Angeles, J. and Darcovich, J. 1995: The design of kinematically isotropic
rolling robot with omni-directional wheels Mechanism and Machine theory, 30(8):
1127-1137
7. Y.P. Leow, K.H. Low and W.K. Loh Kinematic Modeling and Analysis of Mobile Robot with Omni Directional Wheels Proceedings of the Seventh International
Conference On Automation, Robotics, Control And Vision, Singapore (2002)
8. Olli Kanniainen, Smail Menani, Nadir Ould-Khessal: Fast Dynamic Object Tracking
for a Robotic Soccer Team IASTED International Conference on Artificial Intelligence and Applications, 2003, Vienna, Austria
9. Smail Menani: Intelligent Embedded Systems: A case study; The Botnia RoboCup
4th International Workshop on Embedded Systems, Internet Programming and Industrial IT, 2005, Kempen, Belgium