MRL Middle Size Team: RoboCup 2012 Team Description Paper
M.Gholipour 1, H.Rasam Fard 2
M.Montazeri, S.Moein, B.Eskandariun, M.Mahmoodi, S.Ebrahimijam, H.Ziarati, F.Fathalibeyglou,
M.Ghafouri Tabrizi, A.R.Shalviri, R.Fathi Rad, M.Hajikarimian, H.Amiri, M.Rasam Fard
Mechatronics Research Laboratory, Islamic Azad University of Qazvin - IRAN
1
Gholipur@gmail.com
2
Hamed.Rasam@gmail.com
Abstract. This paper concisely describes the very main and new features of our soccer playing robots
along with the improvements made since the previous years. Our major concerns for this year's
competitions have been developing a new control system, improvement of passing scenario,
improvement of the robot ball handling system , also developing new features in vision and software
which are collision-free real-time path planning, ball position filtering, cooperative team behavior
synchronization and emotional intelligence.
1 Introduction
The MRL middle size team has started its work at Mechatronic Research Laboratory of Azad University of
Qazvin since Aug 2003. This team aims at establishing an intelligent control method for autonomous multirobot systems in dynamic uncertain environment. MRL has begun the research and work in MSL since
2004. Our first official participation was during RoboCup 2005 competitions in Osaka and then Robocup
2006 in Bremen. We optimized hardware, control and software system for Robocup 2008 and designed
robust system for Robocup 2009 in Graz, as a result we find ourselves between four top teams. In Robocup
Singapore 2010 competitions we got the first place of technical challenge and again forth place of league
competitions. Also, we got second place of free challenge and fifth place of league in Robocup Turkey
2011 competitions. We believe that, the Intelligent, cooperative and adaptive behavior of the robots is very
important factor for a team success. With this regard our research is continuously focused on: reliability,
sensor fusion, dealing with uncertainty of environment for the robots, world modeling and dealing with
missing information. In the following sections we briefly explain current status and new achievements of
our team.
2 Hardware and mechanical features
We designed a flexible and powerful 4-wheel omnidirectional robot which is shown in figure 1. The design
major features are smaller dimensions, less shaking. Motors are MAXON EC 200watt brushless motors for
increasing the speed. The four-wheel drive robot can move at any direction and at any moment. Nothing
has changed towards last year, other than we designed a new powerful ball handling which is shown in
figure 1.
Main processor is Lenovo X200 notebook PC and electronic equipments are developed ARM Cortex
M3® -LPC1768 microcontrollers with high speed CAN-bus, each robot was equipped with two UI-2210-C
cameras with USB communication protocol one in front and one on the top [1].
Table 1. Hardware specification of the robot
Items
Platform
Max speed
Max acceleration
Kicker
Weight
Laptop
Camera
Image
processing
Other sensor
Controller
Spin back
Description
4 wheel
Omnidirectional
3.5 m/s
4 m/s2
Electromagnetic
40 Kg
Lenovo X200
uEye UI-2210-C
Omni directional
mirror
IMU and IR
Neural Network
PID
Active
60watt 24V DC
motor
Fig. 1. MRL 4-Wheels robot
2.1 Robot control architecture
This year we fuse the robot overall navigating system and path planning algorithm to make a trajectory
planning. The trajectory control is basically performed by building a geometric path and using feedback
control to track the path. We developed a PI–fuzzy path planner and associated low-level control system for
a linear discrete dynamic model of omni-directional mobile robots to obtain optimal inputs for drivers.
Velocity and acceleration filtering is also implemented in the path planner to satisfy planning prerequisites
and prevent slippage. The low-level tracking controller developed in this section provides an optimal
solution to minimize the differences between the reference trajectory and the system output and fuzzy logic
as a high-level controlling scheme has been applied for trajectory-following tasks.
A general overview of the available controller with implementation of a PI controller on the path planner,
an FLC on the velocity assignment, and LQT on the motion controller is shown in Fig. 2.
The PI–fuzzy-LQT controller presents a precise and robust approach especially for cases above the
allowable slip-free motion velocity [2].
Fig. 2. MRL robot control diagram.
Successful distributed sensing and control require data to flow effectively between sensors, processors
and actuators on single robots [3], in groups and across the Networks. With this regard the control systems
are partitioned into low level and high level control systems.
Low level control: the policy that controls low level I/O peripherals of each function distributed in a
robot system such as motor control and robot navigator system.
High level control: the policy that controls whole system, such as localization system or decision making
control [4].
2.2 Low level control
This part focuses on the development of a discrete-time linear quadratic tracking approach as the low-level
controller with incorporation of the robot’s dynamic model. This tracking control system provides an
optimal solution to minimize the difference between the reference trajectory and the output which follows
the reference. Although noise, saturation, and dead zones create some perturbation in velocity control and
trajectory tracking, the robustness of the designed low-level optimal controller for tracking compensates
most of them [2,5].
There are four Maxon motor driver(EPOS) with PID controller algorithm implemented to adjust the
motor velocities according to the received commands from the master processor and the motor encoders
pulses [6,7]. Robot position and speed is sensed by dedicated motor encoders and sent to the high level
control systems.
Fig . 3. Electrical and Control architecture
This control system is connected to the main and power board via a high speed CAN -Bus mechanism
which will communicate with planer. All Local control is implemented on ARM Cortex M3® -LPC1768
microcontrollers to reduce the load of the main laptop PC.
Fig . 4. Kicking Hardware block diagram.
The control board of the kicker circuit is a state machine with two states. The process begins by polling
Up the Kick-Flag signal by main processor (Laptop) at state one. A signal that called Kick-flag is entered
to the component to set the desired kick duration. When a high logic value is read by microcontroller at
state two, the kicking sequence is initiated. In this state the microcontroller holds the kick signal high for
the specified period of time. Keeping up signal (Kick-command), with high level logic at the different
times can be creating different Kick powers. This process takes about 18 seconds. For improving the
performance of this operation, we need to reduce this time to about 5 ~ 10 seconds.
We have a fault finder and monitoring system that give the capability of observing the required data
from different parts of the robot without any connecting to the robot, also continuously reporting the
available information on the CAN network and save them on SMD card. This module would be developed
for new extensions like real-time system check or some manual command.
3
Software (AI and High level control):
In high level control system, we implemented some of the intelligent behavior algorithms including passing
skill based on reinforcement learning, path planning based on Voronoi diagram and B´ezier curves, ball
position estimation, obstacle tracking, dribbling and fusion of information in coach box. Also navigating
the robot movement to the target is also assigned to this section because of the future development of this
part.
This section includes three main units: planning unit, executing unit and knowledge unit. The major task of
knowledge unit is collecting sensory and vision output data, analyzing and converting them to meaningful
data which are inputs of decision making sections.
Planning unit main task is to make high level intelligent decisions (commands) like track ball, hold ball
and etc and orchestrates them with other teammate decisions, this part also allotted the general playing
strategies of the team according to offensive and defensive states, and then sends the appropriate commands
to executing unit.
In the executing unit the commands are analyzes to set of main skills, the skills are basic behaviors like:
Move, Stop, Rotate, and Kick. These basic moving skills are given to navigation controller.
Fig. 5. High Level controller block diagram
Same as last year, decision making model is based on hybrid decision tree and tasks queue. In tasks queue,
each task which is an object derived from secession class of “TASK” are assumed as items of constructing
queue. The recommended model is the compound of the mentioned model and decision tree model.
Actually, in the beginning of decision making the system decide which method is appropriate now [9].
MRL coach box is developed by Qt-framework Program which shows all the robots situations and
activities while playing. Also a network monitoring system is designed to check the traffic and packets on
the network. For each player the parameters of player coordination,(x,y,θ), player role, player state, player
color, packets speed, Vision state (if connected or not or need retune), kicker ( if on/off), motors( if
on/off), robot battery voltage, laptop battery charges indicators.
The robots new main Software changes are:
1. A collision-free real-time path planning algorithm which plans a reference path based on Voronoi
diagram and B´ezier curves that meet safe obstacle avoidance criteria. This method by using B´ezier curves
generates smooth paths that are consistent with the robot dynamics [10].
2. Ball position estimation is one of the most challenging issues in MRL middle size soccer robots, this is
because of the noises which caused by the vibration of moving robot. To get well-estimated ball position,
data should be filtered. To accomplish this, ball positions were passed through a Kalman filter , and a
linear regression (MLM algorithm) was applied over filtered positions to estimate its velocity and direction
[11].
3. Developing a world model of obstacles in the field and tracking them by using particle filter algorithm
improves the path planning algorithm and provides effective results in decision making section.
3.1 General strategy of playing (layered defense)
Our general strategy of playing is still kept layered defense because of the changes of the rules.
According to the size and velocity of robots, we develop a strategy which is called layered defense. In this
strategy, if a player looses to catch the ball, the other one which is called supporter would try to catch it and
the ball looser robot should return back. To use the mentioned strategy there should be a communication
between robots, also players should know, how many teammates are playing now? Any changing in the
count of players would change the procedure of the strategy. The count is acquired by the player and
coachbox doesn’t have any interfere in this mission. So, firstly a multiple communication is established
between teammates, then there is a function designed to count the active teammates in the software.
In addition to sharing the allotted strategy between teammates, other information like ball position is
also shared between them, so if a player looses the ball position for any reason the other teammates help it
to find.
To perform the strategy, imagine that there are four players in the match, the roles are assigned as: one
attacker, one halfback (supporter) and two defenders. The robot which is able to fetch the ball easily is
assigned as attacker and its mission is moving toward the ball, the next nearest player is assigned as
halfback. Halfback (supporter) moves behind the attacker with about 1.5 meter distance from it to fetch the
ball if the attacker looses it. Two defenders defense from own goal allover the two separate layers
according to ball distance from own goal. The defense algorithms are such designed to minimize
movements of defenders to reach their positions. The strategy is capable of extending it to play with three,
two and one players.
4 Vision system and localization
Our vision system hardware, changed from last year, it is composed of a UEye camera that stands upwards
with a hyperboloid mirror above it. This component provides an omni-directional vision. The output of this
system is very reliable and accurate.
To process the gathered images, at first a median filter is applied in order to reduce image noises, and
then the four standard color marks will be assigned to each pixel by the Color Lookup Table. The Color
Lookup Table (CLT) is filled in another program, which classifies the HSL Color Space into four standard
colors. This program takes some supervised samples from user to learn how to recognize the standard
colors. In run time this CLT is used in an image processing algorithm to detect the ball, field, and obstacle
areas in the image in real-time (50 frame/s) on the laptop computer.
Self localization is obtained through matching white lines in the camera pictures with the actual model.
To recognize the lines in the pictures, we scan the radius of the picture from centre shown as figure 6.
Then categorize the white and green connected spots, we register the center of white spot groups, which
next and previous lines are green, as a part of the line and keep on this process for all radiuses, so a group
of spots from the field lines are recognized shown as figure 7. At last the spots are converted from polar to
Cartesian coordinate and from pixel mode to metric mode by using mirror equations shown as figure 8.
Then, the position is again calculated by matching the spots with actual model of field lines shown as figure
9.
To recognize ball, first, the ball colors are segmented, circular shape segment is recognizes as the ball
with designed algorithm. But now we are able to recognize any standard FIFA ball. We assigned a
coefficient of error parameter to each recognized circle according to how much it is like to circle, and the
circle with minimum coefficient of error is chosen. Also, we assume each black segment in the green area
as an obstacle. All the above processes are done at once through entire 360 scan of the omni picture.
This year we use stereo vision system by another camera in front of the goalie to calculate the height of
the kicked ball and precision enhancement of recognizing the ball far away from it. Also we are going to
improve the ball detection algorithm when a small part of the ball appears in the images; this is
implemented by circle fitting algorithms [12].
Fig.6.
Scan the radiuses from centre
Fig.7. Recognizing a group of spots
Fig.8. Converting from pixel mode to metric mode Fig.9. Localizing by matching
Successful localization could be achieved by fusing data from various sensors to reduce the uncertainty.
We use a gyroscope (IMU) sensor to calculate the angles of robot to accelerate matching process.
References
1. V.Rostami, S.Ebrahimijam, P.Khajehpoor, P.Mirzaei, M. Yousefiazar “Cooperative Multi Agent Soccer Robot
Team,” International conference in enformatika system science and engineering, Volume 9, November 25-27, 2005,
ISBN 975- 98458-8-1, page 95-98.
2. E. Hashemi, M. Ghaffari Jadidi and N. Ghaffari Jadidi, "Model-based PI-fuzzy control of four-wheeled omnidirectional mobile robots", Robotics and Autonomous Systems, vol. 59, no. 11, pp. 930-942, 2011.
3. Brian.P.Gerkey, ”Most Valuable Player: A Robot Device Server for Distributed Control,” In Proceedings of the
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2001) Pages1226-1231, Wailea,
Hawaii, 29 October - 3 November, 2001.
4. E. Fabrizi, G. Oriolo, S. Panzieriy, G. Ulivi “Enhanced Uncertainty Modeling for Robot Localization”.
5. Vahid Rostami, Saeed Ebrahimijam, Omid Sojodishijani, “Real-time distributed control system for navigating
omnidirectional soccer robot,”proc. Of 15th Mediterranean Conference on Control & Automation,(MED '07). IEEE
Xplore ISBN: 978-1-4244-1282-2, pp: 1-4.
6. C.wurll,j.sechloen “A distributed planning and control system for industrial robots,” The 5th IEEE International
Advanced Motion Control Workshop (AMC’98).
7. V.Rostami, O.Sojodishijani, S.Ebrahimijam, A.Mohseni “Fuzzy Error Recovery in Feedback Control for Three
Wheel Omnidirectional Soccer Robot,” International conference in enformatika system science and engineering,
Volume 9, November 25-27, 2005, ISBN 975- 98458-8-1, page 91-94.
8. Stevo Bozinovski, “Training a Football Playing Robot Using Emotion Based Learning Architecture”, Workshop
Proceedings A. Paiva and C. Martinho (Eds.). PP: 67-76.
9. Ebrahimijam,S. , Montazeri,M., Moein,S., Rasamfard,H., Hosseini, M., “Analyzing the effect of developing
emotinal intelligence on soccer robot behaviours“Proceeding of 6th International Symposium on Mechatronics and
its applications, IEEEXplore ISBN: 978-1- 4244-3480-023-26 March 2009, Sharjah, UAE.
10. J.W. Choi, R.E. Curry, G.H. Elkaim, Real-time obstacle avoiding path planning for mobile robots, in: Proceedings
of the AIAA Guidance, Navigation and Control Conference, AIAA GNC 2010, Toronto, Ontario, Canada, 2010.
11. João Silva, Nuno Lau, António J. R. Neves, João Rodrigues and José Luís Azevedo, World modeling on an MSL
robotic soccer team, Mechatronics, Elsevier, 2010 (in press).
12. Nicolaj C. Stache, Henrik Zimmer, “Robust Circle Fitting in Industrial Vision for Process Control of Laser
Welding”, Proceedings of the 11th International Student Conference on Electrical Engineering, Prague MAY 2007.