Nowadays, there is still no robust solution to stabilize a humanoid robot while it is walking; all proposed solutions work only approximately for certain assumptions. This can be easily understood knowing that there is still no sufficient criterion that implies the stability of a walking robot.
This project consists of finding a solution to keep a robot stable while it is walking implying the analysis of some stability criteria applied to bipedal locomotion. My research is mainly about how to use the arms efficiently to stabilize the robot. The reason I have chosen these parts of the body comes from natural observations (intuitively, the human babies tend to stabilize themselves notably with their arms when they first try to walk) and also from the fact that they are not directly involved in the bipedal locomotion (in comparison with the legs for instance).
My practical work can be separated in two main parts. Firstly, the construction of a stabilization algorithm handling the arms for quasi-static situations (when the robot does not move) and secondly, the same but for dynamic cases. For the latter, I also implemented (and optimized) an open-loop robot controller managing the walk of the robot.
Technically, for the first part, I implemented a controller to stabilize the HOAP-2 robot (a humanoid robot realized by Fujitsu) that was standing on an oscillating platform. For this, my strategy is to predict the next position of the center of mass (according to its velocity and acceleration) in order to evaluate the stability of the robot and to move the arms (if necessary) to adjust its position (according to some margins). For the second part, I implemented a CPG-based controller integrating a direct feedback control that managed the bipedal locomotion of the humanoid robot, namely the walk, on horizontal surfaces.
EPCM: a stability criterion for dynamic situations
This support point is introduced and used in this project.
The EPCM is a generic way to predict the next position of the center of mass (CoM) or more exactly its projection on the ground (PCM).
Its definition is the following:
The EPCM of an object o is the extrapolation of its PCM according to the position, velocity and acceleration of the PCM. In simple words, the EPCM is used to predict the next position of the center of mass in taking into account some information about its position, speed and acceleration.
Concretely at time t:
EPCM(t) = PCM(t) + kv* vPCM(t) * Δt + ka * ½ * aPCM(t) * Δt2 ≈ PCM(t+Δt), where:
- PCM is the COM‘s projection on the ground
- kv is the coefficient factor of the velocity
- vPCM is the velocity of the PCM
- ka is the coefficient factor of the acceleration
- aPCM is the acceleration of the PCM and
- Δt is the timestep.
The robot is then considered stable if its EPCM remains in the convex hull formed by the contact points.
Robot Stabilization
The following graph shows the prediction’s quality δ of the EPCM according to its parameters, namely kv and ka. The less is δ, the better is the prediction. We can see that an optimal solution exists for the HOAP-2 robot.
Walking Robot
The next figures and videos show the HOAP-2 robot walking on horizontal surfaces. The controller is based on Central Pattern Generators (CPGs).
The first video shows the robot walking without balance control but with a rhythmic pattern for the arms (the robot falls at the end). And by contrast, in the second video, the arms control the balance of the walk (like on the oscillating platform) so that the robot does not fall while it is walking.