Table of Contents
Fetching ...

Continuous-Time Radar-Inertial and Lidar-Inertial Odometry using a Gaussian Process Motion Prior

Keenan Burnett, Angela P. Schoellig, Timothy D. Barfoot

TL;DR

This work is the first to demonstrate radar-inertial odometry with a spinning mechanical radar using both gyroscope and accelerometer measurements and improves the performance of the radar odometry by 43% by incorporating an inertial measurement unit.

Abstract

In this work, we demonstrate continuous-time radar-inertial and lidar-inertial odometry using a Gaussian process motion prior. Using a sparse prior, we demonstrate improved computational complexity during preintegration and interpolation. We use a white-noise-on-acceleration motion prior and treat the gyroscope as a direct measurement of the state while preintegrating accelerometer measurements to form relative velocity factors. Our odometry is implemented using sliding-window batch trajectory estimation. To our knowledge, our work is the first to demonstrate radar-inertial odometry with a spinning mechanical radar using both gyroscope and accelerometer measurements. We improve the performance of our radar odometry by \change{43\%} by incorporating an IMU. Our approach is efficient and we demonstrate real-time performance. Code for this paper can be found at: https://github.com/utiasASRL/steam_icp

Continuous-Time Radar-Inertial and Lidar-Inertial Odometry using a Gaussian Process Motion Prior

TL;DR

This work is the first to demonstrate radar-inertial odometry with a spinning mechanical radar using both gyroscope and accelerometer measurements and improves the performance of the radar odometry by 43% by incorporating an inertial measurement unit.

Abstract

In this work, we demonstrate continuous-time radar-inertial and lidar-inertial odometry using a Gaussian process motion prior. Using a sparse prior, we demonstrate improved computational complexity during preintegration and interpolation. We use a white-noise-on-acceleration motion prior and treat the gyroscope as a direct measurement of the state while preintegrating accelerometer measurements to form relative velocity factors. Our odometry is implemented using sliding-window batch trajectory estimation. To our knowledge, our work is the first to demonstrate radar-inertial odometry with a spinning mechanical radar using both gyroscope and accelerometer measurements. We improve the performance of our radar odometry by \change{43\%} by incorporating an IMU. Our approach is efficient and we demonstrate real-time performance. Code for this paper can be found at: https://github.com/utiasASRL/steam_icp
Paper Structure (21 sections, 45 equations, 18 figures, 5 tables, 1 algorithm)

This paper contains 21 sections, 45 equations, 18 figures, 5 tables, 1 algorithm.

Figures (18)

  • Figure 1: A lidar map generated of the University of Toronto obtained during a sequence of the Boreas dataset. This high-quality map is generated as a byproduct of our odometry pipeline. The pointcloud is colored by intensity.
  • Figure 2: This figure illustrates the differences in camera, lidar, and radar data during a sunny day and during a snowstorm. The lidar data here is colored by elevation. During snowfall, the lidar data becomes corrupted with noise and a section becomes blocked by ice but the radar data appears unaffected.
  • Figure 3: This figure illustrates our asynchronous sensor timing where states are estimated for each scan obtained by the radar. Our radar outputs measurements at 1600Hz while our lidar outputs unique timestamps at roughly 40kHz and our IMU outputs measurements at 200Hz.
  • Figure 4: This figure illustrates the local variable $\boldsymbol{\xi}_k(t)$ which is defined in the tangent space of the pose at time $t_k$. The larger triangles denote the estimated states while the smaller triangle denotes the interpolated state at time $t$.
  • Figure 5: This figure depicts a factor graph of our sliding window lidar-inertial odometry using a continuous-time motion prior. The larger triangles represent the estimation times that form our sliding window. The state $\mathbf{x}(t) = \{\mathbf{T}(t), \boldsymbol{\varpi}(t), \mathbf{b}(t) \}$ includes the pose $\mathbf{T}(t)$, the body-centric velocity $\boldsymbol{\varpi}(t)$, and the IMU biases $\mathbf{b}(t)$. The grey-shaded state $\mathbf{x}_{k-2}$ is next to be marginalized and is held fixed during the optimization of the current window. The smaller triangles are interpolated states that we do not directly estimate during the optimization process. Instead, we construct continuous-time measurement factors using the posterior Gaussian process interpolation formula in Equation \ref{['eq:interp']}. The ICP measurement times and gyroscope measurement times may be asynchronous. The preintegrated velocity factors do not need to align with the estimated state times and could be between two interpolated states instead. We include a unary prior on $\mathbf{x}_{k-2}$ to denote the prior information from the sliding window filter.
  • ...and 13 more figures