This technical report presents a simple framework for managing dynamic gait transitions for a quadruped robot. Controlling a legged robot with different gaits is a fundamental problem, which reinforcement learning techniques are successfully addressing. Another very important aspect concerns how and when to perform transitions between gaits completely autonomously by the robot, thus without requiring manual switching by an operator. Here, the robot was trained to perform different gaits using reward machines technique. Meanwhile, a condition based on the height difference of the four feet, handled by an higher level control system, is used for automatic gait switching. The ANYmal B quadruped from ANYbotics was trained using the Raisim simulator.
Reward Machines can be used to specify the sequence of foot contacts required to perform a specific gait. Basically, they use a finite-state automaton to represent a specific gait, and they encourages transitions inside it by adding an extra reward to the stardard reward used for the locomotion. This way, multiple gaits can be learned without any specific tuning of the hyperparameters.
1.Trot_training.mp4
2.Bound_training.mp4
3.Pace_training.mp4
The individual gaits were trained separately, and no transitions between the gaits were explicitly trained. What was done was to make each gait as robust as possible so that the policy switch could be performed instantaneously without the robot falling. To make the transitions between different gaits more robust, a methodology was adopted that involves training the individual gaits on irregular terrains generated using Perlin noise, which changes randomly every 5 iterations (for reducing computational cost), and also applying external disturbances to the robot in the form of forces along the x,y,z axes at the origin of the base frame. This choice was motivated by the need to improve the robot’s ability to regain control in difficult conditions and thus better manage the runtime gait transitions.
4.Trot_Perlin_noise_terrain_randomization.mp4
5.Trot_external_forces.mp4
6.Manual_gait_transitions.mp4
The condition that was developed concerns the height difference of the feet at the moment of contact with the ground. Specifically, a higher-level controller manages four variables, encapsulated in the vector
Now, at each step, the difference between all the values of
7.Autonomous_gait_transition.mp4
8.Autonomous_gait_transition_.aerial_view._.mp4
Thank you!
