Expand description
Reeds-Shepp path planning
This module provides algorithms for computing Reeds-Shepp paths, which are the shortest paths between two poses (position + orientation) for a vehicle with a minimum turning radius constraint that can move both forward and backward. Reeds-Shepp paths extend Dubins paths by allowing reversing motion.
Reeds-Shepp paths can have different combinations of forward/backward motion and turning directions. The fundamental segments are:
- Forward/Backward straight lines
- Forward/Backward left/right circular arcs
§Examples
use scirs2_spatial::pathplanning::reedshepp::{ReedsSheppPlanner, Pose2D};
let start = Pose2D::new(0.0, 0.0, 0.0); // x, y, theta
let goal = Pose2D::new(1.0, 1.0, std::f64::consts::PI / 2.0);
let turning_radius = 1.0;
let planner = ReedsSheppPlanner::new(turning_radius);
if let Ok(path) = planner.plan(&start, &goal) {
println!("Path length: {}", path.length());
}Re-exports§
pub use super::dubins::Pose2D;
Structs§
- Reeds
Shepp Path - A complete Reeds-Shepp path
- Reeds
Shepp Planner - Reeds-Shepp path planner
- Reeds
Shepp Segment - A segment of a Reeds-Shepp path
Enums§
- Motion
- Motion direction for Reeds-Shepp path segments
- Reeds
Shepp Path Type - Types of Reeds-Shepp path families
- Turn
- Turn direction for Reeds-Shepp path segments