Module reedshepp

Module reedshepp 

Source
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§

ReedsSheppPath
A complete Reeds-Shepp path
ReedsSheppPlanner
Reeds-Shepp path planner
ReedsSheppSegment
A segment of a Reeds-Shepp path

Enums§

Motion
Motion direction for Reeds-Shepp path segments
ReedsSheppPathType
Types of Reeds-Shepp path families
Turn
Turn direction for Reeds-Shepp path segments