ompl::control::ODEControlSpace Class Reference

Representation of controls applied in ODE environments. This is an array of double values. Only forward propagation is possible. More...

#include <ODEControlSpace.h>

Inheritance diagram for ompl::control::ODEControlSpace:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual bool canPropagateBackward (void) const
 Some systems can only propagate forward in time (i.e., the duration argument for the propagate() function is always positive). If this is the case, this function should return false. Planners that need backward propagation (negative durations) will call this function to check. If backward propagation is possible, this function should return true (this is the default).
const ODEEnvironmentPtrgetEnvironment (void) const
 Get the ODE environment this state space corresponds to.
 ODEControlSpace (const base::StateSpacePtr &stateSpace)
 Construct a representation of controls passed to ODE. If stateSpace does not cast to an ODEStateSpace, an exception is thrown.
virtual void propagate (const base::State *state, const Control *control, const double duration, base::State *result) const
 Propagate from a state, given a control, for some specified amount of time (the amount of time can also be negative, if canPropagateBackward() returns true).
virtual ~ODEControlSpace (void)

Detailed Description

Representation of controls applied in ODE environments. This is an array of double values. Only forward propagation is possible.

At every propagation step, controls are applied using ODEEnvironment::applyControl(), contacts are computed by calling dSpaceCollide() on the spaces in ODEEnvironment::collisionSpaces_ and then dWorldQuickStep() is called. If the state argument of propagate() does not have its ODEStateSpace::StateType::collision field set, it is set based on the information returned by contact computation. Certain collisions (contacts) are allowed, as indicated by ODEEnvironment::isValidCollision().

Definition at line 58 of file ODEControlSpace.h.


Constructor & Destructor Documentation

ompl::control::ODEControlSpace::ODEControlSpace ( const base::StateSpacePtr stateSpace  ) 

Construct a representation of controls passed to ODE. If stateSpace does not cast to an ODEStateSpace, an exception is thrown.

virtual ompl::control::ODEControlSpace::~ODEControlSpace ( void   )  [inline, virtual]

Definition at line 50 of file ODEControlSpace.h.


Member Function Documentation

virtual bool ompl::control::ODEControlSpace::canPropagateBackward ( void   )  const [inline, virtual]

Some systems can only propagate forward in time (i.e., the duration argument for the propagate() function is always positive). If this is the case, this function should return false. Planners that need backward propagation (negative durations) will call this function to check. If backward propagation is possible, this function should return true (this is the default).

Reimplemented from ompl::control::ControlSpace.

Definition at line 60 of file ODEControlSpace.h.

const ODEEnvironmentPtr& ompl::control::ODEControlSpace::getEnvironment ( void   )  const [inline]

Get the ODE environment this state space corresponds to.

Definition at line 55 of file ODEControlSpace.h.

virtual void ompl::control::ODEControlSpace::propagate ( const base::State state,
const Control control,
const double  duration,
base::State result 
) const [virtual]

Propagate from a state, given a control, for some specified amount of time (the amount of time can also be negative, if canPropagateBackward() returns true).

Parameters:
state the state to start propagating from
control the control to apply
duration the duration for which the control is applied
result the state the system is brought to
Note:
This function is not used for integration internally. If integrating a system of differential equations is needed, this should be implemented inside the propagate() function.
The pointer to the starting state and the result state may be the same.

Reimplemented from ompl::control::ControlSpace.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


ompl
Author(s): Ioan Sucan/isucan@rice.edu, Mark Moll/mmoll@rice.edu, Lydia Kavraki/kavraki@rice.edu
autogenerated on Fri Jan 11 09:34:02 2013