KrisLibrary  1.0.0
Public Member Functions | Public Attributes | List of all members
KinematicControlSpace Class Reference

Adapts a kinematic cspace (given to the constructor) to a control space. More...

#include <ControlSpace.h>

Inheritance diagram for KinematicControlSpace:
ReversibleControlSpace ControlSpace

Public Member Functions

 KinematicControlSpace (const std::shared_ptr< CSpace > &base, Real maxNeighborhoodRadius=0.1)
 
virtual std::string VariableName (int i)
 Returns an identifier for the i'th control variable.
 
virtual std::shared_ptr< CSetGetControlSet (const Config &x)
 
virtual InterpolatorPtr Simulate (const State &x0, const ControlInput &u)
 
virtual void Successor (const State &x0, const ControlInput &u, State &x1)
 
virtual Math::VectorFieldFunctionSuccessorNumeric ()
 
virtual bool ReverseControl (const State &x0, const State &x1, ControlInput &u)
 
- Public Member Functions inherited from ControlSpace
virtual std::shared_ptr< CSetGetControlSet (const State &x)
 
virtual std::shared_ptr< SteeringFunctionGetSteeringFunction ()
 Returns this space's steering function, if available.
 
virtual void SampleControl (const State &x, ControlInput &u)
 
virtual bool IsValidControl (const State &x, const ControlInput &u)
 

Public Attributes

std::shared_ptr< CSpacebase
 
Real maxNeighborhoodRadius
 
- Public Attributes inherited from ReversibleControlSpace
std::shared_ptr< ControlSpacereverseControlSpace
 
- Public Attributes inherited from ControlSpace
std::shared_ptr< CSetmyControlSet
 Dynamically overridable default control set (Note: state independent)
 
std::shared_ptr< SteeringFunctionmySteeringFunction
 Dynamically overridable default steering function.
 

Detailed Description

Adapts a kinematic cspace (given to the constructor) to a control space.

The state is the same as in the "base" cspace, and the control is a straight-line motion to another state. Controls are drawn in a neighborhood around a given state with distance maxNeighborhoodRadius.

Member Function Documentation

bool KinematicControlSpace::ReverseControl ( const State x0,
const State x1,
ControlInput u 
)
virtual

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 from ReversibleControlSpace.

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

Implements ControlSpace.

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

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

Reimplemented from ControlSpace.

Math::VectorFieldFunction * KinematicControlSpace::SuccessorNumeric ( )
virtual

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

Reimplemented from ControlSpace.


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