Code Monkey home page Code Monkey logo

kalman-cpp's Introduction

kalman-cpp

C/C++ CI

Kalman filter and extended Kalman filter implementation in C++

Implemented filters so far:

  • Kalman filter
  • Extended Kalman filter
  • Second-order extended Kalman filter
  • Unscented Kalman filter

Please use cmake to build all the codes.

The steps to compile are:

mkdir build
cd build
cmake ..
make

Windows System

In a Windows system, a Visual Studio solution file (VS 2019) is provided.

Dependencies

This library utilizes Armadillo. In Windows system, the armadillo library is provided in "windows-libs" folder. The contents of windows-libs.zip need to be first extracted. Armadillo itself is very easy to use. More information on the Armadillo can be found here.

blas and lapack

By default, now kalman-cpp uses blas and lapack. For Windows machine, working with blas and lapack is a messy stuff. Thus, we will use the precompiled blas and lapack from: https://www.fi.muni.cz/~xsvobod2/misc/lapack/.

The precompiled blas and lapack libraries are included in windows-libs.zip. There are four LIB files. Additionally, in "bin" folder, there are four corresponding DLL files as well. There are four files because two files are for the 32-bit platform, and the other two files are for the 64-bit platform.

The compiled binary must always be located in the same folder as these DLL files.

MATLAB m-files for plotting

MATLAB m-files for each example are provided in 'm-files' folder. Octave can also be used instead of MATLAB.

Documentation

https://auralius.github.io/kalman-cpp/

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.