Keywords: Research Project, Quadruped Robot, Gait Optimization, Gait Implicit, A*, DDP
Advisor: Prof. Patrick M. Wensing (University of Notre Dame) and Prof. Wei Zhang (SUSTech)
Collaborator: Prof. Hua Chen
Optimizing contact sequences for legged robots is critical for various locomotion tasks and effective disturbance adaptation. The discrete nature of this problem prevents differentiability and renders search-based algorithms essential for actively exploring gait sequences. This paper constructs a decision tree for the contact sequence backward in time via a backward gait tree (BGT). The approach employs a relaxed dynamics model to bound the cost-to-here, and enforces rigid contact when computing the cost-to-go, both resolved through a continuous Differential Dynamic Programming (DDP) solver. The framework uses a hybrid search algorithm combining depth-first and A*-search, using the lower bound from the BGT to identify promising gait sequences. When growing the search tree, the relaxed model can be projected to any contact mode for efficient warm starting. Implemented in a receding horizon manner, our method balances performance and computational speed, requiring roughly 25 DDP sub-problem evaluations per iteration. Simulations demonstrate that our approach generates emergent contact sequences that adapt well to speed changes and external disturbances.
Push recovery example (Delta v_x = 2.0 m/s) with gait implicit optimization. Red (green) feet indicate the feet are in stance (flight) mode.
(a) Full backward gait tree. (b) Example gait search set in a phase.
For each node, the diagram represents the contact mode, the ring color gives the associated overall cost based on the color bar on the right, and the number at the left corner is the evaluation order in the search procedure.
Bottom gives the resulting contact sequence. The yellow and green regions together indicate the horizon for the optimization carried out at t = 0.15s.
Plot represents the third MPC iteration of the experiment on the left.
Compare to baseline solver with trotting gait. The red pentagram indicate the case reported in the main figure.
Same searching algorithm but with full decision tree and without lifting-projection warm starting.
Simulation result: the robot starts with 0m/s and is commanded to move forward at a velocity of 0.2m/s. The resulting gait is rather lazy.
Simulation result: the robot starts with 0m/s and is commanded to move forward at a velocity of 2.0m/s. The resulting gait is more active.
Simulation result: The robot can handle a lateral push of up to 2.0 m/s.
Simulation result: The robot can handle a forward push of up to 3.0 m/s.