DRIFT

Dead Reckoning In Field Time: A Symmetry-Preserving Filter Based Mobile Robot State Estimator Library

Tzu-Yuan Lin       Tingjun Li       Jonathan Tong       Justin Yu       Maani Ghaffari

University of Michigan, Ann Arbor, MI, USA 

Overview

Dead Reckoning In Field Time (DRIFT) is an open-source C++ software library designed to provide accurate and high-frequency state estimation for a variety of mobile robot architectures, including legged, wheeled, and marine platforms. Leveraging symmetry-preserving filters such as Invariant extended Kalman filtering (InEKF), this modular library empowers roboticists and engineers with a robust and adaptable tool to estimate instantaneous local pose and velocity in diverse environments. The software is structured in a modular fashion, allowing users to define their own sensor types, and propagation and correction methods, offering a high degree of customization.

As a header-only library, DRIFT aims to make real-time robot localization easy and accessible, promoting seamless integration across numerous platforms. Additionally, we provide support for ROS middleware interface. In the future, we plan to expand support for both Lightweight Communications and Marshalling (LCM) and ROS 2.

HighLevelFlow
Tested Platforms
Husky

Husky

MIT MiniCheetah

MITMiniCheetah

Fetch

fetch

MRZR-D4

MRZR

Girona 500 AUV (Simulation)

MRZR


Getting Started

Head to our Getting Started tutorial page. Code for this project can be found in the Github repository.

Citation

If you use this work or find it helpful, please consider citing: (bibtex)

Tzu-Yuan Lin, Tingjun Li, Wenzhe Tong, and Maani Ghaffari. "Proprioceptive Invariant Robot State Estimation." arXiv preprint arXiv:2311.04320 (2023). (Under review for Transaction on Robotics)

  
@article{lin2023proprioceptive,
  title={Proprioceptive Invariant Robot State Estimation},
  author={Lin, Tzu-Yuan and Li, Tingjun and Tong, Wenzhe and Ghaffari, Maani},
  journal={arXiv preprint arXiv:2311.04320},
  year={2023}
}



Tzu-Yuan Lin, Ray Zhang, Justin Yu, and Maani Ghaffari. "Legged Robot State Estimation using Invariant Kalman Filtering and Learned Contact Events." In Conference on Robot Learning. PMLR, 2021

  
@inproceedings{
   lin2021legged,
   title={Legged Robot State Estimation using Invariant Kalman Filtering and Learned Contact Events},
   author={Tzu-Yuan Lin and Ray Zhang and Justin Yu and Maani Ghaffari},
   booktitle={5th Annual Conference on Robot Learning },
   year={2021},
   url={https://openreview.net/forum?id=yt3tDB67lc5}
}