rust_robotics icon indicating copy to clipboard operation
rust_robotics copied to clipboard

Rust implementation of PythonRobotics such as EKF, DWA, Pure Pursuit, LQR.

RustRobotics

This package is a rust implementation of PythonRobotics.

Build

git clone https://github.com/rsasaki0109/RustRobotics.git
cd RustRobotics
cargo build

Run (Example)

cargo run --bin ekf

Table of Contents

  • Localization
    • Extended kalman filter localization
    • Particle filter localization
  • SLAM
    • Iterative Closest Point
    • FastSLAM 1.0
  • Path Planning
    • Bezier Path
    • Cubic Spline
    • Dynamic Window Approach
    • Model Predictive Trajectory Generator
    • Dijkstra algorithm
    • Potential Field algorithm
    • State Lattice Planner
    • Rapidly-Exploring Random Trees (RRT)
  • Path Tracking
    • Move to Pose
    • Pure Pursuit
    • Stanley Control
    • LQR steer control
    • Nonlinear Model predictive control with C-GMRES

Localization

Extended Kalman Filter Localization

Red:GPS, Brue:Ground Truth, Green:EKF, Yellow:Dead Reckoning

cargo run --bin ekf

Particle Filter Localization

SLAM

Iterative Closest Point

FastSLAM 1.0

Path Planning

Bezier Path

Brack:Control points, Green: Path, Red: Start and Goal

cargo run --bin bezier_path

Cubic Spline

Brack:Control points, Green: Path

cargo run --bin csp

Dynamic Window Approach

Brack: Obstacles, Green: Trajectry, Yellow: Predected trajectry

cargo run --bin dwa

Model Predictive Trajectory Generator

Green: Path

cargo run --bin model_predictive_trajectory_generator

Dijkstra algorithm

Potential Field algorithm

State Lattice Planner

Rapidly-Exploring Random Trees

Path Tracking

Move to Pose

Green: Path, Red: Start and Goal

cargo run --bin move_to_pose

Pure Pursuit

Brack: Planned path, Green: Tracked path

cargo run --bin pure_pursuit

Stanly Control

Brack: Planned path, Green: Tracked path

cargo run --bin stanley_control

LQR steer control

Brack: Planned path, Green: Tracked path

cargo run --bin lqr_steer_control

Nonlinear Model predictive control with C-GMRES