Skip to content

rsasaki0109/rust_robotics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 a_star
cargo run --bin rrt
cargo run --bin inverted_pendulum_lqr
cargo run --bin two_joint_arm_control

Table of Contents

Localization

Extended Kalman Filter Localization

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

cargo run --bin ekf

Particle Filter Localization

Blue: GPS, Red: Ground Truth, Green: Particle Filter, Yellow: Dead Reckoning

cargo run --bin particle_filter

Unscented Kalman Filter Localization

Blue: Ground Truth, Red: UKF Estimate, Black: Dead Reckoning, Green: GPS Observations, Red Ellipse: Uncertainty

cargo run --bin unscented_kalman_filter

Mapping

NDT Map

cargo run --bin ndt

SLAM

Iterative Closest Point (ICP) Matching

Red: Reference points, Blue: Initial points, Green: Aligned points

cargo run --bin icp_matching

FastSLAM 1.0

Path Planning

A* Algorithm

Blue: Start, Red: Goal, Green: Path, Gray: Obstacles

cargo run --bin a_star

Bezier Path Planning

Blue: Start, Red: Goal, Green: Path

cargo run --bin bezier_path_planning

Cubic Spline

Black: Control points, Green: Path

cargo run --bin csp

Dynamic Window Approach

Black: Obstacles, Green: Trajectory, Yellow: Predicted trajectory

cargo run --bin dwa

D* Lite

Blue: Start, Red: Goal, Green: Path, Black: Obstacles

cargo run --bin d_star_lite

D* Lite is an incremental heuristic search algorithm for path planning in dynamic environments. It's particularly efficient for replanning when the environment changes.

Dijkstra Algorithm

cargo run --bin dijkstra

Informed RRT*

Blue: Start, Red: Goal, Green: Path, Black: Tree

cargo run --bin informed_rrt_star

Model Predictive Trajectory Generator

Green: Path

cargo run --bin model_predictive_trajectory_generator

Potential Field Algorithm

Blue: Start, Red: Goal, Green: Path, Gray: Obstacles

cargo run --bin potential_field

Quintic Polynomials

Blue: Start, Red: Goal, Green: Path

cargo run --bin quintic_polynomials

Rapidly-Exploring Random Trees (RRT)

Blue: Start, Red: Goal, Green: Path, Black: Tree

cargo run --bin rrt

RRT*

Blue: Start, Red: Goal, Green: Path, Black: Tree

cargo run --bin rrt_star

Reeds-Shepp Path

Blue: Start, Red: Goal, Green: Path

cargo run --bin reeds_shepp_path

State Lattice Planner

Path Tracking

LQR Steer Control

Black: Planned path, Green: Tracked path

cargo run --bin lqr_steer_control

Move to Pose

Green: Path, Red: Start and Goal

cargo run --bin move_to_pose

Pure Pursuit

Black: Planned path, Green: Tracked path

cargo run --bin pure_pursuit

Stanley Control

Black: Planned path, Green: Tracked path

cargo run --bin stanley_controller

Nonlinear Model predictive control with C-GMRES

Inverted Pendulum

LQR Control

Blue: Position, Red: Angle

cargo run --bin inverted_pendulum_lqr

Arm Navigation

Two Joint Arm Control

Blue: Theta1, Red: Theta2 joint angles over time

cargo run --bin two_joint_arm_control

Mission Planning

State Machine

Finite state machine for robot behavior management with states, transitions, guards, and actions

cargo run --bin state_machine

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages