Model the effect of controls on system states. More...
#include <ompl/control/StatePropagator.h>

Public Member Functions | |
| StatePropagator (SpaceInformation *si) | |
| Constructor. | |
| StatePropagator (const SpaceInformationPtr &si) | |
| Constructor. | |
| virtual void | propagate (const base::State *state, const Control *control, 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 double | steer (const base::State *, const base::State *, Control *) 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 returned; return < 0.0 if the computation was successful; return the control duration otherwise;. | |
| virtual bool | canSteer () const |
| Return true if the steer() function has been implemented. | |
Protected Attributes | |
| SpaceInformation * | si_ |
| The instance of space information this state propagator operates on. | |
Detailed Description
Model the effect of controls on system states.
Definition at line 61 of file StatePropagator.h.
Constructor & Destructor Documentation
◆ StatePropagator() [1/2]
|
inline |
Constructor.
Definition at line 65 of file StatePropagator.h.
◆ StatePropagator() [2/2]
|
inline |
Constructor.
Definition at line 70 of file StatePropagator.h.
Member Function Documentation
◆ canPropagateBackward()
|
inlinevirtual |
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).
Definition at line 100 of file StatePropagator.h.
◆ canSteer()
|
inlinevirtual |
Return true if the steer() function has been implemented.
Definition at line 117 of file StatePropagator.h.
◆ propagate()
|
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
-
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.
Implemented in KoulesStatePropagator.
◆ steer()
|
inlinevirtual |
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 returned; return < 0.0 if the computation was successful; return the control duration otherwise;.
- Note
- If a negative value is returned, the content of result may have been changed, but it does not represent a solution;
Definition at line 111 of file StatePropagator.h.
Member Data Documentation
◆ si_
|
protected |
The instance of space information this state propagator operates on.
Definition at line 124 of file StatePropagator.h.
The documentation for this class was generated from the following file:
- ompl/control/StatePropagator.h