Giter VIP home page Giter VIP logo

ice's Introduction

Robust Incremental State Estimation through Covariance Adaptation

Overview

This repository contains the software release for "Robust Incremental State Estimation through Covariance Adaptation". The objective of the software release is described through the associated abstract. For a more thorough discussion, please see the description document.



Recent advances in the fields of robotics and automation have spurred significant interest in robust state estimation. To enable robust state estimation, several methodologies have been proposed. One such technique, which has shown promising performance, is the concept of iteratively estimating a Gaussian Mixture Model (GMM), based upon the state estimation residuals, to characterize the measurement uncertainty model. Through this iterative process, the measurement uncertainty model is more accurately characterized, which enables robust state estimation through the appropriate de-weighting of erroneous observations. This approach, however, has traditionally required a batch estimation framework to enable the estimation of the measurement uncertainty model, which is not advantageous to robotic applications. In this paper, we propose an efficient, incremental extension to the measurement uncertainty model estimation paradigm. The incremental covariance estimation (ICE) approach, as detailed within this paper, is evaluated on several collected data sets, where it is shown to provide a significant increase in localization accuracy when compared to other state-of-the-art robust, incremental estimation algorithms.



If you utilize this software for an academic purpose, please consider using the following citation:

@article{watson2020robust, 
         author={R. M. {Watson} and J. N. {Gross} and C. N. {Taylor} and R. C. {Leishman}},
	 journal={IEEE Robotics and Automation Letters},
	 title={Robust Incremental State Estimation Through Covariance Adaptation},
	 year={2020},
	 volume={5},
	 number={2},
	 pages={3737-3744}
}




This software benefits from several open-source software packages.






How to Install

1) Requirements/Recommendations

Required

  • Boost --> sudo apt-get install libboost-all-dev
    • Note: this has only been tested with boost --version 1.58
  • CMake --> sudo apt-get install cmake
  • OpenMP --> sudo apt install libomp-dev

2) Clone repository to local machine

git clone https://github.com/wvu-navLab/ICE.git

3) Build

cd ICE
./build.sh

4) Test

Let's run a test on dataset 1 with low-quality observations. To change the utilized dataset, use one of the following arguments {1,2,3}_{lq,hq} after the run_me.sh command. (e.g., ./run_me.sh 3_hq).

cd examples
chmod +x run_me.sh
./run_me.sh 1_lq

This will write all of the generated results to the test directory (../test). All of the 'truth' data, utilized for validation, is housed in the ~/ICE/data/truth/ directory

For this specific example, the table printed to the screen should match the one provided below.

type    med_    mean_   var_    max_
L2      2.57    2.52    1.99    10.78
DCS     0.64    0.99    0.95    9.71
MM      1.63    1.66    1.10    10.06
ICE     0.57    0.72    0.46    13.19

ice's People

Contributors

watsonryan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.