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