pUNAMoids Humanoid Kid-Size Team Description Paper

Mario Peña, Joel Duran, Erick Mendez, Ignacio Lopez, Demian Gaxiola, Héctor R. Arce, Victor F. Barreto, Manuel Pano

Universidad Nacional Autónoma de México Instituto de Investigaciones en Matemáticas Aplicadas y en Sistemas (IIMAS) Posgrado en Ciencia e Ingenieria de la Computación Edif. Anexo al IIMAS, 3er piso, Circuito Interior s/n, Ciudad Universitaria, Coyoacan, C.P. 04510, Mexico, D.F

http://zaz.iimas.unam.mx/~humanoides/


Abstract This document describes the RoboCup Humanoid League team pUNAMoids KidSize of Universidad Nacional Autónoma de México (UNAM) at Mexico City, Mexico. Our team inherits the experience accumulated by the team DotMex and uses self-constructed robots for playing soccer and the well-known DARwIn-OP platform by Robotis. The paper describes the mechanical and electrical design of the robots. It also covers the software used for perception and behavior control.

1 Introduction

1.1 RoboCup experience

The pUNAMoids team, participated at RoboCup 2012 in the Kid Size category of the Soccer League as part of the DotMEX (.MX) consortium. This team inherits the long and wide experience accumulated from its members, after five years of works with humanoid robots and their participation in some of the most important Mexican and international tournaments. The pUNAMoids experience in RoboCup is as follows: in RoboCup Suzhou 2008 we reached the quarterfinals of the tournament being the best team from America. In RoboCup Graz 2009 we did not pass to the 2nd round because we redesigned completely our robots and we experienced some problems during the competition. In 2010 we decided not to attend RoboCup Singapore because many of our students graduated that year. We qualified for RoboCup Istanbul 2011 as pUNAMoids and RoboCup Eindhoven 2013 as DotMEX, unfortunately we had to withdraw from both competitions due to budget constrains. Despite these absences, we had good results in the local RoboCup Mexico Open Tournaments. In 2008 we reached the 2nd place, in 2009 we reached the 3rd place, in 2011 we obtained the 2nd place and in 2012 we obtained the 3rd place.

pUNAMoids V4 prototype
pUNAMoids V4 prototype
DARwIn-OP
DARwIn-OP

1.2 Commitments

The pUNAMoids team commits to participate in RoboCup 2014 and to provide a referee with sufficient knowledge of the rules of the Humanoid League during the competition.

1.3 Research Interests

Our main research interests are: i) the development of computational architecture for humanoid robot control based on commercial hardware, with emphasis in software development; ii) Perception, with emphasis in feature extraction, images analysis and visual SLAM; iii) Humanoid robot control; with emphasis in dynamically stable walk, motion planning, and visual servoing.

1.4 Team description

We will use three DARwIn-OP robots, a new prototype robot (DARwIn-OP like), and a previous pUNAMoids prototype. The vision system used in our robots is based on the system developed for the AH1N1 prototype [1]. The algorithms for self-localization are based on 1-Point RANSAC with IDP and EKF [12], [13], [14]. The next sections are devoted to show the main features of the pUNAMoids humanoid robot and its subsystems.

2 Electromechanical system

The mechanical architecture of the pUNAMoids prototype is shown in Figure.1. This robot uses 20 HiTec® servomotors. The mechanical architecture of a new prototype is based on DARwIn-OP shown in Figure. 2. It has 20 DoF (degrees of freedom): 2 DoF for the head, 3 DoF for each arm (shoulder with 2 DoF and elbow with 1 DoF) and 6 DoF for each leg (hip with 3 DoF, knee with 1 DoF and ankle with 2 DoF). The inverse kinematics problem of robot DARwIn-OP is solved through the methodology of the Paden-Kahan, based on screw theory, that splits the whole problem into a series of sub problems, whose solution is known [1] [2]. The energy system is based on a 3S-YT503560HH LiPo battery of 1000 mAh by Yuntong®, used also by DARwIn-OP and Bioloid Robotis® commercial humanoid robots.

Kinematic diagram of the DARwIn-OP based prototype.
Kinematic diagram of the DARwIn-OP based prototype.

3 Computing System

Our prototypes are equipped with different computational architectures: one processor controls the servomotors and other is for vision, intelligence and communications tasks. One of our prototypes use a RoBoard RB-110 based on the Vortex86DX CPU, a 32bit x86 CPU running at 1000MHz with 256MB RAM, with a Minoru3D webcam. The RoBoard runs Linux Ubuntu 10.10 and has I/O interfaces to servos, DC motors, sensors, gyroscope, accelerometers, etc. The DARwIn-OP based prototype is based on the Robotis servomotors DY-NAMIXEL MX-28 and RX-28. It uses the CM730 sub controller and a fitPC2i as the main controller. The fitPC2i runs a free distribution OS based on Debian GNU/Linux with Ubuntu libraries. This OS was developed by Verstand Labs and is called Khabelix[3]. This OS permits the development of robotics and artificial vision applications in an easy way. Our goal is to leverage the DARwIn-OP platform software in this new prototype. Finally we have two DARwIn-OP robots. The software developed for our robots is described in the next paragraphs.

4 Perception System

One of the most important features of a robot is his autonomy. Autonomy is based on information about the environment and the robot-environment interaction. Exteroceptive sensors like cameras for vision and touch-force sensors provide this information. The control system devoted to ensure stable movements in spite of perturbations needs information about the state of the robot variables. Sensors like joint position and velocity sensors (potentiometers, encoders), and vestibular sensors (IMUs, accelerometers, gyroscopes) provide this information.

4.1 Vision (Image processing and analysis)

The vision system must provide the controller with information about the actual match situation: ball position, $(x,y)p$ self position and position of the other members of the team $(x,y,\theta){Ri}$ , i=1,2,3,...,n, and the position of the opponent robots $(x,y)_{Hi}$ , i=1,2,3,...n, where n is the number of robots in a team. These position vectors are absolute, i.e. they are defined with respect to reference frame associated to field. It is important to note that our robots must be localized with its orientation $\theta_i$ .

Two different cases showing the process to seek for the opposite goal and beacons.
Two different cases showing the process to seek for the opposite goal and beacons.

4.2 Self-localization

We have proposed some Visual EKF SLAM algorithms useful to locate our robots in the field [7], [14] but they are very expensive in computing time to be implemented over the embedded system of our robots; the obtained results are shown in Figure 4.

Some results of our 1-point RANSAC-IDP-EKF Visual SLAM algorithm.
Some results of our 1-point RANSAC-IDP-EKF Visual SLAM algorithm.

4.3 Motion Detection

The goalkeeper has an implementation of an efficient algorithm to calculate the optical flow in real time, with the aim to get the speed of the moving ball. This gives the robot the ability to estimate the direction of the moving ball and its speed. The algorithm implemented is based on the Lucas-Kanade method, as this is easily applied to a subset of image's points, In addition, it is computationally faster compared with other techniques and it can be adapted to a stereoscopic vision system. The experimental results are showed in Figure 5 (estimation of the ball direction and velocity) [10].

Optical flow: motion direction and velocity components.
Optical flow: motion direction and velocity components.

5 Control System

The robot control system is shown in Figure 7. It has three inputs and two outputs. The inputs are signals from the Vision System, the Vestibular System and the Communication System (Game controller and other robots). The outputs are signals send to the Movement System and the Communication System (other robots and monitor). The Vision System gives the robot information regarding where he is with on the playing field (self-localization), and where the ball and is. The Vestibular System formed by the accelerometers and gyros that allow the robot to ensure a stable walk. The Communication System receives and sends messages to the Game Control Program, to other robots in our team and to monitor. The robot uses this information to determine its next movement. The processes are implemented as threads that share information. The shared information is accessed through critical sections, so that the data is not corrupted. The Robot Control System consist of a Robotis CM-730 and a fitPC2i that receives and processes external signals as the video signal and messages from the referee, through the Game Control program. The elementary and reactive movements of the robot (walk, kick, standup) resides in the CM-730 Controller.

Information is shared between robots so that they, as a team, are able to make the best decision. The goalkeeper is in charge to coordinate the other robots. If it left the game, a different robot takes the coordination task. The initial state of the robot assumes nothing, as the robot explores itself and its environment it gets a more complete knowledge of its state and the state of the game, allowing him to make a rational decision of its next move.

Robot control system scheme.
Robot control system scheme.

5.1 Movements Control Subsystem

The joint level control is assured directly by joint actuators (servomotors); while the joint coordination corresponding to a desired gait or other complex movement is calculated off-line with the aid of the ARMS Simulator based on our IK method [2]. Given a desired gait, we define it by using the following parameters: step size, foot's maximum height, body's height, body ripple in both sagittal and transversal planes, separation between feet in the frontal plane, the step duration and the double-support phase duration. Then, having defined a desired gait through these 8 parameters, a recently developed version of the ARMS simulator [2], originally developed to participate at RoboCup 2009 [11], produces all the corresponding joint trajectories that realize that desired gait. Finally, the stability of robot walk is assured by a dynamic control scheme based on a ZMP principle. In case of perturbation (collision with another robot, slippery, etc.) the robot can fall. The inertial sensors are supposed to detect that and to inform the ZMP algorithm to compensate this perturbation [12].

5.2 Behavior Control Subsystem

In this case, the game strategy is individual, i.e. there is not a team strategy at all. We are in the work to develop a team strategy based on the knowledge of the game situation obtained by vision system of the three robotic players. The planner resides in the team leader robot (goalkeeper) but can be delegate to any robot if the goalkeeper must left the game. Our team strategy can be described as follows: The player nearest to the ball will perform the attack by approaching to it. Our other players will act as a defense in any of the following cases: if an opponent player is nearer to the ball than our player, or it is positioned to receive a pass or if our first player is not able to kick directly toward the opposite goal. If the ball is behind our players, the goalkeeper will approach to it to kick it toward the opposite goal or make a pass to a teammate. The vision system supplies the game situation needed to plan the strategy described above. The planner calculates the homogeneous transform corresponding to each robot's movement, and the kind of kick needed to solve the actual game situation (direct kick or pass, left or right foot, strong or weak kick, forward or back kick)

References

  1. Manuel Hunter Sánchez, Rafael Cisneros Limón, J.M. Ibarra Zannatha. Mechanical design and kinematic analysis of the AH1N1 humanoid robot. Proc. of CONIELE-COMP 2011, 21st International Conference on Electronics, Communications and Computers. Cholula, Puebla, México. February 28th–March 2nd 2011. Pag. 177-183.
  2. Rafael Cisneros Limón, Juan Manuel Ibarra Zannatha, Manuel Armada. Inverse Kinematics of a Humanoid Robot with Non-Spherical Hip: a Hybrid Algorithm Approach. Submitted to IEEE/ASME Transactions on Mechatronics.
  3. Felipe J.K. Lara Leyva, Rafael Cisneros Limón, Manuel Hunter Sánchez, Juan Manuel Ibarra Zannatha. Development of the computational platform of the AH1N1 humanoid robot. Proc. of the 5th Workshop GTH.pp. 16-19. México, DF. 25th February, 2011. (in spanish).
  4. J. Bruce, Tucker Balch, and Manuela Veloso, Fast and inexpensive color image segmentation for interactive robots, Proceedings of the 2000 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS '00), October, 2000, pp. 2061 – 2066.
  5. Juan Manuel Ibarra Zannatha, F.J.K. Lara, A.A. Ortiz, E. Hernández, J.E. Lavín, A.D. Gómez, M. Hunter, C. Cerez, A. J. Malo, T. Hernández. Development of a humanoid soccer robot based on Bioloid, under FIRA rules. Proc. of the CoMRob 2011, XIII AMRob Mexican Conference on Robotics. Pp. 60-68. Matehuala, SLP, México. November 3th – 6th, 2011.
  6. F. Lara Leyva, A. Espínola Auada. Image processing and analysis for humanoid robot soccer players. Proc. of the CoMRob 2010, XII AMRob Mexican Conference on Robotics. Mazatlán, Sinaloa, México. 2011.
  7. Eric Hernández Castillo, Juan Manuel Ibarra Zannatha, José Neira, Jorge Enrique Lavín Delgado, Rafael Cisneros Limón. Visual SLAM with oriented landmarks and partial odometry. Proc. of CONIELECOMP 2011, 21st International Conference on Electronics, Communications and Computers. Pag. 39-45. Cholula, Puebla, México. February 28th–March 2nd 2011.
  8. Juan Manuel Ibarra Zannatha, Rafael Cisneros Limón, Ángel David Gómez Sánchez, Eric Hernández Castillo, Luis Enrique Figueroa Medina, and Felipe de Jesús Khamal Lara Leyva. Monocular visual self-localization for humanoid soccer robots. Proc of CONIELECOMP 2011, 21st International Conference on Electronics, Communications and Computers. Pp. 100-107. Cholula, Puebla, México. February 28th–March 2nd 2011.
  9. Llarena, A., Savage, J., Kuri, A. Escalante-Ramírez B. Odometry based Viterbi Localization with Artificial Neural Networks and Laser Range Finders for Mobile Robots. Springer Science+Business Media: Journal of Intelligent & Robotic Systems, Sept. 2011, DOI: 10.1007/s10846-011-9627-8.
  10. Eric Hernández, Zizilia Zamudio. Juan Manuel Ibarra Zannatha. Soccer Ball Speed Estimation using Optical Flow for Humanoid Soccer Player. Proc. of the IEEE 2011 Electronics, Robotics and Automotive Mechanics Conference (CERMA 2011). Pp. 178-183. Cuernavaca, Morelos, México. 15-18 November 2011.
  11. Rafael Cisneros Limón. Strategies for kinematic modeling and simulation of humanoid robots. Master's thesis, Center of Research and Advanced Studies of the National Polytechnic Institute of Mexico (Cinvestav-IPN), 2009.
  12. Alexis Adrián Ortiz Olvera, Juan Manuel Ibarra Zannatha. Dynamical walk control for humanoid robots. Proc. of the CoMRob 2011, XIII AMRob Mexican Conference on Robotics. Pp. 54-59. Matehuala, SLP, México. 3th - 6th November, 2011 (in spanish)