1 #ifndef PLANNING_AO_META_PLANNER_H 2 #define PLANNING_AO_META_PLANNER_H 4 #include "KinodynamicMotionPlanner.h" 19 typedef Real (*HeuristicFn) (
const Config& x);
21 CostSpaceRRTPlanner(
const std::shared_ptr<KinodynamicSpace>& baseSpace,
const std::shared_ptr<ObjectiveFunctionalBase>& objective,Real costMax=Inf);
22 virtual ~CostSpaceRRTPlanner() {}
23 void EnableCostSpaceBias(
bool enabled);
24 void SetCostMax(Real cmax);
25 void SetCostDistanceWeight(Real weight);
29 virtual void Init(
const State& xinit,
CSet* goalSet);
30 virtual bool Plan(
int maxIters);
31 virtual bool Done()
const;
33 virtual void PickDestination(
State& xdest);
36 virtual void OnNewBestPath();
39 Real PathCost()
const;
40 Real TerminalCost(
const State& xc);
42 std::shared_ptr<KinodynamicSpace> baseSpace;
43 std::shared_ptr<KinodynamicSpace> costSpace;
44 std::shared_ptr<ObjectiveFunctionalBase> objective;
45 std::shared_ptr<CSet> costGoalSet;
46 HeuristicFn heuristic;
47 Real costSpaceDistanceWeight;
55 int prunableNodeSampleCount;
59 int numGoalsSampled,numPrunedNodes;
74 typedef Real (*HeuristicFn) (
const Config& x);
76 CostSpaceESTPlanner(
const std::shared_ptr<KinodynamicSpace>& baseSpace,
const std::shared_ptr<ObjectiveFunctionalBase>& objective,Real costMax=Inf);
77 virtual ~CostSpaceESTPlanner() {}
78 void EnableCostSpaceBias(
bool enabled);
79 void SetCostMax(Real cmax);
80 void SetDensityEstimatorResolution(Real res);
81 void SetDensityEstimatorResolution(
const Vector& res);
85 virtual void Init(
const State& xinit,
CSet* goalSet);
86 virtual bool Plan(
int maxIters);
89 virtual void OnNewBestPath();
92 Real PathCost()
const;
93 Real TerminalCost(
const State& xc);
95 std::shared_ptr<KinodynamicSpace> baseSpace;
96 std::shared_ptr<KinodynamicSpace> costSpace;
97 std::shared_ptr<ObjectiveFunctionalBase> objective;
98 std::shared_ptr<CSet> costGoalSet;
99 HeuristicFn heuristic;
100 Real costSpaceResolution;
107 int prunableNodeSampleCount;
111 int numGoalsSampled,numPrunedNodes;
An optimizing planner that progressively produces better paths using state-cost space. Plan() returns true only if a better path was found in the last maxIters iterations. Done() and GetPath() return true if there ANY solution has been found.
Definition: AOMetaPlanner.h:71
void SetHeuristic(HeuristicFn f)
Definition: AOMetaPlanner.cpp:117
Vector Config
an alias for Vector
Definition: RobotKinematics3D.h:14
Stores a kinodynamic path with piecewise constant controls.
Definition: KinodynamicPath.h:23
A lazy version of kinodynamic RRT.
Definition: KinodynamicMotionPlanner.h:167
virtual bool FilterExtension(Node *n, const KinodynamicMilestonePath &path)
Subclasses can overload this to eliminate certain extensions of the tree.
Definition: AOMetaPlanner.cpp:353
A tree graph structure, represented directly at the node level.
Definition: Tree.h:25
An optimizing planner that progressively produces better paths using state-cost space. Plan() returns true only if a better path was found in the last maxIters iterations. Done() and GetPath() return true if there ANY solution has been found.
Definition: AOMetaPlanner.h:16
The EST planner for kinodynamic systems.
Definition: KinodynamicMotionPlanner.h:129
A simple map from keys to values.
Definition: PropertyMap.h:27
A subset of a CSpace, which establishes a constraint for a configuration to be feasible.
Definition: CSet.h:20