KrisLibrary
1.0.0
|
Encodes the dynamics of a system, including the dynamics function f(x,u), control bounds, and available steering functions. More...
#include <ControlSpace.h>
Public Member Functions | |
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< CSet > | myControlSet |
Dynamically overridable default control set (Note: state independent) | |
std::shared_ptr< SteeringFunction > | mySteeringFunction |
Dynamically overridable default steering function. | |
Encodes the dynamics of a system, including the dynamics function f(x,u), control bounds, and available steering functions.
Returns this space's control set at the given state. By default returns myControlSet.
Reimplemented in StateCostControlSpace.
|
inlinevirtual |
Checks validity of control u at x By default uses the Contains method from the set returned from GetControlSet(x). Note: overloads should not change the result of this default behavior but they are allowed to improve running time.
|
inlinevirtual |
Samples a control u at state x. By default, uses the Sample method from the set returned from GetControlSet(x). Note: some planners may use this method, and some may get the control set and call its Sample method. So overloads of this method should not change the sampling distribution (unless you really know what you're doing.)
|
pure virtual |
Executes the simulation function f(x0,u) and records its trace in p. The trace is an interpolator between x0 and the successor state
Implemented in ReverseKinematicControlSpace, KinematicControlSpace, IntegratedControlSpace, DoubleIntegratorControlSpace, TimeControlSpace, and StateCostControlSpace.
Referenced by KinodynamicMilestonePath::MakePaths().
|
inlinevirtual |
Executes the simulation function x1 = f(x0,u). By default, uses the result from Simulate().
Reimplemented in ReverseKinematicControlSpace, KinematicControlSpace, DoubleIntegratorControlSpace, and StateCostControlSpace.
|
inlinevirtual |
If possible, express Successor as a VectorFieldFunction on the vector (x,u) (stacked)
Reimplemented in ReverseKinematicControlSpace, and KinematicControlSpace.