46 namespace ompl
90 ~SBL() override;
96 projectionEvaluator_ = projectionEvaluator;
109 return projectionEvaluator_;
119 maxDistance_ = distance;
125 return maxDistance_;
128 void setup() override;
132 void clear() override;
179 Motion *operator(unsigned int i)
191 void push_back(Motion *m)
205 CellPDF::Element *elem_;
211 TreeData() : grid(0), size(0)
Object containing planner generated vertex and edge data. It is assumed that all vertices are unique...
void getPlannerData(base::PlannerData &data) const override
Get information about the current run of the motion planner. Repeated calls to this function will upd...
Motion * parent
The parent motion – it contains the state this motion originates at.
std::vector< Motion * > children
The set of motions descending from the current motion.
A shared pointer wrapper for ompl::base::ValidStateSampler.
base::PlannerStatus solve(const base::PlannerTerminationCondition &ptc) override
Function that can solve the motion planning problem. This function can be called multiple times on th...
Default constructor. Allocates no memory.
bool checkSolution(bool start, TreeData &tree, TreeData &otherTree, Motion *motion, std::vector< Motion *> &solution)
Check if a solution can be obtained by connecting two trees using a specified motion.
void addMotion(TreeData &tree, Motion *motion)
Add a motion to a tree.
Free the memory allocated by the planner.
Encapsulate a termination condition for a motion planner. Planners will call operator() to decide whe...
The employed projection evaluator.
bool isPathValid(TreeData &tree, Motion *motion)
Since solutions are computed in a lazy fashion, once trees are connected, the solution found needs to...
base::State * state
The state this motion leads to.
Motion * selectMotion(TreeData &tree)
Select a motion from a tree.
void freeGridMotions(Grid< MotionInfo > &grid)
Free the memory used by the motions contained in a grid.
void setProjectionEvaluator(const base::ProjectionEvaluatorPtr &projectionEvaluator)
Set the projection evaluator. This class is able to compute the projection of a given state...
The PDF used for selecting a cell from which to sample a motion.
unsigned int size
The number of motions (in total) from the tree.
double getRange() const
Get the range the planner is using.
Random number generation. An instance of this class cannot be used by multiple threads at once (membe...
A struct containing an array of motions and a corresponding PDF element.
void setup() override
Perform extra configuration steps, if needed. This call will also issue a call to ompl::base::SpaceIn...
const base::ProjectionEvaluatorPtr & getProjectionEvaluator() const
Get the projection evaluator.
A shared pointer wrapper for ompl::base::ProjectionEvaluator.
A class to store the exit status of Planner::solve()
const base::State * root
The root of the tree this motion would get to, if we were to follow parent pointers.
A shared pointer wrapper for ompl::base::SpaceInformation.
void removeMotion(TreeData &tree, Motion *motion)
Remove a motion from a tree.
SBL(const base::SpaceInformationPtr &si)
The constructor needs the instance of the space information.
Grid< MotionInfo > grid
The grid of motions corresponding to this tree.
void setRange(double distance)
Set the range the planner is supposed to use.
The employed state sampler.
Motion(const base::SpaceInformationPtr &si)
Constructor that allocates storage for a state.
Flag indicating whether this motion has been checked for validity.
void clear() override
Clear all internal datastructures. Planner settings are not affected. Subsequent calls to solve() wil...
Representation of a search tree. Two instances will be used. One for start and one for goal...
The space information for which planning is done.
void setProjectionEvaluator(const std::string &name)
Set the projection evaluator (select one from the ones registered with the state space).
std::pair< base::State *, base::State * > connectionPoint_
The pair of states in each tree connected during planning. Used for PlannerData computation.
Single-Query Bi-Directional Probabilistic Roadmap Planner with Lazy Collision Checking.
The maximum length of a motion to be added in the tree.