43 namespace ompl
77 ~KPIECE1() override;
81 void clear() override;
94 goalBias_ = goalBias;
100 return goalBias_;
110 maxDistance_ = distance;
116 return maxDistance_;
134 return disc_.getBorderFraction();
145 minValidPathFraction_ = fraction;
151 return minValidPathFraction_;
160 failedExpansionScoreFactor_ = factor;
167 return failedExpansionScoreFactor_;
174 projectionEvaluator_ = projectionEvaluator;
187 return projectionEvaluator_;
190 void setup() override;
208 ~Motion() = default;
When extending a motion from a cell, the extension can fail. If it is, the score of the cell is multi...
Object containing planner generated vertex and edge data. It is assumed that all vertices are unique...
double getBorderFraction() const
Get the fraction of time to focus exploration on boundary.
Motion * lastGoalMotion_
The most recent goal motion. Used for PlannerData computation.
base::State * state
The state contained by this motion.
Representation of a motion for this algorithm.
void freeMotion(Motion *motion)
Free the memory for a motion.
A shared pointer wrapper for ompl::base::StateSampler.
When extending a motion, the planner can decide to keep the first valid part of it, even if invalid states are found, as long as the valid part represents a sufficiently large fraction from the original motion.
double getFailedExpansionCellScoreFactor() const
Get the factor that is multiplied to a cell's score if extending a motion from that cell failed...
Encapsulate a termination condition for a motion planner. Planners will call operator() to decide whe...
double getMinValidPathFraction() const
Get the value of the fraction set by setMinValidPathFraction()
Discretization< Motion > disc_
The tree datastructure and the grid that covers it.
void setProjectionEvaluator(const std::string &name)
Set the projection evaluator (select one from the ones registered with the state space).
void clear() override
Clear all internal datastructures. Planner settings are not affected. Subsequent calls to solve() wil...
The fraction of time the goal is picked as the state to expand towards (if such a state is available)...
void setGoalBias(double goalBias)
Set the goal bias.
void setProjectionEvaluator(const base::ProjectionEvaluatorPtr &projectionEvaluator)
Set the projection evaluator. This class is able to compute the projection of a given state...
The maximum length of a motion to be added to a tree.
Random number generation. An instance of this class cannot be used by multiple threads at once (membe...
One-level discretization used for KPIECE.
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...
Kinematic Planning by Interior-Exterior Cell Exploration.
void setRange(double distance)
Set the range the planner is supposed to use.
void getPlannerData(base::PlannerData &data) const override
Get information about the current run of the motion planner. Repeated calls to this function will upd...
A shared pointer wrapper for ompl::base::ProjectionEvaluator.
A class to store the exit status of Planner::solve()
Motion(const base::SpaceInformationPtr &si)
Constructor that allocates memory for the state.
A shared pointer wrapper for ompl::base::SpaceInformation.
void setBorderFraction(double bp)
Set the fraction of time for focusing on the border (between 0 and 1). This is the minimum fraction u...
KPIECE1(const base::SpaceInformationPtr &si)
Motion * parent
The parent motion in the exploration tree.
void setMinValidPathFraction(double fraction)
When extending a motion, the planner can decide to keep the first valid part of it, even if invalid states are found, as long as the valid part represents a sufficiently large fraction from the original motion. This function sets the minimum acceptable fraction (between 0 and 1).
double getRange() const
Get the range the planner is using.
void setup() override
Perform extra configuration steps, if needed. This call will also issue a call to ompl::base::SpaceIn...
double getGoalBias() const
Get the goal bias the planner is using.
const base::ProjectionEvaluatorPtr & getProjectionEvaluator() const
Get the projection evaluator.
This algorithm uses a discretization (a grid) to guide the exploration. The exploration is imposed on...
A state space sampler.
The space information for which planning is done.
void setFailedExpansionCellScoreFactor(double factor)
When extending a motion from a cell, the extension can be successful or it can fail. If the extension fails, the score of the cell is multiplied by factor. These number should be in the range (0, 1].