Source-linked AI summary

Elevation Mapping for Locomotion and Navigation using GPU

Takahiro Miki, Lorenz Wellhausen, Ruben Grandia, Fabian Jenelten, Timon Homberger, Marco Hutter

arXiv:2204.12876v1cs.RO

TL;DR

Autonomous robots need geometric terrain perception for navigation and rough-terrain locomotion, but mapping must remain efficient and support task-specific processing. The paper presents a GPU-based elevation mapping pipeline with additional map-quality and post-processing features, and demonstrates it in hardware experiments including DARPA Subterranean Challenge deployment and quadrupedal locomotion.

  • Problem

    Autonomous robots need elevation maps to perceive terrain for navigation and locomotion, while existing mapping approaches have limitations in efficiency or task coverage.

  • Method

    The paper develops a ROS-integrated GPU elevation mapping framework with point-cloud registration, ray casting, drift compensation, visibility cleanup, traversability estimation, smoothing, and plane segmentation.

  • Results

    Hardware experiments showed efficient processing and reliable map improvements, while the software supported navigation and locomotion and was deployed during the DARPA Subterranean Challenge.

  • Takeaways & Limitations

    The framework provides a practical elevation-mapping tool for mobile robot navigation and legged locomotion research across underground exploration and complex-terrain experiments.

Abstract

from arXiv · show

Perceiving the surrounding environment is crucial for autonomous mobile robots. An elevation map provides a memory-efficient and simple yet powerful geometric representation for ground robots. The robots can use this information for navigation in an unknown environment or perceptive locomotion control over rough terrain. Depending on the application, various post processing steps may be incorporated, such as smoothing, inpainting or plane segmentation. In this work, we present an elevation mapping pipeline leveraging GPU for fast and efficient processing with additional features both for navigation and locomotion. We demonstrated our mapping framework through extensive hardware experiments. Our mapping software was successfully deployed for underground exploration during DARPA Subterranean Challenge and for various experiments of quadrupedal locomotion.

I. INTRODUCTION

The paper presents a GPU-based elevation mapping framework for real-time geometric perception supporting both rough-terrain navigation and legged locomotion. It adds map-quality and post-processing features, validates the system through hardware experiments, and open-sources the software.

  • Motivation: Elevation maps represent geometric terrain information for navigation and locomotion, where real-time construction and post-processing are crucial.They support planning and foothold selection, while occupancy grids are insufficient for environments with non-flat terrain.
  • Related work: Existing CPU-based elevation mapping was not efficient enough for large point clouds and faster agile robot movements.Related GPU approaches focused on large-range navigation or required voxel grids that increase memory demands for high-resolution maps.
  • Contribution: The proposed ROS-integrated GPU framework performs efficient point-cloud registration and ray casting while supporting navigation and locomotion features.Added capabilities include height-drift compensation, visibility cleanup, traversability estimation, upper-bound calculation, exclusion areas, smoothing, and plane segmentation.
  • Validation: The framework was validated through extensive experiments and supported legged locomotion, navigation research, and terrain perception for learning- and model-based controllers.The software was also deployed for underground exploration during the DARPA Subterranean Challenge.
  • Contributions: The work contributes a GPU-based implementation supporting varied filters and features, together with open-source elevation mapping software.These contributions target both mobile robot navigation and legged locomotion.

II. METHODS

The methods construct an elevation map on the GPU from sensor and pose data, then apply map updates, ray casting, filters, and post-processing for navigation and legged locomotion.

  • Methods: The pipeline constructs the elevation map on the GPU and includes additional features for locomotion and navigation.The methods cover the overall pipeline, core map updates, map-quality improvements, and task-specific post-processing.
  • Methods: Processing is organized from pipeline overview and core map updates through map-quality improvements and navigation or locomotion post-processing.This structure includes features introduced across Sections II-A through II-I.

A. Overview

The framework processes sensor point clouds and robot pose on the GPU to update an elevation map, combining height estimation with ray casting and cell-level post-processing. It extends Kalman-filter-like updates with noise modeling, outlier rejection, exclusion areas, and additional map-cleaning operations.

  • A. Overview: The pipeline takes depth-sensor point clouds and estimated robot pose, transforms points into a specified map frame, and transfers data to GPU memory.Pose may come from SLAM-based estimation or odometry.
  • A. Overview: The map performs ray casting and cell-wise operations including overlap clearance, traversability estimation, normal calculation, and optional filtering.The map is published at a user-defined frequency, with CPU post-processing calculated on request.
  • A. Overview: Points update cell heights through a Kalman-filter formulation, with custom CUDA kernels iterating over measurements in parallel.Point variance follows a distance-dependent sensor noise model, p = α_dd^2.
  • A. Overview: Outlier rejection uses Mahalanobis distance, while an exclusion area rejects ceilings or overhanging objects without discarding sloped terrain.The exclusion area is defined by ramp parameters including θa, b, c, and d.
  • A. Overview: When many points occupy one cell, lower points can be ignored once a count threshold is exceeded, preserving sharper vertical edges and walls.This check occurs before outlier detection, which otherwise increases the cell variance.

D. Height drift compensation

The framework compensates for height drift by comparing current sensor measurements with the map and adapting the elevation layer using errors from relatively flat, traversable regions.

  • D. Height drift compensation: Height drift compensation calculates the error between each current sensor measurement and the corresponding map estimate.Only relatively flat structures, selected by thresholding traversability, contribute to reduce projection errors in rough or steep areas.
  • D. Height drift compensation: The average measurement error is added to the map’s elevation layer after all selected points have been processed.The number of points used is denoted by n.

E. Visibility cleanup

Visibility cleanup removes stale obstacle estimates by ray casting from the sensor to measured points and testing whether rays penetrate mapped cells. Removal is further constrained to reduce jitter.

  • E. Visibility cleanup: Visibility cleanup casts a ray from the sensor origin to each measurement point and steps through the ray to identify cells that may be penetrated.This addresses old obstacle estimates that can persist while their variance remains too small for outlier rejection.
  • E. Visibility cleanup: A cell is removed when a ray passes below its estimated height minus variance, indicating that the mapped obstacle is not visible along the ray.The ray height and cell estimated height are compared during cleanup.
  • E. Visibility cleanup: The removal rule additionally checks the cell’s last update time and surface normal to prevent jitter between consecutive updates.The cell is removed only when it is sufficiently old and satisfies the normal condition.

F. Overlap clearance

Overlap clearance removes nearby height estimates that differ substantially from the robot’s height, addressing stale elevations when the robot traverses multiple floors.

  • F. Overlap clearance: The overlapping cleaner clears a nearby height value when its difference from the robot’s height exceeds a threshold.The method is intended for multi-floor environments where the robot moves up or down stairs.

G. Learning based traversability filter

The framework uses GPU-resident elevation data to run a lightweight CNN traversability filter at the full map update rate, alongside optional post-processing for locomotion applications.

  • G. Learning based traversability filter: GPU-resident elevation data enables terrain analysis with a CNN without CPU–GPU transfer overhead.The model outputs traversability values for robot navigation and runs in PyTorch.
  • G. Learning based traversability filter: Ray casting computes an upper-bound terrain height for unobserved cells, helping downstream methods interpret occluded regions.The upper bound records that ground height cannot exceed the ray height when the ray passes through a cell.
  • G. Learning based traversability filter: Elevation maps support both navigation and foothold planning, with post-processing needed for optimization-based locomotion controllers.The supplied features target these downstream applications.
  • G. Learning based traversability filter: The pipeline provides optional inpainting to replace empty grid cells with the minimum height along the occlusion border.This improves elevation-map completeness for model-based motion planning.
  • G. Learning based traversability filter: Gaussian, box-blur, and median filters are available for smoothing terrain representations and rejecting artifacts.The filters are provided in combinations using OpenCV implementations.

3) Plane segmentation:

The framework evaluates map-quality features against disabled settings and a baseline, showing benefits from drift compensation, per-measurement visibility cleanup, and exclusion of overhanging obstacles.

  • 1) Feature evaluation:: Drift compensation reduces gaps between old and newly updated map regions under large height bias.The compensated map has a smaller gap than the uncompensated map, while the baseline produces a large gap and artifacts.
  • 1) Feature evaluation:: Per-measurement visibility cleanup removes stale map structures through ray casting, producing a cleaner map than slower cleanup updates.The baseline’s slower update rate leaves artifacts uncleared.
  • 1) Feature evaluation:: The exclusion-area feature removes an overhanging obstacle from the map, whereas the baseline represents it as a wall.The comparison uses an overhanging obstacle placed in front of the robot.
  • 1) Feature evaluation:: Feature effectiveness is assessed by comparing map quality with features disabled and against the baseline method.The evaluation uses the same data collected by ANYmal.

2) Processing time comparison:

GPU processing keeps point-cloud calculation time comparatively low as point counts increase, enabling real-time mapping where the CPU baseline develops considerable delay on the onboard Jetson.

  • 2) Processing time comparison:: GPU processing time remains comparatively low for large point clouds, while the CPU baseline grows more steeply with point count.The GPU pipeline still performs additional traversability estimation and ray casting.
  • 2) Processing time comparison:: The pipeline processes point-cloud data in real time, while the baseline has considerable delay on the onboard Jetson.The comparison uses GPU processing for the proposed pipeline and CPU processing for the baseline.
  • 2) Processing time comparison:: The traversability filter takes the most computation time among the measured mapping features.The authors identify this module as a target for future performance improvement.
  • 2) Processing time comparison:: Map-update frequency is evaluated with Realsense filtered, Realsense raw, and Bpearl sensor configurations.The Realsense filtered setting uses a voxel-filtered, down-sampled point cloud.
  • 2) Processing time comparison:: For the tested depth-image configuration, the map updates at the same frequency as the sensor measurements.This result is reported for the Realsense comparison.

C. Locomotion and navigation applications

The elevation map supports local navigation and perceptive locomotion by providing traversability, upper-bound, and foot-height information in rough, narrow, and occluded terrain.

  • C. Locomotion and navigation applications: The navigation experiments use ANYmal with either kinematics-based leg odometry or fused IMU and LiDAR-SLAM odometry.These experiments validate the framework for legged locomotion and navigation.
  • C. Locomotion and navigation applications: The local planner uses the upper-bound and traversability layers to choose feasible paths and avoid dangerous places such as cliffs.A mid-range target is supplied by an exploration planner.
  • C. Locomotion and navigation applications: A reinforcement-learning controller samples terrain heights around each foot from the elevation map.These samples support perceptive locomotion control.
  • C. Locomotion and navigation applications: The elevation map is used in navigation through rough cave sections and steep, narrow slopes.The associated visualization includes traversability and an upper-bound layer derived from ray casting.

D. Legged locomotion

The elevation map supported perceptive locomotion through reinforcement-learning and model-based controllers, with fast updates and drift compensation improving operation over challenging terrain.

  • D. Legged locomotion: The framework supported perceptive locomotion with one reinforcement-learning controller and two model-based controllers.
  • D. Legged locomotion: Height drift compensation reduced map artifacts caused by vertical leg-odometry drift and enabled smoother locomotion.Fusion-based reference odometry combining IMU and LiDAR SLAM with drift compensation reduced these issues further during long missions on challenging surfaces.
  • D. Legged locomotion: Fast map updates supported two model-based locomotion planners using terrain statistics, virtual-floor processing, and plane segmentation.These methods computed foothold scores, virtual floor references, or foothold constraints for optimization-based control.
  • D. Legged locomotion: Integrated smoothness filters and plane segmentation made the framework a convenient tool for legged-locomotion research over complex terrain.
Loading 2204.12876v1…