← Paper Digest

Perceptive Locomotion through Nonlinear Model Predictive Control

Ruben Grandia, Fabian Jenelten, Shaohui Yang, Farbod Farshidian, Marco Hutter

Seminal August 2022

TL;DR A nonlinear MPC for ANYmal that optimizes torso and all leg joints together, with the terrain given as convex foothold regions and a signed distance field for collisions. It crosses gaps, stepping stones and stairs on hardware with a mean MPC iteration of 6.6 ms.

What they do

Dynamic locomotion over gaps, stepping stones and stairs needs precise footholds, leg-terrain collision avoidance and planning of the underactuated torso at the same time. Instead of choosing footholds first and fitting the torso afterwards, this work optimizes the torso and all 12 joints jointly in one nonlinear MPC. To keep the terrain tractable for a gradient-based solver, it is reduced to one local convex foothold region per step plus a signed distance field (SDF).

How it works

  • Terrain processing (20 Hz). The 4 cm elevation map is inpainted and filtered, cells are classified as steppable by slope and roughness, and steppable regions are segmented into planes with holes. An SDF is precomputed around the previous plan.
  • Model. Centroidal torso dynamics evaluated at the actual joint configuration rather than a single rigid body, with joint velocities and contact forces as inputs. A frequency-dependent cost penalizes inputs the series-elastic actuators cannot track.
  • Constraints. A heuristic foothold is projected onto the best reachable plane, and a convex polygon grown around it becomes linear foot-placement constraints. Joint limits, friction cones and SDF collision spheres on knees and swing feet are soft barrier penalties.
  • Solver. Multiple shooting with one SQP step per update and a filter line-search that accepts a step if it lowers either cost or constraint violation. A whole-body controller tracks the plan at 400 Hz.

Results

  • Hardware: a ramp, gap and high step in sequence, uneven stepping stones, and indoor and outdoor stairs. An MPC iteration takes 6.6 ms on average (9.8 ms max).
  • In simulation, knee collision avoidance is needed to step the hind legs onto a 35 cm box. A single-rigid-body model has a 2.6 cm center-of-mass error at 30° pitch and nearly tips the robot over.
  • iLQR diverged on the 0.5 m and 0.75 m stepping-stone scenarios; multiple shooting stayed within 10% of the cost of a solver run to convergence.
  • A perceptive RL controller, not trained on stepping stones, fell on the simulated obstacle course this controller crossed.

Limitations

The gait pattern is fixed externally and reactive behaviors are hardcoded. Foothold regions are chosen per leg and are not consistent over time. Planning is local, not navigation. Thin, tall obstacles can trap the optimizer in a local minimum.

Figures

From Figure 1: ANYmal walking on uneven stepping stones, with the top foothold 60 cm above the lowest. The right side...
From Figure 1: ANYmal walking on uneven stepping stones, with the top foothold 60 cm above the lowest. The right side shows the terrain representation used by the controller.
From Figure 2: Overview of the pipeline: elevation mapping and terrain processing at 20 Hz, nonlinear MPC at 100 Hz, ...
From Figure 2: Overview of the pipeline: elevation mapping and terrain processing at 20 Hz, nonlinear MPC at 100 Hz, state estimation and whole-body control at 400 Hz.
From Figure 3: Perception pipeline. (A) The elevation map is filtered, classified into steppable and non-steppable ce...
From Figure 3: Perception pipeline. (A) The elevation map is filtered, classified into steppable and non-steppable cells, and segmented into planes. (B) A signed distance field and a torso reference layer are precomputed. (C) The planes give convex foothold constraints, the distance field gives collision avoidance, and the torso layer gives height and orientation references.
From Figure 16: ANYmal walking down outdoor stairs with a 16 cm rise and 29.5 cm run.
From Figure 16: ANYmal walking down outdoor stairs with a 16 cm rise and 29.5 cm run.
Abstract

Dynamic locomotion in rough terrain requires accurate foot placement, collision avoidance, and planning of the underactuated dynamics of the system. Reliably optimizing for such motions and interactions in the presence of imperfect and often incomplete perceptive information is challenging. We present a complete perception, planning, and control pipeline, that can optimize motions for all degrees of freedom of the robot in real-time. To mitigate the numerical challenges posed by the terrain a sequence of convex inequality constraints is extracted as local approximations of foothold feasibility and embedded into an online model predictive controller. Steppability classification, plane segmentation, and a signed distance field are precomputed per elevation map to minimize the computational effort during the optimization. A combination of multiple-shooting, real-time iteration, and a filter-based line-search are used to solve the formulated problem reliably and at high rate. We validate the proposed method in scenarios with gaps, slopes, and stepping stones in simulation and experimentally on the ANYmal quadruped platform, resulting in state-of-the-art dynamic climbing.

Summaries are written automatically from each paper's text. Figures and videos come from the paper and its project page; all credit goes to the authors.