MRL Team Description Paper for Humanoid KidSize League of RoboCup 2012
Mostafa E. Salehi, Meisam Teimouri, Mojtaba Ghanbari, M. Reza Najafipour, Reza Safdari
Mechatronics Research Lab, Dept. of Computer and Electrical Engineering, Qazvin Islamic Azad University, Qazvin, Iran
http://mrl.ir/index.php/humanoid
Abstract This paper presents the specifications of the hardware and software of MRL kidsize humanoid robot system which contains different parts including vision, stabilization, walking control, autonomous robot motion, self localization, planning, communication, and modular software architecture. MRL humanoid team is developed under the RoboCup 2012 rules to participate in the soccer kidsize humanoid league competition in Mexico City. Modular software architecture has been developed for effective implementation of modules for sensing, planning, behavior, and actions of humanoid robots. The robot has two control boards. One for walking control and the other performs image recognition, planning, and control by exploiting an embedded PC board. Our robots also have wireless LAN interface to send data including measured positions and status to other robots.
Introduction
RoboCup uses soccer as a topic of research to develop a team of humanoid robots that can win the human world champion soccer team in 2050. In the Humanoid League, fully autonomous robots with a human-like body and senses play soccer against each other and meanwhile handle the technical challenges such as dynamic walking, running, kicking the ball, visual perception of the ball, players, and the field, and self-localization. The RoboCup scenario of soccer playing robots represents a challenge for design, control, stability, and behavior of autonomous humanoid robots. In a game, fast goal oriented motions must be planned autonomously while preserving the robot's stability in real-time against the quickly changing conditions.
The MRL project was started in 2003 in the Mechatronics Research Laboratory in Islamic Azad University, Qazvin branch looking onward to enhance our knowledge in robotics and develop a humanoid platform for research and education. Our research center has the honor to hold the RoboCup IranOpen from 2003 to 2012. MRL has nine qualified teams and has had a successful history in RoboCup for many years. Since we are looking onward for new challenges to enhance our knowledge, we have decided to participate in the soccer kidsize humanoid league. Our humanoid soccer playing team is a step towards research and development of robots which offer more real human-interaction. MRL is one of the developing soccer-playing humanoid robots in the RoboCup Humanoid League and have participated in RoboCup and IranOpen Humanoid League in 2011.
As we attend the kidsize humanoid league for the second year, we need to make a solid knowledge background. Therefore, our mission is to fulfill 3 fields of study in terms of motion control, vision, and artificial intelligence. The first part is to study the humanoid robots movement with 20 servo motors by determining how to balance the robot and control its orientation. The other part is to design and develop an embedded platform which is placed at the chest of robot to process digital image and interpret data from the vision system. The remaining study is to improve our knowledge and experience in developing different algorithms. MRL commits to participate in RoboCup 2012 in Mexico City with further enhanced hardware and software based on the achievements of previous year and to introduce a referee familiar with the rules of the Humanoid League.
MRL Humanoid Kid Size team consists of one Ph.D., seven graduate, and eight undergraduate students from software, hardware, electronics, and mechatronics. The other team members are: Masoud Talebzadeh, Farid Alibakhshi, Mohammad Aghaabasloo, Alireza Tabaie, Amir Salimi, Human Heidari, Farhad Mortezapour, Sina Morshedi, Bahareh Foroughi, Saeed Bastami, and Ehsan Zohrevand.
Overview of the System
We have used both DARwIn-OP (Dynamic Anthropomorphic Robot with Intelligence Open Platform) [1] and the comprehensive kit robot of Bioloid [2] in our soccer playing team for RoboCup2012. The kinematic structure with 20 DoF can be seen in Fig.1. The actuators used in our robots are the Dynamixel AX12 and MX28 servo motors. The motion mechanism consists of 20 degrees of freedom distributed in six per leg, three per arm and two degree of freedom moving the neck horizontal and vertical. Physical specification of the robot is illustrated in Table 1. Our developments for the kidsize humanoid robot include the design and construction of modular software architecture based on the Upenn RoboCup released code [3]. The project is described in two main parts: hardware and software. The software contains robot applications including autonomous motion and walking controller, self-localization base on vision, planning, and communication. The hardware consists of the mechanical structure and the driver circuit board. Each robot is able to detect the ball and goal by scanning the field, walk towards the ball, and kick when it catches the ball. The project is still in progress and some developed methods are described in the current report.
Bioloid is equipped with an A4Tech webcam camera and distributed computing hardware, consisting of a controller-board for motion-generation and stability control and an embedded PC board for all other functions. The PC board as the main CPU board supports planning and vision and consists of a RoBoard RB-110 [4] based on Vortex86DX a 32bit x86 CPU running at 1GHz with 256MB DRAM. The CPU board is a standard embedded system with Ubuntu operating system. For motion stabilization a 3-Axis Accelerometer, 3-Axis RS485-compatible Gyro, and force sensitive resistors (FSR) sensors are used. The robot also contains 20 AX12 servo motors and batteries.
Our robot system consists of a USB camera, two processing embedded systems, gyro and acceleration sensors, servo motors, batteries and some user interfaces such as switch and LED. Images are captured by the USB camera, the camera sends image signal to the main CPU board. The CPU processes the image data to detect positions of ball, goal, other robots and landmarks by color-based image processing. A particle filter is employed to localize the robot in the soccer field by landmark observation. We also have implemented a wireless communication between the robots. We exploit the vision and network data to selects the next behavior of the robot according to the robot role and the priority of the behaviors. The defined behaviors are composed of simple motions to support complex tasks such as ball perception, going to the target, and …. The behaviors which we can choose are not only just simple moving, but also complex task like following ball. Several pre-defined behaviors such as walk and kick are stored in the controller board, and the commands are sent to controller via serial port. The action command of each motion is sent to the controller board which decodes and executes the command and sometimes returns the status data to the main CPU. If the command is a kind of moving the body or checking a status, the controller sends a command to servo motor via serial interface. Each servo motor has its own CPU to control motor and receive/send commands. The command includes the ID number of the motors and is sent to all servo motor. If the command is related to servo motor, it decodes and executes the command.
Table 1. Physical measurements of the robots.
| DARwIn | Bioloid | ||||
|---|---|---|---|---|---|
| Height: | 45.5 cm | Height: | 42.2 cm | ||
| Weight: | 2.8 Kg | Weight: | 2.16 Kg | ||
| Walking Speed: | 24 cm/s | Walking Speed: | 10c m/s | ||
| Degrees of freedom: | 20 in total | Degrees of freedom: | 20 in total | ||
| Servo motors: | 20 MX-28 | Servo motors: | 20 AX-12 | ||
| Sensors: | Touch sensor, IMU | Sensors: | ITG-3200, ADXL330, and FSR | ||
| Embedded PC board: | Fit-PC2i | Embedded PC board: | RoBoard RB-100 |
Gait and Motion Control
Stabilizing humanoid robots is a challenging subject which has attracted many researchers and one of the significant features of each robot is its mobility and stability. For DARwIn we use its motion engines and in our Bioloid robot, we have generated both online and offline robot gaits. Offline gaits are such as kicking, standing up from fall and other common motion. For online gait generation, for example, we use the data of the vision to find the ball position and turn the neck to locate the ball in the center of the image in real-time. For offline motions we use robot position frames which are defined by joint positions and then implementing inverse kinematic to convert from observed positions to obtain a set of robot joint angles. Through inverse kinematics and a trial and error process, we have found the proper angles to walk speedily and robustly. The maximum speed of DARwIn and Bioloid are 24 and 10cm/s respectively. Stability control is based on the robot's gyroscope and acceleration sensors and the controller receives data from these sensors via A/D converter. According to these data, the robot detects a fall and prevents fall. The robot does not fall practically; however, when the robot falls because of other robots pushing, it detects the fall and stand up smoothly. The robot can stand up from lying on its back or its front side. For intensifying the robustness and stability, the robot must adapt itself to external disturbances. We have designed the sensor boards for accelerometer (ADXL330 [5]), gyroscope (ITG3200 [6]), and force sensitive resistors (FSR [7]) sensors and have placed them in Bioloid body.
Software Architecture
In our software hierarchy the information processing is distributed into multi layers. The lowest layer of computation (infrastructure) is performed in each of the 20 servo motors. Every servo motor is equipped with a microcontroller for position and velocity control. Hard real-time tasks like motion generation and stability control are executed on the controller board and high level control like AI, vision, world modeling, behavior control, and team coordination is executed on main CPU. Fig.4 shows the block diagram of the software architecture which runs on the robot's main CPU. The main blocks of the program are:
Infrastructure: Contains all low level routines for accessing sensors and actuators.
Vision engine: Contains camera direction control and image processing algorithms such as object detection and position estimation.
World model: The world model consists of a set of models which are updated using the information from the vision, and gathered data form perception layer and network (communication) module. A model is defined for almost every object. A selected subset of information from the models is exchanged between all robots of the team via wireless LAN.
Motion control. The current motion module is mainly used to calculate walking trajectories (see Sect. 3) and to control the neck joints with two DoF. The control of the other joints in the arms aims to improve stability during walking and kicking.
Behavior engine: The data provided by the world model is used to control more complex behaviors required for playing soccer autonomously. The main task is decomposed into subtasks until they can be described as a set of atomic motions which can be executed by servo motors. The atomic motion actions are transferred to and interpreted by the motion module.
AI engine: Planning system of the robot is based on a multi-layer structure. The layers are named AI, Role, Behavior and Motion. Each layer contains a scenario which runs in parallel with the scenarios in the other layers. A decision in a higher level can terminate and change the scenario running in lower level.
Communication: Mainly responsible for the wireless communication of the robot with the other robots or the referee box via WLAN.
Image Processing
Vision is one of the crucial interfaces for robots to observe the outside world and realize situations and conditions [8]. The main vision sensor is a camera that is located in the robot's head. This camera model of DARwIn is Logitech c905 that uses USB2 connection with 2 Megapixel 640 x 480 resolutions (up to 1600x1200, 10fps or 1280x720, 30fps) in YUYV color space capturing 30 frames per second. For Bioloid we use one A4Tech camera as an image capture device and our vision algorithms are mainly based on colors and the images at resolution 640 x 480 in RGB format are processed 30 frames per second. We use color base labeling by lookup table to detect objects in the field. Using a look-up table, the colors of individual pixels are classified into color-classes that are described by YUV range of colors. We have explored different scan algorithms to perform an image scan which classifies different colors in various execution times and different accuracies. Our vision algorithms are mainly divided in two parts: high- and low-level vision algorithms. High-level algorithms use the outputs of the low level image processing for object detection. Thus main decisions based on robots vision are located in high level exploiting low-level c++ algorithms responsible for color labeling, line scanning and segmentation. Finally, high level algorithms update the share memory for using localization and world modeling. Self-localization is done using particle filtering. The particles are evaluated and distributed using the vision information. Fig. 2 shows the block diagram of vision and localization.
Self Localization
Estimating the robot pose in the field of play is one of the most relevant problems for soccer playing humanoid robots. The interaction between the robots and the environment, along with the presence of noisy sensors make the problem even more complicated. In recent years Monte Carlo Localization (MCL) [9], has been the standard approach for localization problem. Most of the MCL implementations face kidnap problem. In our base code the MCL has been used for localization, which always applies fixed number of particles which is not so efficient. Despite the algorithms based on constant and fixed number of particles for estimating the robot pose, we used a state-driven Monte Carlo localization (SDMCL) [10] method which use dynamic particle set size and can be more efficient.
In SDMCL, localization process is divided into two states: global localization and local tracking. The size of particles in localization state is much larger than that of tracking states. To determine the states, SDMCL uses two feature variables Focus and Near. Focus shows how well the particles are converged and Near determines the nearness of particle set to the real pose of the robot. When the particles are converged enough (Focus=Y) and there is some particle near to the real pose of the robot (Near=+1) we switch to local tracking state. SDMCL uses 6 tokens for localization contains two landmark poles and two poles for each. In comparison with SDMCL, we use lines and center circle tokens in addition to the specified tokens in SDMCL. Fig. 3 shows the entire process of our localization method. We plan to use the Kalman filter in local tracking states in the future to reduce time complexity.
References
- DARwIN OP, http://www.romela.org/main/DARwIn\_OP:\_Open\_Platform\_ Humanoid_Robot_for_Research_and_Education, retrieved Jan 2012.
- Bioloid Comprehensive Kit available online: http://www.trossenrobotics.com/bioloidcomprehensive-robot-kit.aspx.
- Upenn RoboCup: Code, available online: https://fling.seas.upenn.edu/~robocup/ wiki/index.php?n=Main.Code, retrieved Jan 2012.
- RoBoard RB-110 Single Board Computer, available online: http://www.robotshop.com/roboard-rb-110-single-board-computer.html.
- ADXL330, datasheet, available online: www.alldatasheet.com
- ITG3200, datasheet, available online: www.invensense.com
- FSR an Overview of the technology, datasheet, www.Techstorm.co.kr
- Rafael C. Gonzales and Richard E. Woods, Digital Image Processing, Prentice Hall, 2001.
- Sebastian THRUN, Wolfram BURGARD, and Dieter FOX, PROBABILISTIC ROBOTICS, MIT Press, 2005.
- Wei Hong, Changjiu Zhou and Yantao Tian, Robust Monte Carlo Localization For Humanoid Soccer Robot, IEEE/ASME International Conference on Advanced Intelligent Mechatronics Suntec Convention and Exhibition Center Singapore, July 14-17, 2009.