KrisLibrary
1.0.0
|
a space that combines configuration and velocity in the state x=(q,v), and is controlled by acceleration v' = a. The control u = (dt,a) is composed of a time step and acceleration. More...
#include <DoubleIntegrator.h>
Public Member Functions | |
DoubleIntegratorKinodynamicSpace (std::shared_ptr< CSpace > qspace, std::shared_ptr< CSpace > dqspace, std::shared_ptr< CSet > ddqset, Real dtmax) | |
virtual EdgePlannerPtr | TrajectoryChecker (const ControlInput &u, const std::shared_ptr< Interpolator > &path) |
void | SetVisibilityEpsilon (Real tol) |
Public Member Functions inherited from KinodynamicSpace | |
KinodynamicSpace (const std::shared_ptr< CSpace > &xspace, const std::shared_ptr< ControlSpace > &uspace) | |
std::shared_ptr< ControlSpace > | GetControlSpace () const |
std::shared_ptr< CSpace > | GetStateSpace () const |
std::shared_ptr< CSet > | GetControlSet (const Config &x) |
virtual EdgePlannerPtr | PathChecker (const InterpolatorPtr &path) |
virtual EdgePlannerPtr | TrajectoryChecker (const KinodynamicMilestonePath &path) |
Return an edge planner that checks the path for feasibility. | |
bool | IsValidControl (const State &x, const ControlInput &u) |
InterpolatorPtr | Simulate (const State &x0, const ControlInput &u) |
void | Successor (const State &x0, const ControlInput &u, State &x1) |
Executes the simulation function x1 = f(x0,u) | |
bool | NextState (const State &x0, const ControlInput &u, State &x1) |
bool | PreviousState (const State &x1, const ControlInput &u, State &x0) |
virtual void | Properties (PropertyMap &props) const |
Marks this as being a dynamic problem. | |
Public Attributes | |
Real | visibilityEpsilon |
Public Attributes inherited from KinodynamicSpace | |
std::shared_ptr< CSpace > | stateSpace |
std::shared_ptr< ControlSpace > | controlSpace |
a space that combines configuration and velocity in the state x=(q,v), and is controlled by acceleration v' = a. The control u = (dt,a) is composed of a time step and acceleration.
The timestep dt is drawn from the range [0,dtmax].
Integration and interpolation are exact. Path checking is inexact and just discretizes a path up to a given tolerance
|
virtual |
Return an edge planner that checks the simulation trace p for feasibility Typically, just return the state space's PathChecker
Reimplemented from KinodynamicSpace.
References ParabolicRamp::ParabolicRampND::endTime, and ParabolicRamp::ParabolicRampND::x0.