This class contains the ODE constructs OMPL needs to know about when planning. More...
#include <ODEEnvironment.h>
Public Member Functions | |
virtual unsigned int | getControlDimension (void) const =0 |
Number of parameters (double values) needed to specify a control input. | |
virtual void | getControlBounds (std::vector< double > &lower, std::vector< double > &upper) const =0 |
Get the control bounds -- the bounding box in which to sample controls. | |
virtual void | applyControl (const double *control) const =0 |
Application of a control. This function sets the forces/torques/velocities for bodies in the simulation based on control inputs. | |
virtual bool | isValidCollision (dGeomID geom1, dGeomID geom2, const dContact &contact) const |
Decide whether a collision is a valid one or not. In some cases, collisions between some bodies can be allowed. By default, this function always returns false, making all collisions invalid. | |
virtual unsigned int | getMaxContacts (dGeomID geom1, dGeomID geom2) const |
Get the maximum number of contacts to set up between two colliding geoms. By default, this just returns the member variable maxContacts. | |
virtual void | setupContact (dGeomID geom1, dGeomID geom2, dContact &contact) const |
Parameters to set when contacts are created between geom1 and geom2. | |
std::string | getGeomName (dGeomID geom) const |
Get the name of a body. | |
void | setGeomName (dGeomID geom, const std::string &name) |
Set the name of a body. | |
Public Attributes | |
dWorldID | world_ |
The ODE world where the simulation is performed. | |
std::vector< dSpaceID > | collisionSpaces_ |
The set of spaces where contacts need to be evaluated before simulation takes place. | |
std::vector< dBodyID > | stateBodies_ |
The set of bodies that need to be considered part of the state when planning. This is not necessarily all the bodies in the environment. | |
std::map< dGeomID, std::string > | geomNames_ |
Optional map of names given to geoms. This is useful when collision checking is verbose. | |
bool | verboseContacts_ |
Issue debug messages when contacts are found. Default is false. This should only be used for debugging. | |
dJointGroupID | contactGroup_ |
The group of joints where contacts are created. | |
unsigned int | maxContacts_ |
The maximum number of contacts to create between two bodies when a collision occurs. | |
double | stepSize_ |
The simulation step size. | |
unsigned int | maxControlSteps_ |
The maximum number of times a control is applies in sequence. | |
unsigned int | minControlSteps_ |
The minimum number of times a control is applies in sequence. | |
boost::mutex | mutex_ |
Lock to use when performing simulations in the world. (ODE simulations are NOT thread safe) |
This class contains the ODE constructs OMPL needs to know about when planning.
Definition at line 65 of file ODEEnvironment.h.