FUmanoids Humanoid League - TeenSize Team Description Paper 2011
Hamid Reza Moballegh, Daniel Seifert, Steen Heinrich, Stefan Otte, Sebastian Mielke, Naja von Schmude, Thomas Weiÿgerber, Kenneth Würfel, Rico Jonschkowski, Johannes Kulick, Moritz Fröhlich, Jan Streckenbach, George Lubitz, Nico von Geyso, Michael Schubert, Fu Yao, Steen Puhlmann, Oscar Salvador Morillo Victoria, Lutz Freitag, Prof. Raúl Rojas
Institut für Informatik, Arbeitsgruppe Künstliche Intelligenz, Freie Universität Berlin, Arnimallee 7, 14195 Berlin, Germany
Abstract This document gives an overview of the FUmanoids Teen-Size team of humanoid robots. The FUmanoids team already successfully participated in the humanoid KidSize league for several years. For the upcoming RoboCup competition in 2011 the next step is being taken and a new humanoid robot in the TeenSize class is developed. It will feature a new design utilizing servos in the hip and gear belts to actuate the legs. Central processing, including machine vision, planning and control is performed using an ARM based platform. Behavioral algorithms are implemented using the Extensible Agent Behavior Specication Language (XABSL). This paper explains the software and hardware used for the robot.
1 Introduction
Humanoid robots have many potential applications, which make this area very attractive for researchers. However, many of the yet developed humanoids suer from over-designed and too complicated hardware and software which is still far from the human model. The FUmanoids project was started in 2006 in the Articial Intelligence group at Freie Universität Berlin, which had had a successful history in RoboCup for many years with the FU-Fighters team. In its rst year it has shown an excellent performance by winning the 3rd place in the humanoid league in kidsize class, presenting the lightest and the least expensive football playing robots in its class. This result was surpassed in 2009 and 2010 by winning second place with a new hard- and software design. Robots in the KidSize league are limited to 60cm in height. This size is a good compromise to evaluate e.g. humanoid walking and interaction with the environment. However for more real-world applicability and coming closer to the stated goal of RoboCup, larger robots must be constructed. These robots feature new challenges in design and control. We aim to construct a robot that is light-weight and robust, using a simple yet elegant design. The FUmanoids project is a step towards research and development of robots which oer more real human-interaction, can perform tasks in our environment and will be able to play an important role in our daily life.
2.1 Mechanical Structure
The actuators used in the FUmanoid robots are from the Dynamixel servomotor family produced by Robotis Inc. Korea. The motion mechanism consists of 17 degrees of freedom distributed in 5 per leg, 3 per arm and one degree of freedom moving the head horizontally.
Several approaches in leg construction have been evaluated. In gure 1 the model developed in 2009 is presented. The prototype is based on a life sized human skeleton.
Figure 2 shows the most recent prototype of the leg model. Using a new design the parallelity of the foot planes to the ground is guaranteed. Additionally the entire foot-lift movement of the hip-knee-ankle joints is provided using a single actuator. This solves the synchronisation problem usually observed in high speeds. It is also possible to apply elastic actuation to the joint to store the energy of the heel-to-ground impact and release it in the next step. This can help in implementing running-like motions. Another innovation applied in the mechanical design of the robot is to shift the weight distribution of the leg actuators towards the hip to increase the response time of the legs. This is a key feature to stabilize the walking/running motion. Eorts have been made to hold the proportions as human-like as possible. Table 1 illustrates the physical measurements of the robot. To facilitate exchange of the players, all robots use mechanically the same structure.
Table 1. Physical measurements of the robot
| Quantity | Value | Unit |
|---|---|---|
| Overall Height | 80 | cm |
| COM Height | 50 | cm |
| Weight | 3200 | g |
| Leg Length | 33 | cm |
| Foot Area | 204 | cm2 |
| Arm Length | 40 | cm |
| Head Length | 15 | cm |
2.2 Actuators
The actuators used in the FUmanoid robots are Dynamixel RX-28 and Dynamixel RX-64 servomotors, produced by Robotis Inc. Each actuator has its own microcontroller which implements adjustable position control. It also calculates many other parameters such as rotation speed and motor load which can be accessed through a single-bus, high-speed serial communication protocol. This facilitates the construction of an extendable network of motors which can be individually accessed and controlled by a single microprocessor. The parameters of the actuators used in FUmanoid robots are summarized in table 2.
Table 2. Characteristics of the servomotors used
| Weight g | Gear Ratio | Max Torque kgf.cm | Speed sec/60° | Resolution degrees | |||
|---|---|---|---|---|---|---|---|
| RX-64 | 125 | 1 : 200 | 64.4(@15V) | 0.188 | 0.35 | ||
| RX-28 | 72 | 1 : 193 | 28.3(@12V) | 0.167 | 0.35 |
2.3 Sensors
Due to the single bus structure, almost every type of sensor can be easily integrated with the hardware. The robot is equipped with the following sensors:
Actuator feedback: The feedback of the actuators includes the current joint angle, the current motor speed, and the load. Because all of these values are derived from the only feedback sensor of the actuators (the position potentiometer), the latter two values are less reliable. There are also other measured values which can be accessed through the Dynamixel serial interface, such as supplied voltage and temperature, which can be used for safety purposes. Joint position measurement is very helpful in stable gait generation for the robots.
Ground contact sensors: Ground contact sensors are used to synchronize the walking with the mechanical properties of the robot. This includes heel strike trigger and measurement of the center of pressure. An analog sensor is developed, which contains four common load cells. It is integrated in the foot planes of the robots.
IMU sensor: An IMU is used in the robots for two purposes, rst to help stabilization of walking and second to calculate camera perspective in order to obtain localization data.
Visual feedback: The robot is equipped with one camera [4] which can cover a full range of 180 x 90 degrees.
Each hardware unit has a unique ID for packet identication. A broadcasting ID can be used to send the same data packet to all existing units on the bus.
2.4 Processors and communications
Each robot is equipped with two computation units.
The main computational unit is an IGEPv2 board featuring the DM3730 processor running at 1 GHz. This CPU is from the ARM Cortex A8 family and includes a DSP that can be used for additional computing. The IGEPv2 motherboard has several interesting features which make it ideal as a brain for humanoid robots. These include low weight and power consumption, direct camera connection and easy extension for a variety of devices. The board also supports Wireless LAN which is used for team communication.
For communication with the hardware units, namely motors and sensors, a microcontroller is used that serves as a preprocessing and optionally stand-alone motor control unit. Data can be requested from the main unit and actions, e.g. movements of the robot, triggered via a dedicated serial connection.
3 Software Design
Fig. 3 shows the block diagram of the software which runs on the robot. The software is mostly identical to the one used on our kid-size robots [?]. The main blocks of the program are:
Hardware Interface: The Hardware interface contains all low level routines to access hardware of the robot including sensors and actuators.
Vision and Localization: Contains camera handling and image processing algorithms. The vision system has a hierarchical structure and is modularized to deal easily with changes of the used algorithms or approaches. In the lowest level the access on the pixel data and gradient information is provided. This information is used by the edge extraction layer which analyses the image for good edges. In the highest level the object detection takes place. The detection layer uses the edges as well as color information on both sides of the edges (e.g. the ball needs red-green or red-white classied edges) for classication. Every layer could be replaced if the interfaces would be respected.
Self localization is done using particle ltering. The particles are evaluated and distributed using the vision information; mainly the structure of the eldlines and the static objects like goals are taken into account. Particles are also updated using the motion model of the robot and the viewing angle provided by the IMU.
Network: The network is mainly responsible for the wireless communication of the robot with the other robots and the referee box. This is done via WLAN. The robots exchange their world models via the network.
World Model: The Worldmodel consists of separated representations of real world objects, providing the information needed by the behavior layer, the localization routines and the debugging tools. Its architecture is made up of a class model, which is based on a simplied world view. Doing so, we avoid redundant code and we maximize the usability.
As a part of the Worlmodel, the Ballmodel slots in that architecture. Using a lter-based algorithm we try to estimate the ball position and, given a shot, the ball's target position. The Ballmodel enters several parameters (i.e. quality of self-localization, distance to the ball) into that equation.
Behavior Control: The Behavior Control only uses data from the Worldmodel to plan and control the behavior of the robots. In previous years the Behavior Control was based on a multi-layer structure called CSBP and implemented in C++. In 2010 this system has been replaced by dening hierarchical nite state machines in The Extensible Agent Behavior Description Language (XABSL).
Motion Layer: The Motion Layer performs all motions of the robot. It distinguishes between so called static motions and dynamic motions.
Static motions are an open-loop system realised with the key-frame-technique. They are suited for simple motions.
In contrast dynamic motions are a closed-loop-system which allow very advanced motions like walking (see section 4).
4 Stabilization and Control
Stabilizing humanoid robots is a challenging subject which has attracted many researchers who have developed widely varying techniques. These techniques range from static COM methods to dynamic nonlinear control methods using multi-DOF of under-actuated inverted pendulum models. A dierent approach was developed for the biped walking stability problem by McGeer, who pioneered the idea of passive dynamic walking [6]. This approach which is both simple and direct has been followed by Collins, Wisse and Ruina and has been improved with dierent techniques to obtain remarkable 3D walking stability and speed [3].
Both 2D and 3D passive dynamic walkers receive their energy from changes in height of their COM as they walk down a shallow heel. Therefore the original passive walking is not suited to applications such as football playing in which the robot should not only walk on a level surface but also change its velocity and direction very often. To solve this problem, further research has presented several methods of pumping energy into a passive walker such as torso control [5], active toes [2] and virtual gravity [1].
The aim of our biped walking research is to develop a walking technique which uses very limited sensory data (i.e. only joint angle and phase reset of the step) and provides stability over a wide range of velocities. To examine the present solutions and to be also able to study new ideas, a simplied model of the robot has been simulated with ODE1 and its walking stability has been tested in simulations. Using this simulator, some new techniques have been introduced to improve walking stability and to control the walker.
However implementing the simulated control ideas in a real robot is as di cult as re-doing the whole work despite of the simulated results. This is because of the vast dierence between the simulated and the real platform. Actuators used in most of the humanoid platforms are servomotors, which have normally a high grade of damping regarding the gear reduction ratio and have also strong limits in their maximum speed and/or applied torque. This is very disadvantageous as the energy of the COM is of great importance in passive dynamic walking. A direct torque control is also provided by almost none of the commercially available servomotors.
To have the passive walking controlled and supplied from the robot's own energy, one should be able to either switch the actuators to act as passive free running and active in dierent walking phases or to decrease the stiness of the servos and use them in a mixed way both as sensors and actuators.
Furthermore a kinematic module with complete forward and inverse kinematic was introduced in 2010. The forward kinematic (based on the Denavit-Hartenberg convention) is used to improve the odometry of the robot and the pose determination for the camera which improves the self localization of the robot. The inverse kinematic allows to dene motions like walking or kicking in an easier way. Also it is more precise than the method used in earlier versions of the robot.
References
- F. Asano, M. Yamakita: Virtual Gravity and Coupling Control for Robotic Gait Synthesis. In: IEEE Trans. on Systems, Man and Cybernetics, Part A: Systems and Humans, Vol. 31, No. 6, pp. 737-745, November 2001.
- S. Behnke, J. Müller, M. Schreiber: Toni: A Soccer Playing Humanoid Robot. In: RoboCup 2005: 59-704.
- S. H. Collins, M. Wisse, A. Ruina: A Three-Dimensional Passive-Dynamic Walking Robot with Two Legs and Knees, Collins, In: International Journal of Robotics Research, Vol. 20, No. 2, Pages 607-615, 2001
- B. Fischer, H. Moballegh, R. Rojas: Low Cost Synchronized Stereo Aquisition System for Single Port Camera Controllers; 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems, October 18-22, 2010, Taipei International Convention Center, Taipei, Taiwan
- M. Haruna, M. Ogino, K. Hosoda, A. Minour: Yet another humanoid walking Passive dynamic walking with torso under a simple control In: Int. Conference on intelligent robots and system, 2001
- T. McGeer: Passive dynamic walking. In: International Journal of Robotics Research 9(2):62-82. 1990.
- H. Moballegh, M. Mohajer, R. Rojas: Increasing foot clearance in biped walking: Independence of body vibration amplitude from foot clearance. In: L. Iocchi, H. Matsubara, A. Weitzenfeld, C. Zhou, editors, RoboCup 2008: Robot Soccer World Cup XII, LNCS. Springer, 2008.
- D. Seifert, H. Moballegh, et al: FUmanoids Team Description Paper 2011 (Kid-Size)