Cyberlords RoboCup 2010 Humanoid KidSize Team Description Paper

Luis F Lupiián, Alberto Romay, Andrés Espínola, Rafael Cisneros, Juan Manuel Ibarra, Daniel Gutiérrez, Manuel Hunter, Christian del Valle, Karla de la Loza

Mobile Robotics and Automated Systems Lab, Universidad La Salle, México; Robotics and Artificial Vision Lab, Cinvestav, México

http://zeus.lci.ulsa.mx/lrm/


Abstract We describe the RoboCup KidSize humanoid robots to be used by team Cyberlords in the RoboCup 2010 competition to be held in Singapore. We are currently working on two different paths leading to the enhancement of our team of humanoid football-playing robots. The first one consists of an incremental enhancement based on the architecture used by our lab in RoboCup 2009. The second one is a complete departure from our original architecture and represents a new design. This paper describes both hardware and software architectures in general terms.

1 Introduction

Team Cyberlords, which is part of the Mobile Robotics and Automated Systems Laboratory at Universidad La Salle México, 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. Our robots became 2008 mexican champions by winning the semifinal and final games by a narrow margin of 1:0 in penalty kicks. Figure 1 depicts a practice shot between our striker Roboldinho and our goalie Robo Ochoa. In 2009 we applied for participation in the RoboCup world championship and, upon our notification of acceptance, we decided to officially join forces with the Robotics and Artificial Vision Laboratory of Cinvestav, with whom we had been collaborating since January 2009.

In the RoboCup 2009 world championship we were among the 11 teams that were able to score, and ranked as highest scorer from the American continent. Two months later, at the 2nd Mexican RoboCup Open, we reaffirmed our scoring leadership among Mexican teams by scoring a total of six goals in four games, which represents for us a significant progress as compared to the two goals scored the year before in that same competition.

Fig. 1. Practice shot during the 1st Mexican RoboCup Open
Fig. 1. Practice shot during the 1st Mexican RoboCup Open

2 General Architecture

For the 2010 competition, our team is developing two different architectures with some features in common. The main differences are in the mechanical structure, while the common features are those related to the computing unit, sensors and software (both at the low and high levels).

The mechanical structure of our design for the 2009 competition was based on the commercial platform Robonova-1 from Hitec, with a few mechanical adaptations. In contrast, the first of our two designs for 2010 is making significant incremental enhancements to that initial design. Most notably, we are adding a much needed vertical degree-of-freedom (DOF) to the ankles so that our robot can now perform turning motions in a much more efficient way. We are also replacing most of the HS-8498HB leg servomotors with the higher torque HSR-5498SG servos. The head pan-and-tilt mechanism is now actuated by two HS-8498HB, which will give the camera a faster and wider range of motion. This design has a total of 20 DOF and is depicted in Fig. 2.

The second of our designs for the 2010 competition, represents a complete departure from our original design. This robot design has 24 DOF fully based on Dynamixel servomotors: six for each leg, two for the torso, four for each arm and two more for the pan-and-tilt mechanism of the head. Each leg has a carefully designed architecture which considers a spherical hip as well as a spherical ankle. That is, three (or two) joints whose axes intersect at a single point. This fact allows for a completely analytical kinematic control strategy based on the Lie logic technique. We have obtained a closed-form inverse kinematic model for the purpose of real-time computation of a desired gait in both robot designs. This model was formulated using the Product of Exponentials Formula and the Paden-Kahan sub-problem techniques. This design considers the use of three RX-64 Dynamixel servos, two on the knees, and one on the abdominal DOF. The camera pan-and-tilt mechanism uses two RX-10 servos, and the remaining 19 DOFs are actuated by RX-28 servos. Figure 3 shows several views of the structural design for robot Cucho.

In both cases, we are using a Roboard RB-100 main computer, which is based on the 32-bit x86 Vortex86DX CPU running at 1GHz with 256MB of DDR2 RAM. This represents about 50 times more computing power than our previous design, which allows us to implement much more complex algorithms. In addition, this computer board includes many peripherals specifically tailored for mobile robotics. Among these ports we have: RS-485 for communication with the Dynamixel servomotors, 32 PWM channels, 3 USB 2.0 ports, SPI/I2C bus, 8 10-bit ADC ports and a mini PCI socket. The use of this new board is making a significant difference with respect to our original design, since we know that most of the limitations in that design were due to a lack of sufficient computing power.

Fig. 2. Structural design for our robot Bodoque
Fig. 2. Structural design for our robot Bodoque
Fig. 3. Structural design for our robot Cucho
Fig. 3. Structural design for our robot Cucho

3 Perception and Low-Level Motion Control Systems

For the purpose of giving our humanoids some degree of autonomy three kinds of exteroceptive sensors were interfaced to them:

    1. A single IDS UI-1226LE-C USB 2.0 camera for monocular vision, which is mounted on a 2 DOF above the shoulders of the robot,
    1. a 6 DOF inertial measurement unit (IMU) based on ST's LPR530AL and LY530ALH gyroscopes plus Analog Devices' ADXL335 triple-axis accelerometer which allows the robot to prevent falling to a certain degree

plus allows it to know the sequence of motions necessary to get up in case of a fall, and

  1. a CMPS03 digital compass module by DEVANTECH, which is not installed in the DYNAMIXEL-based design due to the increased magnetic field induced by those servos.

Self localization of our robots within the field is performed by inverse-pose estimation of the camera based on instantaneous observations of well known features of the field, such as the goal posts, the landmark poles and penalty marks. In the case of our HITEC-based humanoids, the information obtained from the vision system is complemented with that of the compass. It should also be noted that the camera being used this year gives a significantly higher resolution image than the CMUCAM3 used in our design the previous years. This will allow our robots to perceive features that are further away, including the ball.

All servomotors and sensors, including the camera, are directly interfaced to the RB-100, which is the only programmable computing unit on-board the robot. HITEC servomotors are interfaced to the RB-100 through the PWM ports, while DYNAMIXEL servos are interfaced using the integrated RS-485 port, so there's no need for an external interface unit that would only add weight to the robot. The IMU outputs are interfaced to the RB-100 using six of the ADC input ports, and the I²C port is used to interface the compass. The UI-1226LE-C camera uses one of the three USB 2.0 ports available on the board.

The gait sequences for our humanoids will be redesigned using the inverse kinematic model and 3D simulator ARMS (Advanced Robot Motion Simulator) developed by Rafael Cisneros [1]. This simulator has some enhanced features, as compared to last year's version. Among them the computation of the center of mass (COM), which will be used to design new faster and more stable gaits for our robots. Figure 4 shows a sample gait generated using ARMS.

Fig. 4. Lateral and frontal views of a parametric gait generated using ARMS. Arms are intentionally extended to allow for a better view of the motion of the legs. The body looks gray instead of black due to shininess. For the sake of simplicity, the head is not shown in this 3D model, so the real humanoid robot is actually taller. Images were flipped horizontally to show the motion from left to right.
Fig. 4. Lateral and frontal views of a parametric gait generated using ARMS. Arms are intentionally extended to allow for a better view of the motion of the legs. The body looks gray instead of black due to shininess. For the sake of simplicity, the head is not shown in this 3D model, so the real humanoid robot is actually taller. Images were flipped horizontally to show the motion from left to right.

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.

5 Conclusion and Future Work

We have described the details of the structural and sensory details of both humanoid robot architectures to be used by team Cyberlords in the RoboCup 2010 world championship. One of these two designs represents an incremental enhancement to our previous design, while the other one represents a brand new architecture. Our designs have a significant upgrade in relation to computing power and sensory resolution as compared to our 2009 design.

With regard to our plans for future versions of our humanoids, we are currently developing a zero moment point (ZMP) module for the ARMS simulator, we are also considering the possibility of upgrading the vision system to stereovision and possibly add dedicated DSP computing units for each camera to allow for complex feature extraction algorithms.

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éxico, the Department of Automatic Control of Cinvestav, the ICyTDF, as well as Scitum and Scanda corporations.

Team Members

Team Cyberlords for 2010 will be integrated by at least the following people:

  • Team leader: Prof. Luis F. Lupiián.
  • Faculty members: Prof. Juan Manuel Ibarra Zannatha, Prof. Rafael Cisneros Limón.
  • Student members: Alberto Romay, Andrés Espínola, Daniel Gutiérrez, Manuel Hunter, Christian del Valle, and Karla de la Loza.

References

  1. Cisneros Limón, R.: Estrategias de modelado cinemático y simulación en robots humanoides. Master's thesis, Departamento de Control Automático del CINVESTAV-IPN, D.F., México (2009)
  2. Cisneros Limón, R.: Actuadores del robot humanoide ROBONOVA-I. Reporte Interno R-003-09, Departamento de Control Automático del CINVESTAV-IPN, D.F., México (Enero 2009)
  3. Cisneros Limón, R.: Modelo cinemático de la plataforma SILO2. Reporte interno, Instituto de Automática Industrial del CSIC, Madrid, España (Enero 2009)
  4. Lupiián, 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)
  5. Lupiián, L.F., Rabadán Martin, J.R.: Segment-wise optimal trajectory execution control for four-wheeled omnidirectional mobile robots. In: Robotic Symposium, IEEE Latin American, Valparaíso, Chile (2009)
  6. Lupiián, L.F., Romay, A.I., Monroy, P., Espínola, A.F., Cisneros, R., Benítez, F.: Cyberlords RoboCup 2009 Humanoid KidSize team description paper. In: RoboCup World Championship, Graz, Austria, RoboCup Federation (July 2009)
  7. Ibarra-Zannatha, J.M., Cisneros-Limón, R.: Forward and Inverse Kinematics for a Small-Size Humanoid Robot. In: CONIELECOMP 2009, Congreso Internacional en Electrónica, Comunicaciones y Computadoras, Puebla, Pue. México, IEEE Computer Society, CENTIA-UDLA (January 2009)