RoboFEI 2016 Team Description Paper
Fernando Rodrigues Jr., Danilo Pucci, Caio Schunk, Caio Braga Jos´e, Thiago Silva, Victor Amaral, Andr´e Oliveira da Silva, Filippe O. A. Chaves, Guilherme Peterlini de Oliveira, Vin´ıcius M. Alves, Giuliano L. M. Shimura, Reinaldo A. C. Bianchi, Flavio Tonidandel
Robotics and Artificial Intelligence Laboratory Centro Universit´ario da FEI, S˜ao Bernardo do Campo, Brazil
Abstract This paper presents the current state of the RoboFEI Small Size League team as it stands for RoboCup Small Size League competition 2016, in Liepzig, Germany, as well as works that are still under development. The paper contains descriptions of the mechanical, electrical and software modules, designed to enable the robots to achieve playing soccer capabilities in the dynamic environment of the Small Size League.
Introduction
For the RoboCup 2016, RoboFEI team intends to use basically the same electronic project that has been used over the last years, with minor modifications. The Mechanical design is being revised and new prototypes were put to test. The most important changes has been made in the intelligent control system. A new layer was integrated in the hierarchical decision model in order to allow the team to perform complex tasks. It will enhance the intelligent system to decide which kind of action to take and also analyse if the task has succeed or failed against an opponent team. We intend to let the team more flexible to automatically determine which kind of task is better or worse than others in accordance to the opponent team.
Electronic Design
Since RoboCup 2014, RoboFEI's team released it's current electronic design as open source to the community. All the schematics, layouts and firmware are available online, under a Creative Commons license, in RoboFEI's open-source repository
The electronic design has been used for the last years and received few modications since reached desired performance and stage of development.
RoboFEI's eletronic consists of two boards. The main board (Fig 1) is responsible for the embedded software for robot control and processes all information regarding the robot's movement. More details about design can be found in [5].
Mechanical Design
In compliance with the SSL rules, the height of the robot is 148 mm, the maximum percentage of ball coverage is 15% and the maximum projection of the robot on the ground is 146 mm.
Robot's Mechanical Specifications.
| Height | 148 mm |
|---|---|
| Weight | 2,6 kg |
| Percentage of ball coverage | 15% |
| Main Material | 6000 series Aluminium Alloy |
| Roller bar material | Polyurethane (PU): |
| Hardness of 20, 25 and 30 Shore A | |
| Driving motor | Maxon EC-flat 45 50W |
| Gear ratio | 3:1 |
| Dribbler device motor | Maxon EC-Max 22 25W |
| Solenoid Plunger material | SAE1020 steel |
| Solenoid coil | AWG21 wire |
The current robot uses a 6000 series aluminum alloy as main material, the factor hardness/weight has a good relation and less frequent part replacements are needed. Wheel axes and the small rollers of the omni-directional wheels are exposed to severe stress thus are made of stainless steel instead. Nylon is found in battery's supports due to electrical isolation and its lightweight.
The Robot weighs about 2.6kg and the general design could be seen on Fig 2.
This year's works on our robots mechanical sector consisted in evaluating the changes made to the project on the last year, as well as implementing and testing the new roller and chip kick prototype.
Wheel Shaft design and Encoder Alignment
The main modifications on mechanical parts, as were shown on our last year's TDP [6], have proven to be quite efficient. The new built-in flange wheel shaft design (Fig 3(a)) haven't required any further maintenance after installed and was even easier to assemble than the previous design.
The new encoder's support and alignment system (Fig 3(b)) was able to provide a better fixation to the set, however, its real impact on the amount of maintenance needed to provide precise odometric information is questionable. Since installed and tested on the robot, the new system required maintenance fewer times when compared to the old system, even so, when misalignment problems occurred, they were more complex and laborious to solve than with the older (and more simple) parts.
Roller and Chip Kick Prototype
Since last year we were working on ways to improve our ball handling through modifying the dribbler mechanism, and the following design was made (Figure 4). When tested for the ball's impact dampening, it performed slightly better than the current mechanism, but there's still room for improvement.
Software Development
Since the beginning of November 2015 we have been working on a new layer of abstraction between the two lowest layers already used in our strategy module (Skills and Primitives) [5]. This new layer is called task layer.
The task layer intends to comprise complex actions by taking two or more primitives together and to allow some plan of actions. It is possible to define enrollments of robot's actions more precisely like define that if a robot is scheduled to perform a pass, others robots must be positioned in order to receive the ball. More complex tasks of actions can also be made like a sequence of actions (plan) for multi-robots or either some pre-coordinate moves to fool the opponent.
In resume, the new task layer will make use of Primitives in order to create multi-purpose actions. These actions can also be used and joined to create further complex actions and so forth. At any point, the Skills layer may apply the instructions contained in one or more such tasks for actually controlling the agent.
This layer is only the first step for a general scheme of adaptative game we intend to develop in RoboFEI Team, described below.
Adaptative and Learning Systems
In order to adapt the game style of RoboboFEI Team according to the opponent, we must create a supervisory layer that will be responsible for take decisions like decides which tasks a specefic robot can perform. In fact, the supervisory layer is an adaptative supervised that will analyse which task has succeed or not with the opponet team.
The supervisory system, besides monitor the performance of the tasks assigned to each robot, it also chooses and applies tasks with higher success rate during a match (fig 8. It is hoped, therefore, that the team begin to adapt itself to the playing style of opponents gradually, avoiding actions and tasks already foreseen by the opponent, and apply actions and tasks that the opponent is more difficult to detect.
This decision process is part of an entire system that aims to provide more experience analysis to RoboFEI Team. Besides a decision of what task must be performed, the system can also detect the game mode of the opponent.
A machine learning system coupled to the supervision system should extract information about the opposing team and their style of playing in order to predict in advance what the best mode of playing to apply. This data will be extracted from sets of records of each team (logs) and it will be used to detect high level skills of opponent robots as well as to classify the team as its game mode. Defensive mode, attacking mode, individual game mode, collaborative skills mode, are some examples of game mode of playing of a team.
This whole decision-making system is under development. Part of it will be tested and used in the RoboCup 2016 and improving will be done over the next RoboCup's. The idea of getting the opponent's information is not new, and it can be found in the literature over the last decade [3] [7] [8]. However, the approach that we apply shall allow us to integrate existing techniques and ranks each team as your game mode, chooses the best tasks a priori and adapts or redefines which tasks are better during a game playing in real time. The development of RoboFEI Team follows the layers defined by [2] as shown in figure 9.
where:
- 1st layer: robot hardware and its control, such as speed of the motors and sensors;
- 2nd layer: enhances the decision making level based on parameters from the sensors, PID control;
- 3rd layer: has the ability to detect the presence of the ball, its position and defines the functions that should be done with the possession or not the ball;
- 4th layer: known as the Strategy layer, this layer contains team playing pattern and the role of each member;
- 5th layer: responsible for detecting and consider the robot proximity of the opposing team within the defense field and the opposing team is in possession of the ball;
- 6th layer: contains the team configuration, the style of play and their initial training. This layer is responsible for adapting the game strategy during the match;
- 7th layer: responsible for saving the match for future study and simulations to help the team to find the best strategy against opponents with common strategies.
The current state of the team is in 5th Layer. All the new structure of the software described here is letting the team to seek the 6th and 7th layers for the next years.
Improvements in Defense System
The defense system was improved by considering some important works from Tiger Manheim [4] Team and CMDragons [1]. Our goalkeeper, from now on, is based on the goalkeeper created by the team Tigers Manheim [4]. A semi circle with center in the middle of the goal is virtually created, and the position the goalkeeper is defined at the intersection of this semi circle with a line joining the ball with the center of the goal, as suitably described in [4]. We've got good results with this approach in the last Latin-American Robotics Competition in 2015.
With this approach, we could optimize our entire defense system. The goalkeeper is positioned independently of the others defenders' robots. Now, the delta defense system is defined on relation to the goal, i.e., the defenders are positioned in order to cover the area not covered by goalkeeper. This approach requires less robots running the defense.
Our general defense strategy was also improved based on the defense strategy of CMDragons team [1]. The assessment of the defense system strategy considers the position of the ball and opponents to calculate the main and secondary threats. If any opponent robot is about to receive a pass, it is considered the main threat, otherwise the ball's position is considered the main threat. Secondary threats are all the others that can potentially receive a pass or score a goal.
Defense system classifies the robots into primary and secondary defenders. The primary advocates moving near the area and serve as a last line of defense before the goalkeeper. Usually they protect the goal against the main threat. If there are more defenders than necessary for this task, some defenders are positioned to defend the goal of secondary threats. Secondary defenders are always be positioned between the main threat and a secondary threat (to avoid a pass) or between a secondary threat and goal (to avoid an indirect kick), according [1]. Although the entire defense system implementation was simpler than described in [1], the defense was completely reformulated and improved with good recent results.
Acknowledgments
We would like to thank, in advance, the Small Size League Committee, for the consideration of our material. We would like also to immensely thank the staff of Centro Universit´ario da FEI, for all the help we always received.
References
- Joydeep Biswas, Philip C., Steven K., Juan Pablo M., Richard W., Danny Z., and Manuela Veloso. Cmdragons 2015 extended team description. 2015.
- Sadeli A. M. I., Prihatmanto A. S., and Rijanto E. Design and implementation of heuristic intelligent attack algorithm in robot soccer system small size league. IEEE 4th International Conference on System Engineering and Technology (IC-SET), 2014.
- Bowling M., Browning B., and Veloso M. Plays as effective multiagent plans enabling opponent-adaptive play selection. Proceedings of International Conference on Automated Planning and Scheduling (ICAPS04), 2004.
- Malte M., Daniel W., Christian K., Steinbrecher O., Georg L., Nico S., Manuel S., Frieder B., Dion H., Marian F., Marius B., and Britta W. Tiger manheim team description paper. 2012.
- Danilo Pucci, Fernando Rodrigues Jr., Caio Schunk, Caio Braga Jos´e, Victor Torres, Thiago Silva, Victor Amaral, Andr´e De Oliveira Da Silva, Jos´e Angelo Gurzoni Jr., Reinaldo A. C. Bianchi, and Flavio Tonidandel. Robofei 2014 team description paper. 2014.
- Danilo Pucci, Fernando Rodrigues Jr., Caio Schunk, Caio Braga Jos´e, Victor Torres, Thiago Silva, Victor Amaral, Andr´e De Oliveira Da Silva, Jos´e Angelo Gurzoni Jr., Reinaldo A. C. Bianchi, and Flavio Tonidandel. Robofei 2015 team description paper. 2015.
- Visser U. and Weland H.G. Using online learning to analyze the opponents behavior. RoboCup volume 2752 of Lecture Notes in Computer Science. Springer, 2002.
- Trevizan F. W. and Veloso M. M. Learning opponent's strategies in the robocup small size league. AAMAS10 Workshop on Agents in Real-time and Dynamic Environments, 2010.