Bogobots-TecMTY humanoid Kid-Size Team 2013
Alejandro Aceves-López, Sergio-Vladimir Alcala-Alcaraz, Lessly-Marlene Sabido-Calzada, Erick-Rogelio Cruz-Hernández, Guillermo Villarreal-Pulido
Tecnológico de Monterrey, Campus Estado de México, Carretera Lago de Guadalupe, s/n Km. 3.5 Col. Margarita Maza de Juarez, 52926, Atizapán, México
http://homepage.cem.itesm.mx/aaceves/Bogobots/
Abstract In this document we describe the features and capabilities of Bogobots-TecMTY humanoids developed at Tecnologico de Monterrey. Currently we are working with the second version of Bogobot humanoid intended to be more robust and faster than its predecessor. Our current efforts are focuses on developing LAN communication between robots, collaboration strategies between teammates (to avoid collision when walking towards the ball), ability of obstacle avoidance, and stable and smooth ball-approximation walking. A short narrative of our experience in RoboCup is also presented.
1 Introduction
Bogobot-TecMTY has participated in RoboCup since 2008 in humanoid kid-size league. For our first participation in 2008 we developed and built Bogobot-1 (a robot with 20 DOF, a CMUcam3 camera, a PWM servo-controller card and a main DSPic unit). Then we participate in RoboCup 2009 and RoboCup 2010 with that Bogobot -1 but instead of using a DSPic we incorporate a Ro-board unit as main processor. Since that, we could incorporate more complex robot behaviors, better vision system and WiFi communication capabilities. During RoboCup 2009 competitions, we learned so much letting us identify our improvement areas. For RoboCup 2012, we develop a new humanoid platform, called Bogobot-2, that incorporates a complete new mechanical design, stronger servomotors, better sensors and a powerful microprocessor. This allowed us to improve our motion algorithms, incorporate better vision, develop the ability to read Referee Box commands and develop more complex striker behaviors.
Bogobots-TecMTY has also been competing in the Mexican Robotics Tournament and RoboCup Mexican Open in 2008, 2009, 2011 and 2012. In 2011 we obtained the first place of humanoid kid-size category of RoboCup Mexican Open [11] and in 2012 we got the second place [12].
Since 2009 the group of robotics research at Tecnologico de Monterrey maintains the following webpage showing the yearly progress. It shows pictures and videos of the robots and team members during official competitions:
http://homepage.cem.itesm.mx/aaceves/Bogobots/
Our main achievements are: (a) vision system [1, 2, 13, 14], (b) electro-mechanical design [3, 4, 5], (c) motion algorithms [6, 7, 8, 9] and more recently (d) communication systems [14].
2 Mechanical and Electronic Description
The mechanical structure of the Bogobot-2 is based in aluminum brackets and carbonfiber material. Each leg has 5 DOF and each arm has 3 DOF. All articulations are powered by Rx-28 Dynamixel® high-torque servomotors.
Figure 1 shows the legs' design that is based on a double 4-bars mechanism in order to provide better walking stability and mechanically assuring the parallelism between the robot's feet and the upper body [3-5]. Similar mechanical structure was used before by other teams in kid-size category, like: CIT-Brains, FUmanoids, ZJU-Dancer and JEEP Team.
All the structure components of the body were previously designed in CAD and then were manufactured using CNC Machines in our University.
It is our philosophy to analyzed, redesigned and replaced every piece of robot that gets damaged during tests or contests. Therefore, our robots remain functional for long periods of time without spoiling, overheat or even deteriorate despite suffering important blows or falls due to the challenge of play soccer against another team of robots under the rules of the category of Kid-Size RoboCup [10].
We usually put servomotors at maximum torque when playing, nevertheless during competitions of RoboCup 2012 robots suffered (even get damaged) on servomotors gears whenever robots fell down. With that important experience we realize that servomotor doesn't need to be used with full torque.
The main processor is a FIT-PC2 that has: 2GHz, 2GB RAM, 32GB Solid State Hard disk, 2 Ethernet ports, WiFi and 4 USB ports. This processor runs a WindowsXP® operating system.
A HD-webcam is directly connected to FIT-PC2 via USB port. To provide tilt and pan motions to our vision system, we built an aluminum mechanism powered by two Rx-28 Dynamixel® servomotors.
All servomotors (legs, arms and head) are directly controlled by main processor with a USB to RS-485 communication card.
In order to manually change the states of playing of our robots, we developed a PIC-based card with buttons. That same card is used to acquire signals from sensors (Inertial Unit, Compass, and Buttons) and communicate information to the main processor via a RS-232 to USB communication circuit.
3 Motion Algorithms
The movements are implemented in two ways: (a) predefined motion patterns intended for kicking and getting-up; and (b) real-time trajectory computation with inverse kinematics and Zero-moment-Point (ZMP) algorithms developed for walking. The first kinds of algorithms are based on key-frames that are off-line specified by programmer and in-line interpolated with numerical methods. The second kinds of movements are based on run-time parametric walking-pattern generator that allows robots to walk in different styles, speeds and directions [6 - 9]. Feet trajectories can have different shapes (e.g. rectangle, ellipse, half-ellipse, etc.) and are defined by a set of parameters (e.g. foot center, step height, maximum forward/sideward step size).
A walking-pattern generator manages those parameters and performs three sequential tasks. The first task consists in compute feet paths by using ZMP techniques. The second task computes the angular position of the leg's servomotors (joints) using inverse kinematics. The third task uses information provided by the gyroscope to compensate angular position of joints to keep robot in vertical posture regardless small disturbances (like unleveled floor, small bumps, and collisions). Figure 2 shows the closed loop algorithm control.
With that parametric walking-pattern generator our robot is able to walk forward, backward, turn around, walk with a specific rotation, and walk laterally. Each walking style has a set of walking parameters. Smooth transitions between walking styles are made by interpolating the walking parameters from ones style to another.
We developed a graphic-user-interface (GUI) in Labview® to allow user to capture new key-frames motions and to adjust walking parameters. We also developed some path planning strategies for better approach the ball given different circumstances and perform different kinds of actions depending on specific situation of robots on the field.
4 Vision System
Our current vision system incorporates a HD webcam, a powerful processor and an efficient vision algorithm that allows robot to distinguish objects, estimate distances to them, auto-locate and navigate on the field.
The vision algorithm that we implemented is based on the previous developments made by our group and reported in [1,2,13,14]. We proceed in two stages: off-line color classification and on-line color-based object identification.
For the first stage, some pictures of objects (ball and goals) are needed. Then, one by one are analyzed to define pixels belonging to a specific color and manually labeled as members of a specific group. Then, we run a classification algorithm that automatically generates an ellipsoidal region in RGB color space for each specified color (usually orange, cyan, yellow, green and white). We use ellipsoidal regions because they better classify pixels in color-classes rather than cubic regions with a similar complexity.
For the second stage, the algorithm is divided in: (a) scan-lines-based color segmentation (Figure 3), (b) object recognition, (c) distance estimation, (d) self-localization and (e) object tracking.
A graphic-user-interface (GUI) was developed in Labview® to allow user to adjust by hand ellipsoid parameters to improve color classification. Then, accurate color segmentation is obtained in just few seconds. During 2010 and 2011, the segmentation tool was performed in a remote computer and then parameters were downloaded to the robot. Since 2012, the GUI interface is running onboard the main processor of the robot, saving precious time during contests.
Object recognition algorithm includes estimation of relative distance of objects to robot by using an equation that relates apparent size of objects (Dx and Dy) with distance to the object d. From figure 4 it is easy to understand that distance of object is inversely proportional to apparent size on image. To make more robust our approach, we decide to use Dx and Dy, at the same time.
These estimated distances are used to auto-locate robot by classic triangulation methods. Basically, we infer robot position on field by the recognition of two or three landmarks and their relative distance respect to robot. The location of ball on the field is based on relative distance and orientation of ball with robot's position. Orientate robot to a goal just need to see that goal.
5 Decision Algorithms
The main program of robot is programmed under Labview® platform using state machine logic, where each state corresponds to a game state (initial, ready, set, play, and finished). The main strategy algorithm is coded inside the play state. State of robot changes depending on the different situations in the match: (i) when the robot has seen the ball, (ii) when approach the ball, when decides to kick towards goal, or (iii) when robot hasn't the ball and keep a defensive posture.
During each state, main processor performs sequentially the three following tasks: (1) generation of walking-pattern, (2) identification of different objects, autolocalization by triangulation and ball tracking, and (3) decision-making algorithms depending of individual player's behaviors.
Since 2012, Bogobots-TecMTY has a communication module with Referee Box [10]. With this, our robots can now play on the field according with the state of the match, synchronizing the movement of robots during matches, and substantially decreasing the human intervention to initialize our robots [13].
During all our previous participation in RoboCup competitions we were experienced difficulties on the way of vision-decision-motion algorithms are running on the robot. Until now, we were able to perform them in a sequential way. We could archive that because we succeeded to perform the motion algorithm at the same rate as the vision algorithms. If we run only the motion algorithm we can archive until 100 cycles per second. But running only the vision algorithms we could archive until 10 times per seconds. The problem of running both algorithms sequentially is that we can archive almost 10 cycles per second and this usually generates unstable walking that sometimes leads to a fall of robot on the field. That is why, we are working now on developing a new structure that allow to managing asynchronous parallel tasks. We are evaluating using Microsoft Robotic Studio R4 ® without changing operating system, or using Robotic Operating System (ROS) that will require us to change the operating system.
6 Our development with DARwin-OP
In 2012, we got a DARwin-OP and we started to learn how use it. Then we upgraded from Ubuntu 9.10 (Karmic Koala) to Ubuntu 10.04 (Lucid) that was the newest version of Ubuntu with complete version of headers and image of kernel. In this process, we installed all the essential tools of the system of Darwin-OP v1.5. Since then we have been focusing on modifying the basic demo program and abilities of DARwin-OP. Until now we archived that robot can find goals and ball, choose the correct direction to kick the ball. We created a state machine status with states of Referee Box (Initial, Ready, Set, Play and Finished) that can be manually changes with control buttons.
During RoboCup 2012 we were able to play two matches with our DARwin-OP. It played as striker. During that matches we were able to test our first programs (find the ball and walk towards), but it had a lot of trouble in reach the ball because of walking calibration problems. In one match, our DARwin-OP earned a penalty, but kicked the ball too soft and it reached the goal area.
To Robocup 2013 we plan to achieve other goals like: improve the vision interface and motion calibration and the motions like the kicks, eliminate some bugs of our striker behavior program, auto-locate and reach autonomously and specific coordinates on the field and share information with our Bogobots-2.
7 Commitment statements
Bogobots-TecMTY team is committed to making every effort to participate in the humanoid kid-size category at the RoboCup 2013 and we are committed to making available a person of our team with sufficient knowledge of the rules of the humanoid category to play as referee during the competitions.
8 Conclusion
In this paper, we showed the present work of Bogobots-TecMTY team. We are learning from our previous experiences on RoboCup competitions and using some of our research results on biped robots, vision system, individual behaviors, communication and cooperation to improve overall team behavior. In 2012 we built the new version of Bogobot 2 which helped us to develop and test more efficient and fast vision algorithms and robot behaviors. Our current efforts are on the developing a new structure that allows us to manage concurrent asynchronous tasks on the robot.
Finally, we acknowledge the support of ITESM-CEM through all these years.
References
- Barrera-Tovar, L., Aceves-López, A.: Segmentation of color and sorter for the sensing system Bogobots robots. Robotics XII Mexican Congress, Mazatlan, Sinaloa, Mexico, Mexican Association of Robotics, pp. 124-129 (2010).
- Barrera-Tovar, L., Aceves-López, A.: Interpretation of the Scene and Auto Location Via triangulation Bogobots Robots. Robotics XII Mexican Congress, Mazatlan, Sinaloa, Mexico, Mexican Association of Robotics, pp. 136-142 (2010).
- Villarreal-Pulido, G., Cruz-Hernandez, E., Aceves-López, A.: Bogobots-kid-size humanoid TecMTY team 2010. RoboCup World Championship, Singapore, RoboCup Federation (2010).
- Cruz-Hernández, E., Villarreal-Pulido, G., Sumohano-Verdeja, S., Aceves-López, A.: Bogobots-kid-size humanoid TecMTY team 2009. In: RoboCup World Championship, Graz, Austria, RoboCup Federation (2009).
- Aceves-López, Cruz-Hernández, Villarreal-Pulido, Sumohano-Verdeja: Humanoid Bogobots Team 2008 (Kid Size). RoboCup, Suzhou China (2008).
- Gonzalez-Nunez, Aceves-Lopez, A., Ramirez-Sosa: control for the tracking of movement of a biped to phase: supporting foot, the foot in motion. First International Multidisciplinary Scientific Research ICM2007, Chihuahua, ITESM (2007).
- Gonzalez-Nunez, Aceves-Lopez, A., Ramirez-Sosa: Kinematic Analysis of a biped with phases: support-Pie Pie moving, 5th IEEE International Conference on Innovation and Technology Development CIINDET, Cuernavaca Mexico (2007).
- Melendez, A., Aceves-López, A.: Human gait cycle analysis for the improvement of MAYRA biped's foot. 37th Congress of Research and Technology Development in Monterrey, Mexico, ITESM, pp. 60-67 (2007).
- Aceves-Lopez, A., Melendez, A.: Human-inspired walking-style for a low-cost biped prototype, 3rd IEEE Latin American Robotics Symposium, University of Chile (2006).
- RoboCup Humanoid League Homepage, http://www.tzi.de/humanoid (2011).
- Mexican Robotics Tournament Results, ITAM http://tmr.itam.mx/resultados.html (2011).
- Mexican Robotics Tournament Results, ITESM-CEM http://www.cem.itesm.mx/tmr2012/ (2012)
- Alvarez, R., Millán, E., Aceves-López, A., Swain-Oropeza, R.: Accurate color classification and segmentation for mobile robots, Book Chapter, "Mobile Robots: Perception & Navigation", ISBN 3-86611-283-1, Verlag (2007).
- Cruz-Hernández, E.: Development of a Vision System for the Localization and Navigation of Humanoid Robots, Master thesis, Tecnológico de Monterrey, México (2011).