Cyberlords RoboCup 2009 Humanoid KidSize Team Description Paper
Luis F Lupi´an, Alberto Romay, Pablo Monroy, Andr´es Esp´ınola, Rafael Cisneros, Fernando Ben´ıtez
Mobile Robotics and Automated Systems Lab, Universidad La Salle, M´exico
Abstract We describe the RoboCup KidSize humanoid robots to be used by team Cyberlords in the RoboCup 2009 competition to be held in Graz, Austria. Our humanoids are based on the Robonova-1 architecture, so this description focuses on the mechanical and electronics adaptations as well as the perception and control software developed and adapted by us for the purpose of transforming these robots into autonomous football players. We also introduce the concepts of shot filter and dynamic turning.
1 Introduction
Team Cyberlords, which is part of the Mobile Robotics and Automated Systems Laboratory at Universidad La Salle M´exico, started working on our RoboCup Humanoid KidSize project in july 2008. The starting point of the project was a pair of Robonova-1 humanoids, which we had to adapt mechanically, interface to several sensors and program to give them the ability to play football autonomously. By september 2008, we had the first functional version of our football-playing humanoids and debuted them in official competition during the 1st Mexican RoboCup Open where we faced team Bogobots and Pumas UNAM. Both, Bogobots and Pumas UNAM played with two outfield players and a goalkeeper, while we played with one outfield player and a goalkeeper. Our robots became mexican champions by winning the semifinal and final games by a narrow margin of 1:0 in penalty kicks. In addition, our robots made more goal attempts during regular game time than any of the other teams. Figure 1 depicts a practice shot between our striker Roboldinho and our goalie Robo Ochoa.
Our team is making two main contributions to the RoboCup community this year. In this TDP we introduce the concepts of dynamic turning which gives our humanoids a precise orientation control in preparation for kicking, and shot filter which allows the goalie to make timely decisions about when to dive in response to a shot towards the goal line. We believe these two techniques might have been the distinguishing factor that ultimately led our team to the championship since they were crucial for our robots' ability to score goals and to block our rivals' shots.
2 General Architecture
Out-of-the-box, the ROBONOVA-1 humanoids from HITEC come with 16 degrees-of-freedom (DOF) (five on each leg and three on each arm). Each of those 16DOF is actuated by a HSR-8498HB digital servomotor from the same company. They also come with a MR-C3024 computing unit, which can control up to 24 servomotors and is based on an ATMEL ATMEGA128 microcontroller. The computing unit is preloaded with a firmware that interprets commands written in a programming language called ROBOBASIC. Both, the MR-C3024 computing unit and the ROBOBASIC language were tailormade for the purpose of controlling the ROBONOVA-1 unit by the Korean company MINIROBOT.
A few structural adaptations were needed to make these robots more apt to the task of playing football (including meeting official RoboCup Humanoid KidSize League restrictions). Most notably, the front and back torso plastic caps as well as the feet plastic caps were removed. The aluminum feet toes and heels were bent upwards in order to meet the feet proportion restriction. A 2DOF pan-and-tilt mechanism was added to the head for the purpose of installing the vision system. This mechanism is actuated by two Hobbico CS-12MG micro servomotors with metal gears. An aluminum platform was added to the the back of the left shoulder in order to install a digital compass away from the magnetic field coming from the servomotors. This platform gives the computing unit located at the robot's back some limited protection against backwards falls. Finally, a wire forming a protective arch was installed on the robot chest. This reduces the potential for damage to the vision sensor during a frontal fall.
Figure 2.a shows a general view of our ROBONOVA-1 based humanoids after all the structural adaptations were applied, while Fig. 2.b gives a close-up view of the pan-and-tilt mechanism, the digital compass platform and the frontal protective wire.
One particular shortcoming of the ROBONOVA-1 architecture is the lack of a rotation DOF around the vertical axis either on the legs or the hip. There was an internal discussion within our team about whether it would make sense to add this DOF to the legs. We ultimately decided against that option because it would require a significant design and testing effort to get it right while, on the other hand, that problem has some simpler solutions that we discuss at the end of the next section.
3 Perception and Low-Level Motion Control Systems
For the purpose of giving our humanoids some degree of autonomy four kinds of exteroceptive sensors were interfaced to them:
- A CMUCAM3 vision system.
- A CMPS03 digital compass module by Devantech.
- A pair of PK3 piezoelectric gyroscopes by MULTIPLEX.
- An ADXL330 3-axis accelerometer by Analog Devices.
The 2008 version of our humanoid robots used its vision system mainly to locate color blobs (ball and goals) with respect to itself, aided by the information obtained from the digital compass. However, it did not implement any kind of self-localization within the field. For the 2009 version, we will provide our humanoids with self-localization capabilities that will in turn enable them to make a more informed decision about whether its better to dribble the ball or kick it towards the goal.
Low-level motion control for our robots is implemented on the MR-C3024 control board. In addition to controlling the servomotors, this computing unit is directly interfaced to all of the sensors, except for the camera in the CMUCAM3 vision system which includes its own additional computing unit.
Our humanoid robot design obtains proprioceptive feedback from the panand-tilt head servomotors in order to aid in the localization of the goals and ball relative to its own position. In fact, this proprioceptive information is crucial in the algorithm that ultimately triggers the goalie's diving reaction when the ball is approaching the goal line. This will be discussed in the following section.
Although in the steady state any servomotor implicitly gives proprioceptive feedback, that is actually not the case before reaching the steady state. That is why the HSR-8498HB digital servomotors used in the ROBONOVA-1 architecture were such an attractive choice. The fact that they are digital means that, by using HITEC's HMI serial protocol [1], one can obtain proprioceptive angular position feedback at any time, even before reaching the steady state. In addition, that same serial protocol allows for interoceptive feedback since it can also return information about the actual voltage being applied at the H-bridge of the motor. Although the 2008 version of our humanoid robots did not make use of this interoceptive and proprioceptive information available from the HSR-8498HB digital servomotors, for the 2009 version we will make use of this feature to enhance stability and motion control. This means that we will replace RoboBASIC with our own firmware. One initial difficulty for the implementation of this firmware was the lack of documentation for the HMI protocol and the inner workings of Hitec's digital servos. Thanks to the detailed and comprehensive technical report by Rafael Cisneros [1] it is now just a relatively simple task to implement the new enhanced low-level control firmware. We plan to release this firmware to the public domain after our participation in the RoboCup competition in Graz 2009.
The walking and running routines for our humanoids will be redesigned using the Robonova-1 inverse kinematic model and 3D simulator ARMS (Advanced Robot Motion Simulator) developed by our collaborator Rafael Cisneros [2]. This will allow us to obtain faster and more stable gaits. Figure 3 shows a sample gait generated using ARMS.
4 Robot Behavior Control
The behavior control architecture for our robots is based on a hierarchical finite state machine (FSM). There is a high-level FSM which implements one state for each high-level action to be performed by the robot, such as GetUp, Walk, FindBall, AdjustOrientation, and so on. Each of these high-level states may in turn execute a lower-level FSM. For example, the high-level FindBall state is implemented by a low-level FSM that moves the head in a predefined sequence testing for the presence of the ball at each step.
The FSM transitions from one state to another triggered by a set of crisp conditions that depend on sensory information. These include AccelFallen, Ball-Found, ShotFilter, CompassDisoriented, BallFar, BallFoot, and so on. More than one condition may be triggered at any one time, so a conflict-resolution strategy is needed. Our approach is to give priorities to each condition so, for example, AccelFallen would have a higher priority than BallNotFound (or any other state for that matter) and BallNotFound would in turn have a higher priority than CompassDisoriented. Within each state, conditions are tested in the order of their priority, so whenever more than one condition applies only the highestpriority condition is taken care of, while the rest are not even tested. This makes sense since, for example, whenever the robot falls over it doesn't matter whether it knows where the ball is or not, the only thing that matters at that point is getting up.
Another special contribution from our team is the implementation of the ShotFilter condition inside the goalie's FSM. This condition is responsible for detecting a shot towards the goal, which in turn triggers the goalie's diving action in the appropriate direction (left or right). The ShotFilter condition uses the proprioceptive information from the pan-and-tilt head servos that is generated while the vision system tracks the ball. Whether the ShotFilter will be triggered or not depends both on the speed and location of the ball relative to the goal line. However, the relationship between these two ball-motion state variables and the head-servos angular positions is non-linear and it is not immediately obvious what set of conditions should trigger the diving action taking into account that there is a delay between the start of the reaction and the moment the goalie's arm actually reaches the goal line. Our solution to this problem is based on a parametric non-linear filter that we adaptively fine-tune by using experimental data. The details of our technique will be the subject of a forthcoming publication.
5 Conclusion and Future Work
We have described the details of the structural and sensory adaptations applied by team Cyberlords to the Robonova-1 humanoid robots for the purpose of playing football autonomously. We have introduced the concepts of dynamic turning which gives our humanoids a precise orientation control in preparation for kicking, and shot filter which allows the goalie to make timely decisions about when to dive towards the goal line in order to block a rival's shot. Both concepts will be properly contributed to the scientific community in due time.
With regard to our plans for future versions of our humanoids, we are in the process of developing an FPGA-based board with a PC104 format. The presence of the PC104 bus on this board will allow us to use it either as a stand-alone board or in conjunction with a PC104 motherboard. This FPGA-based board will be the basis for interfacing all sensors and actuators into the processing unit in a much more efficient way than is possible to achieve using a single processor. We are also studying ways to implement dynamic walking. Our current version does not implement any kind of collaboration among our robots since that would require communication among them, which is an issue we have not addressed yet. We plan to start tackling this communication/collaboration problem in the very near future.
Acknowledgements
This and other mobile robotics projects developed at the Mobile Robotics and Automated Systems Lab are supported in part by the School of Engineering and the Division of Graduate Studies and Research at Universidad La Salle M´exico, as well as by the Altera Corporation.
Team Members
Team Cyberlords for 2009 will be integrated by at least the following people:
- Team leader: Prof. Luis F. Lupi´an.
- Student members: Alberto Romay, Pablo Monroy, Andr´es Esp´ınola, Karla de la Loza, Daniel Guti´errez, Fernando Aguirre, Otto Carrillo, Josu´e Rabad´an.
- External collaborators: Prof. Juan M. Ibarra Zannatha, Rafael Cisneros.
References
- Cisneros Lim´on, R.: Actuadores del robot humanoide ROBONOVA-I. Reporte Interno R-003-09, Departamento de Control Autom´atico del CINVESTAV-IPN, D.F., M´exico (Enero 2009)
- Cisneros Lim´on, R.: Estrategias de modelado cinem´atico y simulaci´on en robots humanoides. Master's thesis, Departamento de Control Autom´atico del CINVESTAV-IPN, D.F., M´exico (2009)
- Cisneros Lim´on, R.: Modelo cinem´atico de la plataforma SILO2. Reporte interno, Instituto de Autom´atica Industrial del CSIC, Madrid, Espa˜na (Enero 2009)
- Lupi´an, L.F., Avila, R.: Stabilization of a wheeled inverted pendulum by a continuous-time infinite-horizon LQG optimal controller. In: Latin American Robotics Symposium, Salvador, Bahia, Brazil, IEEE (October 2008)
- Rabad´an Martin, J.R.: Control de ejecuci´on de trayectorias para un robot m´ovil holn´omico omnidireccional. Master's thesis, Universidad La Salle, D.F., M´exico (2009)