#include <fdp.h>
Inheritance diagram for FDP::
Public Methods | |
FDP (Problem *problem) | |
A constructor that initializes data members. | |
~FDP () | |
Empty destructor. | |
virtual void | Reset () |
Reset the planner. | |
virtual bool | Plan () |
Attempt to solve an Initial-Goal query by growing an FDP tree. | |
Public Attributes | |
int | SatisfiedCount |
Number of times the collision checker has been called. | |
Protected Methods | |
virtual double | SearchCost (double initcost, MSLNode *&n, MSLNode *&nn) |
virtual vector<int> | StateToIndices (const MSLVector &x) |
virtual MSLVector | IndicesToState (const vector< int > &indices) |
Protected Attributes | |
priority_queue<MSLNode*,vector< MSLNode*>,MSLNodeGreater> | Q |
Priority queue of nodes. | |
MultiArray<int>* | Grid |
A quantized state space. | |
vector<int> | GridDimensions |
Dimensions for the grid. | |
int | GridDefaultResolution |
Default size for each axis of the grid. | |
MSLVector | Quantization |
The quantized step size for each axis (computed automatically). |
Forward Dynamic Programming, as proposed by Barraquand, Latombe, Algorithmica 10:6, pp. 121-155, 1993. The solutions should be optimized with respect to time, although problems can be caused by quantization errors.
When an instance is constructed, a grid is initialized and each element of checked for collision. The test point for collision is the center of the cell. The current version does not use distance computations; therefore, a large value for PlannerDeltaT might cause collisions to be missed.
Make sure that PlannerDeltaT is large enough to allow the state to move from one cell to another without in a single step. For example, if the quantization leads to a grid boundary every 2.0 units, then PlannerDeltaT could be set to cause the state to change by 3.0 units.
GridDimensions sets the resolution of the grid and can be read from a file. For high-dimensional problems an error message may occur due to a grid that is too large. To enable larger grids, set the MaxSize to a desirable size in the MultiArray class (in marray.C).
|
A constructor that initializes data members.
|
|
Empty destructor.
|
|
|
|
Attempt to solve an Initial-Goal query by growing an FDP tree.
Reimplemented from Planner. Reimplemented in FDPBi. |
|
Reset the planner.
Reimplemented from Planner. Reimplemented in FDPBi. |
|
Reimplemented in FDPStar, and FDPBestFirst. |
|
|
|
A quantized state space.
|
|
Default size for each axis of the grid.
|
|
Dimensions for the grid.
|
|
Priority queue of nodes.
|
|
The quantized step size for each axis (computed automatically).
|
|
Number of times the collision checker has been called.
|