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
- Localization
- Mapping
- SLAM
- Iterative Closest Point
- FastSLAM 1.0
- Path Planning
- Path Tracking
- LQR Steer Control
- Move to Pose
- Pure Pursuit
- Stanley Control
- Nonlinear Model predictive control with C-GMRES
- Inverted Pendulum
- Arm Navigation
Red:GPS, Brue:Ground Truth, Green:EKF, Yellow:Dead Reckoning
cargo run --bin ekf
Blue: GPS, Red: Ground Truth, Green: Particle Filter, Yellow: Dead Reckoning
cargo run --bin particle_filter
Blue: Ground Truth, Red: UKF Estimate, Black: Dead Reckoning, Green: GPS Observations, Red Ellipse: Uncertainty
cargo run --bin unscented_kalman_filter
cargo run --bin ndt
Red: Reference points, Blue: Initial points, Green: Aligned points
cargo run --bin icp_matching
Blue: Start, Red: Goal, Green: Path, Gray: Obstacles
cargo run --bin a_star
Blue: Start, Red: Goal, Green: Path
cargo run --bin bezier_path_planning
Black: Control points, Green: Path
cargo run --bin csp
Black: Obstacles, Green: Trajectory, Yellow: Predicted trajectory
cargo run --bin dwa
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.
cargo run --bin dijkstra
Blue: Start, Red: Goal, Green: Path, Black: Tree
cargo run --bin informed_rrt_star
Green: Path
cargo run --bin model_predictive_trajectory_generator
Blue: Start, Red: Goal, Green: Path, Gray: Obstacles
cargo run --bin potential_field
Blue: Start, Red: Goal, Green: Path
cargo run --bin quintic_polynomials
Blue: Start, Red: Goal, Green: Path, Black: Tree
cargo run --bin rrt
Blue: Start, Red: Goal, Green: Path, Black: Tree
cargo run --bin rrt_star
Blue: Start, Red: Goal, Green: Path
cargo run --bin reeds_shepp_path
Black: Planned path, Green: Tracked path
cargo run --bin lqr_steer_control
Green: Path, Red: Start and Goal
cargo run --bin move_to_pose
Black: Planned path, Green: Tracked path
cargo run --bin pure_pursuit
Black: Planned path, Green: Tracked path
cargo run --bin stanley_controller
Blue: Position, Red: Angle
cargo run --bin inverted_pendulum_lqr
Blue: Theta1, Red: Theta2 joint angles over time
cargo run --bin two_joint_arm_control
Finite state machine for robot behavior management with states, transitions, guards, and actions
cargo run --bin state_machine