This class contains the ODE constructs OMPL needs to know about when planning. More...
#include <ODEEnvironment.h>
Public Member Functions | |
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 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 unsigned int | getControlDimension (void) const =0 |
Number of parameters (double values) needed to specify a control input. | |
std::string | getGeomName (dGeomID geom) const |
Get the name of a body. | |
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 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. | |
ODEEnvironment (void) | |
void | setGeomName (dGeomID geom, const std::string &name) |
Set the name of a body. | |
virtual void | setupContact (dGeomID geom1, dGeomID geom2, dContact &contact) const |
Parameters to set when contacts are created between geom1 and geom2. | |
virtual | ~ODEEnvironment (void) |
Public Attributes | |
std::vector< dSpaceID > | collisionSpaces_ |
The set of spaces where contacts need to be evaluated before simulation takes place. | |
dJointGroupID | contactGroup_ |
The group of joints where contacts are created. | |
std::map< dGeomID, std::string > | geomNames_ |
Optional map of names given to geoms. This is useful when collision checking is verbose. | |
unsigned int | maxContacts_ |
The maximum number of contacts to create between two bodies when a collision occurs. | |
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). | |
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. | |
double | stepSize_ |
The simulation step size. | |
bool | verboseContacts_ |
Issue debug messages when contacts are found. Default is false. This should only be used for debugging. | |
dWorldID | world_ |
The ODE world where the simulation is performed. |
This class contains the ODE constructs OMPL needs to know about when planning.
Definition at line 65 of file ODEEnvironment.h.
ompl::control::ODEEnvironment::ODEEnvironment | ( | void | ) | [inline] |
Definition at line 105 of file ODEEnvironment.h.
virtual ompl::control::ODEEnvironment::~ODEEnvironment | ( | void | ) | [inline, virtual] |
Definition at line 110 of file ODEEnvironment.h.
virtual void ompl::control::ODEEnvironment::applyControl | ( | const double * | control | ) | const [pure virtual] |
Application of a control. This function sets the forces/torques/velocities for bodies in the simulation based on control inputs.
virtual void ompl::control::ODEEnvironment::getControlBounds | ( | std::vector< double > & | lower, | |
std::vector< double > & | upper | |||
) | const [pure virtual] |
Get the control bounds -- the bounding box in which to sample controls.
virtual unsigned int ompl::control::ODEEnvironment::getControlDimension | ( | void | ) | const [pure virtual] |
Number of parameters (double values) needed to specify a control input.
std::string ompl::control::ODEEnvironment::getGeomName | ( | dGeomID | geom | ) | const |
Get the name of a body.
virtual unsigned int ompl::control::ODEEnvironment::getMaxContacts | ( | dGeomID | geom1, | |
dGeomID | geom2 | |||
) | const [virtual] |
Get the maximum number of contacts to set up between two colliding geoms. By default, this just returns the member variable maxContacts.
virtual bool ompl::control::ODEEnvironment::isValidCollision | ( | dGeomID | geom1, | |
dGeomID | geom2, | |||
const dContact & | contact | |||
) | const [virtual] |
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.
void ompl::control::ODEEnvironment::setGeomName | ( | dGeomID | geom, | |
const std::string & | name | |||
) |
Set the name of a body.
virtual void ompl::control::ODEEnvironment::setupContact | ( | dGeomID | geom1, | |
dGeomID | geom2, | |||
dContact & | contact | |||
) | const [virtual] |
Parameters to set when contacts are created between geom1 and geom2.
std::vector<dSpaceID> ompl::control::ODEEnvironment::collisionSpaces_ |
The set of spaces where contacts need to be evaluated before simulation takes place.
Definition at line 73 of file ODEEnvironment.h.
dJointGroupID ompl::control::ODEEnvironment::contactGroup_ |
The group of joints where contacts are created.
Definition at line 88 of file ODEEnvironment.h.
std::map<dGeomID, std::string> ompl::control::ODEEnvironment::geomNames_ |
Optional map of names given to geoms. This is useful when collision checking is verbose.
Definition at line 82 of file ODEEnvironment.h.
unsigned int ompl::control::ODEEnvironment::maxContacts_ |
The maximum number of contacts to create between two bodies when a collision occurs.
Definition at line 91 of file ODEEnvironment.h.
unsigned int ompl::control::ODEEnvironment::maxControlSteps_ |
The maximum number of times a control is applies in sequence.
Definition at line 97 of file ODEEnvironment.h.
unsigned int ompl::control::ODEEnvironment::minControlSteps_ |
The minimum number of times a control is applies in sequence.
Definition at line 100 of file ODEEnvironment.h.
boost::mutex ompl::control::ODEEnvironment::mutex_ [mutable] |
Lock to use when performing simulations in the world. (ODE simulations are NOT thread safe).
Definition at line 103 of file ODEEnvironment.h.
std::vector<dBodyID> ompl::control::ODEEnvironment::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.
Definition at line 78 of file ODEEnvironment.h.
The simulation step size.
Definition at line 94 of file ODEEnvironment.h.
Issue debug messages when contacts are found. Default is false. This should only be used for debugging.
Definition at line 85 of file ODEEnvironment.h.
The ODE world where the simulation is performed.
Definition at line 70 of file ODEEnvironment.h.