STOx's 2014 Extended Team Description Paper
Saith Rodr´ıguez, Eyberth Rojas, Kather´ın P´erez, Jorge L´opez, Carlos Quintero, Juan Manuel Calder´on
Faculty of Electronics Engineering Universidad Santo Tom´as Bogot´a, Colombia
Abstract This paper shows a detailed description of the STOx's team from University of Santo Tom´as in Colombia. We show the design of each major component of the team specifying certain important considerations that were taken into account according to our experience in previous RoboCup events. Additionally, we introduce the new STOx's 3 rd generation of robots and highlight its characteristics and differences with respect to our previous designs. Finally, we show a deep description of a new path planning algorithm implemented in RoboCup 2013 that has shown important advantages in our team's gameplay.
1 Introduction
The STOx's team is a project built by the Research and Development group on Robotics (GED for its initials in spanish) in the Electronics Engineering Faculty at University of Santo Tom´as (Colombia). It was created in 2010 to participate for the first time in the small size league (SSL) of the Latin American RoboCup competition where it obtained second place. The following year, the team participated in the RoboCup world championship held in Istambul where it achieved a highly rewarding place among the top 12 teams. Finally, STOx's was capable of participating again in the RoboCup world championships of 2012 and 2013 in Mexico City and Eindhoven respectively where it was able to obtain a place among the top 8 teams of the world in the latter.
Several changes have been made from the STOx's initial design that aimed at performing improvements on the robot's performance. Usually, these changes have been the result of the lessons learned at each competition and the information exchanged with other teams during the RoboCup events. For this year, we have decided to design and implement a new generation of robots (STOx's 3rd generation) that incorporates the changes performed on previous years and new improvements that will allow us to obtain more robust and reliable robots.
The new design includes a high amount of changes with respect to the previous one mainly in the mechanic and electronic features, while it preserves most of the software system. The 3rd generation introduces a new electronic board that shows improvements that aim at making the robots more robust to disconnections due to crashes during games. Also, new wheels, motors and element distribution can be found on this generation.
Finally, we show a detailed description of a new path planning algorithm proposed by us that has shown to be highly effective during our competition in RoboCup 2013 and that we believe was a key element in our path to achieve the world's top 8 group.
The remaining of this paper is as follows: The first section shows a brief summary of the STOx's team that incorporates the new characteristics of the 3 rd generation of robots. Then, we introduce all the mechanical features of the robots in the Hardware Design section. Afterwards, we present a detail of our new path planning algorithm and some initial results in simulation.
2 STOx's 3rd Generation
Since 2010, there has been two generations of robots of the STOx's team that have included new electronic, communication and mechanical designs. Within each generation, new enhancements and changes have been added to achieve improved performance and include new functionalities according to our experiences in the RoboCup events. For this year, we have decided to create the third generation of robots of the STOx's team that include all the features of the last three years of experience.
The most significant changes in this new design aim at obtaining more accurate, realiable and robust robots. This is achieved by improving certain mechanical and electronic features of the robots that will allow us to gain more control over the robot dynamics. This result is a key element that will later allow us to design more efficient AI strategies that would bring closer the results achieved in simulation to those seen in real life.
The 3rd generation of the STOx's team include a new main board, sensors, wheel design, dribbler, kickers and motors among other changes. Also, we have increased the number of robots from 8 to 10; a feature that will allow us to test new strategies in real situations. In Table 1 we show the main characteristics of the STOx's 3rd generation team.
Table 1. Main features of the STOx's team
| Feature | Value |
|---|---|
| Diameter | 178mm |
| Height | 125mm |
| Weight (Approx) | 1.5Kg |
| Nrollers | 20 |
| Wheel diameter | 55mm |
| Calculated Max Speed | 4m/s |
| Calculated Kick Speed | 10m/s |
| Max chip distance | 5m |
| Chassis | Aluminium 7075 |
| Wheel Motors | EC45 Flat 50W |
| Dribbler Motor | EC16 Maxon |
3 Hardware Design
The most significant changes in the STOx's 3rd generation of robots are related to their hardware design. In the following subsections we will go over the details of the new designs on the mechanics, electronics and communications. Fig. 1 shows a rendering of one robot from the new generation.
3.1 Mechanics
The mechanical characteristics of our robots have been historically based on the designs of top teams in the league. For the STOx's 3rd generation we have included our experience in the past RoboCup events that have allowed us to add certain improvements on the robot's accuracy and precision. This shall give us the ability to better control the robot's movements and smoothen their trajectories when traveling from one point to any other on the field.
Chassis
The original design was based on the Skuba team 2011 [2]. For the new generation of robots we have decided to increase its thickness from 3mm to 5mm to make it more robust and resilient. Additionally, the entire chassis is made with CNC machinery using aluminum 7075, unlike the previous design where only some parts used such material. This modification should achieve a balance between weight and resilience. Finally, the wheel distribution slightly changed with respect to the previous one. Fig. 2 shows different views of a computational model of the chassis.
Traction
The robot's traction is omni-directional, with four custom-built wheels. We have increased the diameter of the wheels from 50mm in the previous design to 55mm in the new third generation in order to gain more linear speed. Also, we have added 5 additional rollers to each wheel for a total of 20 rollers per wheel to ensure greater contact between the wheels and the field. The wheels have double flange bearing and are connected with the motors through a gearbox of 20 : 72. Fig. 3 shows different views of the new wheels.
For the STOx's 3rd generation each robot has four brushless motors "Maxon EC45- Flat 50 Watt", in contrast to the 30 Watt motors of previous generations. This was a major change in virtually every aspect of the design since it required the re-design of the power electrical circuits and it demanded a new and more powerful internal controller. However, the addition of the new motors opens a wider set of opportunities in the robot dynamics since it increases their torque and velocity features. This is the first step towards achieving our goal of improving accuracy and precision, while it prepares our players to coming challenges within the league such as the field's enlargement.
Dribbler
The dribbling system allows a player to drive the ball through the field without pushing it forward while it moves. It is composed of a Maxon EC-16 30W brushless motor mated to a cylindrical rod covered in rubber of 10mm of diameter that provides a maximum rotation speed of 12000 rpms. The design also features a cushioning system that improves the ball reception and dribbling. For the STOx's 3rd generation we have widen the dribbler in order to improve pass reception. Fig. 4 shows a computational model of the dribbler.
Flat Kicker
The main kicker device is a custom solenoid. The core is made of Bakelite, wrapped with 6 layers (400 turns approximately) of 24AWG enameled wire. The plunger is composed by two parts: a highly magnetic one and other non-magnetic. This configuration provides the robot with a maximum kick speed of 10m/s. The speed is limited by software to 8m/s to comply current rules. Fig. 5 shows the flat kicker device.
Chip Kicker
The parabolic kick system was based on Skuba's design and provides a 4m of ball kick's distance. It uses the same solenoid than that of the main kicker. Figure 5 shows the chip kicker.
4 Path Planning
As a part of navigation and path planning systems for avoidance collision to obstacles, we made a low consumption algorithm related to the used computational resources. In addition, this algorithm was very convenient for the game purposes.
This algorithm is based on generate straight trajectories between initial state to goal state. To accomplish this, we define an initial straight trajectory between those points and then the algorithm evaluate if any obstacle is present over the related trajectory. If there is no obstacle present, the selected route is acquired, as shown in Fig. 6, otherwise it is necessary to generate a subgoal and two new trajectories: one between the initial point and subgoal and another one between the subgoal to goal state. Then, these new trajectories are recursively evaluated until find a free obstacles path.
Below we show the proposed algorithm:
Pseudocode of the proposed path planning
function BuildPathPlan (environment,trajectory,depth)
if depth<max_recursive the
{
obstacle=IsObstacle(environment,trajectory);
while (obstacle)
{
subgoal=SearchPoint(obstacle,environment);
if IsPointObstacle(environment,subgoal) then
obstacle=subgoal;
else
obstacle=false;
}
trajectory1=GenerateStraight(trajectory[initialstate],subgoal);
trajectory1=BuildPathPlan(environment,trajectory1,depth+1);
trajectory2=GenerateStraight(subgoal,trajectory[goalstate]);
trajectory2=BuildPathPlan(environment,trajectory2,depth+1);
trajectory=JoinStraight(trajectory1,trajectory2);
}
return trajectory;
The function IsObstacle allows us to determine if there is any obstacle in the trajectory and if this is the case, the function must return the obstacle position trajectory. The function SearchPoint assigned a new point (subgoal) at the side of obstacle. This point is located from the obstacle to a distance equal to robot diameter and 90 or -90 degrees related to the path between initial point to obstacle (the sign is a function parameter), See Fig. 7.
Afterward, it is necessary to check if subgoal point is an obstacle, to do this we use the function IsPointObstacle; so that if there is an obstacle at that point, another point is generated at side and so on until we find no obstacle.
With the function GenerateStraigth a straight path between two points is generated. The algorithm generates two new paths. The first one between the initial state and the subgoal and second one between the subgoal and goal state. These new paths will be analyzed recursively. See Figure ref fig: GenerateStraight.
Path Planning (continued)
Finally, the returned paths should be joined; this is done by the function JoinStraight. That function, returns the path to reach the target point avoiding obstacles. The Fig. 9 shows an example of a game situation in which the algorithm performed recursion twice.
Path Planning (continued 2)
As we mentioned before there are two possible subgoal options in the function SearchPoint, one at 90 degrees and another at -90 degrees. A representative feature of presented algorithm is that the obstacles always will be avoided in the same direction, as a result, there are two possible paths to choose the final trajectory, the system always will choose the shortest to optimize the journey.
The Fig. 10 shows the two possible paths found by the algorithm in a stage with multiple obstacles, and at Fig. 11 shown a continuous line for the trajectory to be followed.
Path Planning (continued 3)
Finally, at Fig. 12 we present the results of the solutions found by the algorithm in a random scenario with multiple obstacles.
5 Conclusions and results
After three consecutive participations in the RoboCup world championship, the STOx's team has gained a large amount of experience. Our greatest achievement so far has been to become part of the top 8 teams in RoboCup 2013. This has been the result of coming up with ideas to solve certain problems found during the RoboCup events, the experiences shared with other teams and the information found in their Team Description Papers.
In RoboCup 2013, our team reached a highly stable state in terms of hardware robustness and behavior. This allowed us to develop new strategies that showed remarkable results during the competence. However, some electrical and mechanical components required an upgrade. At the same time, we identified the need to modify certain aspects of the design to prepare the robots to upcoming changes within the league and new skills that we have planned for the coming future.
The 3rd generation of the STOx's team aims at overcoming the mentioned drawbacks and this ETDP shows the most important considerations in the design methodology that will provide us with a more robust, accurate and stable team.
References
- Skuba 2012 Extended Team Description. http://robocupssl.cpe.ku.ac.th/tdp/etdp2011/SKUBA ETDP 2011.pdf
- Skuba 2011 Extended Team Description. http://robocupssl.cpe.ku.ac.th/tdp/etdp2011/SKUBA ETDP 2011.pdf
- ZJUNlict Extended Team Description 2012. http://robocupssl.cpe.ku.ac.th/ media/robocup2012:2012 zjunlict etdp.pdf
- FOSLER, R.: Generating High Voltage Using the PIC16C781/782. Application note, Microchip Technology Inc. (2005)
- BRUCE, J., VELOSO, M.: Real-time randomized path planning for robot navigation. In: Proceedings of the IEEE Conference on Intelligent Robots and Systems. (2002)
- RODR´IGUEZ, Saith and ROJAS, Eyberth. Diseo e implementacin de un equipo Small Size robot League para la RoboCup, Universidad Santo Tomas, 2010
- PAVON, Juan. PREZ, Jos. Agentes software y sistemas multi-agente. Prentice Hall. 2004.
- RUSSELL, N. Inteligencia Artificial: Un Enfoque Moderno. Prentice Hall, 2004.