MRL Middle Size Team: 2010 Team Description Paper

M.Gholipour, S.Ebrahimijam, H.Rasam Fard, M.Montazeri, A.Mohseni, S.Moein, A.Zaeri, M.Yekkefallah, B.Eskandariun, M.Mahmoodi, H.Ziarati

Mechatronics Research Laboratory, Islamic Azad University of Qazvin - IRAN


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 complete passing scenario, equipping robots with new kicker tools, also developing new features in vision and software which are 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 multi-robot 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. 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 and appropriate positioning of 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

This year we designed a new flexible and powerful 4-wheel omnidirectional robot which is shown in figure 1. The design major features are smaller dimensions, less shaking and less weight. Motors are changed to MAXON EC 200watt brushless motors with Maxon-Epos70/10 controller for increasing speed. The four-wheel drive robot can move at any direction and at any moment. The new omnidirectional platform shows more efficiency despite simplicity.

Main processor is Lenovo X200 notebook PC and electronic equipments are developed ATCan128 Controller with high speed can bus, BASLER-311FC camera with IEEE1394 IIDC communication protocol, for this year competition a new uEye UI-2210-C front camera was added for the goalie. Other electronic devices like Li-Polymer Batteries, Proximity and Infra Sensors are the same as last year [1]. This year a new multi power kicker designed for efficient cheap kicks and high kicks.

Fig. 1. MRL 4-Wheels new robot
Fig. 1. MRL 4-Wheels new robot

Table 1. Hardware specification of the robot

Items Description
Platform 4 wheel
Omnidirectional
Max speed 5 m/s
Max acceleration 4 m/s2
Kicker Electromagnetic
Weight 32 Kg
Laptop Lenovo X200
Camera1 BASLER 311FC
Camera2 uEye UI-2210-C
Image Omni directional
processing mirror
Other sensor Dummy shaft
encoder, IMU and IR
Controller Neural Network
and PID
Spin back Active
60watt 24V DC
motor

2.1 Robot control architecture

Distributed systems are suitable for complicated system because the tasks are distributed between every part [2], so each part is responsible for its own duties. By using such method the control system becomes more flexible because the error detection is easier and fast to recover. 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 controls the robot movement in order to reach the target [5]. Low level control is composed of two parts; First, MCU (Master Control Unit) navigate the robot movement to the target vector velocity. The robot dynamics is modeled by neural network system and kinematics equation of the robot motion is implemented on this layer. The robot position and speed is sensed by a dedicated shaft encoder mechanism and sent to the high level control systems. Second part is motor control system (slaves), there are four Maxon motor driver 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].

This multi processor control system is connected to the MCU board via a bus mechanism with a high speed CAN bus protocol which will communicate with planer. All Local control is implemented on ATCan128 microcontrollers to reduce the load of the main laptop PC.

Also this year an ARM microprocessor would be developed for new extensions like real-time system check and monitoring of all the electrical systems of the robot.

Fig. 2. Electrical and Control architecture
Fig. 2. Electrical and Control architecture

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 with improved potential field, dribbling and fusion of information in coach box.

3.1 Software architecture

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.

A new approach of AI section is changing the decision making model from decision tree to hybrid decision tree and tasks queue. In the past models, Programming the skills which should be executed sequential and scheduled were so hard but by this method generating most of the algorithm are simplified. 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.

Fig. 3. High Level controller block diagram
Fig. 3. High Level controller block diagram
Fig. 4. Decision making models
Fig. 4. Decision making models

3.2 General strategy of playing (layered defense)

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.

3.3 Developing emotional intelligence on soccer robot behaviors

One of recent challenges in robotics and AI is to make robots to act such as human like behaviors while operation [8]. In this research project the aim is to develop a model of human's physiological structure on soccer robot [9]. This enables the robot to feel and act as a real soccer player in the playing field.

Human kind feelings such as happiness, sadness and etc are designed for this agent. The player should learn to choose the appropriate action in a way to avoid the hopelessness and learn how to decrease hopelessness during the match.

The players make strategic decision and act variously according to the game situations like: the game result, time and other player's states. These are sensation of the player from the game circumstance (sensory). The players would show more senseful-logical play by learning from experiences in a long run through the designed RL algorithm.

The robots also show multi agent collective behaviors because all the sensations during the game are the same for all the players without any communication between them.

Fig. 5. Soccer player physiological structure
Fig. 5. Soccer player physiological structure

3.4 Coachbox

MRL coach box was developed by Borland C++buider which shows all the robots conditions and activities while playing. Also a network monitoring system is designed to check if there is any unallowed packets or data on the network. For each player the parameters of player coordination,(x,y,θ), player role, player state, player color, camera voltage, packets speed, Vision state(if connected or not or need retune), odomertry sensors, kicker ( if on/off), motors( if on/off), robot battery voltage, laptop battery charges.

Fig. 6. Coachbox screen
Fig. 6. Coachbox screen

4 Vision system and localization

Our vision system hardware, the same as last year, is composed of a BASLER-311FC 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 7. 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 8. 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 9. Then, the position is again calculated by matching the spots with actual model of field lines shown as figure 10.

To recognize ball, first, the orange 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 [10]. The other feature of vision part is distinguishing the obstacles with no color detection of them this is done by learning the shape of the standard obstacles with neural network.

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. The major part of localization is vision, but fusing shaft encoder's data and gyroscope sensor data by extended kalman filter algorithm used for precision enhancement of localization.

Fig. 9. Converting from pixel mode to metric mode
Fig. 9. Converting from pixel mode to metric mode
Fig. 10. Localizing by matching
Fig. 10. Localizing by matching

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. T.Taira, N.Yamasaki, "Functionally Distributed Control Architecture for Robot Systems".
  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. 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.