39 #include <visp3/core/vpConfig.h>
40 #include <visp3/robot/vpRobotException.h>
41 #include <visp3/robot/vpRobotPioneer.h>
47 #include <visp3/core/vpMath.h>
49 #ifdef VISP_HAVE_PIONEER
67 std::cout <<
"Ending robot thread..." << std::endl;
114 if (vel.
size() != 2) {
127 this->setVel(vel_sat[0] * 1000.);
137 this->setVel2(vel_sat[0] * 1000.,
142 "Cannot send the robot velocity in the specified control frame");
160 this->runAsync(
true);
162 this->enableMotors();
196 velocity[0] = this->getLeftVel() / 1000.;
197 velocity[1] = this->getRightVel() / 1000;
201 velocity[0] = this->getVel() / 1000.;
206 "Cannot get the robot volocity in the specified control frame");
237 #elif !defined(VISP_BUILD_SHARED_LIBS)
240 void dummy_vpRobotPioneer(){};
unsigned int size() const
Return the number of elements of the 2D array.
Implementation of column vector and the associated operations.
void resize(unsigned int i, bool flagNullify=true)
@ dimensionError
Bad dimension.
static double rad(double deg)
static double deg(double rad)
Generic functions for Pioneer mobile robots.
Error that can be emited by the vpRobot class and its derivates.
void setVelocity(const vpRobot::vpControlFrameType frame, const vpColVector &vel)
void getVelocity(const vpRobot::vpControlFrameType frame, vpColVector &velocity)
virtual ~vpRobotPioneer()
static vpColVector saturateVelocities(const vpColVector &v_in, const vpColVector &v_max, bool verbose=false)
double getMaxRotationVelocity(void) const
double getMaxTranslationVelocity(void) const