39 namespace ompl
51 bool ompl::geometric::HillClimbing::tryToImprove(const base::GoalRegion &goal, base::State *state, double nearDistance,
60 bool wasSatisfied = goal.isSatisfied(state, &initialDistance);
65 base::StateSamplerPtr ss = si_->allocStateSampler();
66 base::State *test = si_->allocState();
69 for (unsigned int i = 0; noUpdateSteps < magic::MAX_CLIMB_NO_UPDATE_STEPS && i < maxImproveSteps_; ++i)
74 bool isSatisfied = goal.isSatisfied(test, &tempDistance);
109 return (bestDist < initialDistance) || (!wasSatisfiedStart && wasSatisfied) || (!wasValidStart && wasValid);
bool isSatisfied(const State *st) const override
Equivalent to calling isSatisfied(const State *, double *) with a nullptr second argument.
A shared pointer wrapper for ompl::base::StateSampler.
static const unsigned int MAX_CLIMB_NO_UPDATE_STEPS
Maximum number of consecutive failures to allow before giving up on improving a state. A failure consists of being unable to sample a state that is closer to the specified goal region.
bool tryToImprove(const base::GoalRegion &goal, base::State *state, double nearDistance, double *betterGoalDistance=nullptr) const
Try to improve a state (reduce distance to goal). The updates are performed by sampling near the stat...