MRL Middle Size Team: Robocup2018 Team Description Paper

H.RasamFard, E.Marjani, A.Abbasian, M.AmirSardari, A.H.Najafdari

Mechatronics Research Laboratory, Islamic Azad University of Qazvin - IRAN


Abstract The purpose of this article is to describe the new features and implementation of middle-size league robot team "MRL" for Robocup 2018 with the improvements made since the previous years. The anticipated outcome of changes is mainly considered here to indicate the progress of control system, designing a new Omni vision structure, designing a new ball handling system, also developing new features in AI software functionality according to previous results of completions.

1 Introduction

The middle size team of MRL formerly Mechatronics Research Laboratory has begun researching at Mechatronic Azad University of Qazvin since Aug 2003. The major purpose of this community is starting theoretically and experimental issues to create multi agent systems in dynamic uncertain environment. MRL has begun the research and work in MSL since 2004. The first official participations were at Robocup 2005 competitions in Osaka and Robocup 2006 in Bremen. Based on achieved knowledge we indented to optimize hardware, control and software system for Robocup 2008 and designed robust system for Robocup 2009 in Graz, as a result, luckily we find ourselves between four top teams of world Cup. In Robocup Singapore 2010 competitions we achieved the first place of technical challenge and fourth place of league competitions respectively. Also, we got second place of free challenge and fifth place of league in Robocup Turkey 2011 competitions. After a year of hard work, we managed to get the second place of league in Robocup Mexico City 2012 competitions. Luckily another achievement of the team was getting the 1st place of technical challenge in Robocup of China in 2015. We believe that, the Intelligent, cooperative and adaptive behavior of the robots are the most important factors 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 mechanic

The first participation of team MRL in RoboCup Middle Size Soccer league was in RoboCup 2005. Since that time, there were 4 generation of platforms in which some mechanisms and parts have been changed. In every design procedure, some of the problems have been detected and solved which is explained respectively.

2.1 Previous mechanic design

MRL 4-Wheels robot
MRL 4-Wheels robot

Table 1. Hardware specification of the robot

Items Description
Platform 4 wheel Omnidirectional
Max speed 3.5 m/s
Max acceleration 4 m/s²
Kicker Electromagnetic
Weight 40 Kg
Laptop Lenovo X200
Camera uEye UI-2210-C
Image processing Omni directional mirror
Other sensor IMU and IR
Controller Neural Network PID
Spin back Active 60watt 24V DC motor

2.2 Mechanical problems of previous design

The latest design is concerned with some of critical problems and bugs. In this section, these bugs and their destructive effects on robot's operation are discussed. The next sections focus on the new designs and given solutions.

2.2.1 Detachment of wheels from the ground

This fundamental problem is one of the main problems of the robots. Based on the observations, as the robot moves in the field, it is highly probable that it encounters with a step shape offset on the ground which is generally due to the arena's building tolerance. Since the old design has 4 wheels, these small offsets, cause an unequal distribution of the weight on the wheels so much that one wheel might completely detach from the ground. This happening would disrupt the normal kinematic behavior of the robot and results an Inappropriate and unstable path following in the field.

2.2.2 Insufficient acceleration of the robot

As the more teams join RoboCup MSL, the quality of matches rates up. Every year, the teams get smarter, more accurate and more efficient. Correspondingly, teams get faster too. Based on observations, our robots' pace in the games is relatively low and this means that the robot's acceleration is insufficient. This problem might due to one of these two things, (1) inability of actuators to provide enough torque for acceleration, or (2) insufficient friction between the wheels and the ground. So, first of all, the real problem must be detected.

Calculations shows that the acceleration provided by actuators is much greater than current acceleration of the robot. So, it can be concluded that the friction between the wheels and the ground is limiting the traction force.

2.2.3 Inaccuracy of ball kicking

The current kicker mechanism uses an electromagnetic solenoid to provide the momentum required to kick. The problem is that this mechanism cannot exactly kick the ball with desired chip angle. Moreover, the intensity of the shot cannot be controlled because of the huge variety of wasted power.

2.2.4 inability of ball handler in one by one fights

Obviously, the low power ratio of gearbox caused our weakness in grabbing the ball. The main change in new robots is increasing the power ratio from 1/8 to 1/10. We also tried to enhance the friction with replacing the used material of wheel from plastic to leather on which hade reasonable outcomes to save ball in movements.

2.2.5 Unclear omni-mirror and its supporter glass

The equation of convex mirrors is change in order to expand the vision ability, also the surface is changed completely to have more clear view with higher accuracy.

Fig. 7. Previews vs. new omni-mirror
Fig. 7. Previews vs. new omni-mirror
Fig. 8 Previews vs. new omni-mirror supporter glass New Glass (Pyrex) Previews Glass (Plexi glass)
Fig. 8 Previews vs. new omni-mirror supporter glass New Glass (Pyrex) Previews Glass (Plexi glass)

2.3 Mechanical Design Changes

_page_3_Picture_3.jpeg

2.3.1 General Information

The 2018 MRL Robot has undergone many changes compared to its predecessors. One of the most obvious changes is the robust weight loss of the robot and the change of four_wheel robot into three_wheel one which overall caused the robot to be faster and more agile than the previous versions of the four wheel robots. You'll read more about the functional details of this robot.

2.3.2 new wheels

One of the challenges of mechanics is decreasing the vibrations due to motions. Hopefully we could almost tackle this issue via using new design of wheels.

each wheel contains 24 polyurethane small wheels which is anti friction. The structure is divided in 3 sections that every small wheels are located in 15 degrees away from others which means at any situation 2 wheels has friction to the field and finally reducing the wasted potential of acceleration.

Fig.9 locomotion mechanism
Fig.9 locomotion mechanism

2.3.2 Robot Head (Vision)

The head of robots contains a camera which is the most sensitive part. Cause of having trouble in balancing the camera along field we decided to apply a ball bearings and 4 customable screws to handle it which means finally we would have lower noise and break down.

_page_5_Picture_2.jpeg

2.3.3 Kicker Mechanism

The main development of this design in this section is its capability of controlling the vertical angle of the shots. This design makes the robot able to use chip shot while attacking and also use a precise pass in the game.

_page_5_Picture_5.jpeg

2.3.4 Ball Handler Mechanism

As mentioned before, ball handler system needs more power in order to win the fights. In the previews design, worm gear reduction has been used to provide required torque for the wheels. But the truth is that only half of the power is available for the wheels and the rest is wasted due to the worm gear wear and its low efficiency. So, changing the reduction mechanism could be a perfect solution for this problem. In the new design, ball handler mechanism through a 3 stage spur gear box provides 40-watt output power which is nearly double of the previews mechanism.

Due to the new roles of ball movements, the new spinbacks are capable of grabbing 1/3 of the ball. The new spinbacks benefit from solar gearbox with 1/10 ratio to have suitable maneuver. Note that the used materials in gears are steel in order to stay in low temperature in a long time work.

Fig.11 New ball handler mechanism design
Fig.11 New ball handler mechanism design
The new MRL robot has at most 36 kg which is almost made by aluminum. The height of this robots are 77 cm and 50*47 as surrounding.
The new MRL robot has at most 36 kg which is almost made by aluminum. The height of this robots are 77 cm and 50*47 as surrounding.
_page_7_Picture_1.jpeg

2.4 Electrical Design

A new approach to design of new electrical system of MRL such as boards and the way of wiring in order to achieve the ease of accessibility of them with least complexity, is considered. So the close coordination among this part and the mechanic is obvious. The reduction of data rate transmission across laptop and electronic boards are handled on UDP platform.

Figure 12 shows the diagram of our Electric part.

_page_8_Picture_0.jpeg

2.4.1 Processing Packets

The task of a robot control system is to execute the planned sequence of motions and forces in the presence of unforeseen errors.

Errors can arise from:

  • inaccuracies in the model of the robot,
  • tolerances in the work piece,
  • static friction in joints,
  • mechanical compliance in linkages,
  • electrical noise on transducer signals, and
  • limitations in the precision of computation.

To reduce the noises, we decided to handle the receiving packets in optimal timing. LTC board is responsible for high-level data (LAN) to low-level data (CAN) conversion. The main subject is how to decrease the lost packets while processing the packets in suitable timing.

Here we achieved a delay time to send data packets which is about 2ms due to handle the indicted problem.

_page_9_Picture_13.jpeg

2.4.2 Main controller board

The main board is responsible for communicate with laptop by Ethernet protocol and communicate with operator port by CAN protocol. Also it's responsible for communication of main motors drivers and required signals to communicate with user interface and LED strings. This board also achieves the information of IMU by serial.

2.4.3 Actuator controller board

There are four BLDC (Brushless DC) motors for each robot which are MAXON EC 200watt brushless motors and two DC 60watt motors for the dribbler. Four motors are controlled by Epos driver that have an ability to manage low level control where directly receives speed from high level system. In new circuit, spin backs motors are controlled by operator board.

2.4.4 Power board

This module has a responsibility to distribute the power for all subsystems and turning the systems on and off. Also many parts circuit such as LAN to CAN, IMU, Drivers are under control of POWER board. It also supplies the voltage of Epos and decreases the noise, respectively. In fact, three 24volt batteries and one 48volt relay to generate the voltage, is prepared. Here no microcontroller is used but only the connection between batteries, boards and fuses are determined.

2.4.5 LAN to CAN board

Data on UDP (as a simple method of two-way connection and data propagation) would be achieved and transmitted to drivers in such a way that data from UDP will be converted to CAN and finally received by drivers. In addition, using serial port can carry the data to Epos driver, so the accessibility of drivers using serial is possible at any time which there is any CAN fault.

2.4.6 Spin back board

The control of two SPIN BACK motors which is responsible to read the currency, and ENCODER motor to manage the speed, torque and RPM are under supervision of the SPIN BACK board. It's also connected with laptop using UDP which receives the commands from laptop. In addition, the motor which is responsible to adjust the level of the kicker (UP and DOWN mode) is controlled by this board. It receives the data from positioning sensors (IR and KMA) and optical sensors to control the robot. Also this board is in connection with KICKER board which means the kick command and other data will be transmitted using this board.

2.4.7 Kicker Board

The kicker system, works by discharging of a capacitor on a solenoid at the moment. The indicated capacitor is charged again by high voltage via boost circuit in 300khz frequency. Note that the high frequency of charging might cause the circuit noises, so we decided to design this system completely isolated from other parts of robots.

_page_11_Figure_0.jpeg

2.4.8 User interface board

For changing the states of robot we consider some push keys and LCD with ability to monitor and change in system. In this case we could informed about all subsystem's state and debug them online in a very low period of time.

2.4.9 Battery

Power supply in our robot is departed in 2 sections, boards and motors power supply. Board power supply contains 6-cells and motors power supply contains 12-cellswhere robots can run for half game with these batteries. These batteries are lithium polymer (LiPo) battery, with capacity of 5000 mAh. When voltage of batteries reduces, the robot switches to sleep mode and stops working. Of course it was monitored by LEDs before reaching to low battery state and by a buzzer to show the critical state.

2.4.10 Ball detection sensor

For recognizing the ball position in dribbler and distance of the ball from the dribbler, two IR transmitters and receiver sensors were used. This module is useful when robot tries to get accurately behind the ball.

2.4.11 Current Sensor

For power management system, detecting over current, avoiding motor damage, battery current limitation, control usage sin plunger and safety of kicker board, these sensors were utilized. Sometimes damaged happened in devices caused over current that destroy Electrical devices so we decided to use ACS712 as a current control to prevent these damages.

The main changes of the electronic part in compare with previous years indicates the higher performance of complete isolation and better separation of boards in order to perform in a better way.

3 Software (AI and High level control):

3.1 Team Strategy

Common soccer strategies can have a huge effect both upon defensive and attacking styles of play. The beauty of play is that it's a complex game where the possibilities are endless. Our proficiency in games not only depends on our skills on the soccer ball and the robots features, but also on team ability to choose the suitable strategy against the opponents which means how to make quick and optimal decisions, and communicate with your teammates to have reasonable positioning. No matter how crisp your dribbling, shooting, and passing skills may be, it's all useless without an understanding of soccer strategy. So here we had some changes in our robot's behaviors which is considered as follow:

3.1.1 Rover Possession

Possession soccer is a strategy designed to give a team greater control of the game and achieving the suitable kick positions. A short passing system and dribbling skill is used, often combined with a high tempo, to find the free area without obstacles in order to stay in assigned kick position. Possession soccer is a highly technical strategy, requiring skillful robots and good acceleration to move fast.

furthermore, we complete this strategy via dribbling skill which will rotate toward rover with no obstacles throw themselves in some condition when the attacker is blocked.

3.1.2 blocking Possession

The new blocking system, or shutting down, is a defensive strategy. It is a high-pressure form of defense often applied to all parts of the field. When the opponents have possession of the ball, the defending players will close them down immediately and block it throw the line from the obstacle and goalie. This can unsettle the opposition, giving them little time to choose their passes because dribbling would be more difficult rather the robots track the ball.

_page_13_Picture_0.jpeg

3.1.3 reduction of collisions

Path planning could be one of those fields which evolves the programmers as much due to the high possibility of collisions among robots. Except of having noises in vision, we decided to handle this problem by making some changes in making paths by predicting the teammates paths, detecting collisions and making forbidden areas to reduce intersections.

3.2 High Level Control

The high level control system receives predicted data from vision software and destinations from AI planner module and commands the robot to go to its destination. In this process, the path planning plays an important role and we have used the VORONOI as path planning algorithm [4]. MRL team uses a supervisory controller in order to minimize collision between teammates. The planed path is a set of points which begins with the initial point and ends with the target point. As a result, the robot goal becomes passing through some specified points with a desired speed at each point. Therefore, a lower level function is used to design the robot's motor input speeds that brings the robot from an initial position and speed to a secondary desired position and speed. This function should design motor inputs with a minimum time objective. Robot acceleration and speed is bounded and as a result, the bangbang strategy is used to design the minimum time speed commands. This strategy is explained in [5] we have used a similar algorithm. This strategy suggests that the robot linear speed and acceleration could be projected on x and y axis' and each projection leads to a goal point reaching time. This algorithm finds the projection that leads to the minimum reaching time.

This algorithm was used by MRL team in previous years. This year, we have improved this algorithm using an observation. We have observed that robot maximum acceleration value is less that its deceleration one. In pervious method, the maximum acceleration and deceleration values were assumed equal, however, we have adapted the bang-bang strategy using two different constants for acceleration limits. Consequently, the reaching time is decreased and the robot displacements are less time consuming.

One question is that can we improve the used method any further? The speed and acceleration limitation is originating from motors' speed and acceleration constraints. As a result, it is possible to transform the design of speed signals to motors' coordination. This way, the travelling time could be minimized and the deviations from robot final position and speed could be decreased.

In addition to changing acceleration limits, we have used a PID controller that compensates the deviations from the designed path and speed. We had some problems in computing the error derivations. The vision error derivations add delays which significantly decrease the controller robustness and performance. We have used MTi-28A53G25 motion tracker module to overcome this problem. This module measures the speed errors and as a result, the vision derivation delays could be eliminated.

3.3 Software architecture

The software architecture for our decision making system consists of three parts: Plays, Roles and Skills. Skills are any single tasks that robots can do. For example, "go to point" is a skill. Each player in a real soccer game has a role like defender, forward, goalie and etc. Compared with real soccer game each robot can change its role at the right time. Switching time is an important approach to manage robots, for this reason we need an accurate role assigner. Hence, we have developed a new role assigner module that assigns role to the robot according to game state and cost of roles for each robot.

Fig. 13. Software architecture
Fig. 13. Software architecture

3.4 Role assigner

The Hungarian method is a combinatorial optimization algorithm that solves the assignment problem is polynomial time and which anticipated later primal-dual methods. MRL team uses the Hungarian algorithm to robot role assignment. Each robot has a specific cost for each role that the costs are calculated in the roles cost-function. Suppose that we are given a nonnegative $n$ × $n$ matrix, where the element in the $i$-th row and $j$-th column represents the cost of assigning the $j$-th job to the $i$-th worker. We have to find an assignment of the jobs to the workers that has minimum cost. If the goal is to find the assignment that yields the maximum cost, the problem can be altered to fit the setting by replacing each cost with the maximum cost subtracted by the cost. In this simple example (Table 2) there are three Robots. One of them is goalie, defender, and the third is forward, but each of them demands different cost for the various roles. The problem is to find the lowest-cost way to assign the roles. The problem can be represented in a matrix of the costs of the robots doing the roles. In this case robo1 take goalie, robot 2 take defender and the robot 3 take forward.

Table 2. Use Hungarian algorithm to role assignment

Goalie Defender Forward
Robot 1 1 2 5
Robot 2 4 3 4
Robot 3 3 1 1

4 Vision system and localization

We are always looking for reduction of noises and improve the capability of objects detection like white lines and goalie, green field and the ball, so we decided to replace the applied Xtion cameras with kinect in such a way that agility of decision against environment will be enhanced. also Our vision system hardware 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.

_page_15_Figure_6.jpeg

4-2 Localization

localization and mapping, are important capability of middle size robots. Localization are done by some sensors but since there is a problem which is uncertainty, this issue is turned into a complex problem. The localization process which is used in MRL robots are shown in figure 18 that is in three phases:

  • 1-Pre Processing
  • 2-Global localization
  • 3-Optimization

At feature extraction phase, scheme of field is available by using inline vision system includes a camera and omnivision mirror. Then image will be entered into separation process based on colors codes. After this process, some white samples which are devoted to white lines of the field will be extracted, are exactly the point features. Since the point positions of previous step are available at camera coordinate system with assistance of outer and inner terms of camera and omnivision mirror surface equations, the positions of the points will be turned into field coordinates,

In global localization phase, with the assistance of monte karlo localization, an estimation of robot position in the field will be achieved. In optimization phase, by using swarm optimization algorithm. By matching the points with the field borders, the accurate robot position will be discovered. Also in order to reduce the noises that would be the result of collision and high speed during the play, Kalman Filtering is used. According to the results, the accuracy and speed of the recommended method has been enhanced about 15 percent than other methods.

_page_17_Figure_0.jpeg

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. J.W. Choi, R.E. Curry, G.H. Elkaim, Real-time obstacle avoiding pathplanning for mobile robots, in: Proceedings of the AIAA Guidance,Navigation and Control Conference, AIAA GNC 2010, Toronto, Ontario,Canada, 2010.
  3. 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.
  4. 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.
  5. KritChaiso, KanjanapanSukvichai, Skuba Extended Team Description, 2011