KrisLibrary  1.0.0
Public Member Functions | Public Attributes | List of all members
ControlSpace Class Referenceabstract

Encodes the dynamics of a system, including the dynamics function f(x,u), control bounds, and available steering functions. More...

#include <ControlSpace.h>

Inheritance diagram for ControlSpace:
IntegratedControlSpace ReverseKinematicControlSpace ReversibleControlSpace StateCostControlSpace TimeControlSpace DoubleIntegratorControlSpace SpaceTimeIntegratedControlSpace KinematicControlSpace

Public Member Functions

virtual std::string VariableName (int i)
 Returns an identifier for the i'th control variable.
 
virtual std::shared_ptr< CSetGetControlSet (const State &x)
 
virtual std::shared_ptr< SteeringFunctionGetSteeringFunction ()
 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::VectorFieldFunctionSuccessorNumeric ()
 
virtual void SampleControl (const State &x, ControlInput &u)
 
virtual bool IsValidControl (const State &x, const ControlInput &u)
 

Public Attributes

std::shared_ptr< CSetmyControlSet
 Dynamically overridable default control set (Note: state independent)
 
std::shared_ptr< SteeringFunctionmySteeringFunction
 Dynamically overridable default steering function.
 

Detailed Description

Encodes the dynamics of a system, including the dynamics function f(x,u), control bounds, and available steering functions.

Member Function Documentation

virtual std::shared_ptr<CSet> ControlSpace::GetControlSet ( const State x)
inlinevirtual

Returns this space's control set at the given state. By default returns myControlSet.

Reimplemented in StateCostControlSpace.

virtual bool ControlSpace::IsValidControl ( const State x,
const ControlInput u 
)
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.

virtual void ControlSpace::SampleControl ( const State x,
ControlInput u 
)
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.)

virtual InterpolatorPtr ControlSpace::Simulate ( const State x0,
const ControlInput u 
)
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().

virtual void ControlSpace::Successor ( const State x0,
const ControlInput u,
State x1 
)
inlinevirtual

Executes the simulation function x1 = f(x0,u). By default, uses the result from Simulate().

Reimplemented in ReverseKinematicControlSpace, KinematicControlSpace, DoubleIntegratorControlSpace, and StateCostControlSpace.

virtual Math::VectorFieldFunction* ControlSpace::SuccessorNumeric ( )
inlinevirtual

If possible, express Successor as a VectorFieldFunction on the vector (x,u) (stacked)

Reimplemented in ReverseKinematicControlSpace, and KinematicControlSpace.


The documentation for this class was generated from the following files: