GithubHelp home page GithubHelp logo

wvu-navlab / enabling-robust-state-estimation-through-measurement-error-covariance-adaptation Goto Github PK

View Code? Open in Web Editor NEW
22.0 3.0 10.0 185.17 MB

Software release for "Enabling Robust State Estimation through Measurement Error Covariance Adaptation"

License: MIT License

Shell 100.00%
gnss robust robust-optimization gtsam factor-graph ppp state-estimation

enabling-robust-state-estimation-through-measurement-error-covariance-adaptation's Introduction

Enabling Robust State Estimation through Measurement Error Covariance Adaptation

Overview

This repository contains the software release for "Enabling Robust State Estimation through Measurement Error Covariance Adaptation". The objective of the software release is described through the associated abstract. To see an incrmental extension of the approach implemented in the repo, see https://github.com/wvu-navLab/ICE

Accurate platform localization is an integral component of most robotic systems. As these robotic systems become more ubiquitous, it is necessary to develop robust state estimation algorithms that are able to withstand novel and non-cooperative environments. When dealing with novel and non-cooperative environments, little is known a priori about the measurement error uncertainty, thus, there is a requirement that the uncertainty models of the localization algorithm be adaptive. Within this paper, we propose one such technique that enables robust state estimation through the iterative adaptation of the measurement uncertainty model. The adaptation of the measurement uncertainty model is granted through non-parametric clustering of the residuals, which enables the characterization of the measurement uncertainty via a Gaussian mixture model. The provided Gaussian mixture model can be utilized within any non-linear least squares optimization algorithm by approximately characterizing each observation with the sufficient statistics of the assigned cluster (i.e., each observation's uncertainty model is updated based upon the assignment provided by the non-parametric clustering algorithm). The proposed algorithm is verified on several collected GNSS data sets, where it is shown that the proposed technique exhibits some advantages other robust estimation techniques when confronted with degraded data quality.



This software benefits from several open-source software packages.




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

@article{ watson2019enabling,
        title={Enabling Robust State Estimation through Measurement Error Covariance Adaptation},
        author={Watson, Ryan M and Gross, Jason N and Taylor, Clark N and Leishman, Robert C},
        journal={IEEE Transactions on Aerospace and Electronic Systems},
        year={2019}
       }


How to Install

1) Requirements/Recommendations

Required

  • Boost --> sudo apt-get install libboost-all-dev
  • 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/Enabling-Robust-State-Estimation-through-Measurement-Error-Covariance-Adaptation.git

3) Build

cd Enabling-Robust-State-Estimation-through-Measurement-Error-Covariance-Adaptation
./build.sh

4) Test

cd examples
chmod +x run_all.sh
./run_all.sh

This will write all of the generated results to the test directory (../test). To duplicate the plots generated within the paper run the following command. (Note: this assumes that you have a matlab alias set. See this link for instructions. ).

chmod +x plot_all.sh
./plot_all.sh

This will write all of the generated figures to the test/plots directory.

enabling-robust-state-estimation-through-measurement-error-covariance-adaptation's People

Contributors

watsonryan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.