ompl::control::OpenDEEnvironment Class Referenceabstract

This class contains the OpenDE constructs OMPL needs to know about when planning. More...

#include <ompl/extensions/ode/OpenDEEnvironment.h>

## Public Member Functions

virtual unsigned int getControlDimension () 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_ {nullptr}
The OpenDE 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_ {false}
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_ {3}
The maximum number of contacts to create between two bodies when a collision occurs.

double stepSize_ {0.05}
The simulation step size.

unsigned int maxControlSteps_ {100}
The maximum number of times a control is applies in sequence.

unsigned int minControlSteps_ {5}
The minimum number of times a control is applies in sequence.

std::mutex mutex_
Lock to use when performing simulations in the world. (OpenDE simulations are NOT thread safe)

## Detailed Description

This class contains the OpenDE constructs OMPL needs to know about when planning.

Definition at line 127 of file OpenDEEnvironment.h.

The documentation for this class was generated from the following files: