Open Source Robotics

A curated collection of high-quality open source robotics projects, tools, and software to propel the robotics community forward.

Robust Locomotion on Legged Robots through Planning on Motion Primitive Graphs

Authors: Wyatt Ubellacker, Aaron D. Ames · ICRA 2023

Licences

  • Open Access
  • Paper: CC BY 4.0

Everything below draws on the full paper under its CC BY 4.0 licence; its figure is credited to the authors.

TL;DR

Modelling each controller as a motion primitive with a safe region of attraction lets an RRT-style search find recovery sequences online, in under 50 ms, on an A1 quadruped.

Why it matters

The graph grows with the number of primitives and their arguments rather than with the system dynamics, and the method does not care how each primitive's controller is built as long as it meets the definition. On hardware, one search procedure produces recovery from kicks, leg pulls, uneven ground and falls, instead of transition rules written for each case.

Problem

Robot autonomy often chains behaviours (motion primitives) through sequences, state machines or graph search, but deciding when it is safe to switch between dynamic primitives usually relies on transition-specific analysis or heuristics. The authors' earlier work handled only discrete primitives and offline search, which limits its use for reacting to disturbances as they happen.

Proposed solution

Each motion primitive is defined by its continuous arguments, setpoint, control law, region of attraction, safe set and safe region of attraction. A motion primitive transfer function maps a state to the primitive's setpoint if the state lies in its safe region of attraction and otherwise returns the state unchanged; chaining these functions forms a mixed discrete and continuous graph, which an RRT-inspired algorithm searches online before constrained gradient descent tunes arguments and timing and unnecessary nodes are pruned.

Key insights

  • Using each primitive's safe region of attraction as its entry condition turns 'is this transition safe?' into a check of whether the current state lies in a set.
  • Exponential stability guarantees a minimum duration after which the state is within a small ε of the setpoint, which justifies abstracting a primitive as a map from state to setpoint.
  • Randomised search suits this graph because the transfer functions are nonconvex and discrete search scales poorly with the number of primitives, argument sets and state dimension.
  • Safe regions of attraction were estimated conservatively from Lyapunov analysis of the linearised controller, then expanded through hardware testing until normal operating states were covered.

Main results

  • Graph search typically takes under 50 ms, running asynchronously beside a 1 kHz control loop on an onboard Intel NUC (i7-10710U, 16 GB RAM).
  • From rest with motors unactuated, the planner sequences Lie, Stand (h = 0.2 m) and Walk (h = 0.25 m, vx = 0.2 m/s).
  • Kicks during Stand (h = 0.25 m): small kicks need no transition, moderate kicks route through Lie, and larger kicks route through walking in place before returning to Stand.
  • Leg pull while walking: the robot stays in Land while the rear leg is held, then completes the replanned sequence and resumes walking once it is released.
  • Loose, uneven stones with no perception and a walk primitive that assumes flat ground: the robot progresses slowly, replanning through Lie, Stand and Land as disturbances occur.
  • Ledge toss from about 0.5 m: Land runs while the robot is airborne, then the planner transitions through Lie and Stand back to Walk.

Limitations

  • The probabilistic search ignores additional structure in the problem; the authors plan to use that structure to improve results.
  • There is no perception: obstacles and changing environments are not modelled explicitly, and the walk primitive assumes flat terrain, so progress over loose stones is slow.
  • Safe regions of attraction are conservative estimates from linearised Lyapunov analysis and hardware testing, not exact sets.
  • Results are shown as figures and video without success-rate statistics, using four experimental primitives (Lie, Stand, Walk, Land) on one robot.

Field impact

Winner of the ICRA 2023 Outstanding Student Paper award and a finalist for the ICRA 2023 Outstanding Locomotion Paper award, with 17 citations. The authors publish a supplementary video of the experiments; the paper does not state a code release.

Abstract

The functional demands of robotic systems often require completing various tasks or behaviors under the effect of disturbances or uncertain environments. Of increasing interest is the autonomy for dynamic robots, such as multirotors, motor vehicles, and legged platforms. Here, disturbances and environmental conditions can have significant impact on the successful performance of the individual dynamic behaviors, referred to as "motion primitives". Despite this, robustness can be achieved by switching to and transitioning through suitable motion primitives. This paper contributes such a method by presenting an abstraction of the motion primitive dynamics and a corresponding "motion primitive transfer function". From this, a mixed discrete and continuous "motion primitive graph" is constructed, and an algorithm capable of online search of this graph is detailed. The result is a framework capable of realizing holistic robustness on dynamic systems. This is experimentally demonstrated for a set of motion primitives on a quadrupedal robot, subject to various environmental and intentional disturbances.

Links

  • arXiv 2209.07503: https://arxiv.org/abs/2209.07503
  • DOI 10.1109/ICRA48891.2023.10160672: https://doi.org/10.1109/ICRA48891.2023.10160672
  • PDF: https://arxiv.org/pdf/2209.07503v1

This website requires JavaScript to function properly. Please enable JavaScript to explore our collection of open source robotics projects.