Klamp't  0.9.0
RobotInterface.h
1 #ifndef ROBOT_INTERFACE_H
2 #define ROBOT_INTERFACE_H
3 
4 #include <Klampt/Modeling/Robot.h>
5 #include <Klampt/Modeling/DynamicPath.h>
6 #include <Klampt/Control/PathController.h>
7 
8 namespace Klampt {
9 
30 {
31  public:
32  enum MotionResult { Success, InvalidParams, FailedCheck, TransmitError };
33 
35  virtual ~MotionQueueInterface() {}
36  virtual bool HadExternalChange()=0;
37  virtual Real GetCurTime()=0;
38  virtual void GetCurConfig(Config& x)=0;
39  virtual void GetCurVelocity(Config& dx)=0;
40  virtual Real GetEndTime()=0;
41  virtual void GetEndConfig(Config& x)=0;
42  virtual void GetEndVelocity(Config& dx)=0;
43  virtual void GetConfig(Real t,Config& x)=0;
44  virtual MotionResult SendMilestone(const Config& x)=0;
45  virtual MotionResult SendMilestoneImmediate(const Config& x)=0;
46  virtual MotionResult SendPathImmediate(Real tbreak,const ParabolicRamp::DynamicPath& path)=0;
47 };
48 
49 
54 {
55  public:
56  PolynomialMotionQueue* queue;
57 
59  virtual bool HadExternalChange();
60  virtual Real GetCurTime();
61  virtual void GetCurConfig(Config& x);
62  virtual void GetCurVelocity(Config& dx);
63  virtual Real GetEndTime();
64  virtual void GetEndConfig(Config& x);
65  virtual void GetEndVelocity(Config& dx);
66  virtual void GetConfig(Real t,Config& x);
67  virtual MotionResult SendMilestone(const Config& x);
68  virtual MotionResult SendMilestoneImmediate(const Config& x);
69  virtual MotionResult SendPathImmediate(Real tbreak,const ParabolicRamp::DynamicPath& path);
70 };
71 
72 } //namespace Klampt
73 
74 #endif
Definition: RobotInterface.h:29
A motion queue that runs on a piecewise polynomial path. Can be commanded to reach configurations (wi...
Definition: PathController.h:38
A bounded-velocity, bounded-acceleration trajectory consisting of parabolic ramps.
Definition: DynamicPath.h:114
A MotionQueueInterface that just sends to a PolynomialMotionQueue.
Definition: RobotInterface.h:53
Definition: ContactDistance.h:6