A Rust crate for calculating optimal (shortest) paths for car-like vehicles using Reeds-Shepp curves. This implementation allows for both forward and backward motion and assumes a fixed turning radius (normalized to 1).
The paths are generated by exploring a set of 12 fundamental path families and their variations through time-flipping (reversing gear) and reflection (reversing steering).
- Calculates shortest paths between two poses (x, y, orientation).
- Supports forward and backward motion (
Gear::Forward
,Gear::Backwards
). - Defines discrete steering states (
Steering::Left
,Steering::Right
,Steering::Straight
). - Provides a clear path representation as a sequence of
PathElement
s. - Includes utility functions for pose manipulation, angle normalization, and coordinate conversions.
- Based on the principles described by Reeds & Shepp for path generation.
Add this to your Cargo.toml
:
[dependencies]
reeds_shepp = "0.1.1"