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