EO (Lat.: "I walk") - bipedal humanoid robot
EO (Lat.: I walk) is a bipedal humanoid robot whose ambulating and learning principles arise directly from nature. After a biologically-inspired walking approach was successfully implemented and verified in our eight-legged robot SCORPION, we now attempt to determine how far it is possible and suitable to port this approach to a humanoid robot platform and what new concepts could be applied. Especially regarding the task-learning ability of the robot, we intend to combine approaches inspired by biology.
Our aim in this humanoid robot is to achieve dynamic walking by applying reliable biologically-inspired concepts for the ambulation, that according to our former research in the 'SCORPION' robot, turned out to be rather simple in terms of computational effort but provided outstanding results. In vertebrates, low-level locomotion patterns like walking, crawling or swimming are controlled by Central Pattern Generators (CPGs) most likely found in the spinal cord. These sets of neurons are able to create a rhythmic motion without the intervention of consciousness or any sensory feedback. Especially in higher vertebrates this is used for controlling the posture and balance. This CPG approach was implemented in the 'SCORPION' in the form of rhythmic motion behaviours (RMBs), which describe the trajectories for each joint. This implementation, together with a reflex system implementation in order to deal with external disturbances, allowed robust walking on rough and uneven terrain. In contrast to standard kinematic models (used in industrial robots, but not suitable for walking robots due to their high number of degrees of freedom and unpredictability of their environment), this solution has proven to be very attractive for autonomous robots, because of its simple implementation.
In the procedure of acquiring competences to interact with the
environment, that is, in the task-learning and acquisition of new
behaviours process, we are inspired from biological systems and will
examine and ascertain some physical implementation options of these
concepts. We will differenciate between the states of 'Awake' and
'Sleep' for the robot and applying current hypothesis on sleep
functions in humans, we will use these phases to process, reorganise
and discard information from the real-time data acquired after
interacting with the environment, in order to develop and optimise
final behaviours during 'inactive' phases. We are going to investigate
and propose new hardware implementations of these ideas using an
'on-the-fly' reconfiguration of the physical device where behaviours
will be programmed: an FPGA, a digital programmable device. This task
has to be autonomous and might be performed by the robot during
battery recharge phases. We will also utilise a DynaQ-Learning
algorithm to deal with the real-time acquisition and learning of new
behaviours, where simulations of an internal model will be carried out
at run-time, together with real interaction with the environment, to
speed up the process of learning and minimise damages to the robot.
'EO' is a medium-size robot of currently 77 cm. At the moment it
possesses 20 degrees of freedom (DOF): four on each arm, four on each
leg, two on the head and two on the hip. The actuators are DC motors
coupled with high-ratio gears to achieve the required torques. The
trunk holds the main electronics named 'Bremen Board', which is
composed of three boards: the Microcontroller Board, the FPGA Board
and the Carrier Board.
Furthermore, five Motor Boards are distributed along the body. These boards are capable of driving four DC Motors of up to 5 A each. Besides, they are able to read information from the motors (position, current or encoder values) and pressure, force or torques signals from sensors connected to the boards. The microcontroller supports up to eight of these Motor/Sensor Boards, since it is possible to manage up to 32 DC motors at a time. To minimise the cabling, the connection between the Motor Boards and the 'Bremen Board' was done by using a Low Voltage Differential Signaling (LVDS) bus.
Regarding the exteroceptive sensor equipment, 'EO' will observe its environment by using ultrasound and infrared sensors at the first stage. A camera placed in the head and other sensors (e.g. for sensing external forces) will follow in a near future. Orientation will be possible with an external compass. Additionally accelerometers are incorporated and by integration of the signals coming from them, we will also obtain the body's linear velocity. There are also two gyroscope sensors to measure the angular velocity in two different axes thus providing the orientation of the body when the output signals are integrated. Each motor is also equipped with a potentiometer to determine the joint angles.
Portation and adaptation of the concepts described in our former robot 'SCORPION' shall provide 'EO' with fast response reflexes to deal with external perturbations and enable it to maintain balance at all time. Our software approach has two main points: on the one hand, a fast-response low-level circuitry to control the motors without disturbing the main microcontroller. That is the function of the FPGA implementation. On the other hand it is necessary to deal with all the signal processing from exteroceptive sensors that do not need that fast response, but only serve to create a 'model' of the environment in which the robot is operating, in order to apply the correct behaviour. This function has to be provided by the MPC565 microcontroller and Carrier Board.
'EO' will use the mentioned principles to create its ambulation patterns: a low-level implementation of CPGs within the FPGA design will provide a considerably reduction of time lag between sensing, signal generation and reacting, while an advanced control level (the microcontroller design) will take care of posture, balance and sending command signals to the lower control levels. The desired motion will be achieved by activating a single CPG with specific parameters or by combining several CPG outputs to a motion behaviour. The final motion pattern will then finally be transmitted to the motors as a pulse width modulated (PWM) signal. That is to say, the microcontroller will act as some kind of 'brain' or as a cerebelum and the FPGA will act as a 'spinal cord', generating the rhythmic motion by itself but being driven by commands from the 'brain'.
The future plans for the implementation of the task-learning process of our humanoid are inspired from the sleep and awake functions seen in mammals and also humans. We want to use these concepts to learn and adapt new behaviours, in close relation with the reconfiguration possibilities of the hardware. When learning how to grasp objects, how to sit down on a chair or how to grab a doorknob to open a door the robot will attempt to manipulate them and try to determine the correct behaviour ('Awake' phase). After this interaction and evaluation process the robot will later enter what we will call the 'sleeping' phase, where the collected new data will be processed by the 'brain' (MPC565), while the body 'rests' with inactive actuators. After processing the information, the 'brain' will have determined a correct (new) behaviour and according to that will modify the (partial) contents of the FPGA on demand, so optimizing existing behaviours and developing new ones.
Nonetheless, we have only begun to examine the biological theories behind sleeping and dreaming so there might be even more possibilities to transform this research results from neurobiology into new approaches and features for our 'EO' robot.
Co-Workers:
- Jens Hilljegerdes
- Florian Penquitt
- Michael Rohn
- Joachim Völpel









