ompl::control::StatePropagator Class Reference

Model the effect of controls on system states. More...

#include <ompl/control/StatePropagator.h>

Inheritance diagram for ompl::control::StatePropagator:

List of all members.

Public Member Functions

 StatePropagator (SpaceInformation *si)
 Constructor.
 StatePropagator (const SpaceInformationPtr &si)
 Constructor.
virtual void propagate (const base::State *state, const Control *control, const double duration, base::State *result) const =0
 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 bool canPropagateBackward () 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).
virtual bool steer (const base::State *, const base::State *, Control *, double &) const
 Compute the control that can take the system from state from to state to. Store that control in result; the duration for which the control should be applied is stored in duration; return true if the computation was successful; return false otherwise;.
virtual bool canSteer () const
 Return true if the steer() function has been implemented.

Protected Attributes

SpaceInformationsi_
 The instance of space information this state propagator operates on.

Detailed Description

Model the effect of controls on system states.

Definition at line 62 of file StatePropagator.h.


Member Function Documentation

virtual void ompl::control::StatePropagator::propagate ( const base::State state,
const Control control,
const double  duration,
base::State result 
) const [pure 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:
statethe state to start propagating from
controlthe control to apply
durationthe duration for which the control is applied
resultthe 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.

Implemented in ompl::control::OpenDEStatePropagator, and ompl::control::MorseStatePropagator.

virtual bool ompl::control::StatePropagator::steer ( const base::State ,
const base::State ,
Control ,
double &   
) const [inline, virtual]

Compute the control that can take the system from state from to state to. Store that control in result; the duration for which the control should be applied is stored in duration; return true if the computation was successful; return false otherwise;.

Note:
If false is returned, the content of result and duration may have been changed, but it does not represent a solution;

Definition at line 112 of file StatePropagator.h.


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