pub struct ClosedLoopRRTStarPlanner { /* private fields */ }Expand description
Closed-Loop RRT* planner.
Internally runs RRTStarRSPlanner to build the tree, then evaluates all
candidate goal paths with a closed-loop forward simulation.
Implementations§
Source§impl ClosedLoopRRTStarPlanner
impl ClosedLoopRRTStarPlanner
Sourcepub fn new(
obstacles: Vec<CircleObstacle>,
rand_area: AreaBounds,
config: ClosedLoopRRTStarConfig,
) -> Self
pub fn new( obstacles: Vec<CircleObstacle>, rand_area: AreaBounds, config: ClosedLoopRRTStarConfig, ) -> Self
Create a new CL-RRT* planner.
Sourcepub fn planning(
&mut self,
start: Pose2D,
goal: Pose2D,
) -> Option<ClosedLoopRRTStarResult>
pub fn planning( &mut self, start: Pose2D, goal: Pose2D, ) -> Option<ClosedLoopRRTStarResult>
Plan from start to goal, returning the best feasible trajectory.
Returns None if no dynamically feasible path is found.
Sourcepub fn plan_with_sampler<F>(
&mut self,
start: Pose2D,
goal: Pose2D,
sample_node: F,
) -> Option<ClosedLoopRRTStarResult>
pub fn plan_with_sampler<F>( &mut self, start: Pose2D, goal: Pose2D, sample_node: F, ) -> Option<ClosedLoopRRTStarResult>
Plan using a deterministic sampler (for testing).
Sourcepub fn get_tree(&self) -> &[RRTStarRSNode]
pub fn get_tree(&self) -> &[RRTStarRSNode]
Access the internal RRT* tree.
Auto Trait Implementations§
impl Freeze for ClosedLoopRRTStarPlanner
impl RefUnwindSafe for ClosedLoopRRTStarPlanner
impl Send for ClosedLoopRRTStarPlanner
impl Sync for ClosedLoopRRTStarPlanner
impl Unpin for ClosedLoopRRTStarPlanner
impl UnsafeUnpin for ClosedLoopRRTStarPlanner
impl UnwindSafe for ClosedLoopRRTStarPlanner
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.