Loading...
Searching...
No Matches
AOXRRTConnect.cpp
47ompl::geometric::AOXRRTConnect::AOXRRTConnect(const base::SpaceInformationPtr &si) : base::Planner(si, "AOXRRTConnect")
52 Planner::declareParam<double>("range", this, &AOXRRTConnect::setRange, &AOXRRTConnect::getRange, "0.:1.:10000.");
82 OMPL_INFORM("%s: problem definition is not set, deferring setup completion...", getName().c_str());
129 tStart_->setDistanceFunction([this](const Motion *a, const Motion *b) { return aoxDistanceFunction(a, b); });
130 tGoal_->setDistanceFunction([this](const Motion *a, const Motion *b) { return aoxDistanceFunction(a, b); });
166ompl::geometric::AOXRRTConnect::Motion *ompl::geometric::AOXRRTConnect::findNeighbour(Motion *sampled_motion,
195ompl::geometric::AOXRRTConnect::GrowState ompl::geometric::AOXRRTConnect::growTree(TreeData &tree, TreeGrowingInfo &tgi,
198 auto g_hat = tgi.start ? si_->distance(rmotion->state, startState) : si_->distance(rmotion->state, goalState);
223 si_->getStateSpace()->interpolate(nmotion->state, rmotion->state, maxDistance_ / d, tgi.xstate);
225 /* Check if we have moved at all. Due to some stranger state spaces (e.g., the constrained state spaces),
302ompl::base::PlannerStatus ompl::geometric::AOXRRTConnect::solve(const base::PlannerTerminationCondition &ptc)
355 /* We are using informed sampling, this can end-up reverting to rejection sampling in some cases */
360 OMPL_INFORM("%s: Started planning with %u states. Seeking a solution better than %.5f.", getName().c_str(),
516 tgi.start ? si_->distance(rmotion->state, startState) : si_->distance(rmotion->state, goalState);
518 !tgi.start ? si_->distance(rmotion->state, startState) : si_->distance(rmotion->state, goalState);
539 OMPL_INFORM("%s: Created %u states (%u start + %u goal)", getName().c_str(), tStart_->size() + tGoal_->size(),
Abstract definition of a goal region that can be sampled.
Definition GoalSampleableRegion.h:48
Encapsulate a termination condition for a motion planner. Planners will call operator() to decide whe...
Definition PlannerTerminationCondition.h:64
virtual void checkValidity()
Check to see if the planner is in a working state (setup has been called, a goal was set,...
Definition Planner.cpp:106
void setup() override
Perform extra configuration steps, if needed. This call will also issue a call to ompl::base::SpaceIn...
Definition AOXRRTConnect.cpp:62
void setRange(double distance)
Set the range the planner is supposed to use.
Definition AOXRRTConnect.h:105
long int maxResampleAttempts_
Maximum allowed cost resampling iterations before moving on.
Definition AOXRRTConnect.h:245
Motion * findNeighbour(Motion *sampled_motion, float rootDist, TreeData &tree)
Find a valid neighbour with asymmetric distance funtion via iteration.
Definition AOXRRTConnect.cpp:166
std::pair< base::State *, base::State * > connectionPoint_
The pair of states in each tree connected during planning. Used for PlannerData computation.
Definition AOXRRTConnect.h:278
bool startTree_
A flag that toggles between expanding the start tree (true) or goal tree (false).
Definition AOXRRTConnect.h:239
bool internalResetCondition()
Check if the inner loop planner met its condition to terminate.
Definition AOXRRTConnect.h:129
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...
Definition AOXRRTConnect.cpp:302
std::shared_ptr< NearestNeighbors< Motion * > > TreeData
A nearest-neighbor datastructure representing a tree of motions.
Definition AOXRRTConnect.h:174
GrowState growTree(TreeData &tree, TreeGrowingInfo &tgi, Motion *rmotion)
Grow a tree towards a random state.
Definition AOXRRTConnect.cpp:195
base::PlannerTerminationCondition _ptc
Outer loop termination condition for AORRTC.
Definition AOXRRTConnect.h:269
double maxDistance_
The maximum length of a motion to be added to a tree.
Definition AOXRRTConnect.h:242
This class contains methods that automatically configure various parameters for motion planning....
Definition SelfConfig.h:59
static NearestNeighbors< _T > * getDefaultNearestNeighbors(const base::Planner *planner)
Select a default nearest neighbor datastructure for the given space.
Definition SelfConfig.h:105
void configurePlannerRange(double &range)
Compute what a good length for motion segments is.
Definition SelfConfig.cpp:225
This namespace contains sampling based planning routines shared by both planning under geometric cons...
Definition ConstrainedSpaceInformation.h:55
@ GOAL_SAMPLEABLE_REGION
This bit is set if casting to sampleable goal regions (ompl::base::GoalSampleableRegion) is possible.
Definition GoalTypes.h:56
A class to store the exit status of Planner::solve().
Definition PlannerStatus.h:49
@ UNRECOGNIZED_GOAL_TYPE
The goal is of a type that a planner does not recognize.
Definition PlannerStatus.h:60
Information attached to growing a tree of motions (used internally).
Definition AOXRRTConnect.h:178