While a variety of gaits have been demonstrated on robots [1]}, [2]}, [3]}, [4]}, [5]}, they were often hand-engineered and the switch between gaits was based on ad-hoc user commands. Designing locomotion controllers that can adaptively switch gaits is challenging. It is difficult to know when to switch gaits, which gait to switch to, and how to actually perform the switch a priori; all while striving to keep energy consumption low and keep the robot balanced. Since gait patterns involve discrete contact events, it can be difficult to optimize them together with other continuous control forces using methods like model-predictive control (MPC) [6]}, [7]}. A common practice is to separate gait planning and whole-body control [5]}, [2]}: Assuming a gait (e.g. trotting) is selected by a user and kept fixed, a model-predictive controller can then be employed to solve for the optimal control forces. However, since gait selection, transition, and whole-body control are tightly coupled, they need to be solved together for stable, agile and energy efficient locomotion. An alternative is to use reinforcement learning (RL) to train neural network policies end-to-end [10]}, [11]}, [12]}, [13]}. However, these learned policies are often difficult to deploy safely on real robots without extensive effort and relying on methods like reward shaping [10]}, [11]} or sim-to-real transfer [12]}, [13]}.
<FIGURE><FIGURE>