MRL Middle Size Team: Robocup2020 Team Description Paper
B. Karasfi, H. RasamFard, A. Abbasian, A.H. Najafdari, A. Mazloumi Soveini, B. Mostafavi
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 2020 with the improvements made since the previous years. The anticipated outcome of changes is mainly considered here to indicate the progress of designing a new Robot structure and also developing new features in AI software functionality according to previous results of completions.
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 league in Robocup Asia Pacific 2018 and getting 3rd place of league in Robocup Asia Pacific 2019. 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.
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 new design procedure, some of the problems have been detected and solved which is explained respectively.
New mechanical features
We designed a flexible and powerful 3-wheel omnidirectional robot which is shown in figure 1. The design major features are smaller dimensions, less shaking and less weight.
Table 1. Hardware specification of the robot
| Items | Description | |
|---|---|---|
| Platform | 3 wheel Omnidirectional | |
| Max Speed | 4 m/s | |
| Max acceleration | 3.5 m/s | |
| Kicker | Electromagnetic | |
| Laptop | Lenovo X200 | |
| Camera | UEye UI-2210-C | |
| Image Processing | Omni directional mirror | |
| Other sensor | IMU & IR | |
| Wheel | Rotacaster A+ Active 60watt | |
| Spin back | 24V DC motor | |
| Weight | 36 K/g |
General information
The 2019 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.
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.
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.
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.
New 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.
In the following sections we briefly explain new changes.
Improving packets processing method
Controlling the robots well has a large impact on their performance. Good performance is achieved only when highlevel commands are sent to the motors and other mechanical parts in a timely manner and without delay. This is mostly done by the hardware. In order to have better performance in regard to controlling the robots, a suitable lowlevel scheduling has been created for processing packets received from the software.
The conversion of high-level data (LAN) to low-level data (CAN) is done by the LTC board. Scheduling is of the utmost importance in this board. If a packet is received before the previous packet is fully processed, it might be lost.
A process time of less than 2ms has been achieved. This is suitable for sending packets from the high-level section, and it will lead to improvements in controlling the robots.
Kicker Board
The kicker mechanism operates by discharging a capacitor bank into a solenoid. The capacitor bank is charged by a high-voltage 300 KHz boost circuit which is switched by a MOSFET. This high voltage leads to noise. Therefore, a new kicker board has been designed that does not require a separate processor, and is fully isolated. The power supply used in this board is separate from the rest of the electronic components in the robot. In the new kicker board, the microcontroller has been removed. Commands are sent from the microcontroller on the mainboard to the kicker board in an isolated fashion. The MOSFET is switched by a MAX1771 IC. This IC generates PWM pulses with voltage and current feedbacks. These two feedbacks allow for high accuracy in keeping the output voltage stable.
The lack of a separate microcontroller is also one of the advantages of the new kicker board, as it leads to easier debugging and smaller board size.
A controlling mechanism for setting kick height has been added to the electronics. Using an encoder coupled to a gearbox-equipped DC motor, and a PI controlling system, it has been made possible to set the height of the kicker and its point of impact with the ball. This has led to increased accuracy in ground passes, aerial shots, and higher quality chip shots.
Software
In our software architecture, we implemented some of the intelligent behavior algorithms including passing skill based on reinforcement learning, path planning based on Voronoi diagram and Bezier 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.
New skills
The Introduction and using more skills is a new way that we have done with the volume of the code in this series. Among the benefits of this, can be mentioned as the following:
- Making Fast debug
- Making Low volume of Role's
- Easy access to all skills in the whole program
In the continuation, we will explain some of these skills.
New dribble skill
When we need hand over the ball to our teammate, but we cannot do it, or we cannot open the new way to shoot the ball to the opponent's goal, we can use this Dribble skill.
The main aim of this skill is to use the dribble to opponent and must have the highest degree of security in order to keep the ball to the point of our Interest.
Find best position to receive pass
One of the most important tasks of the attacker when we need to hand over the ball is finding the best place to pass. Now it's absolutely necessary to calculate the most optimal point by the attacker and order to teammate to get correct position.
For each point of playground, a special value determined as a cost, the lowest cost point is selected and announced to teammates.
Deep pass skill
When we need hand over the ball to our teammate and there is no way to make normal pass, we used this skill (It used for long distance passes).
The execution of this skill is as follows:
When we need to pass ball to teammate and there is an opponent between us and our teammate, and the conditions for making a pass ball are met, we specify a point in the vicinity of the rover where it can receive the ball without obstruction from the opponent, the rover start moving to this point before the pass ball is made.
Using Kinect2
Previously, all the robots were using a single omnidirectional camera as input. Because of this, the robots were unable to detect aerial balls. To solve this limitation, an RGB-D camera (Microsoft Kinect 2) has been added to the goalkeeper robot. By combining the RGB image and depth information received from this device, the exact coordinates of the ball in three-dimensional space can be calculated, allowing the goalkeeper robot to react accordingly when an aerial shot is made by the opponent.
Vision Simulator
The MRL middle size soccer robot team has been using 3D simulation software for years to test decision algorithms implemented in the intelligence sector. This simulator is implemented in C ++ and uses OpenGL graphics engine and Physx engine. It is constantly updated with the mechanical changes of the robot and has been attempted to be close to the actual robot in terms of physical parameters, for example even the robot Spinbacks have been simulated. One of the biggest benefits of this simulator is the reduction of the wear and tear on real robots both mechanically and electronically, and it is easy to test the behavior of the robots under different environmental conditions. As we know, testing many learning methods requires a lot of repetition, therefore, a virtual referee is also implemented in this simulator, which is connected to the coachbox software and, like a real referee, recognizes all game states and sends the necessary command to coachbox instead of RefereeBox software, so you can easily implement your own learning algorithms and train them in a fully automated way. The simulator is so optimized that on an average system of 2 full teams of 10 robots can compete with each other. One of the new features added to this simulator is the all-visual view. So far, all the machine vision tests have been done on a real robot, but now we've been able to incorporate the visuals into the simulator by simulating Hyperbolic mirrors. Another benefit of this is that we can insert different types of Hyperbolic mirrors with different curves and process their image. The output and image speeds of these mirrors in the simulator are quite similar to the real mode at 60 fps and are sent to the visual software via SharedMemory. With the aid of this simulator, we can easily change the dimensions of the pitch and test the visual software for larger dimensions of the playing field. We are currently introducing ambient light conditions into the simulator, which allows us to test and improve the behavior of the robot's visual software in different lighting conditions.
References
- 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.
- 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.
- 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.
- 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.
- KritChaiso, KanjanapanSukvichai, Skuba Extended Team Description, 2011