
#include <problem.h>
Public Methods | |
| Problem (Geom *geom, Model *model, string path) | |
| Problem must be given any instance of Geom and any instance of Model from each of their class hierarchies. More... | |
| virtual | ~Problem () |
| Empty destructor. More... | |
| void | SetGeom (Geom *geom) |
| Change the instance of Geom. More... | |
| void | SetModel (Model *model) |
| Change the instance of Model. More... | |
| virtual list< MSLVector > | GetInputs (const MSLVector &x) |
| Return a list of possible inputs, which may depend on state. More... | |
| virtual list< MSLVector > | GetInputs () |
| Return a list of possible inputs. More... | |
| virtual MSLVector | Integrate (const MSLVector &x, const MSLVector &u, const double &deltat) |
| Perform integration from state x, using input u, over time deltat. More... | |
| virtual MSLVector | InterpolateState (const MSLVector &x1, const MSLVector &x2, const double &a) |
| Linearly interpolate two states while respecting topology. More... | |
| virtual double | Metric (const MSLVector &x1, const MSLVector &x2) |
| A distance metric defined in Model. More... | |
| virtual MSLVector | StateToConfiguration (const MSLVector &x) |
| A method that converts a Model state in to a Geom configuration. More... | |
| virtual MSLVector | StateDifference (const MSLVector &x1, const MSLVector &x2) |
| Compute a MSLVector based on x2-x1. In R^n, the states are simply subtracted to make the MSLVector. This method exists to make things work correctly for other state-space topologies. More... | |
| virtual bool | Satisfied (const MSLVector &x) |
| This takes the logical AND of CollisionFree from Geom, and Satisfied from Model. More... | |
| virtual bool | CollisionFree (const MSLVector &q) |
| The collision checker passed in from Geom. More... | |
| virtual double | DistanceComp (const MSLVector &q) |
| The distance computation algorithm from Geom. More... | |
| virtual MSLVector | ConfigurationDifference (const MSLVector &q1, const MSLVector &q2) |
| Compute a MSLVector based on q2-q1. In R^n, the configurations are simply subtracted to make the MSLVector. This method exists to make things work correctly for other configuration-space topologies. More... | |
Public Attributes | |
| string | FilePath |
| The directory in which all files for a problem will be stored. More... | |
| int | NumBodies |
| The number of rigid bodies. More... | |
| int | StateDim |
| The dimenson of the state space. More... | |
| int | InputDim |
| The dimension of the input space. More... | |
| int | GeomDim |
| The dimension of the geometric model. More... | |
| MSLVector | LowerState |
| MSLVector of minimum values for each state variable. More... | |
| MSLVector | UpperState |
| MSLVector of maximum values for each state variable. More... | |
| MSLVector | InitialState |
| The starting state for a planner. More... | |
| MSLVector | GoalState |
| The goal state for a planner. More... | |
| MSLVector | MaxDeviates |
| Maximum displacement of geometry with respect to change in each variable. More... | |
Protected Attributes | |
| Geom * | G |
| Need to define a geometry for collision detection. More... | |
| Model * | M |
| xdot = f(x,u), integration technique, state bounds. More... | |
This interface class contains protected instances of Geom and Model. Wrappers to methods from Geom provide collision detection and distance computation. Wrappers to methods from Model provide incremental simulation of a kinematic or dynamical system. It is expected a planner can get all (or nearly all) of the information it needs from Problem.
|
||||||||||||||||
|
Problem must be given any instance of Geom and any instance of Model from each of their class hierarchies.
|
|
|
Empty destructor.
|
|
|
The collision checker passed in from Geom.
|
|
||||||||||||
|
Compute a MSLVector based on q2-q1. In R^n, the configurations are simply subtracted to make the MSLVector. This method exists to make things work correctly for other configuration-space topologies.
|
|
|
The distance computation algorithm from Geom.
|
|
|
Return a list of possible inputs.
|
|
|
Return a list of possible inputs, which may depend on state.
|
|
||||||||||||||||
|
Perform integration from state x, using input u, over time deltat.
|
|
||||||||||||||||
|
Linearly interpolate two states while respecting topology. If a=0, then x1 is returned; if a=1, then x2 is returned. All intermediate values of $a \in [0,1]$ yield intermediate states. This method is defined by Model. |
|
||||||||||||
|
A distance metric defined in Model.
|
|
|
This takes the logical AND of CollisionFree from Geom, and Satisfied from Model.
|
|
|
Change the instance of Geom.
|
|
|
Change the instance of Model.
|
|
||||||||||||
|
Compute a MSLVector based on x2-x1. In R^n, the states are simply subtracted to make the MSLVector. This method exists to make things work correctly for other state-space topologies.
|
|
|
A method that converts a Model state in to a Geom configuration.
|
|
|
The directory in which all files for a problem will be stored.
|
|
|
Need to define a geometry for collision detection.
|
|
|
The dimension of the geometric model.
|
|
|
The goal state for a planner.
|
|
|
The starting state for a planner.
|
|
|
The dimension of the input space.
|
|
|
MSLVector of minimum values for each state variable.
|
|
|
xdot = f(x,u), integration technique, state bounds.
|
|
|
Maximum displacement of geometry with respect to change in each variable.
|
|
|
The number of rigid bodies.
|
|
|
The dimenson of the state space.
|
|
|
MSLVector of maximum values for each state variable.
|