Loading...
Searching...
No Matches
ompl::multilevel::FindSectionSideStep Class Reference

#include <ompl/multilevel/datastructures/pathrestriction/FindSectionSideStep.h>

Inheritance diagram for ompl::multilevel::FindSectionSideStep:

Public Member Functions

 FindSectionSideStep (PathRestriction *)
virtual bool solve (HeadPtr &head) override
bool recursiveSideStep (HeadPtr &head, bool interpolateFiberFirst=true, unsigned int depth=0)
Public Member Functions inherited from ompl::multilevel::FindSection
 FindSection (PathRestriction *)
bool findFeasibleStateOnFiber (const base::State *xBase, base::State *xBundle)
 Sample state on fiber while keeping base state fixed.
bool tripleStep (HeadPtr &head, const base::State *sBundleGoal, double locationOnBasePathGoal)
 Triple step pattern.

Additional Inherited Members

Protected Attributes inherited from ompl::multilevel::FindSection
PathRestrictionrestriction_
 Pointer to associated bundle space.
base::StatexBaseTmp_ {nullptr}
base::StatexBundleTmp_ {nullptr}
base::StatexFiberStart_ {nullptr}
base::StatexFiberGoal_ {nullptr}
base::StatexFiberTmp_ {nullptr}
ParameterExponentialDecay neighborhoodRadiusBaseSpace_
 Radius of restriction neighborhood.
double neighborhoodRadiusBaseSpaceLambda_ {1.0}
double neighborhoodRadiusBaseSpaceTarget_ {0.5}
double validBaseSpaceSegmentLength_
 Step size to check validity.
double validBundleSpaceSegmentLength_
double validFiberSpaceSegmentLength_

Detailed Description

Short description
FindSectionSideStep tries to solve the find section problem by going along an L1 interpolation towards the goal while no collision occurs. Once a collision occurs, we sample randomly on the current fiber and make side steps towards feasible samples. We then recursively continue from those samples.
External documentation
Andreas Orthey and Sohaib Akbar and Marc Toussaint, Multilevel Motion Planning: A Fiber Bundle Formulation, in arXiv:2007.09435 [cs.RO], 2020, [PDF]

Definition at line 64 of file FindSectionSideStep.h.

Constructor & Destructor Documentation

◆ FindSectionSideStep()

FindSectionSideStep::FindSectionSideStep ( PathRestriction * restriction)

Definition at line 57 of file FindSectionSideStep.cpp.

◆ ~FindSectionSideStep()

FindSectionSideStep::~FindSectionSideStep ( )
virtual

Definition at line 61 of file FindSectionSideStep.cpp.

Member Function Documentation

◆ recursiveSideStep()

bool FindSectionSideStep::recursiveSideStep ( HeadPtr & head,
bool interpolateFiberFirst = true,
unsigned int depth = 0 )

Definition at line 86 of file FindSectionSideStep.cpp.

◆ solve()

bool FindSectionSideStep::solve ( HeadPtr & head)
overridevirtual

Implements ompl::multilevel::FindSection.

Definition at line 65 of file FindSectionSideStep.cpp.


The documentation for this class was generated from the following files: