Visual Servoing Platform
version 3.5.0 under development (2022-02-15)
|
#include <visp3/robot/vpRobotViper650.h>
Public Types | |
enum | vpControlModeType { AUTO, MANUAL, ESTOP } |
enum | vpToolType { TOOL_MARLIN_F033C_CAMERA, TOOL_PTGREY_FLEA2_CAMERA, TOOL_SCHUNK_GRIPPER_CAMERA, TOOL_GENERIC_CAMERA, TOOL_CUSTOM } |
enum | vpRobotStateType { STATE_STOP, STATE_VELOCITY_CONTROL, STATE_POSITION_CONTROL, STATE_ACCELERATION_CONTROL, STATE_FORCE_TORQUE_CONTROL } |
enum | vpControlFrameType { REFERENCE_FRAME, ARTICULAR_FRAME, JOINT_STATE = ARTICULAR_FRAME, END_EFFECTOR_FRAME, CAMERA_FRAME, TOOL_FRAME = CAMERA_FRAME, MIXT_FRAME } |
Static Public Member Functions | |
static bool | readPosFile (const std::string &filename, vpColVector &q) |
static bool | savePosFile (const std::string &filename, const vpColVector &q) |
Static Public Member Functions inherited from vpRobot | |
static vpColVector | saturateVelocities (const vpColVector &v_in, const vpColVector &v_max, bool verbose=false) |
Protected Member Functions | |
Protected Member Functions Inherited from vpViper650 | |
void | setToolType (vpViper650::vpToolType tool) |
Protected Member Functions Inherited from vpRobot | |
vpControlFrameType | setRobotFrame (vpRobot::vpControlFrameType newFrame) |
vpControlFrameType | getRobotFrame (void) const |
Protected Attributes | |
vpToolType | tool_current |
vpCameraParameters::vpCameraParametersProjType | projModel |
vpHomogeneousMatrix | eMc |
vpTranslationVector | etc |
vpRxyzVector | erc |
double | a1 |
double | d1 |
double | a2 |
double | a3 |
double | d4 |
double | d6 |
double | d7 |
double | c56 |
vpColVector | joint_max |
vpColVector | joint_min |
double | maxTranslationVelocity |
double | maxRotationVelocity |
int | nDof |
vpMatrix | eJe |
int | eJeAvailable |
vpMatrix | fJe |
int | fJeAvailable |
int | areJointLimitsAvailable |
double * | qmin |
double * | qmax |
bool | verbose_ |
Static Protected Attributes | |
static const double | maxTranslationVelocityDefault = 0.2 |
static const double | maxRotationVelocityDefault = 0.7 |
Control of Irisa's Viper S650 robot named Viper650.
Implementation of the vpRobot class in order to control Irisa's Viper650 robot. This robot is an ADEPT six degrees of freedom arm. A firewire camera is mounted on the end-effector to allow eye-in-hand visual servoing. The control of this camera is achieved by the vp1394TwoGrabber class.
The model of the robot is the following:
The non modified Denavit-Hartenberg representation of the robot is given in the table below, where are the variable joint positions.
In this modelisation, different frames have to be considered.
This class allows to control the Viper650 arm robot in position and velocity:
End-effector frame (vpRobot::END_EFFECTOR_FRAME) is not implemented.
All the translations are expressed in meters for positions and m/s for the velocities. Rotations are expressed in radians for the positions, and rad/s for the rotation velocities.
The direct and inverse kinematics models are implemented in the vpViper650 class.
To communicate with the robot, you may first create an instance of this class by calling the default constructor:
This initialize the robot kinematics with the extrinsic camera parameters obtained with a projection model without distortion. To set the robot kinematics with the transformation obtained with a camera perspective model including distortion you need to initialize the robot with:
You can get the intrinsic camera parameters of an image acquired by the camera attached to the robot, with:
To control the robot in position, you may set the controller to position control and than send the position to reach in a specific frame like here in the joint space:
The robot moves to the specified position with the default positioning velocity vpRobotViper650::defaultPositioningVelocity. The setPositioningVelocity() method allows to change the maximal velocity used to reach the desired position.
To control the robot in velocity, you may set the controller to velocity control and than send the velocities. To end the velocity control and stop the robot you have to set the controller to the stop state. Here is an example of a velocity control in the joint space:
It is also possible to specify the position of a custom tool cartesian frame. To this end this frame is to specify with respect of the end effector frame in transformation. This could be done by initializing the robot thanks to init(vpViper650::vpToolType, const vpHomogeneousMatrix &) or init(vpViper650::vpToolType, const std::string &) or using set_eMc(). The following example illustrates this usecase:
It is also possible to measure the robot current position with getPosition() method and the robot current velocities with the getVelocity() method.
For convenience, there is also the ability to read/write joint positions from a position file with readPosFile() and savePosFile() methods.
Definition at line 337 of file vpRobotViper650.h.
|
inherited |
Robot control frames.
Enumerator | |
---|---|
REFERENCE_FRAME | Corresponds to a fixed reference frame attached to the robot structure. |
ARTICULAR_FRAME | Corresponds to the joint state. This value is deprecated. You should rather use vpRobot::JOINT_STATE. |
JOINT_STATE | Corresponds to the joint state. |
END_EFFECTOR_FRAME | Corresponds to robot end-effector frame. |
CAMERA_FRAME | Corresponds to a frame attached to the camera mounted on the robot end-effector. |
TOOL_FRAME | Corresponds to a frame attached to the tool (camera, gripper...) mounted on the robot end-effector. This value is equal to vpRobot::CAMERA_FRAME. |
MIXT_FRAME | Corresponds to a "virtual" frame where translations are expressed in the reference frame, and rotations in the camera frame. |
Control mode.
Enumerator | |
---|---|
AUTO | Automatic control mode (default). |
MANUAL | Manual control mode activated when the dead man switch is in use. |
ESTOP | Emergency stop activated. |
Definition at line 342 of file vpRobotViper650.h.
|
inherited |
Robot control states.
|
inherited |
List of possible tools that can be attached to the robot end-effector.
Definition at line 127 of file vpViper650.h.
|
explicit |
The only available constructor.
This contructor calls init() to initialise the connection with the MotionBox or low level controller, send the default homogeneous matrix and power on the robot.
It also set the robot state to vpRobot::STATE_STOP.
To set the extrinsic camera parameters related to the matrix obtained with a camera perspective projection model including the distorsion, use the code below:
Now, you can get the intrinsic camera parameters associated to an image acquired by the camera attached to the robot, with:
Definition at line 177 of file vpRobotViper650.cpp.
References init(), m_defaultPositioningVelocity, vpRobot::maxRotationVelocity, setRobotState(), vpRobot::setVerbose(), vpRobot::STATE_STOP, and vpRobot::verbose_.
|
virtual |
Destructor.
Free allocated resources.
Definition at line 658 of file vpRobotViper650.cpp.
References setRobotState(), and vpRobot::STATE_STOP.
void vpRobotViper650::biasForceTorqueSensor | ( | ) | const |
Bias the force/torque sensor.
vpRobotException::lowLevelError | : If the force/torque sensor bias cannot be done on the low level controller. |
Definition at line 2299 of file vpRobotViper650.cpp.
References vpRobotException::lowLevelError, vpERROR_TRACE, and vpTime::wait().
void vpRobotViper650::closeGripper | ( | ) | const |
Close the pneumatic two fingers gripper.
Definition at line 2537 of file vpRobotViper650.cpp.
References vpRobotException::lowLevelError.
void vpRobotViper650::disableJoint6Limits | ( | ) | const |
Disable the joint limits on axis number 6. When joint 6 is outside the limits, a call to this function allows to bring the robot to a position inside the limits. Don't forget then to call enableJoint6Limits() to reduce the working space for joint 6.
Definition at line 2451 of file vpRobotViper650.cpp.
References vpRobotException::lowLevelError, and vpERROR_TRACE.
void vpRobotViper650::enableJoint6Limits | ( | ) | const |
Enable the joint limits on axis number 6. This is the default.
Definition at line 2429 of file vpRobotViper650.cpp.
References vpRobotException::lowLevelError, and vpERROR_TRACE.
void vpRobotViper650::get_cMe | ( | vpHomogeneousMatrix & | cMe | ) | const |
Get the geometric transformation between the camera frame and the end-effector frame. This transformation is constant and correspond to the extrinsic camera parameters estimated by calibration.
cMe | : Transformation between the camera frame and the end-effector frame. |
Definition at line 920 of file vpRobotViper650.cpp.
References vpViper::get_cMe().
Referenced by setVelocity().
void vpRobotViper650::get_cVe | ( | vpVelocityTwistMatrix & | cVe | ) | const |
Get the twist transformation from camera frame to end-effector frame. This transformation allows to compute a velocity expressed in the end-effector frame into the camera frame.
cVe | : Twist transformation. |
Definition at line 901 of file vpRobotViper650.cpp.
References vpVelocityTwistMatrix::buildFrom(), and vpViper::get_cMe().
|
inherited |
Get the robot jacobian which gives the velocity of the origin of the end-effector frame expressed in end-effector frame.
q | : A six-dimension vector that contains the joint positions of the robot expressed in radians. |
eJe | : Robot jacobian that express the velocity of the end-effector in the robot end-effector frame. |
Definition at line 970 of file vpViper.cpp.
References vpHomogeneousMatrix::extract(), vpViper::get_fJw(), vpViper::get_fMw(), vpViper::get_wMe(), vpRotationMatrix::inverse(), vpHomogeneousMatrix::inverse(), and vpTranslationVector::skew().
Referenced by vpSimulatorViper850::computeArticularVelocity(), vpSimulatorViper850::get_eJe(), get_eJe(), vpRobotViper850::get_eJe(), and vpSimulatorViper850::getVelocity().
|
virtual |
Get the robot jacobian expressed in the end-effector frame.
To compute , we communicate with the low level controller to get the joint position of the robot.
eJe | : Robot jacobian expressed in the end-effector frame. |
Implements vpRobot.
Definition at line 933 of file vpRobotViper650.cpp.
References vpViper::get_eJe(), vpViper::njoint, vpMath::rad(), and vpERROR_TRACE.
|
inherited |
Get the geometric transformation between the end-effector frame and the camera frame. This transformation is constant and correspond to the extrinsic camera parameters estimated by calibration.
eMc_ | : Transformation between the the end-effector frame and the camera frame. |
Definition at line 894 of file vpViper.cpp.
References vpViper::eMc.
Referenced by vpViper::getInverseKinematics().
|
inherited |
Get the geometric transformation between the end-effector frame and the force/torque sensor frame. This transformation is constant.
eMs | : Transformation between the the end-effector frame and the force/torque sensor frame. |
Definition at line 905 of file vpViper.cpp.
References vpViper::d7, and vpHomogeneousMatrix::eye().
|
inherited |
Get the robot jacobian which gives the velocity of the origin of the end-effector frame expressed in the robot reference frame also called fix frame.
q | : A six-dimension vector that contains the joint positions of the robot expressed in radians. |
fJe | : Robot jacobian that express the velocity of the end-effector in the robot reference frame. |
Definition at line 1159 of file vpViper.cpp.
References vpHomogeneousMatrix::extract(), vpViper::get_fJw(), vpViper::get_fMw(), vpViper::get_wMe(), and vpHomogeneousMatrix::inverse().
Referenced by vpSimulatorViper850::computeArticularVelocity(), vpSimulatorViper850::get_fJe(), get_fJe(), vpRobotViper850::get_fJe(), and vpSimulatorViper850::getVelocity().
|
virtual |
Get the robot jacobian expressed in the robot reference frame also called fix frame.
To compute , we communicate with the low level controller to get the joint position of the robot.
fJe | : Robot jacobian expressed in the reference frame. |
Implements vpRobot.
Definition at line 966 of file vpRobotViper650.cpp.
References vpViper::get_fJe(), vpViper::njoint, and vpERROR_TRACE.
|
inherited |
Get the robot jacobian which express the velocity of the origin of the wrist frame in the robot reference frame also called fix frame.
with
q | : A six-dimension vector that contains the joint positions of the robot expressed in radians. |
fJw | : Robot jacobian that express the velocity of the point w (origin of the wrist frame) in the robot reference frame. |
Definition at line 1054 of file vpViper.cpp.
References vpViper::a1, vpViper::a2, vpViper::a3, vpViper::d4, and vpArray2D< Type >::resize().
Referenced by vpViper::get_eJe(), and vpViper::get_fJe().
|
inherited |
Compute the forward kinematics (direct geometric model) as an homogeneous matrix.
By forward kinematics we mean here the position and the orientation of the camera relative to the base frame given the joint positions of all the six joints.
This method is the same than getForwardKinematics(const vpColVector & q).
q | : Vector of six joint positions expressed in radians. |
Definition at line 600 of file vpViper.cpp.
Referenced by vpSimulatorViper850::compute_fMi(), vpViper::getForwardKinematics(), vpSimulatorViper850::getPosition(), getPosition(), vpRobotViper850::getPosition(), getVelocity(), vpRobotViper850::getVelocity(), vpSimulatorViper850::setPosition(), setPosition(), and vpRobotViper850::setPosition().
|
inherited |
Compute the forward kinematics (direct geometric model) as an homogeneous matrix.
By forward kinematics we mean here the position and the orientation of the camera relative to the base frame given the six joint positions.
q | : Vector of six joint positions expressed in radians. |
fMc | The homogeneous matrix corresponding to the direct geometric model which expresses the transformation between the fix frame and the camera frame. |
Definition at line 629 of file vpViper.cpp.
References vpViper::eMc, and vpViper::get_fMe().
|
inherited |
Compute the forward kinematics (direct geometric model) as an homogeneous matrix .
By forward kinematics we mean here the position and the orientation of the end effector with respect to the base frame given the motor positions of all the six joints.
with
q | : A 6-dimension vector that contains the 6 joint positions expressed in radians. |
fMe | The homogeneous matrix corresponding to the direct geometric model which expresses the transformation between the fix frame and the end effector frame. |
Note that this transformation can also be computed by considering the wrist frame .
Definition at line 715 of file vpViper.cpp.
References vpViper::a1, vpViper::a2, vpViper::a3, vpViper::d1, vpViper::d4, and vpViper::d6.
Referenced by vpViper::get_fMc(), getVelocity(), and vpRobotViper850::getVelocity().
|
inherited |
Compute the transformation between the fix frame and the wrist frame. The wrist frame is located on the intersection of the 3 last rotations.
q | : A 6-dimension vector that contains the 6 joint positions expressed in radians. |
fMw | The homogeneous matrix corresponding to the transformation between the fix frame and the wrist frame (fMw). |
with
Definition at line 810 of file vpViper.cpp.
References vpViper::a1, vpViper::a2, vpViper::a3, vpViper::d1, and vpViper::d4.
Referenced by vpViper::get_eJe(), and vpViper::get_fJe().
|
inherited |
Return the transformation between the wrist frame and the end-effector. The wrist frame is located on the intersection of the 3 last rotations.
wMe | The homogeneous matrix corresponding to the transformation between the wrist frame and the end-effector frame (wMe). |
Definition at line 874 of file vpViper.cpp.
References vpViper::d6, and vpHomogeneousMatrix::eye().
Referenced by vpViper::get_eJe(), vpViper::get_fJe(), and vpViper::getInverseKinematics().
|
inherited |
Get the current intrinsic camera parameters obtained by calibration.
cam | : In output, camera parameters to fill. |
image_width | : Image width used to compute camera calibration. |
image_height | : Image height used to compute camera calibration. |
The code below shows how to get the camera parameters of the camera attached to the robot.
vpRobotException::readingParametersError | : If the camera parameters are not found. |
Definition at line 556 of file vpViper650.cpp.
References vpException::badValue, vpViper650::CONST_CAMERA_FILENAME, vpViper650::CONST_GENERIC_CAMERA_NAME, vpViper650::CONST_MARLIN_F033C_CAMERA_NAME, vpViper650::CONST_PTGREY_FLEA2_CAMERA_NAME, vpViper650::CONST_SCHUNK_GRIPPER_CAMERA_NAME, vpViper650::getToolType(), vpCameraParameters::initPersProjWithDistortion(), vpCameraParameters::initPersProjWithoutDistortion(), vpException::notImplementedError, vpXmlParserCamera::parse(), vpCameraParameters::perspectiveProjWithDistortion, vpCameraParameters::perspectiveProjWithoutDistortion, vpViper650::projModel, vpCameraParameters::ProjWithKannalaBrandtDistortion, vpRobotException::readingParametersError, vpXmlParserCamera::SEQUENCE_OK, vpViper650::TOOL_CUSTOM, vpViper650::TOOL_GENERIC_CAMERA, vpViper650::TOOL_MARLIN_F033C_CAMERA, vpViper650::TOOL_PTGREY_FLEA2_CAMERA, vpViper650::TOOL_SCHUNK_GRIPPER_CAMERA, vpERROR_TRACE, and vpTRACE.
Referenced by vpViper650::getCameraParameters().
|
inherited |
Get the current intrinsic camera parameters obtained by calibration.
cam | : In output, camera parameters to fill. |
I | : A B&W image send by the current camera in use. |
vpRobotException::readingParametersError | : If the camera parameters are not found. |
Definition at line 758 of file vpViper650.cpp.
References vpViper650::getCameraParameters(), vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().
|
inherited |
Get the current intrinsic camera parameters obtained by calibration.
cam | : In output, camera parameters to fill. |
I | : A color image send by the current camera in use. |
vpRobotException::readingParametersError | : If the camera parameters are not found. |
Definition at line 823 of file vpViper650.cpp.
References vpViper650::getCameraParameters(), vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().
|
inlineinherited |
Get the current camera model projection type.
Definition at line 152 of file vpViper650.h.
|
inline |
Definition at line 402 of file vpRobotViper650.h.
References vpViper::get_cMe(), vpViper::get_cVe(), vpRobot::get_eJe(), vpRobot::get_fJe(), vpRobot::getDisplacement(), vpRobot::getPosition(), vpRobot::init(), vpCameraParameters::perspectiveProjWithoutDistortion, vpViper::set_eMc(), vpRobot::setMaxRotationVelocity(), vpRobot::setPosition(), vpRobot::setRobotState(), and vpRobot::setVelocity().
|
inherited |
Return the coupling factor between join 5 and joint 6.
This factor should be only useful when motor positions are considered. Since the positions returned by the robot are joint positions which takes into account the coupling factor, it has not to be considered in the modelization of the robot.
Definition at line 1220 of file vpViper.cpp.
References vpViper::c56.
|
virtual |
Get the robot displacement since the last call of this method.
frame | : The frame in which the measured displacement is expressed. |
displacement | : The measured displacement since the last call of this method. The dimension of displacement is always
|
In camera or reference frame, rotations are expressed with the Euler Rxyz representation.
Implements vpRobot.
Definition at line 2229 of file vpRobotViper650.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpRobot::END_EFFECTOR_FRAME, vpRobotException::lowLevelError, vpRobot::MIXT_FRAME, vpViper::njoint, vpRobot::REFERENCE_FRAME, vpColVector::resize(), and vpERROR_TRACE.
void vpRobotViper650::getForceTorque | ( | vpColVector & | H | ) | const |
Get the rough force/torque sensor measures.
H | [Fx, Fy, Fz, Tx, Ty, Tz] Forces/torques measured by the sensor. |
The code below shows how to get the force/torque measures after a sensor bias.
vpRobotException::lowLevelError | : If the force/torque measures cannot be get from the low level controller. |
Definition at line 2354 of file vpRobotViper650.cpp.
References vpArray2D< Type >::data, vpRobotException::lowLevelError, vpColVector::resize(), and vpERROR_TRACE.
vpColVector vpRobotViper650::getForceTorque | ( | ) | const |
Get the rough force/torque sensor measures.
The code below shows how to get the force/torque measures after a sensor bias.
vpRobotException::lowLevelError | : If the force/torque measures cannot be get from the low level controller. |
Definition at line 2406 of file vpRobotViper650.cpp.
References vpArray2D< Type >::data, vpRobotException::lowLevelError, and vpERROR_TRACE.
|
inherited |
Compute the forward kinematics (direct geometric model) as an homogeneous matrix.
By forward kinematics we mean here the position and the orientation of the camera relative to the base frame given the six joint positions.
This method is the same than get_fMc(const vpColVector & q).
q | : A six dimension vector corresponding to the robot joint positions expressed in radians. |
Definition at line 121 of file vpViper.cpp.
References vpViper::get_fMc(), vpViper::joint_max, and vpViper::joint_min.
|
inherited |
Compute the inverse kinematics (inverse geometric model).
By inverse kinematics we mean here the six joint values given the position and the orientation of the camera frame relative to the base frame.
fMc | : Homogeneous matrix describing the transformation from base frame to the camera frame. |
q | : In input, a six dimension vector corresponding to the current joint positions expressed in radians. In output, the solution of the inverse kinematics, ie. the joint positions corresponding to . |
verbose | : Add extra printings. |
The code below shows how to compute the inverse geometric model:
Definition at line 563 of file vpViper.cpp.
References vpViper::get_eMc(), vpViper::get_wMe(), vpViper::getInverseKinematicsWrist(), and vpHomogeneousMatrix::inverse().
Referenced by vpSimulatorViper850::initialiseCameraRelativeToObject(), vpSimulatorViper850::setPosition(), setPosition(), and vpRobotViper850::setPosition().
|
inherited |
Compute the inverse kinematics (inverse geometric model).
By inverse kinematics we mean here the six joint values given the position and the orientation of the camera frame relative to the base frame.
fMw | : Homogeneous matrix describing the transformation from base frame to the wrist frame. |
q | : In input, a six dimension vector corresponding to the current joint positions expressed in radians. In output, the solution of the inverse kinematics, ie. the joint positions corresponding to . |
verbose | : Add extra printings. |
The code below shows how to compute the inverse geometric model:
Definition at line 222 of file vpViper.cpp.
References vpViper::a1, vpViper::a2, vpViper::a3, vpViper::d1, vpViper::d4, vpArray2D< Type >::getRows(), vpViper::njoint, vpMath::rad(), vpColVector::resize(), and vpMath::sqr().
Referenced by vpViper::getInverseKinematics().
|
inherited |
Get maximal joint values.
Definition at line 1208 of file vpViper.cpp.
References vpViper::joint_max.
|
inherited |
Get minimal joint values.
Definition at line 1199 of file vpViper.cpp.
References vpViper::joint_min.
|
inherited |
Get the maximal rotation velocity that can be sent to the robot during a velocity control.
Definition at line 273 of file vpRobot.cpp.
References vpRobot::maxRotationVelocity.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), vpSimulatorViper850::computeArticularVelocity(), vpSimulatorAfma6::findHighestPositioningSpeed(), vpSimulatorViper850::findHighestPositioningSpeed(), vpSimulatorAfma6::setPosition(), vpRobotTemplate::setVelocity(), vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpRobotPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpRobotKinova::setVelocity(), vpRobotFlirPtu::setVelocity(), vpSimulatorAfma6::setVelocity(), vpSimulatorViper850::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotFranka::setVelocity(), setVelocity(), and vpRobotViper850::setVelocity().
double vpRobotViper650::getMaxRotationVelocityJoint6 | ( | ) | const |
Get the maximal rotation velocity on joint 6 that is used only during velocity joint control.
Definition at line 2511 of file vpRobotViper650.cpp.
Referenced by setVelocity().
|
inherited |
Get the maximal translation velocity that can be sent to the robot during a velocity control.
Definition at line 251 of file vpRobot.cpp.
References vpRobot::maxTranslationVelocity.
Referenced by vpSimulatorAfma6::setPosition(), vpRobotTemplate::setVelocity(), vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpRobotPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpRobotKinova::setVelocity(), vpRobotFlirPtu::setVelocity(), vpSimulatorAfma6::setVelocity(), vpSimulatorViper850::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotFranka::setVelocity(), setVelocity(), and vpRobotViper850::setVelocity().
|
inherited |
Return the current robot position in the specified frame.
Definition at line 216 of file vpRobot.cpp.
References vpRobot::getPosition().
|
virtual |
Get the current position of the robot.
Similar as getPosition(const vpRobot::vpControlFrameType frame, vpColVector &, double &).
The difference is here that the timestamp is not used.
Implements vpRobot.
Definition at line 1500 of file vpRobotViper650.cpp.
Referenced by getPosition().
void vpRobotViper650::getPosition | ( | const vpRobot::vpControlFrameType | frame, |
vpColVector & | position, | ||
double & | timestamp | ||
) |
Get the current position of the robot.
frame | : Control frame type in which to get the position, either :
|
position | : Measured position of the robot:
|
timestamp | : Time in second since last robot power on. |
vpRobotException::lowLevelError | : If the position cannot be get from the low level controller. |
Definition at line 1432 of file vpRobotViper650.cpp.
References vpRobot::ARTICULAR_FRAME, vpRxyzVector::buildFrom(), vpRobot::CAMERA_FRAME, vpArray2D< Type >::data, vpColVector::deg2rad(), vpRobot::END_EFFECTOR_FRAME, vpHomogeneousMatrix::extract(), vpViper::get_fMc(), vpRobotException::lowLevelError, vpRobot::MIXT_FRAME, vpViper::njoint, vpRobot::REFERENCE_FRAME, vpColVector::resize(), and vpERROR_TRACE.
void vpRobotViper650::getPosition | ( | const vpRobot::vpControlFrameType | frame, |
vpPoseVector & | position | ||
) |
Get the current position of the robot.
Similar as getPosition(const vpRobot::vpControlFrameType frame, vpPoseVector &, double &).
The difference is here that the timestamp is not returned.
Definition at line 1547 of file vpRobotViper650.cpp.
References getPosition().
void vpRobotViper650::getPosition | ( | const vpRobot::vpControlFrameType | frame, |
vpPoseVector & | position, | ||
double & | timestamp | ||
) |
Get the current position of the robot.
Similar as getPosition(const vpRobot::vpControlFrameType frame, vpColVector &, double &)
The difference is here that the position is returned using a representation for the rotation.
Definition at line 1519 of file vpRobotViper650.cpp.
References getPosition().
double vpRobotViper650::getPositioningVelocity | ( | void | ) | const |
Get the maximal velocity percentage used for a position control.
Definition at line 1031 of file vpRobotViper650.cpp.
bool vpRobotViper650::getPowerState | ( | void | ) | const |
Get the robot power state indication if power is on or off.
vpRobotException::lowLevelError | : If the low level controller returns an error. |
Definition at line 871 of file vpRobotViper650.cpp.
References vpRobotException::lowLevelError, and vpERROR_TRACE.
|
inlineprotectedinherited |
Definition at line 172 of file vpRobot.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), and vpSimulatorViper850::computeArticularVelocity().
|
inlinevirtualinherited |
Definition at line 144 of file vpRobot.h.
Referenced by vpRobotBiclops::getPosition(), vpRobotBiclops::getVelocity(), vpRobotPtu46::setPosition(), vpRobotBiclops::setPosition(), vpSimulatorCamera::setPosition(), vpRobotCamera::setPosition(), vpSimulatorAfma6::setPosition(), vpRobotAfma4::setPosition(), vpSimulatorViper850::setPosition(), vpRobotAfma6::setPosition(), vpRobotFranka::setPosition(), setPosition(), vpRobotViper850::setPosition(), vpRobotPtu46::setRobotState(), vpRobotBiclops::setRobotState(), vpRobotFlirPtu::setRobotState(), vpSimulatorAfma6::setRobotState(), vpSimulatorViper850::setRobotState(), vpRobotAfma4::setRobotState(), vpRobotAfma6::setRobotState(), vpRobotFranka::setRobotState(), setRobotState(), vpRobotViper850::setRobotState(), vpRobotTemplate::setVelocity(), vpRobotBiclops::setVelocity(), vpRobotPtu46::setVelocity(), vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpRobotKinova::setVelocity(), vpRobotFlirPtu::setVelocity(), vpSimulatorAfma6::setVelocity(), vpSimulatorViper850::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotFranka::setVelocity(), setVelocity(), vpRobotViper850::setVelocity(), vpRobotFlirPtu::stopMotion(), vpSimulatorAfma6::stopMotion(), vpSimulatorViper850::stopMotion(), vpRobotFranka::stopMotion(), stopMotion(), and vpRobotViper850::stopMotion().
double vpRobotViper650::getTime | ( | ) | const |
Returns the robot controller current time (in second) since last robot power on.
Definition at line 1557 of file vpRobotViper650.cpp.
|
inlineinherited |
Get the current tool type.
Definition at line 160 of file vpViper650.h.
Referenced by vpViper650::getCameraParameters().
void vpRobotViper650::getVelocity | ( | const vpRobot::vpControlFrameType | frame, |
vpColVector & | velocity | ||
) |
Get robot velocities.
The behavior is the same than getVelocity(const vpRobot::vpControlFrameType, vpColVector &, double &) except that the timestamp is not returned.
Definition at line 1937 of file vpRobotViper650.cpp.
Referenced by getVelocity().
void vpRobotViper650::getVelocity | ( | const vpRobot::vpControlFrameType | frame, |
vpColVector & | velocity, | ||
double & | timestamp | ||
) |
Get the robot velocities.
frame | : Frame in wich velocities are mesured. |
velocity | : Measured velocities. Translations are expressed in m/s and rotations in rad/s. |
timestamp | : Time in second since last robot power on. |
Definition at line 1816 of file vpRobotViper650.cpp.
References vpRobot::ARTICULAR_FRAME, vpThetaUVector::buildFrom(), vpRobot::CAMERA_FRAME, vpArray2D< Type >::data, vpColVector::deg2rad(), vpRobot::END_EFFECTOR_FRAME, vpHomogeneousMatrix::extract(), vpException::functionNotImplementedError, vpViper::get_fMc(), vpViper::get_fMe(), vpExponentialMap::inverse(), vpHomogeneousMatrix::inverse(), vpRobotException::lowLevelError, vpRobot::MIXT_FRAME, vpRobot::REFERENCE_FRAME, vpColVector::resize(), and vpERROR_TRACE.
vpColVector vpRobotViper650::getVelocity | ( | const vpRobot::vpControlFrameType | frame | ) |
Get robot velocities.
The behavior is the same than getVelocity(const vpRobot::vpControlFrameType, double &) except that the timestamp is not returned.
Definition at line 2008 of file vpRobotViper650.cpp.
References getVelocity().
vpColVector vpRobotViper650::getVelocity | ( | const vpRobot::vpControlFrameType | frame, |
double & | timestamp | ||
) |
Get the robot velocities.
frame | : Frame in wich velocities are mesured. |
timestamp | : Time in second since last robot power on. |
Definition at line 1992 of file vpRobotViper650.cpp.
References getVelocity().
|
inherited |
Read files containing the constant parameters related to the robot tools in order to set the end-effector to tool transformation.
camera_extrinsic_parameters | : Filename containing the camera extrinsic parameters. |
Definition at line 150 of file vpViper650.cpp.
References vpViper650::parseConfigFile().
|
virtual |
Initialise the connection with the MotionBox or low level controller, send the default eMc homogeneous matrix, power on the robot and wait 1 sec before returning to be sure the initialisation is done.
Implements vpRobot.
Definition at line 250 of file vpRobotViper650.cpp.
References AUTO, vpRobotException::constructionError, vpArray2D< Type >::data, vpViper650::defaultTool, vpColVector::deg2rad(), ESTOP, vpViper::joint_max, vpViper::joint_min, MANUAL, vpColVector::resize(), and vpRobot::verbose_.
Referenced by vpRobotViper650().
void vpRobotViper650::init | ( | vpViper650::vpToolType | tool, |
vpCameraParameters::vpCameraParametersProjType | projModel = vpCameraParameters::perspectiveProjWithoutDistortion |
||
) |
Initialize the robot kinematics with the extrinsic calibration parameters associated to a specific camera (set the eMc homogeneous parameters in the low level controller) and also get the joint limits from the low-level controller.
The eMc parameters depend on the camera and the projection model in use.
tool | : Tool to use. |
projModel | : Projection model associated to the camera. |
To set the extrinsic camera parameters related to the matrix obtained with a camera perspective projection model including the distorsion, use the code below:
Now, you can get the intrinsic camera parameters associated to an image acquired by the camera attached to the robot, with:
Definition at line 406 of file vpRobotViper650.cpp.
References vpArray2D< Type >::data, vpColVector::deg2rad(), vpViper::erc, vpViper::etc, vpViper650::init(), vpViper::joint_max, and vpViper::joint_min.
void vpRobotViper650::init | ( | vpViper650::vpToolType | tool, |
const std::string & | filename | ||
) |
Initialize the robot kinematics (set the eMc homogeneous parameters in the low level controller) from a file and also get the joint limits from the low-level controller.
tool | : Tool to use. |
filename | : Path of the configuration file containing the transformation between the end-effector frame and the tool frame. |
To set the transformation parameters related to the matrix, use the code below:
The configuration file should have the form below:
Definition at line 489 of file vpRobotViper650.cpp.
References vpArray2D< Type >::data, vpColVector::deg2rad(), vpViper::erc, vpViper::etc, vpViper650::init(), vpViper::joint_max, and vpViper::joint_min.
void vpRobotViper650::init | ( | vpViper650::vpToolType | tool, |
const vpHomogeneousMatrix & | eMc_ | ||
) |
Initialize the robot kinematics with user defined parameters (set the eMc homogeneous parameters in the low level controller) and also get the joint limits from the low-level controller.
tool | : Tool to use. |
eMc_ | : Transformation between the end-effector frame and the tool frame. |
To set the transformation parameters related to the matrix, use the code below:
Definition at line 555 of file vpRobotViper650.cpp.
References vpArray2D< Type >::data, vpColVector::deg2rad(), vpViper::erc, vpViper::etc, vpViper650::init(), vpViper::joint_max, and vpViper::joint_min.
void vpRobotViper650::move | ( | const std::string & | filename | ) |
Moves the robot to the joint position specified in the filename. The positioning velocity is set to 10% of the robot maximal velocity.
filename | File containing a joint position. |
Definition at line 2197 of file vpRobotViper650.cpp.
References vpRobot::ARTICULAR_FRAME, readPosFile(), setPosition(), setPositioningVelocity(), setRobotState(), and vpRobot::STATE_POSITION_CONTROL.
void vpRobotViper650::openGripper | ( | ) |
Open the pneumatic two fingers gripper.
Definition at line 2519 of file vpRobotViper650.cpp.
References vpRobotException::lowLevelError.
|
inherited |
This function gets the robot constant parameters from a file.
filename | : File name containing the robot constant parameters, like the hand-to-eye transformation. |
Definition at line 417 of file vpViper650.cpp.
References vpRobotException::readingParametersError, and vpViper::set_eMc().
Referenced by vpViper650::init().
void vpRobotViper650::powerOff | ( | void | ) |
Power off the robot.
vpRobotException::lowLevelError | : If the low level controller returns an error during robot stopping. |
Definition at line 837 of file vpRobotViper650.cpp.
References vpRobotException::lowLevelError, and vpERROR_TRACE.
void vpRobotViper650::powerOn | ( | void | ) |
Power on the robot.
vpRobotException::lowLevelError | : If the low level controller returns an error during robot power on. |
Definition at line 767 of file vpRobotViper650.cpp.
References AUTO, ESTOP, vpRobotException::lowLevelError, MANUAL, and vpERROR_TRACE.
Referenced by setRobotState().
|
static |
Read joint positions in a specific Viper650 position file.
This position file has to start with a header. The six joint positions are given after the "R:" keyword. The first 3 values correspond to the joint translations X,Y,Z expressed in meters. The 3 last values correspond to the joint rotations A,B,C expressed in degres to be more representative for the user. Theses values are then converted in radians in q. The character "#" starting a line indicates a comment.
A typical content of such a file is given below:
filename | : Name of the position file to read. |
q | : The six joint positions. Values are expressed in radians. |
The code below shows how to read a position from a file and move the robot to this position.
Definition at line 2082 of file vpRobotViper650.cpp.
References vpColVector::deg2rad(), vpViper::njoint, vpColVector::resize(), and vpIoTools::splitChain().
Referenced by move(), and setPosition().
|
staticinherited |
Saturate velocities.
v_in | : Vector of input velocities to saturate. Translation velocities should be expressed in m/s while rotation velocities in rad/s. |
v_max | : Vector of maximal allowed velocities. Maximal translation velocities should be expressed in m/s while maximal rotation velocities in rad/s. |
verbose | : Print a message indicating which axis causes the saturation. |
vpRobotException::dimensionError | : If the input vectors have different dimensions. |
The code below shows how to use this static method in order to saturate a velocity skew vector.
Definition at line 163 of file vpRobot.cpp.
References vpException::dimensionError, and vpArray2D< Type >::size().
Referenced by vpRobotTemplate::setVelocity(), vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpRobotPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpRobotKinova::setVelocity(), vpRobotFlirPtu::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotFranka::setVelocity(), setVelocity(), and vpRobotViper850::setVelocity().
|
static |
Save joint (articular) positions in a specific Viper650 position file.
This position file starts with a header on the first line. After convertion of the rotations in degrees, the joint position q is written on a line starting with the keyword "R: ". See readPosFile() documentation for an example of such a file.
filename | : Name of the position file to create. |
q | : The six joint positions to save in the filename. Values are expressed in radians. |
Definition at line 2163 of file vpRobotViper650.cpp.
References vpMath::deg().
|
virtual |
Set the geometric transformation between the end-effector frame and the tool frame in the low level controller.
eMc_ | : Transformation between the end-effector frame and the tool frame. |
Reimplemented from vpViper.
Definition at line 596 of file vpRobotViper650.cpp.
References vpViper::erc, vpViper::etc, and vpViper::set_eMc().
|
virtual |
Set the geometric transformation between the end-effector frame and the tool frame in the low level controller.
etc_ | : Translation between the end-effector frame and the tool frame. |
erc_ | : Rotation between the end-effector frame and the tool frame using the Euler angles in radians with the XYZ convention. |
Reimplemented from vpViper.
Definition at line 628 of file vpRobotViper650.cpp.
References vpViper::erc, vpViper::etc, and vpViper::set_eMc().
void vpRobotViper650::setMaxRotationVelocity | ( | double | w_max | ) |
Set the maximal rotation velocity that can be sent to the robot during a velocity control.
w_max | : Maximum rotation velocity expressed in rad/s. |
Definition at line 2471 of file vpRobotViper650.cpp.
References vpRobot::setMaxRotationVelocity(), and setMaxRotationVelocityJoint6().
void vpRobotViper650::setMaxRotationVelocityJoint6 | ( | double | w6_max | ) |
Set the maximal rotation velocity on joint 6 that is used only during velocity joint control.
This function affects only the velocities that are sent as joint velocities.
w6_max | : Maximum rotation velocity expressed in rad/s on joint 6. |
Definition at line 2498 of file vpRobotViper650.cpp.
Referenced by setMaxRotationVelocity().
|
inherited |
Set the maximal translation velocity that can be sent to the robot during a velocity control.
v_max | : Maximum translation velocity expressed in m/s. |
Definition at line 239 of file vpRobot.cpp.
References vpRobot::maxTranslationVelocity.
Referenced by vpSimulatorAfma6::setPosition(), vpRobotCamera::vpRobotCamera(), and vpSimulatorCamera::vpSimulatorCamera().
|
virtual |
Move to an absolute position with a given percent of max velocity. The percent of max velocity is to set with setPositioningVelocity(). The position to reach can be specified in joint coordinates, in the camera frame or in the reference frame.
position | : A six dimension vector corresponding to the position to reach. All the positions are expressed in meters for the translations and radians for the rotations. If the position is out of range, an exception is provided. |
frame | : Frame in which the position is expressed. |
vpRobotException::lowLevelError | : vpRobot::MIXT_FRAME and vpRobot::END_EFFECTOR_FRAME not implemented. |
vpRobotException::positionOutOfRangeError | : The requested position is out of range. |
To catch the exception if the position is out of range, modify the code like:
Implements vpRobot.
Definition at line 1110 of file vpRobotViper650.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpArray2D< Type >::data, vpMath::deg(), vpColVector::deg2rad(), vpRobot::END_EFFECTOR_FRAME, vpViper::get_fMc(), vpViper::getInverseKinematics(), vpRobot::getRobotState(), vpRobotException::lowLevelError, vpRobot::MIXT_FRAME, vpViper::njoint, vpRobotException::positionOutOfRangeError, vpColVector::rad2deg(), vpRobot::REFERENCE_FRAME, setRobotState(), vpRobot::STATE_POSITION_CONTROL, and vpERROR_TRACE.
Referenced by move(), and setPosition().
void vpRobotViper650::setPosition | ( | const vpRobot::vpControlFrameType | frame, |
double | pos1, | ||
double | pos2, | ||
double | pos3, | ||
double | pos4, | ||
double | pos5, | ||
double | pos6 | ||
) |
Move to an absolute position with a given percent of max velocity. The percent of max velocity is to set with setPositioningVelocity(). The position to reach can be specified in joint coordinates, in the camera frame or in the reference frame.
This method owerloads setPosition(const vpRobot::vpControlFrameType, const vpColVector &).
pos1,pos2,pos3,pos4,pos5,pos6 | : The six coordinates of the position to reach. All the positions are expressed in meters for the translations and radians for the rotations. |
frame | : Frame in which the position is expressed. |
vpRobotException::lowLevelError | : vpRobot::MIXT_FRAME and vpRobot::END_EFFECTOR_FRAME not implemented. |
vpRobotException::positionOutOfRangeError | : The requested position is out of range. |
Definition at line 1293 of file vpRobotViper650.cpp.
References setPosition(), and vpERROR_TRACE.
void vpRobotViper650::setPosition | ( | const std::string & | filename | ) |
Move to an absolute joint position with a given percent of max velocity. The robot state is set to position control. The percent of max velocity is to set with setPositioningVelocity(). The position to reach is defined in the position file.
filename | : Name of the position file to read. The readPosFile() documentation shows a typical content of such a position file. |
This method has the same behavior than the sample code given below;
vpRobotException::lowLevelError | : vpRobot::MIXT_FRAME and vpRobot::END_EFFECTOR_FRAME not implemented. |
vpRobotException::positionOutOfRangeError | : The requested position is out of range. |
Definition at line 1350 of file vpRobotViper650.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobotException::lowLevelError, readPosFile(), setPosition(), setRobotState(), vpRobot::STATE_POSITION_CONTROL, and vpERROR_TRACE.
void vpRobotViper650::setPositioningVelocity | ( | double | velocity | ) |
Set the maximal velocity percentage to use for a position control.
The default positioning velocity is defined by vpRobotViper650::m_defaultPositioningVelocity. This method allows to change this default positioning velocity
velocity | : Percentage of the maximal velocity. Values should be in ]0:100]. |
Definition at line 1024 of file vpRobotViper650.cpp.
Referenced by move().
|
protectedinherited |
Definition at line 207 of file vpRobot.cpp.
Referenced by vpSimulatorAfma6::init(), vpSimulatorViper850::init(), vpSimulatorCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpSimulatorAfma6::setVelocity(), and vpSimulatorViper850::setVelocity().
|
virtual |
Change the robot state.
newState | : New requested robot state. |
Reimplemented from vpRobot.
Definition at line 691 of file vpRobotViper650.cpp.
References vpRobot::getRobotState(), powerOn(), vpRobot::setRobotState(), vpTime::sleepMs(), vpRobot::STATE_POSITION_CONTROL, vpRobot::STATE_STOP, and vpRobot::STATE_VELOCITY_CONTROL.
Referenced by move(), setPosition(), stopMotion(), vpRobotViper650(), and ~vpRobotViper650().
|
inlineprotectedinherited |
Set the current tool type.
Definition at line 169 of file vpViper650.h.
Referenced by vpViper650::init().
|
virtual |
Apply a velocity to the robot.
frame | : Control frame in which the velocity is expressed. Velocities could be expressed in articular, camera frame, reference frame or mixt frame. |
vel | : Velocity vector. Translation velocities are expressed in m/s while rotation velocities in rad/s. The size of this vector is always 6. |
vpRobotException::wrongStateError | : If a the robot is not configured to handle a velocity. The robot can handle a velocity only if the velocity control mode is set. For that, call setRobotState( vpRobot::STATE_VELOCITY_CONTROL) before setVelocity(). |
Implements vpRobot.
Definition at line 1641 of file vpRobotViper650.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpArray2D< Type >::data, vpRobot::END_EFFECTOR_FRAME, get_cMe(), vpRobot::getMaxRotationVelocity(), getMaxRotationVelocityJoint6(), vpRobot::getMaxTranslationVelocity(), vpRobot::getRobotState(), vpRobot::MIXT_FRAME, vpViper::njoint, vpColVector::rad2deg(), vpRobot::REFERENCE_FRAME, vpRobot::saturateVelocities(), vpRobot::STATE_VELOCITY_CONTROL, vpERROR_TRACE, and vpRobotException::wrongStateError.
|
inlineinherited |
Definition at line 159 of file vpRobot.h.
Referenced by vpRobotAfma4::vpRobotAfma4(), vpRobotAfma6::vpRobotAfma6(), vpRobotViper650(), and vpRobotViper850::vpRobotViper850().
void vpRobotViper650::stopMotion | ( | void | ) |
Stop the robot and set the robot state to vpRobot::STATE_STOP.
vpRobotException::lowLevelError | : If the low level controller returns an error during robot stopping. |
Definition at line 742 of file vpRobotViper650.cpp.
References vpRobot::getRobotState(), vpRobotException::lowLevelError, setRobotState(), vpRobot::STATE_STOP, vpRobot::STATE_VELOCITY_CONTROL, and vpERROR_TRACE.
|
protectedinherited |
Definition at line 163 of file vpViper.h.
Referenced by vpSimulatorViper850::compute_fMi(), vpViper::get_fJw(), vpViper::get_fMe(), vpViper::get_fMw(), vpViper::getInverseKinematicsWrist(), vpSimulatorViper850::singularityTest(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
protectedinherited |
for joint 2
Definition at line 164 of file vpViper.h.
Referenced by vpSimulatorViper850::compute_fMi(), vpViper::get_fJw(), vpViper::get_fMe(), vpViper::get_fMw(), vpViper::getInverseKinematicsWrist(), vpSimulatorViper850::singularityTest(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
protectedinherited |
for joint 3
Definition at line 165 of file vpViper.h.
Referenced by vpSimulatorViper850::compute_fMi(), vpViper::get_fJw(), vpViper::get_fMe(), vpViper::get_fMw(), vpViper::getInverseKinematicsWrist(), vpSimulatorViper850::singularityTest(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
protectedinherited |
Definition at line 112 of file vpRobot.h.
Referenced by vpRobot::operator=(), vpRobotCamera::vpRobotCamera(), vpSimulatorCamera::vpSimulatorCamera(), vpSimulatorPioneer::vpSimulatorPioneer(), and vpSimulatorPioneerPan::vpSimulatorPioneerPan().
|
protectedinherited |
Mechanical coupling between joint 5 and joint 6.
Definition at line 169 of file vpViper.h.
Referenced by vpViper::getCoupl56(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
staticinherited |
Definition at line 116 of file vpViper650.h.
Referenced by vpViper650::getCameraParameters().
|
staticinherited |
Definition at line 115 of file vpViper650.h.
Referenced by vpViper650::init().
|
staticinherited |
Definition at line 114 of file vpViper650.h.
Referenced by vpViper650::init().
|
staticinherited |
Definition at line 109 of file vpViper650.h.
Referenced by vpViper650::init().
|
staticinherited |
Files where constant tranformation between end-effector and camera frame are stored.
Definition at line 108 of file vpViper650.h.
Referenced by vpViper650::init().
|
staticinherited |
Definition at line 111 of file vpViper650.h.
Referenced by vpViper650::init().
|
staticinherited |
Definition at line 110 of file vpViper650.h.
Referenced by vpViper650::init().
|
staticinherited |
Definition at line 113 of file vpViper650.h.
Referenced by vpViper650::init().
|
staticinherited |
Definition at line 112 of file vpViper650.h.
Referenced by vpViper650::init().
|
staticinherited |
Definition at line 124 of file vpViper650.h.
Referenced by vpViper650::getCameraParameters().
|
staticinherited |
Name of the camera attached to the end-effector.
Definition at line 121 of file vpViper650.h.
Referenced by vpViper650::getCameraParameters().
|
staticinherited |
Definition at line 122 of file vpViper650.h.
Referenced by vpViper650::getCameraParameters().
|
staticinherited |
Definition at line 123 of file vpViper650.h.
Referenced by vpViper650::getCameraParameters().
|
protectedinherited |
for joint 1
Definition at line 163 of file vpViper.h.
Referenced by vpSimulatorViper850::compute_fMi(), vpViper::get_fMe(), vpViper::get_fMw(), vpViper::getInverseKinematicsWrist(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
protectedinherited |
for joint 4
Definition at line 166 of file vpViper.h.
Referenced by vpSimulatorViper850::compute_fMi(), vpViper::get_fJw(), vpViper::get_fMe(), vpViper::get_fMw(), vpViper::getInverseKinematicsWrist(), vpSimulatorViper850::singularityTest(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
protectedinherited |
for joint 6
Definition at line 167 of file vpViper.h.
Referenced by vpSimulatorViper850::compute_fMi(), vpViper::get_fMe(), vpViper::get_wMe(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
protectedinherited |
for force/torque location
Definition at line 168 of file vpViper.h.
Referenced by vpViper::get_eMs(), and vpViper::vpViper().
|
staticinherited |
Default tool attached to the robot end effector.
Definition at line 136 of file vpViper650.h.
Referenced by vpViper650::init(), and init().
|
protectedinherited |
robot Jacobian expressed in the end-effector frame
Definition at line 104 of file vpRobot.h.
Referenced by vpRobotFlirPtu::get_eJe(), vpSimulatorCamera::get_eJe(), vpRobotCamera::get_eJe(), vpRobot::operator=(), vpRobotAfma4::setVelocity(), vpRobotCamera::vpRobotCamera(), and vpSimulatorCamera::vpSimulatorCamera().
|
protectedinherited |
is the robot Jacobian expressed in the end-effector frame available
Definition at line 106 of file vpRobot.h.
Referenced by vpRobot::operator=(), vpRobotCamera::vpRobotCamera(), vpSimulatorCamera::vpSimulatorCamera(), vpSimulatorPioneer::vpSimulatorPioneer(), and vpSimulatorPioneerPan::vpSimulatorPioneerPan().
|
protectedinherited |
End effector to camera transformation.
Definition at line 157 of file vpViper.h.
Referenced by vpSimulatorViper850::computeArticularVelocity(), vpViper::get_cMe(), vpViper::get_eMc(), vpViper::get_fMc(), vpSimulatorViper850::getVelocity(), vpViper650::init(), vpViper850::init(), vpSimulatorViper850::init(), vpViper::set_eMc(), and vpViper::vpViper().
|
protectedinherited |
Definition at line 160 of file vpViper.h.
Referenced by vpViper650::init(), vpViper850::init(), vpSimulatorViper850::init(), init(), vpRobotViper850::init(), vpViper::set_eMc(), set_eMc(), and vpRobotViper850::set_eMc().
|
protectedinherited |
Definition at line 159 of file vpViper.h.
Referenced by vpViper650::init(), vpViper850::init(), vpSimulatorViper850::init(), init(), vpRobotViper850::init(), vpViper::set_eMc(), set_eMc(), and vpRobotViper850::set_eMc().
|
protectedinherited |
robot Jacobian expressed in the robot reference frame available
Definition at line 108 of file vpRobot.h.
Referenced by vpRobotFlirPtu::get_fJe(), and vpRobot::operator=().
|
protectedinherited |
is the robot Jacobian expressed in the robot reference frame available
Definition at line 110 of file vpRobot.h.
Referenced by vpRobot::operator=(), vpRobotCamera::vpRobotCamera(), vpSimulatorCamera::vpSimulatorCamera(), vpSimulatorPioneer::vpSimulatorPioneer(), and vpSimulatorPioneerPan::vpSimulatorPioneerPan().
|
protectedinherited |
Definition at line 172 of file vpViper.h.
Referenced by vpViper::getForwardKinematics(), vpViper::getJointMax(), vpSimulatorViper850::init(), init(), vpRobotViper850::init(), vpSimulatorViper850::isInJointLimit(), vpSimulatorViper850::setJointLimit(), vpSimulatorViper850::updateArticularPosition(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
protectedinherited |
Definition at line 173 of file vpViper.h.
Referenced by vpViper::getForwardKinematics(), vpViper::getJointMin(), vpSimulatorViper850::init(), init(), vpRobotViper850::init(), vpSimulatorViper850::isInJointLimit(), vpSimulatorViper850::setJointLimit(), vpSimulatorViper850::updateArticularPosition(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
static |
Default positioning velocity in percentage of the maximum velocity. This value is set to 15. The member function setPositioningVelocity() allows to change this value.
Definition at line 352 of file vpRobotViper650.h.
Referenced by vpRobotViper650().
|
protectedinherited |
Definition at line 98 of file vpRobot.h.
Referenced by vpRobot::getMaxRotationVelocity(), vpRobotTemplate::init(), vpRobotFlirPtu::init(), vpRobotKinova::init(), vpRobot::operator=(), vpRobot::setMaxRotationVelocity(), vpRobotPtu46::setVelocity(), vpRobotViper650(), and vpRobotViper850::vpRobotViper850().
|
staticprotectedinherited |
Definition at line 99 of file vpRobot.h.
Referenced by vpRobotTemplate::init(), vpRobotFlirPtu::init(), and vpRobotKinova::init().
|
protectedinherited |
Definition at line 96 of file vpRobot.h.
Referenced by vpRobot::getMaxTranslationVelocity(), vpRobotTemplate::init(), vpRobotFlirPtu::init(), vpRobotKinova::init(), vpRobot::operator=(), and vpRobot::setMaxTranslationVelocity().
|
staticprotectedinherited |
Definition at line 97 of file vpRobot.h.
Referenced by vpRobotTemplate::init(), vpRobotFlirPtu::init(), and vpRobotKinova::init().
|
protectedinherited |
number of degrees of freedom
Definition at line 102 of file vpRobot.h.
Referenced by vpRobotKinova::getJointPosition(), vpRobotTemplate::init(), vpRobotFlirPtu::init(), vpRobotKinova::init(), vpRobot::operator=(), vpRobotKinova::setDoF(), vpRobotKinova::setJointVelocity(), vpRobotKinova::setPosition(), vpRobotTemplate::setVelocity(), vpRobotFlirPtu::setVelocity(), vpRobotKinova::setVelocity(), vpRobotCamera::vpRobotCamera(), vpRobotFranka::vpRobotFranka(), vpSimulatorCamera::vpSimulatorCamera(), vpSimulatorPioneer::vpSimulatorPioneer(), and vpSimulatorPioneerPan::vpSimulatorPioneerPan().
|
staticinherited |
Number of joint.
Definition at line 154 of file vpViper.h.
Referenced by get_eJe(), vpRobotViper850::get_eJe(), get_fJe(), vpRobotViper850::get_fJe(), getDisplacement(), vpRobotViper850::getDisplacement(), vpViper::getInverseKinematicsWrist(), getPosition(), vpRobotViper850::getPosition(), vpSimulatorViper850::init(), vpSimulatorViper850::readPosFile(), readPosFile(), vpRobotViper850::readPosFile(), setPosition(), vpRobotViper850::setPosition(), setVelocity(), vpRobotViper850::setVelocity(), and vpViper::vpViper().
|
protectedinherited |
Definition at line 176 of file vpViper650.h.
Referenced by vpViper650::getCameraParameters(), and vpViper650::init().
|
protectedinherited |
Definition at line 114 of file vpRobot.h.
Referenced by vpRobot::operator=(), vpRobotCamera::vpRobotCamera(), vpSimulatorCamera::vpSimulatorCamera(), vpSimulatorPioneer::vpSimulatorPioneer(), vpSimulatorPioneerPan::vpSimulatorPioneerPan(), and vpRobot::~vpRobot().
|
protectedinherited |
Definition at line 113 of file vpRobot.h.
Referenced by vpRobot::operator=(), vpRobotCamera::vpRobotCamera(), vpSimulatorCamera::vpSimulatorCamera(), vpSimulatorPioneer::vpSimulatorPioneer(), vpSimulatorPioneerPan::vpSimulatorPioneerPan(), and vpRobot::~vpRobot().
|
protectedinherited |
Current tool in use.
Definition at line 169 of file vpViper650.h.
|
protectedinherited |
Definition at line 116 of file vpRobot.h.
Referenced by vpRobotAfma4::init(), vpRobotAfma6::init(), init(), vpRobotViper850::init(), vpRobot::operator=(), vpRobotAfma4::vpRobotAfma4(), vpRobotAfma6::vpRobotAfma6(), vpRobotViper650(), and vpRobotViper850::vpRobotViper850().