FUmanoid Team Description 2009

Hamid Reza Moballegh, Gretta Hohl, Tim Landgraf, Bennet Fischer, Tobias Langner, Torsten Fassbender, Stefan Otte, Kai Stoll, Alexej Tuchscherer, Daniel Steig, Steffen Heinrich, Sebastian Mielke, Daniel Seifert, Mariusz Kukulski, Björn Kahlert, Raúl Rojas

Institut für Informatik, Arbeitsgruppe Künstliche Intelligenz, Freie Universität Berlin, Takustr.9, 14195 Berlin, Germany

http://fumanoid.mi.fu-berlin.de


Abstract This document describes hardware and software of the robots developed by the "FUmanoid" Team for the RoboCup competitions to be held in Graz, Austria 2009. The robot has 22 actuated degrees of freedom based on Dynamixel RX28, and RX64 servos. Central Processing, including Machine vision, Planning and control is performed using a Gumstix Verdex 6LP which is an ARM based 600MHz platform. Planning algorithms are organized in a new structure called Concurrent Scenario based Planning (CSBP). This paper explains the software and hardware used for the robot as well as control and stabilization methods developed by our team.

1. Introduction

Humanoid robots have many potential applications, which make this area very attractive for researchers. However many of the yet developed humanoids suffer from over-designed and too complicated hardware and software which is still far from the human model.

The FUmanoid team was started in 2006 in the Artificial Intelligence group at Freie Universität Berlin, which has had a successful and long history in RoboCup with the FU-Fighters team. The team has shown an excellent performance in its first year of activity by winning the 3rd place of the world RoboCup humanoid league in kid-size class, presenting the lightest and the least expensive football playing robots in their class. This is achieved by advancing several solutions in the areas of hardware and software, which will be explained briefly in this paper.

The FUmanoid project is a step towards research and development of robots which offer more real human-interaction, can perform tasks in our environment and will be able to play important roles in our daily life.

2. Hardware Design

(Section content follows in subsections)

2.1. Mechanical Structure

The actuators used in the FUmanoid robots is the Dynamixel servo motor family produced by Robotis Inc. Korea. The motion mechanism consists of 22 degrees of freedom distributed in 7 per leg, 3 per arm and other two degrees of freedom as a pantilt system holding the head.

Fig.1 shows one of the constructions used for the motion mechanism of the robots. Knee joints are considered to bend in both directions which help faster response of the robot in backward walking. Efforts have been made to hold the proportions as much as possible human like. Table1 illustrates the physical measurements of the robot. To facilitate exchange of the players, all robots use mechanically the same structure.

Fig. 1. Mechanical construction of the Robots
Fig. 1. Mechanical construction of the Robots

Table 1. Physical measurements of the robot

Quantity Value Unit
Overall Height 60 cm
COM Height 45 cm
Weight 4320 G
Leg Length 33 cm
Foot Area 120 cm²
Arm Length 25 cm
Head Length 10 cm

2.2. Actuators

The actuators used in FUmanoid robots are "Dynamixel AX-28" and "Dynamixel RX-64" servomotors, produced by Robotis Inc. Each actuator has its own microcontroller which implements adjustable position control using potentiometer position feedback. 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 in FUmanoid Robots

Weight Gear Ratio Max Torque Speed Resolution
g kgf.cm sec/60º degrees
Dynamixel AX-64 125 1 : 200 64.4(@15V) 0.188 0.35
Dynamixel 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 sensors can be easily integrated with the hardware. The robot is equipped with following sensors:

Compass

To accelerate self localization, a compass module is developed which is connected to the system bus and obtains the direction of the robot. However the measurements are subject to error und non-linearization due to magnetic fields present on the robots. These can be back calibrated to some extent, however the results should be improved using other sensors, i.e. vision based self localization.

Pressure sensors

Measurements form pressure sensors are used as a feedback to synchronize the walking with the mechanical properties of the robot and also to stabilize dynamic motions such as kick and standup.

Accelerometer/Tilt sensor

A 3 axis accelerometer is connected to the bus. It is usually used to measure the direction of the gravitation vector. This measurement can be then used either to detect a fall down or to stabilize the robot in motions such as walking or kick.

Actuator feedback

The feedback of the actuators includes the current joint angle, the current motor speed, and the load. Because all of this 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 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.

Visual feedback

The robot is equipped with 3 cameras which can cover a full range of 180 x 90 degrees. Two cameras are multiplexed and connected directly to the Quick Capture interface of the CPU. These cameras have a horizontal overlapping region of 60 degrees this feature is additionally used by a stereo vision algorithm for measurement of camera tilt and also distance of partially observed obstacles.

The third camera is connected through USB and is used for recognition of near objects.

2.4. Processors and communications

Each Robot has a Gumstix verdex pro XL6P on board. The Processor is a Marvell® PXA270 with XScale™ running at 600MHz. The gumstix 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. All hardware units including motors and sensors are connected to the main processor via an RS485 bus. Each unit has a unique ID for packet identification. A broadcasting ID can be used to send the same data packet to all existing units on the bus.

3. Software Design

Fig.3 shows the block diagram of the software which runs in the robot's main processor. The program consists of 4 main blocks:

  • Hardware Interface: Contains all low level routines to access hardware of the robot including sensors and actuators.
  • Vision: Contains image processing algorithms such as recognition of landmarks and other object. Self localization is done using particle filtering. Particles are scored by comparing a simulated image from each particle with the current frame captured by camera. Using "Sampling-Importance Resampling" method, a new distribution of the particles is created after each step. Particles are also updated using a motion model. Final distribution of the particles converges to the real pose of the robot.
  • Planning: Planning system of the robot is based on a multi layer, and multi thread structure. The layers are named Strategy, Role, Behavior and Motion. Each layer contains a Scenario which runs in parallel with the scenarios in the other layers. A scenario in a higher level can terminate and change the scenario running in the lower level; however it is usually done in synchronization with the lower level scenario to avoid conflicts and instabilities. (such as stopping the walking motion while one of the feet is still in the air).
  • Network: Mainly responsible for the wireless communication of the robot with the other robots or the referee box. This is done via WLAN.
Fig. 2. Structure of the control software
Fig. 2. Structure of the control software

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 simple and static COG methods to poorly dynamic nonlinear control methods using multi-DOF underactuated inverted pendulum models. A novel approach was developed for the biped walking stability problem by McGeer, who pioneered the idea of passive dynamic walking [2]. This approach which is both simple and direct has been followed by Collins, Wisse and Ruina and has been improved with different techniques to obtain 3D walking stability [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 researches have presented several methods of pumping energy into a passive walker such as torso control [4], active toes [5] and virtual gravity [6].

The aim of our biped walking research is to develop a walking technique which uses few sensory data (i.e. only joint angle data) and provides stability over a wide range of velocities. To examine the present solutions and be also able to study new ideas, a simplified model of the robot has been simulated with ODE 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 difficult as re-doing the whole work despite of the simulated results. This is because of the vast difference 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 centre of mass is of great importance in passive dynamic walking. A direct torque control is also provided by almost none of the commercially available servomotors.

As a test, the friction of the ankle actuators of each foot was reduced by removing a gear from each, so that they could only function as low friction joints with position sensors, the data derived from this sensors are then used in the control program which finds the stance foot at each step and controls all active actuators regarding to the stance angle. The robot has been able to walk several steps on a slope.

To have the passive walking controlled and supplied from own energy of the robot, one should be able either to switch the actuators to act as passive free running and active in different walking phases or to decrease the stiffness of the servos and use them in a mixed way both as sensors and actuators. Using the later technique, stable walking at velocities up to 40cm/s has been achieved.

Because several other necessary behaviors of the robot are fully active and mostly semi-static, a key-frame interpolator is developed and used to generate stable trajectories for different behaviors. This unit together with the walk controller forms the so called "Motion Engine".

References

  1. 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.
  2. McGeer, T. Passive dynamic walking. In: International Journal of Robotics Research 9(2):62–82. 1990.
  3. S. H., Wisse, M., Ruina, A. 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
  4. Haruna, M., Ogino, M., Hosoda, K. and Minour, A., Yet another humanoid walking Passive dynamic walking with torso under a simple control In: Int. Conference on intelligent robots and system, 2001
  5. Sven Behnke, Jürgen Müller, Michael Schreiber: Toni: A Soccer Playing Humanoid Robot. In: RoboCup 2005: 59-704.
  6. Asano F. and Yamakita M. 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.
  7. Erik V. Cuevas, Daniel Zaldívar, and Raúl Rojas: Incremental fuzzy control for a biped robot balance. In: International Conference on Robotics and Applications 2005, October 31 - November 2, 2005 Cambridge, USA
  8. Eric V. Cuevas, Daniel Zaldívar, and Raúl Rojas: Dynamic Control Algorithm for a Biped Robot. In: 7th International Conference on Control and Applications, Cancún, Mexico, May 18-20, 2005.
  9. RoboCup Humanoid Team of the Freie Universität Berlin, http://fumanoid.mi.fu-berlin.de/