Robo-Erectus Jr-X1 KidSize Team Description Paper
Carlos A. Acosta Calderon, Nguyen The Loan, Guohua Yu, Hau Chee Seng, Rajesh E. Mohan, Changjiu Zhou
Advanced Robotics and Intelligent Control Centre, School of Electrical and Electronic Engineering, Singapore Polytechnic, 139651, Singapore
Abstract This paper provides a brief description of the latest version of Robo-Erectus Jr-X1, the humanoid developed in the Advanced Robotics and Intelligent Control Centre of Singapore Polytechnic that will participate in the KidSize category in the Humanoid League of Robo-Cup 2009. The latest version of Robo-Erectus robot has been added with several features describe in detail here. Such new features include a new online locomotion, feature detection and localization, and the emergent behaviour control from a group of robots.
1 Introduction
The Robo-Erectus project (www.robo-erectus.org) has been developed in the Advanced Robotics and Intelligent Control Centre (ARICC) of Singapore Polytechnic. Robo-Erectus is one of the foremost leading soccer-playing humanoid robots in the Robo-Cup Humanoid League. Robo-Erectus has participated in the Humanoid League of Robo-Cup since 2002, collecting several awards since then. Robo-Erectus won the $2^{nd}$ place in the Humanoid Walk competition at the Robo-Cup 2002 and got $1^{st}$ place in the Humanoid Free Performance competition at the Robo-Cup 2003. In 2004, Robo-Erectus won the $2^{nd}$ place in Humanoid Walk, Penalty Kick, and Free Performance. In 2007, it finished $6^{th}$ on the 2 vs 2 games, and $3^{rd}$ on the technical challenge.
The aim of the Robo-Erectus development team is to develop a humanoid platform that can be used for research and education [1]. The evolution of Robo-Erectus has gone through many stages including the mechanical design, electronic system, control system and locomotion control. The latest version of Robo-Erectus, namely Robo-Erectus Jr-X1 (REJr-X1), has been designed to cope with the complexity of a 3 vs 3 soccer game. Robo-Erectus is able to perceive different colour objects and detect relevant features for the soccer game. The robot is autonomous and it is able to cooperate with other robots. REJr was fabricated to participate in RoboCup 2009 in the KidSize category [2]. For the competition, we prepare not only for the 3 vs 3 Soccer Games but also for the Technical Challenge. For more detailed information about the Robo-Erectus, please refer to the team's website www.robo-erectus.org.
This document describes the current state of the Robo-Erectus project as well as the development for the 2009 RoboCup competition. The rest of the paper is organized as follows. In the next Section, details of the mechanical and electronics design are presented. Section 3 describes the software developed: the image processing, the hierarchy of the control system for the robot behaviour, and the infrastructure needed to support a team of soccer playing robots, respectively. Finally, some concluding remarks are presented in Section 4.
2 Hardware Design
The Robo-Erectus project has been a collaborated effort from educators, students, and researchers to build a humanoid robot, and to control it easily. The previous generations of humanoid soccer robots, namely RE40I, RE40II, RE40III, RE70, REJr-AX, and REJr-BX; have provided a robust knowledge about the hardware and software design. This Section provides an insight to the latest development namely REJr-X1.
2.1 Mechanical Design
Figure 1 shows the design of the humanoid robot REJr-X1. The skeleton of the robot is constructed with aluminum braces. The head and arms of the robot are made of plastic. Despite its simplicity, the mechanical design of the robot is robust and lighter weight in comparison with their predecessors. Its human-like body have a height of 52cm and weight of just 3.3kg, including batteries (See Table 1).
Robo-Erectus Junior has a total of 21 degrees of freedom. Table 2 shows the body parts and their associated degrees of freedom. Each degree of freedom uses as actuator a Dinamixel DX-117 Digital Servomotor. These servomotors have a typical torque of 28.89kg · cm and a speed of 0.172sec/60◦ . Each knee joint is using a Dinamixel DX-64 Digital Servomotor, that provide a higher torque that DX-117. Each smart actuator has a micro-controller in charge of receiving commands and monitoring the performance of the actual motor. An RS485 serial network connects all the servomotors to a host processor which, sends positions and receives the current data (angular positions, speed, voltage, and temperature) of each actuator.
Physical Specifications of the REJr-X1.
| Weight | Dimensions | Speed | |||
|---|---|---|---|---|---|
| Height | Width | Depth | Walking | Running | |
| 3.3kg | 520mm | 240mm | 120mm | 5mts/min | — |
List of Degrees of Freedom for the humanoid robot REJr-X1.
| Body Part | Roll | Pitch | Yaw |
|---|---|---|---|
| Head | X | X | |
| Body | X | ||
| Shoulder | X | X | |
| Elbow | X | ||
| Hip | X | X | X |
| Knee | X | ||
| Ankle | X | X |
2.2 Electronic Design
Figure 2 shows the network of two micro-processors and the main devices that controls the Robo-Erectus. The use of sub-processors for particular tasks improves the performance of the system. Table 3 shows the specification of these CPU boards. Each processor is dedicated to different tasks:
- The main processor coordinates all behaviors of the robot. Collects the sensor information and sends the data to the motors. Communicates by WIFI with the other robots and the main PC. This processor also obtains the image from the USB camera. This processor is connected with the main processor by RS232.
- The sensor-motor processor receives the motor commands from the main processor. These commands are validated and finally send to the servomotors by RS485. The motor feedback is collected and send it back to the main processor. The data of servomotors are updated every 16.6 ms.
Robo-Erectus has five sensors: an USB camera to capture images, a tilt sensor to detect a fall, a compass to detect their direction, and two gyros to provide feedback during the locomotion. As mentioned earlier, the servomotors send back the feedback data i.e. angular positions, speed, voltage, and temperature. To communicate with its teammates, Robo-Erectus uses a wireless network. The WIFI interface is connected to the main processor. The connection of the main building blocks can be seen in Fig. 2.
Finally, Robo-Erectus is powered by two high-current Lithiumpolymer rechargeable batteries, which are located at the back of the body. Each battery cell have a weight of only 110g providing 12v which means about 15-20 minutes of operation.
Specifications of the boards
| Features | Main Processor | Sensor/Motor Processor |
|---|---|---|
| Processor | AMD LX800 | Dual PIC18F8720 |
| Speed | 500Mhz | 25Mhz |
| Memory | 1GB | 8KB |
| Storage | 4GB | 256KB |
| Interface | RS232, WIFI, USB | RS232, RS485 |
3 Software Specifications
REJr can be controlled using two platforms: PC-based control, Microcontrollerbased control. The first method is mainly used for development purposes whereas, the last one is for autonomous mode. This Section is dedicated to the collection of modules that provided the functionality of the system.
One of the key pieces of software is the operative system. Robo-Erectus's main processor runs Windows XP Embedded as operative system. Due to the limitations of the system the footprint of the Embedded XPe is very small, but yet powerful to permit to take all the advantages of this operative system, such as threading, networking, connectivity, and so forth. The functionality of Robo-Erectus is divided in several software modules, which are described in detail below.
3.1 Motion Control
Our team has studied different approaches to motion control, including kinematics, dynamics, fuzzy logic, neural networks and genetic algorithms [3, 4, 5]. How to generate a dynamically stable gait for the humanoid soccer robots with consideration of various constraints is still an important research topic in this area.
Our latest approach employs an Estimation of Distribution Algorithm EDA for gait optimization [6, 7]. This approach speeds up the searching in a highly dimensional coupling space constructed by the permutation of the optimization parameters to establish a periodic orbit in biped locomotion. Based on the maximum entropy principle, we also developed a Factorized Distribution Algorithm FDA based gait optimization method to better understand how information are transferred between these parameters so that we may progress toward better understanding human locomotion and extend the results to design of humanoid robots [5, 8].
We use the EDA and FDA have been successfully used to generate biped gaits that satisfy a criterion. The simulation results show that faster and more accurate searching can be achieved to generate preferable biped gait. The gaits have been efficiently used to drive the humanoid robot REJr-X1.
3.2 Image Processing
The main source of information about the environment for the robot is the camera. The camera is a webcam mounted on a pan-tilt system that allows the robot to scan 240◦ wide. The gaze control has been optimized by using an attention system that uses a fovea as main area. The computer vision software detects the ball, the goals, the corner poles, and other players based on their color in YUV space. Using a look-up table, the colours of individual pixels are classified into colour-classes that are described by YUV range of colours.
Each image line is scanned pixel by pixel. During the scan, each pixel is classified by color. A characteristic series of colors or a pattern of colors is an indication of an object of interest which has to been analyzed in more detail.
In a multistage process relevant coloured objects are detected (See Fig. 3). Then recognition algorithms for the most important features (lines, landmarks, and the ball) are applied. The position of each object is then estimated to an egocentric frame. The objects are also merged with previous observations, which are adjusted by a motion model when the robot is moving. This yields a robust egocentric world representation.
Some landmarks can be identified wrongly, such as the case of the lower part of corner beacon that can be misidentified with a goal of the same colour. These issues are solved by using recognition algorithm for detecting the goal, ball, lines, and corners. In addition the track of the previous observations provides a value of confidence about all these objets.
3.3 Behaviour Control
The module provides the control for the autonomous mode of the robot. A framework of hierarchical reactive behaviours is the core of this control module. This structure restricts interactions between the system variables and thus reduces the complexity [9]. The control of the behaviours happens in three layers: skill, reactive, and planning layer.
The skill layer controls the servo, monitors targets, actual positions, and motor duties. The skill layer receives actions from the reactive layer and convert them into motor commands. After performing the motor commands a feedback is sent back to the reactive layer.
The reactive layer implements the robot behaviours like walking, kicking, getting-up, and so forth. This layer determines the parameters for the behaviour and these parameters can adapt on time. This makes it possible to correct deviations in the actual data and to account for changes in the environment by using the sensor feedback. Each of these behaviours consists of several actions, which are sent to the skill layer. The selection of the behaviours depends on the desire task that the planning layer send. The behaviours in this layer are implemented as a subsumption architecture to enable the robot to satisfy the task while it can navigate safely in the environment.
The planning layer used the behaviours of the reactive layer to implement some soccer skills like approaching the ball, dribbling, attacking and defensive behaviors. The planning layer guide the robot to coordinate its efforts with the teammates to score goals and defend their goal. The behaviours at the planning layer are abstract goals. These abstract goals are passed to the reactive layer to be sent to the actuators.
3.4 Communication
Robo-Erectus is equipped with wireless network adapters. The robots communicate with each other to negotiate roles and to share perceptions. The wireless communication is also used to transmit information to an external computer for recording and visualization. The external computer also broadcast the state of the game e.g. kickoff, penalty.
3.5 In-House Development Tools
A suit of programs has been developed to ease the implementation of new technologies as well as for educational purposes. The PC platform control of the robot allows to perform from a single servo position to a full complex behaviour. The PC-based control system as shown in Fig. 4 is useful for tuning the gait movement of the robot. Any changes to the gait can be implemented and tested in short turnaround time. In addition, the data of each joint can be monitored and analyzed in real time. In order to be able to design behaviors without access to the real hardware, we implemented a physics-based simulator for the robots [10]. This simulation is based on the Open Dynamics Engine.
4 Conclusion
In this paper, we introduced the state-of-art of the Robo-Erectus Jr-X1 humanoid robot. REJr-X1 is a autonomous humanoid robot with a network of three CPUs, 21 degrees of freedom, and several kinds of sensors that serves as a platform of education, edutainment, and research issues. The latest version of the Robo-Erectus holds several advantages in contrast with the previous generations, i.e. faster, robust control, gait improvement, vision improvement. The new features prepare the Robo-Erectus for the 2009 RoboCup competition, not only for the 3 vs 3 Soccer Games but also for the Technical Challenge.
New development tools were conceived from the gained experience of the previous versions of the Robo-Erectus. In addition, the improvement in the robot platform allows a more robust and efficient performance of the robot in the autonomous mode. Research with this platform has lead to develop a new approach to optimization of walking gaits. Future work involves the improvement of the locomotion system.
Acknowledgements
The authors would like to thank staff and students at the Advanced Robotics and Intelligent Control Centre (ARICC) and higher management of Singapore Polytechnic for their support in the development of our humanoid robots.
References
[1] C. Zhou and P.K. Yue. Robo-Erectus: A low cost autonomous humanoid soccer robot. Advanced Robotics, 18(7):717–720, 2004. [2] H. Kitano and H. Asada. The robocup humanoid challenge as the millennium challenge for advanced robotics. Advanced Robotics, 13(8):723–736, 2000. [3] Z. Tang, C. Zhou, and Z. Sun. Gait synthesizing for humanoid penalty kicking. In Proc. 3rd International Conference on Engineering Applications and Computational Algorithms, pages 472–477, Ontario, Canada, 2003. [4] C. Zhou and Q. Meng. Dynamic balance of a biped robot using fuzzy reinforcement learning agents. Fuzzy Sets and Systems, 134(1):169–187, 2003. [5] L. Hu, C. Zhou, and Z. Sun. Biped gait optimization using spline function based probability model. In Proc. of IEEE Int. Conf. on Robotics and Automation, pages 830–835, Orlando, USA, May 2006. [6] L. Hu, C. Zhou, and Z. Sun. Estimating probability distribution with Qlearning for biped gait generation and optimization. In Proc. of IEEE Int. Conf. on Intelligent Robots and Systems, 2006. [7] L. Hu, C. Zhou, and Z. Sun. Hybrid estimation of distribution algorithm with application to biped gait generation. Information Sciences, 2006. [8] C. Zhou, L. Hu, C. Acosta, and P.K. Yue. Humanoid soccer gait generation and optimization using probability distribution mode. In Workshop on Humanoid Soccer Robots, Proc. on the IEEE International Conference on Humanoid Robots, Genoa, Italy, 2006. [9] Carlos Antonio Acosta Calderon, Changjiu Zhou, Pik Kong Yue, Mike Wong, and Mohan Rajesh Elara. A distributed embedded control architecture for humanoid soccer robots. In Proc. of Advances in Climbing and Walking Robots, pages 487–496, Singapore, July 2007. [10] Carlos Antonio Acosta Calderon, Rajesh Elara Mohan, and Changjiu Zhou. A humanoid robotic simulator with application to robocup,. In Proc. of IEEE Latin American Robotic Simposium, Mexico, November 2007.