LEMUR Packages: ompl_lemur or_lemur pr_bgl prpy_lemur
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Groups Pages
Classes | Public Types | Public Member Functions | List of all members
ompl_lemur::FamilyUtilityChecker Class Reference

Use a Family as a UtilityChecker. More...

#include <FamilyUtilityChecker.h>

Inheritance diagram for ompl_lemur::FamilyUtilityChecker:
ompl_lemur::UtilityChecker ompl::base::StateValidityChecker

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 StateValidityCheckerSpecsgetSpecs () const
 

Additional Inherited Members

- Protected Attributes inherited from ompl::base::StateValidityChecker
SpaceInformationsi_
 
StateValidityCheckerSpecs specs_
 

Detailed Description

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.

Member Function Documentation

double ompl_lemur::FamilyUtilityChecker::getPartialEvalCost ( size_t  tag,
const ompl::base::State state 
) const
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.

bool ompl_lemur::FamilyUtilityChecker::hasChanged ( )
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.

bool ompl_lemur::FamilyUtilityChecker::isKnown ( size_t  tag) const
virtual

Determine whether a state with tag tag is known either valid or invalid.

Was EffortModel::is_evaled().

Implements ompl_lemur::UtilityChecker.

bool ompl_lemur::FamilyUtilityChecker::isKnownInvalid ( size_t  tag) const
virtual

Determine whether a state with tag tag is known to be invalid.

Was EffortModel::x_hat().

Implements ompl_lemur::UtilityChecker.

bool ompl_lemur::FamilyUtilityChecker::isValidPartialEval ( size_t &  tag,
const ompl::base::State state 
) const
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.


The documentation for this class was generated from the following files: