pub struct RRTStar {Show 13 fields
pub start: Node,
pub end: Node,
pub min_rand: f64,
pub max_rand: f64,
pub expand_dis: f64,
pub path_resolution: f64,
pub goal_sample_rate: i32,
pub max_iter: i32,
pub connect_circle_dist: f64,
pub search_until_max_iter: bool,
pub robot_radius: f64,
pub obstacle_list: Vec<(f64, f64, f64)>,
pub node_list: Vec<Node>,
}Fields§
§start: Node§end: Node§min_rand: f64§max_rand: f64§expand_dis: f64§path_resolution: f64§goal_sample_rate: i32§max_iter: i32§connect_circle_dist: f64§search_until_max_iter: bool§robot_radius: f64§obstacle_list: Vec<(f64, f64, f64)>§node_list: Vec<Node>Implementations§
Source§impl RRTStar
impl RRTStar
pub fn new( start: (f64, f64), goal: (f64, f64), obstacle_list: Vec<(f64, f64, f64)>, rand_area: (f64, f64), expand_dis: f64, path_resolution: f64, goal_sample_rate: i32, max_iter: i32, connect_circle_dist: f64, search_until_max_iter: bool, robot_radius: f64, ) -> Self
pub fn planning(&mut self) -> Option<Vec<[f64; 2]>>
Sourcepub fn plan_from(
&mut self,
start: Point2D,
goal: Point2D,
) -> RoboticsResult<Path2D>
pub fn plan_from( &mut self, start: Point2D, goal: Point2D, ) -> RoboticsResult<Path2D>
Plan a path from the given start to goal, returning a [Path2D].
This is a convenience wrapper around planning() that accepts
[Point2D], sets the start/goal, runs the planner, and returns [Path2D].
Requires &mut self because the underlying algorithm mutates internal state.
Sourcepub fn get_obstacles(&self) -> &[(f64, f64, f64)]
pub fn get_obstacles(&self) -> &[(f64, f64, f64)]
Get the obstacle list
Auto Trait Implementations§
impl Freeze for RRTStar
impl RefUnwindSafe for RRTStar
impl Send for RRTStar
impl Sync for RRTStar
impl Unpin for RRTStar
impl UnsafeUnpin for RRTStar
impl UnwindSafe for RRTStar
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.