/home/fwph/code/wurde/rde/core/VectorMover.cpp

Go to the documentation of this file.
00001 
00027 #include <VectorMover.H>
00028 #include <RobotTypes.H>
00029 
00030 using namespace std;
00031 using namespace WURDE;
00032 
00033 void VectorMover::stop(){
00034        Pose goal_pose(0,0,0);
00035 
00036        requests.goalPose.setValue(goal_pose);
00037        requests.goalHasTheta.setValue(true);
00038        requests.goalHasLocation.setValue(true);
00039        requests.absolute.setValue(false);
00040        requests.brake.setValue(true);
00041 
00042        publishRequest();
00043 }
00044 
00045 void VectorMover::moveToPoint(Point &goal){
00046        Pose goal_pose(goal.x(),goal.y());
00047 
00048        requests.goalPose.setValue(goal_pose);
00049        requests.goalHasTheta.setValue(false);
00050        requests.goalHasLocation.setValue(true);
00051        requests.absolute.setValue(true);
00052        requests.brake.setValue(false);
00053 
00054        publishRequest();
00055 }
00056 
00057 void VectorMover::moveToPoint(const double &x, const double &y){
00058        Pose goal_pose(x,y);
00059 
00060        requests.goalPose.setValue(goal_pose);
00061        requests.goalHasTheta.setValue(false);
00062        requests.goalHasLocation.setValue(true);
00063        requests.absolute.setValue(true);
00064        requests.brake.setValue(false);
00065 
00066        publishRequest();       
00067 }
00068 
00069 void VectorMover::moveToPose(Pose &goal){
00070        requests.goalPose.setValue(goal);
00071        requests.goalHasTheta.setValue(true);
00072        requests.goalHasLocation.setValue(true);
00073        requests.absolute.setValue(true);
00074        requests.brake.setValue(false);
00075 
00076        publishRequest();
00077 }
00078 
00079 void VectorMover::moveToPose(const double &x, const double &y, const double &theta){
00080        Pose goal_pose(x,y,theta);
00081 
00082        requests.goalPose.setValue(goal_pose);
00083        requests.goalHasTheta.setValue(true);
00084        requests.goalHasLocation.setValue(true);
00085        requests.absolute.setValue(true);
00086        requests.brake.setValue(false);
00087 
00088        publishRequest();       
00089 }
00090 
00091 void VectorMover::rotateToAngle(const double &theta){
00092        Pose goal_pose(0,0,theta);
00093 
00094        requests.goalPose.setValue(goal_pose);
00095        requests.goalHasTheta.setValue(true);
00096        requests.goalHasLocation.setValue(false);
00097        requests.absolute.setValue(true);
00098        requests.brake.setValue(false);
00099 
00100        publishRequest();       
00101 }
00102 
00103 void VectorMover::moveToRelativePoint(Point &goal){
00104        Pose goal_pose(goal.x(),goal.y());
00105 
00106        requests.goalPose.setValue(goal_pose);
00107        requests.goalHasTheta.setValue(false);
00108        requests.goalHasLocation.setValue(true);
00109        requests.absolute.setValue(false);
00110        requests.brake.setValue(false);
00111 
00112        publishRequest();
00113 }
00114 
00115 void VectorMover::moveToRelativePoint(const double &x, const double &y){
00116        Pose goal_pose(x,y);
00117 
00118        requests.goalPose.setValue(goal_pose);
00119        requests.goalHasTheta.setValue(false);
00120        requests.goalHasLocation.setValue(true);
00121        requests.absolute.setValue(false);
00122        requests.brake.setValue(false);
00123 
00124        publishRequest();       
00125 }
00126 
00127 void VectorMover::moveToRelativePose(Pose &goal){
00128        requests.goalPose.setValue(goal);
00129        requests.goalHasTheta.setValue(true);
00130        requests.goalHasLocation.setValue(true);
00131        requests.absolute.setValue(false);
00132        requests.brake.setValue(false);
00133 
00134        publishRequest();
00135 }
00136 
00137 void VectorMover::moveToRelativePose(const double &x, const double &y, const double &theta){
00138        Pose goal_pose(x,y,theta);
00139 
00140        requests.goalPose.setValue(goal_pose);
00141        requests.goalHasTheta.setValue(true);
00142        requests.goalHasLocation.setValue(true);
00143        requests.absolute.setValue(false);
00144        requests.brake.setValue(false);
00145 
00146        publishRequest();       
00147 }
00148 
00149 void VectorMover::rotateToRelativeAngle(const double &theta){
00150        Pose goal_pose(0,0,theta);
00151 
00152        requests.goalPose.setValue(goal_pose);
00153        requests.goalHasTheta.setValue(true);
00154        requests.goalHasLocation.setValue(false);
00155        requests.absolute.setValue(false);
00156        requests.brake.setValue(false);
00157 
00158        publishRequest();       
00159 }
00160 
00161 
00162 void VectorMover::translateFixedDistance(const double &distance){
00163        Pose goal_pose(distance,0);
00164 
00165        requests.goalPose.setValue(goal_pose);
00166        requests.goalHasTheta.setValue(false);
00167        requests.goalHasLocation.setValue(false);
00168        requests.absolute.setValue(false);
00169        requests.brake.setValue(false);
00170        
00171        publishRequest();
00172 }
00173 
00174 /*void VectorMover::rotateFixedAngle(const double &rotate){
00175        Pose goal_pose(0,0,rotate);
00176 
00177        requests.goalPose.setValue(goal_pose);
00178        requests.goalHasTheta.setValue(true);
00179        requests.goalHasLocation.setValue(false);
00180        requests.absolute.setValue(false);
00181        requests.brake.setValue(false);
00182        
00183        publishRequest();
00184        }*/
00185 

Generated on Thu Feb 1 15:31:54 2007 for WURDE by  doxygen 1.5.1