KrisLibrary
1.0.0
|
#include <ControlSpace.h>
Public Member Functions | |
virtual bool | ReverseControl (const State &x0, const State &x1, ControlInput &u) |
Public Member Functions inherited from ControlSpace | |
virtual std::string | VariableName (int i) |
Returns an identifier for the i'th control variable. | |
virtual std::shared_ptr< CSet > | GetControlSet (const State &x) |
virtual std::shared_ptr< SteeringFunction > | GetSteeringFunction () |
Returns this space's steering function, if available. | |
virtual InterpolatorPtr | Simulate (const State &x0, const ControlInput &u)=0 |
virtual void | Successor (const State &x0, const ControlInput &u, State &x1) |
virtual Math::VectorFieldFunction * | SuccessorNumeric () |
virtual void | SampleControl (const State &x, ControlInput &u) |
virtual bool | IsValidControl (const State &x, const ControlInput &u) |
Public Attributes | |
std::shared_ptr< ControlSpace > | reverseControlSpace |
Public Attributes inherited from ControlSpace | |
std::shared_ptr< CSet > | myControlSet |
Dynamically overridable default control set (Note: state independent) | |
std::shared_ptr< SteeringFunction > | mySteeringFunction |
Dynamically overridable default steering function. | |
A control space that also can be reversed.
In addition to the forward successor function x1 = f(x0,u), this also defines a precessor function x0 = g(x1,u') and a control reversal u' such that g(f(x0,u),u') = x1.
|
inlinevirtual |
If the system is reversible and x1 = f(x0,u), changes u so that x0 = f(x1,u) and returns true. If no such u exists, return false.
Reimplemented in KinematicControlSpace.