finds.dev← search

// the find

rsasaki0109/rust_robotics

★ 230 · Rust · MIT · updated Jun 2026

100+ robotics algorithms in Rust: planning, localization, SLAM, control, and benchmarks.

A Rust port and extension of PythonRobotics, implementing 100+ robotics algorithms across planning, localization, SLAM, and control as a proper library crate. It targets robotics developers who want production-grade performance from well-known algorithms, with extras like ROS2/Gazebo integration, egui playground, and Rust-vs-Python benchmarks.

- Well-structured workspace with proper crate separation (core/planning/localization/control/slam/mapping) and feature-gated umbrella crate — you can pull in only what you need without dragging in the full dependency tree.

- The benchmarks are honest and reproducible: MovingAI scenario files are committed, Rust-vs-Python numbers include specific test conditions (100x100 grid, 1000 steps), and there's a Criterion bench suite for grid planners.

- ROS2 integration using safe_drive is genuinely functional — nodes cover the full nav stack (EKF localization, SLAM, A* planner, DWA, waypoint navigation) with a TurtleBot3 Gazebo smoke test in CI.

- Headless examples with no GUI deps make CI-friendly iteration easy, and the egui playground lets you interactively poke at filters and SLAM without writing any glue code.

- The repo has 230 stars and 15 forks but a 'last push: 2026-06-10' date which is suspicious — either the clock is wrong or this was AI-accelerated bulk generation, and the algorithm count feels more like breadth than depth. Some implementations (e.g. CGMRES, bipedal planner, conformal SIPP) are niche enough that their correctness is hard to verify without reference outputs.

- nalgebra is used throughout but there's no SIMD/parallelism for the hot paths — the MPPI sampler and ICP inner loops are single-threaded, so the Rust-vs-Python speedup numbers reflect interpreter overhead more than algorithmic optimization.

- The ROS2 nodes are built outside the standard ament/colcon build system (plain cargo), which means no rosdep, no package.xml, and integration with existing ROS2 workspaces requires manual path wrangling that will bite anyone trying to compose this with other ROS packages.

- Visualization is gnuplot-based for most algorithms (not egui), which is a pain on headless servers and introduces a non-Rust external dependency with inconsistent availability across platforms — the egui playground only covers a subset of algorithms.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →