38 #ifndef vpRobotViper850_h
39 #define vpRobotViper850_h
41 #include <visp3/core/vpConfig.h>
43 #ifdef VISP_HAVE_VIPER850
48 #include <visp3/robot/vpRobot.h>
49 #include <visp3/core/vpColVector.h>
50 #include <visp3/core/vpDebug.h>
51 #include <visp3/robot/vpViper850.h>
55 # include "irisa_Viper850.h"
56 # include "trycatch.h"
63 # include <visp3/sensor/vpForceTorqueAtiSensor.h>
382 static bool robotAlreadyCreated;
384 double positioningVelocity;
389 double time_prev_getvel;
390 bool first_time_getvel;
395 bool first_time_getdis;
398 #if defined(USE_ATI_DAQ) && defined(VISP_HAVE_COMEDI)
408 void biasForceTorqueSensor();
410 void closeGripper()
const;
412 void disableJoint6Limits()
const;
413 void enableJoint6Limits()
const;
428 double getMaxRotationVelocityJoint6()
const;
438 double getPositioningVelocity (
void)
const;
439 bool getPowerState()
const;
449 double getTime()
const;
463 void move(
const std::string &filename) ;
470 static bool readPosFile(
const std::string &filename,
vpColVector &q) ;
471 static bool savePosFile(
const std::string &filename,
const vpColVector &q) ;
477 void setMaxRotationVelocityJoint6(
double w6_max);
483 const double pos1,
const double pos2,
const double pos3,
484 const double pos4,
const double pos5,
const double pos6) ;
486 void setPositioningVelocity (
const double velocity);
496 void unbiasForceTorqueSensor();
499 void getArticularDisplacement(
vpColVector &displacement);
500 void getCameraDisplacement(
vpColVector &displacement);
502 double maxRotationVelocity_joint6;
void get_cVe(vpVelocityTwistMatrix &cVe) const
Implementation of a matrix and operations on matrices.
virtual void getDisplacement(const vpRobot::vpControlFrameType frame, vpColVector &q)=0
Get a displacement (frame as to ve specified) between two successive position control.
Perspective projection without distortion model.
Implementation of an homogeneous matrix and operations on such kind of matrices.
Control of Irisa's Viper S850 robot named Viper850.
virtual void get_eJe(vpMatrix &_eJe)=0
Get the robot Jacobian expressed in the end-effector frame.
virtual void setPosition(const vpRobot::vpControlFrameType frame, const vpColVector &q)=0
Set a displacement (frame has to be specified) in position control.
Class that defines a generic virtual robot.
vpControlModeType getControlMode() const
virtual vpRobotStateType setRobotState(const vpRobot::vpRobotStateType newState)
virtual void set_eMc(const vpHomogeneousMatrix &eMc_)
vpCameraParametersProjType
virtual void getPosition(const vpRobot::vpControlFrameType frame, vpColVector &q)=0
Get the robot position (frame has to be specified).
vpToolType
List of possible tools that can be attached to the robot end-effector.
virtual void get_fJe(vpMatrix &_fJe)=0
Get the robot Jacobian expressed in the robot reference (or world) frame.
Modelisation of the ADEPT Viper 850 robot.
Implementation of a velocity twist matrix and operations on such kind of matrices.
void setMaxRotationVelocity(const double maxVr)
void get_cMe(vpHomogeneousMatrix &cMe) const
Implementation of column vector and the associated operations.
Manual control mode activated when the dead man switch is in use.
static const double defaultPositioningVelocity
Implementation of a pose vector and operations on poses.
Implementation of a rotation vector as Euler angle minimal representation.
Automatic control mode (default).
virtual void setVelocity(const vpRobot::vpControlFrameType frame, const vpColVector &vel)=0
Set the velocity (frame has to be specified) that will be applied to the velocity controller...
Class that consider the case of a translation vector.