Use a Family as a UtilityChecker. More...
#include <FamilyUtilityChecker.h>
Public Types | |
typedef std::pair< double, ompl::base::StateValidityCheckerPtr > | SetChecker |
Public Member Functions | |
FamilyUtilityChecker (ompl::base::SpaceInformation *si, const Family &family) | |
FamilyUtilityChecker (const ompl::base::SpaceInformationPtr &si, const Family &family) | |
void | initialize () |
void | start_checking (std::string set_target, const std::map< std::string, SetChecker > &set_checkers) |
void | stop_checking () |
size_t | getSetIndex (const std::string &set_name) const |
size_t | numTags () const |
size_t | tagIfSetKnown (size_t tag_in, size_t iset, bool value) const |
bool | hasChanged () |
Determine if the underlying utility model has changed since the last call to hasChanged(). More... | |
bool | isKnown (size_t tag) const |
Determine whether a state with tag tag is known either valid or invalid. More... | |
bool | isKnownInvalid (size_t tag) const |
Determine whether a state with tag tag is known to be invalid. More... | |
double | getPartialEvalCost (size_t tag, const ompl::base::State *state) const |
Determines the optimistic planning cost entailed to call isValidPartialEval(). More... | |
bool | isValidPartialEval (size_t &tag, const ompl::base::State *state) const |
Conduct the optimistic set of evaluations. More... | |
Public Member Functions inherited from ompl_lemur::UtilityChecker | |
UtilityChecker (ompl::base::SpaceInformation *si) | |
UtilityChecker (const ompl::base::SpaceInformationPtr &si) | |
virtual bool | isValid (const ompl::base::State *state) const |
Tag-ignorant validity check wrapper. More... | |
Public Member Functions inherited from ompl::base::StateValidityChecker | |
StateValidityChecker (SpaceInformation *si) | |
StateValidityChecker (const SpaceInformationPtr &si) | |
virtual bool | isValid (const State *state, double &dist) const |
virtual bool | isValid (const State *state, double &dist, State *validState, bool &validStateAvailable) const |
virtual double | clearance (const State *) const |
virtual double | clearance (const State *state, State *, bool &validStateAvailable) const |
const StateValidityCheckerSpecs & | getSpecs () const |
Additional Inherited Members | |
Protected Attributes inherited from ompl::base::StateValidityChecker | |
SpaceInformation * | si_ |
StateValidityCheckerSpecs | specs_ |
Use a Family as a UtilityChecker.
This class implements an optimistic search over a family of sets. Internally, this class effectively computes a graph of known states over all N sets (naively 3^N states, modulo any relations). For a given target set and costed checkers, it computes the optimal set of checks (and their results) that would imply membership in the target set.
This now implements lazy computation of tags / optimistic plans.
This used to be called FamilyEffortModel
.
|
virtual |
Determines the optimistic planning cost entailed to call isValidPartialEval().
This is optimistic (if everything goes right for next call to isValidPartialEval())
Was EffortModel::p_hat()
.
Implements ompl_lemur::UtilityChecker.
|
virtual |
Determine if the underlying utility model has changed since the last call to hasChanged().
If true, planner must recalculate wlazy for all edges.
Was EffortModel::has_changed()
.
Implements ompl_lemur::UtilityChecker.
|
virtual |
Determine whether a state with tag tag
is known either valid or invalid.
Was EffortModel::is_evaled()
.
Implements ompl_lemur::UtilityChecker.
|
virtual |
Determine whether a state with tag tag
is known to be invalid.
Was EffortModel::x_hat()
.
Implements ompl_lemur::UtilityChecker.
|
virtual |
Conduct the optimistic set of evaluations.
Returns true if everything went as planned (so that target is T!).
If false, not necessary known invalid!
This updates the tag
argument.
Was EffortModel::eval_partial()
.
Implements ompl_lemur::UtilityChecker.