KrisLibrary  1.0.0
DoubleIntegrator.h
1 #ifndef PLANNING_DOUBLE_INTEGRATOR_SPACE_H
2 #define PLANNING_DOUBLE_INTEGRATOR_SPACE_H
3 
4 #include "KinodynamicSpace.h"
5 #include "CVSpace.h"
6 
18 {
19 public:
20  DoubleIntegratorKinodynamicSpace(std::shared_ptr<CSpace> qspace,std::shared_ptr<CSpace> dqspace,std::shared_ptr<CSet> ddqset,Real dtmax);
21  virtual EdgePlannerPtr TrajectoryChecker(const ControlInput& u,const std::shared_ptr<Interpolator>& path);
22  void SetVisibilityEpsilon(Real tol);
23 
24  Real visibilityEpsilon;
25 };
26 
28 {
29 public:
30  DoubleIntegratorControlSpace(const std::shared_ptr<CSet>& uset,Real dtmax);
31  virtual std::string VariableName(int i);
32  virtual InterpolatorPtr Simulate(const State& x0, const ControlInput& u);
33  virtual void Successor(const State& x0, const ControlInput& u,State& x1);
34 
35  virtual void Derivative(const State& x, const ControlInput& u,State& dx);
36  void EvalDynamics(const State& x0, const ControlInput& ddx,Real t,State& x1);
37 };
38 
44 {
45 public:
48  void SetConfigurationBounds(const Config& qmin,const Config& qmax);
49  virtual bool IsExact() const { return true; };
50  virtual bool IsOptimal() const { return true; };
51  virtual bool Connect(const State& x,const State& y,KinodynamicMilestonePath& path);
52 
53  std::vector<double> amax,vmax;
54  std::vector<double> qmin,qmax;
55 };
56 
57 
58 #endif
InterpolatorPtr Simulate(const State &x0, const ControlInput &u)
Definition: KinodynamicSpace.h:45
Vector Config
an alias for Vector
Definition: RobotKinematics3D.h:14
Stores a kinodynamic path with piecewise constant controls.
Definition: KinodynamicPath.h:23
void Successor(const State &x0, const ControlInput &u, State &x1)
Executes the simulation function x1 = f(x0,u)
Definition: KinodynamicSpace.h:48
A class used for kinodynamic planning. Combines a CSpace defining the state space, as well as a ControlSpace.
Definition: KinodynamicSpace.h:22
Definition: DoubleIntegrator.h:27
std::vector< double > qmax
optional
Definition: DoubleIntegrator.h:54
Definition: DoubleIntegrator.h:43
virtual EdgePlannerPtr TrajectoryChecker(const ControlInput &u, const std::shared_ptr< Interpolator > &path)
Definition: DoubleIntegrator.cpp:168
A function in a ControlSpace that attempts to connect two states with a sequence of one or more contr...
Definition: ControlSpace.h:98
a space that combines configuration and velocity in the state x=(q,v), and is controlled by accelerat...
Definition: DoubleIntegrator.h:17
Base class for adapting a simulation function by integrating forward dynamics into a ControlSpace...
Definition: ControlSpace.h:166