36 typedef std::pair<double, ompl::base::StateValidityCheckerPtr> SetChecker;
38 void start_checking(std::string set_target,
const std::map<std::string, SetChecker> & set_checkers);
44 size_t getSetIndex(
const std::string & set_name)
const;
46 size_t numTags()
const {
return _belief_states.size(); }
49 size_t tagIfSetKnown(
size_t tag_in,
size_t iset,
bool value)
const;
68 std::vector<std::string> _sets;;
72 struct ConjunctionImplication
74 std::vector<std::size_t> antecedents;
75 std::size_t consequent;
77 std::vector<ConjunctionImplication> _conjunction_implications;
79 std::vector< std::vector<bool> > _truth_table;
86 std::vector<SetChecker> _checkers;
90 typedef std::pair< std::vector<bool>, std::vector<bool> > BeliefState;
91 mutable std::vector< BeliefState > _belief_states;
92 mutable std::map< BeliefState, size_t > _belief_state_map;
95 struct BeliefStatePolicy
102 size_t tag_on_invalid;
103 BeliefStatePolicy(): computed(
false) {}
107 mutable std::vector< BeliefStatePolicy > _policy;
110 void compute_policy(
size_t tag)
const;
113 #ifdef OMPL_LEMUR_HAS_BOOSTSMARTPTRS
114 typedef boost::shared_ptr<FamilyUtilityChecker> FamilyUtilityCheckerPtr;
116 typedef std::shared_ptr<FamilyUtilityChecker> FamilyUtilityCheckerPtr;
bool isKnown(size_t tag) const
Determine whether a state with tag tag is known either valid or invalid.
Definition: FamilyUtilityChecker.cpp:173
bool isKnownInvalid(size_t tag) const
Determine whether a state with tag tag is known to be invalid.
Definition: FamilyUtilityChecker.cpp:179
bool isValidPartialEval(size_t &tag, const ompl::base::State *state) const
Conduct the optimistic set of evaluations.
Definition: FamilyUtilityChecker.cpp:199
Type of state validity checker which enables partial evaluation of tagged states. ...
Definition: UtilityChecker.h:15
bool hasChanged()
Determine if the underlying utility model has changed since the last call to hasChanged().
Definition: FamilyUtilityChecker.cpp:166
Use a Family as a UtilityChecker.
Definition: FamilyUtilityChecker.h:23
double getPartialEvalCost(size_t tag, const ompl::base::State *state) const
Determines the optimistic planning cost entailed to call isValidPartialEval().
Definition: FamilyUtilityChecker.cpp:189