Giter VIP home page Giter VIP logo

rustrobotics's Introduction

RustRobotics

This package is a rust implementation of robotics algorithms. So far, the main source is the book Probabilistic Robotics. I plan to have algorithms implementations in the src folder and the algorithms use cases in the examples folder. I plan to have python bindings using pyo3/maturin. I am also implementing the algorithms in python using JAX in this repo.

Table of Contents

Localization

Extended Kalman Filter + Unscented Kalman Filter + Particle Filter

EKF, UKF, PF, Example

cargo run --example localization

EKF/PF With Landmarks

Example

cargo run --example localization_landmarks

Mapping

Pose Graph Optimization

This algorithm uses the sparse solver in Russel which wraps SuiteSparse so follow the installation instructions. Algorithm, Example, Source

cargo run --example pose_graph_optimization

Todo

  • Bayesian Filters
    • Information filter
    • Histogram filter
  • Pose Graph Optimization
    • PGO on manifold (3D)
    • Robust Kernels / Adaptive Kernels
  • Mapping
    • Occupancy Grid
    • Iterative Closest Point
    • EKF-SLAM
    • FastSLAM 1.0
    • FastSLAM 2.0
  • Camera Calibration
    • Direct Linear Transform (DLT)
    • Zhang’s Method
    • Projective 3-Point (P3P)
  • Bundle Adjustement
  • Triangulation
  • Optimal Control
    • LQR
    • LQG
  • etc

Sources

Compilation issues

For plotters

sudo apt install fontconfig libfontconfig libfontconfig1-dev

For Russel

sudo apt install liblapacke-dev libmumps-seq-dev libopenblas-dev libsuitesparse-dev

rustrobotics's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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.