00001 #ifndef _VECTORMOVER_H
00002 #define _VECTORMOVER_H
00003
00029 #include <VectorMoverTransport.H>
00030 #include <Egomotion.H>
00031
00032 namespace WURDE{
00033
00042 class VectorMover : public VectorMoverTransport {
00043
00044 public:
00045 explicit VectorMover(const std::string &streamname):
00046 VectorMoverTransport(streamname){}
00047
00048 VectorMover(const ConnectionStrategy & strategy,const std::string & gblName):
00049 VectorMoverTransport(strategy,gblName){}
00050
00051 VectorMover(const std::string & streamname,const std::string & gblName):
00052 VectorMoverTransport(streamname,gblName){}
00053
00054 ~VectorMover(){};
00055
00056 void stop();
00057
00058 void moveToPoint(Point &goal);
00059 void moveToPoint(const double &x, const double &y);
00060 void moveToPose(Pose &goal);
00061 void moveToPose(const double &x, const double &y, const double &theta);
00062 void rotateToAngle(const double &theta);
00063
00064 void moveToRelativePoint(Point &goal);
00065 void moveToRelativePoint(const double &x, const double &y);
00066 void moveToRelativePose(Pose &goal);
00067 void moveToRelativePose(const double &x, const double &y, const double &theta);
00068 void rotateToRelativeAngle(const double &theta);
00069
00070 void translateFixedDistance(const double &distance);
00071
00072
00073 };
00074
00075 }
00076
00077
00078 #endif