Autonomous Navigation on a Legged Platform
mapping, exploration and safe local planning for a legged robot
Sensors in, a velocity command out. This is an autonomy stack for a legged robot that takes a stereo pair and an IMU and produces a body velocity command, built so that a single map correction never forces the geometry to be rebuilt. Two loops run at different triggers rather than at two fixed rates: tracking runs every tick, producing a velocity command over the current route and reacting to what just came into view, while global planning runs on demand, triggered when the tracker nears the end of the route it was given.
The diagrams below are the ones from the talk, live rather than exported — the ones that move, move.
System at a Glance
Five stages, from raw sensing to the command the locomotion controller receives.
Sensors in, a velocity command out.
Two loops, but not two fixed rates. Tracking runs every tick: a velocity command over the current route, reacting to what just came into view. Global planning runs on demand — triggered when the tracker nears the end of the route it was given.
Keyframe Visual-Inertial SLAM
The frontend runs per frame; loop closing runs asynchronously and re-anchors the map when it lands.
Keyframe-Anchored Submaps
The representation is what makes loop closure affordable: geometry lives in each keyframe’s frame, not the world’s.
trajectory
their anchors
Depth is integrated as multi-resolution occupancy into submaps anchored to keyframes rather than to the world.
Each submap also carries an axis-aligned bounding box, so a query can discard every submap that cannot contain the point before touching any voxels.
Once a submap is finalized its occupancy grid is extracted and aligned along the gravity direction.
Signed Distance and Gradient
With distance to the nearest surface stored everywhere, clearance becomes a lookup rather than a search.
- Every point in space stores how far the nearest obstacle surface is — large in the open, small beside a wall, negative inside an obstacle.
- Clearance becomes a lookup, not a search.
- Each point also contains the gradient direction away from the obstacle.
- Distances come from a Euclidean distance transform swept over all three axes.
- ∂d/∂x ≈ [ d(i+1, j) − d(i−1, j) ] / 2Δ∂d/∂y ≈ [ d(i, j+1) − d(i, j−1) ] / 2Δcentral differences on neighbouring voxels · Δ = voxel size
Occupancy → Elevation
A column of voxels collapses to two cells — the ground you stand on and the top that caps the space above it.
Scanning the column returns two cells, not one — the ground you stand on and the top that caps the space above it.
Divide the column at (x, y) into z cells.
The ground is the lowest occupied cell with an unbroken run of free cells above it — free space is what separates a floor from a ceiling.
The top is the occupied cell that closes that run. The pair gives each column a height and a headroom h.
the top is a
separate slab
Fitting a cell's ground height against its neighbours gives the normal, and the angle θ to gravity.
Planning and Navigation
The navigation decision and how it is timed against the tracking loop.
maximise volumetric gain
reposition · return-to-home
time limit · homing
The Rapidly-Exploring Random Graph
One sampler, two roles: a dense local graph rebuilt every replan, and a sparse global graph that persists.
Traversability
Every sample and every candidate edge has to pass the same set of geometric tests before it enters the graph.
Volumetric Gain
What a vertex is worth is the volume it would reveal, discounted by how far away it is and how far the robot has to turn to face it.
facing the most unknown
Working Diagram
Which representation each consumer actually reads — and where the safety path deliberately skips the fused layers.
MPPI — Sampling
Perturb the previous plan, roll every sample through the dynamics, score it, and re-average.
λ how sharply the best rollouts dominate
MPPI — The Obstacle Cost
Clearance is queried on the robot’s envelope, priced in two tiers, and scaled by whether the robot is actually closing on the surface.
distance to the nearest surface
MPPI — The Other Five Terms
Progress and cross-track in the corridor’s Frenet frame, traversability, smoothness, and effort.
Control Barrier Function Filter
One linear constraint per observed envelope point, and an objective that changes the nominal command as little as possible.
separate standoff. The filter keeps h non-negative, not large.
is left → as h → 0 the allowed closing speed → 0, so h never crosses zero
one least changed. Not the safest, not the slowest.
so a safe nominal passes untouched — free when idle
QP feasible when rows conflict; unobserved points give no row
What This Builds On
- A. Dharmadhikari et al., “The Unified Autonomy Stack: Toward a Blueprint for Generalizable Robot Autonomy,” arXiv, 2026
- S. Boche et al., “OKVIS2-X: Open Keyframe-based Visual-Inertial SLAM Configurable with Dense Depth or LiDAR, and GNSS,” IEEE Transactions on Robotics, 2026
- D. DeTone, T. Malisiewicz, and A. Rabinovich, “SuperPoint: Self-Supervised Interest Point Detection and Description,” CVPR Workshops, 2018
- J. Min et al., “S2M2: Scalable Stereo Matching Model for Reliable Depth Estimation,” ICCV, 2025
- A. Millane et al., “nvblox: GPU-Accelerated Incremental Signed Distance Field Mapping,” ICRA, 2024
- T. Miki, L. Wellhausen, R. Grandia, F. Jenelten, T. Homberger, and M. Hutter, “Elevation Mapping for Locomotion and Navigation using GPU,” IROS, 2022
- A. Sriganesh et al., “Modular, Resilient, and Scalable System Design Approaches — Lessons Learned in the Years after DARPA Subterranean Challenge,” ICRA Workshop, 2024
- M. Steinbrink et al., “Rapidly-Exploring Random Graph Next-Best View Exploration for Ground Vehicles,” ECMR, 2021
- M. Kulkarni et al., “Autonomous Teamed Exploration of Subterranean Environments using Legged and Aerial Robots,” ICRA, 2022
- G. Williams et al., “Information-Theoretic Model Predictive Control: Theory and Applications to Autonomous Driving,” IEEE Transactions on Robotics, 2018
- A. D. Ames, S. Coogan, M. Egerstedt, G. Notomista, K. Sreenath, and P. Tabuada, “Control Barrier Functions: Theory and Applications,” European Control Conference (ECC), 2019