pub struct BranchOutPlanner2D { /* private fields */ }Expand description
Deterministic multimodal planner over coarse driving modes.
Implementations§
Source§impl BranchOutPlanner2D
impl BranchOutPlanner2D
pub fn new(config: BranchOutPlannerConfig2D) -> RoboticsResult<Self>
pub fn config(&self) -> &BranchOutPlannerConfig2D
pub fn plan( &self, scene: &BranchOutDrivingScene2D, ) -> RoboticsResult<BranchOutPlan2D>
pub fn evaluate_multimodal( &self, plan: &BranchOutPlan2D, ground_truths: &[Vec<BranchOutPose2D>], ) -> RoboticsResult<BranchOutMultimodalMetrics2D>
Sourcepub fn simulate_closed_loop(
&self,
scene: &BranchOutDrivingScene2D,
obstacle_velocities: &[(f64, f64)],
config: BranchOutClosedLoopConfig2D,
) -> RoboticsResult<BranchOutClosedLoopMetrics2D>
pub fn simulate_closed_loop( &self, scene: &BranchOutDrivingScene2D, obstacle_velocities: &[(f64, f64)], config: BranchOutClosedLoopConfig2D, ) -> RoboticsResult<BranchOutClosedLoopMetrics2D>
Run a receding-horizon closed-loop rollout: at every control step re-plan from the current ego pose, commit the first step of the highest-probability mode, advance the (optionally moving) obstacles, and accumulate closed-loop driving metrics.
obstacle_velocities must match scene.obstacles in length; pass zeros
for static traffic.
Trait Implementations§
Source§impl Clone for BranchOutPlanner2D
impl Clone for BranchOutPlanner2D
Source§fn clone(&self) -> BranchOutPlanner2D
fn clone(&self) -> BranchOutPlanner2D
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BranchOutPlanner2D
impl Debug for BranchOutPlanner2D
Source§impl PartialEq for BranchOutPlanner2D
impl PartialEq for BranchOutPlanner2D
impl StructuralPartialEq for BranchOutPlanner2D
Auto Trait Implementations§
impl Freeze for BranchOutPlanner2D
impl RefUnwindSafe for BranchOutPlanner2D
impl Send for BranchOutPlanner2D
impl Sync for BranchOutPlanner2D
impl Unpin for BranchOutPlanner2D
impl UnsafeUnpin for BranchOutPlanner2D
impl UnwindSafe for BranchOutPlanner2D
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.