Visual Servoing Platform
version 3.2.0 under development (2019-01-22)
|
#include <visp3/robot/vpRobotAfma6.h>
Public Types | |
enum | vpAfma6ToolType { TOOL_CCMOP, TOOL_GRIPPER, TOOL_VACUUM, TOOL_GENERIC_CAMERA, TOOL_CUSTOM } |
enum | vpRobotStateType { STATE_STOP, STATE_VELOCITY_CONTROL, STATE_POSITION_CONTROL, STATE_ACCELERATION_CONTROL } |
enum | vpControlFrameType { REFERENCE_FRAME, ARTICULAR_FRAME, JOINT_STATE = ARTICULAR_FRAME, END_EFFECTOR_FRAME, CAMERA_FRAME, TOOL_FRAME = CAMERA_FRAME, MIXT_FRAME } |
Public Member Functions | |
vpRobotAfma6 (bool verbose=true) | |
virtual | ~vpRobotAfma6 (void) |
bool | checkJointLimits (vpColVector &jointsStatus) |
void | closeGripper () |
void | getDisplacement (vpRobot::vpControlFrameType frame, vpColVector &displacement) |
void | getPosition (const vpRobot::vpControlFrameType frame, vpColVector &position) |
void | getPosition (const vpRobot::vpControlFrameType frame, vpColVector &position, double ×tamp) |
void | getPosition (const vpRobot::vpControlFrameType frame, vpPoseVector &position) |
void | getPosition (const vpRobot::vpControlFrameType frame, vpPoseVector &position, double ×tamp) |
double | getPositioningVelocity (void) |
bool | getPowerState () |
double | getTime () const |
void | getVelocity (const vpRobot::vpControlFrameType frame, vpColVector &velocity) |
void | getVelocity (const vpRobot::vpControlFrameType frame, vpColVector &velocity, double ×tamp) |
vpColVector | getVelocity (const vpRobot::vpControlFrameType frame) |
vpColVector | getVelocity (const vpRobot::vpControlFrameType frame, double ×tamp) |
void | get_cMe (vpHomogeneousMatrix &_cMe) const |
void | get_cVe (vpVelocityTwistMatrix &_cVe) const |
void | get_eJe (vpMatrix &_eJe) |
void | get_fJe (vpMatrix &_fJe) |
void | init (void) |
void | init (vpAfma6::vpAfma6ToolType tool, const vpHomogeneousMatrix &eMc) |
void | init (vpAfma6::vpAfma6ToolType tool, const std::string &filename) |
void | init (vpAfma6::vpAfma6ToolType tool, vpCameraParameters::vpCameraParametersProjType projModel=vpCameraParameters::perspectiveProjWithoutDistortion) |
void | move (const std::string &filename) |
void | move (const std::string &filename, const double velocity) |
void | openGripper () |
void | powerOn () |
void | powerOff () |
void | setPosition (const vpRobot::vpControlFrameType frame, const vpPoseVector &pose) |
void | setPosition (const vpRobot::vpControlFrameType frame, const vpColVector &position) |
void | setPosition (const vpRobot::vpControlFrameType frame, const double pos1, const double pos2, const double pos3, const double pos4, const double pos5, const double pos6) |
void | setPosition (const std::string &filename) |
void | setPositioningVelocity (const double velocity) |
void | set_eMc (const vpHomogeneousMatrix &eMc) |
vpRobot::vpRobotStateType | setRobotState (vpRobot::vpRobotStateType newState) |
void | setVelocity (const vpRobot::vpControlFrameType frame, const vpColVector &velocity) |
void | stopMotion () |
Inherited functionalities from vpAfma6 | |
void | init (const std::string &camera_extrinsic_parameters) |
void | init (const std::string &camera_extrinsic_parameters, const std::string &camera_intrinsic_parameters) |
vpHomogeneousMatrix | getForwardKinematics (const vpColVector &q) const |
int | getInverseKinematics (const vpHomogeneousMatrix &fMc, vpColVector &q, const bool &nearest=true, const bool &verbose=false) const |
vpHomogeneousMatrix | get_eMc () const |
vpHomogeneousMatrix | get_fMc (const vpColVector &q) const |
void | get_fMc (const vpColVector &q, vpHomogeneousMatrix &fMc) const |
void | get_fMe (const vpColVector &q, vpHomogeneousMatrix &fMe) const |
void | get_eJe (const vpColVector &q, vpMatrix &eJe) const |
void | get_fJe (const vpColVector &q, vpMatrix &fJe) const |
vpAfma6ToolType | getToolType () const |
vpCameraParameters::vpCameraParametersProjType | getCameraParametersProjType () const |
void | getCameraParameters (vpCameraParameters &cam, const unsigned int &image_width, const unsigned int &image_height) const |
void | getCameraParameters (vpCameraParameters &cam, const vpImage< unsigned char > &I) const |
void | getCameraParameters (vpCameraParameters &cam, const vpImage< vpRGBa > &I) const |
vpColVector | getJointMin () const |
vpColVector | getJointMax () const |
double | getCoupl56 () const |
double | getLong56 () const |
void | parseConfigFile (const std::string &filename) |
Inherited functionalities from vpRobot | |
double | getMaxTranslationVelocity (void) const |
double | getMaxRotationVelocity (void) const |
vpColVector | getPosition (const vpRobot::vpControlFrameType frame) |
virtual vpRobotStateType | getRobotState (void) const |
void | setMaxRotationVelocity (const double maxVr) |
void | setMaxTranslationVelocity (const double maxVt) |
void | setVerbose (bool verbose) |
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) |
Static Public Attributes | |
static const double | defaultPositioningVelocity = 15.0 |
static const std::string | CONST_AFMA6_FILENAME |
static const std::string | CONST_EMC_CCMOP_WITHOUT_DISTORTION_FILENAME |
static const std::string | CONST_EMC_CCMOP_WITH_DISTORTION_FILENAME |
static const std::string | CONST_EMC_GRIPPER_WITHOUT_DISTORTION_FILENAME |
static const std::string | CONST_EMC_GRIPPER_WITH_DISTORTION_FILENAME |
static const std::string | CONST_EMC_VACUUM_WITHOUT_DISTORTION_FILENAME |
static const std::string | CONST_EMC_VACUUM_WITH_DISTORTION_FILENAME |
static const std::string | CONST_EMC_GENERIC_WITHOUT_DISTORTION_FILENAME |
static const std::string | CONST_EMC_GENERIC_WITH_DISTORTION_FILENAME |
static const std::string | CONST_CAMERA_AFMA6_FILENAME |
static const char *const | CONST_CCMOP_CAMERA_NAME = "Dragonfly2-8mm-ccmop" |
static const char *const | CONST_GRIPPER_CAMERA_NAME = "Dragonfly2-6mm-gripper" |
static const char *const | CONST_VACUUM_CAMERA_NAME = "Dragonfly2-6mm-vacuum" |
static const char *const | CONST_GENERIC_CAMERA_NAME = "Generic-camera" |
static const vpAfma6ToolType | defaultTool = TOOL_CCMOP |
static const unsigned int | njoint = 6 |
Protected Member Functions | |
Protected Member Functions Inherited from vpAfma6 | |
void | setToolType (vpAfma6::vpAfma6ToolType tool) |
Protected Member Functions Inherited from vpRobot | |
vpControlFrameType | setRobotFrame (vpRobot::vpControlFrameType newFrame) |
vpControlFrameType | getRobotFrame (void) const |
Protected Attributes | |
double | _coupl_56 |
double | _long_56 |
double | _joint_max [6] |
double | _joint_min [6] |
vpTranslationVector | _etc |
vpRxyzVector | _erc |
vpHomogeneousMatrix | _eMc |
vpAfma6ToolType | tool_current |
vpCameraParameters::vpCameraParametersProjType | projModel |
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 gantry robot named Afma6.
Implementation of the vpRobot class in order to control Irisa's Afma6 robot. This robot is a gantry robot with six degrees of freedom manufactured in 1992 by the french Afma-Robots company. In 2008, the low level controller change for a more recent Adept technology based on the MotionBlox controller. 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. A ring light is attached around the camera. The control of this ring light is possible throw the vpRingLight class. A CCMOP gripper is also mounted on the end-effector. The pneumatic control of this gripper is possible throw the openGripper() or closeGripper() member functions.
This class allows to control the Afma6 gantry 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 vpAfma6 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 eMc extrinsic camera parameters obtained with a projection model without distortion. To set the robot kinematics with the eMc matrix obtained with a camera perspective model including distortion you need to initialize the robot with:
You can get the intrinsic camera parameters of the image I acquired with the camera, 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 vpRobotAfma6::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:
There 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 writePosFile() methods.
Definition at line 212 of file vpRobotAfma6.h.
|
inherited |
|
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. |
|
inherited |
|
explicit |
The only available constructor.
This contructor calls init() to 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.
It also set the robot state to vpRobot::STATE_STOP.
To set the extrinsic camera parameters related to the eMc matrix obtained with a camera perspective projection model including the distorsion, use the code below:
Now, you can get the intrinsic camera parameters of the image I acquired with the camera, with:
Definition at line 159 of file vpRobotAfma6.cpp.
References defaultPositioningVelocity, init(), setRobotState(), vpRobot::setVerbose(), vpRobot::STATE_STOP, and vpRobot::verbose_.
|
virtual |
Destructor.
Free allocated resources.
Definition at line 560 of file vpRobotAfma6.cpp.
References setRobotState(), and vpRobot::STATE_STOP.
bool vpRobotAfma6::checkJointLimits | ( | vpColVector & | jointsStatus | ) |
Test the joints of the robot to detect if one or more is at its limit.
jointsStatus | : A vector (size 6) of the status of the joints. For each joint, the value is equal to 1 if the joint is at its maximal limit, -1 if the joint is at its minimal value and 0 otherwise. |
Definition at line 2276 of file vpRobotAfma6.cpp.
References vpRobotException::lowLevelError, vpAfma6::njoint, vpColVector::resize(), and vpERROR_TRACE.
void vpRobotAfma6::closeGripper | ( | ) |
Close the pneumatic CCMOP gripper.
Definition at line 2158 of file vpRobotAfma6.cpp.
References vpRobotException::lowLevelError, and vpERROR_TRACE.
void vpRobotAfma6::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 813 of file vpRobotAfma6.cpp.
References vpAfma6::get_cMe().
Referenced by setVelocity().
void vpRobotAfma6::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 795 of file vpRobotAfma6.cpp.
References vpVelocityTwistMatrix::buildFrom(), and vpAfma6::get_cMe().
|
inherited |
Get the robot jacobian expressed in the end-effector frame.
q | : Articular joint position of the robot. q[0], q[1], q[2] correspond to the first 3 translations expressed in meter, while q[3], q[4] and q[5] correspond to the 3 succesives rotations expressed in radians. |
eJe | : Robot jacobian expressed in the end-effector frame. |
Definition at line 864 of file vpAfma6.cpp.
References vpAfma6::_coupl_56, vpAfma6::_long_56, and vpArray2D< Type >::resize().
Referenced by vpSimulatorAfma6::computeArticularVelocity(), vpSimulatorAfma6::get_eJe(), get_eJe(), vpSimulatorAfma6::getPositioningVelocity(), and vpSimulatorAfma6::getVelocity().
|
virtual |
Get the robot jacobian expressed in the end-effector frame.
To compute eJe, we communicate with the low level controller to get the articular joint position of the robot.
eJe | : Robot jacobian expressed in the end-effector frame. |
Implements vpRobot.
Definition at line 825 of file vpRobotAfma6.cpp.
References vpAfma6::get_eJe(), vpAfma6::njoint, and vpERROR_TRACE.
|
inherited |
Get the geometric transformation between the end-effector frame and the camera or tool frame. This transformation is constant and correspond to the extrinsic camera parameters estimated by calibration.
Definition at line 831 of file vpAfma6.cpp.
References vpAfma6::_eMc.
|
inherited |
Get the robot jacobian expressed in the robot reference frame also called fix frame.
where is the coupling factor between join 5 and 6.
q | : Articular joint position of the robot. q[0], q[1], q[2] correspond to the first 3 translations expressed in meter, while q[3], q[4] and q[5] correspond to the 3 succesives rotations expressed in radians. |
fJe | : Robot jacobian expressed in the robot reference frame. |
Definition at line 934 of file vpAfma6.cpp.
References vpAfma6::_coupl_56, vpAfma6::_long_56, and vpArray2D< Type >::resize().
Referenced by vpSimulatorAfma6::computeArticularVelocity(), vpSimulatorAfma6::get_fJe(), get_fJe(), vpSimulatorAfma6::getPositioningVelocity(), and vpSimulatorAfma6::getVelocity().
|
virtual |
Get the robot jacobian expressed in the robot reference frame also called fix frame.
To compute fJe, we communicate with the low level controller to get the articular joint position of the robot.
fJe | : Robot jacobian expressed in the reference frame. |
Implements vpRobot.
Definition at line 869 of file vpRobotAfma6.cpp.
References vpAfma6::get_fJe(), vpAfma6::njoint, 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 articular positions of all the six joints.
This method is the same than getForwardKinematics(const vpColVector & q).
q | : Articular position of the six joints: q[0], q[1], q[2] correspond to the first 3 translations expressed in meter, while q[3], q[4] and q[5] correspond to the 3 succesives rotations expressed in radians. |
Definition at line 707 of file vpAfma6.cpp.
Referenced by vpSimulatorAfma6::compute_fMi(), getDisplacement(), vpAfma6::getForwardKinematics(), vpSimulatorAfma6::getPosition(), getPosition(), getVelocity(), vpSimulatorAfma6::setPosition(), and 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 articular positions of all the six joints.
q | : Articular joint position of the robot. q[0], q[1], q[2] correspond to the first 3 translations expressed in meter, while q[3], q[4] and q[5] correspond to the 3 succesives rotations 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 (fMc). |
Definition at line 734 of file vpAfma6.cpp.
References vpAfma6::_eMc, and vpAfma6::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 articular positions of all the six joints.
q | : Articular joint position of the robot. q[0], q[1], q[2] correspond to the first 3 translations expressed in meter, while q[3], q[4] and q[5] correspond to the 3 succesives rotations 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 (fMe). |
Definition at line 767 of file vpAfma6.cpp.
References vpAfma6::_coupl_56, and vpAfma6::_long_56.
Referenced by vpAfma6::get_fMc().
|
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 1190 of file vpAfma6.cpp.
References vpAfma6::CONST_CAMERA_AFMA6_FILENAME, vpAfma6::CONST_CCMOP_CAMERA_NAME, vpAfma6::CONST_GENERIC_CAMERA_NAME, vpAfma6::CONST_GRIPPER_CAMERA_NAME, vpAfma6::CONST_VACUUM_CAMERA_NAME, vpAfma6::getToolType(), vpCameraParameters::initPersProjWithDistortion(), vpCameraParameters::initPersProjWithoutDistortion(), vpXmlParserCamera::parse(), vpCameraParameters::perspectiveProjWithDistortion, vpCameraParameters::perspectiveProjWithoutDistortion, vpAfma6::projModel, vpRobotException::readingParametersError, vpXmlParserCamera::SEQUENCE_OK, vpAfma6::TOOL_CCMOP, vpAfma6::TOOL_GENERIC_CAMERA, vpAfma6::TOOL_GRIPPER, vpAfma6::TOOL_VACUUM, vpERROR_TRACE, and vpTRACE.
Referenced by vpAfma6::getCameraParameters().
|
inherited |
Get the current intrinsic camera parameters obtained by calibration.
Camera parameters are read from /udd/fspindle/robot/Afma6/current/include/const_camera_Afma6.xml
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 1378 of file vpAfma6.cpp.
References vpAfma6::getCameraParameters(), vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().
|
inherited |
Get the current intrinsic camera parameters obtained by calibration.
Camera parameters are read from /udd/fspindle/robot/Afma6/current/include/const_camera_Afma6.xml
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 1426 of file vpAfma6.cpp.
References vpAfma6::getCameraParameters(), vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().
|
inlineinherited |
|
inherited |
Return the coupling factor between join 5 and 6.
Definition at line 1005 of file vpAfma6.cpp.
References vpAfma6::_coupl_56.
|
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 2188 of file vpRobotAfma6.cpp.
References vpRobot::ARTICULAR_FRAME, vpRxyzVector::buildFrom(), vpRobot::CAMERA_FRAME, vpRobot::END_EFFECTOR_FRAME, vpHomogeneousMatrix::extract(), vpAfma6::get_fMc(), vpHomogeneousMatrix::inverse(), vpRobotException::lowLevelError, vpRobot::MIXT_FRAME, vpAfma6::njoint, vpRobot::REFERENCE_FRAME, vpColVector::resize(), 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 articular positions of all the six joints.
This method is the same than get_fMc(const vpColVector & q).
q | : Articular position of the six joints: q[0], q[1], q[2] correspond to the first 3 translations expressed in meter, while q[3], q[4] and q[5] correspond to the 3 succesives rotations expressed in radians. |
Definition at line 451 of file vpAfma6.cpp.
References vpAfma6::get_fMc().
|
inherited |
Compute the inverse kinematics (inverse geometric model).
By inverse kinematics we mean here the six articular values of the joint positions 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, the current articular joint position of the robot. In output, the solution of the inverse kinematics. Articular position of the six joints: q[0], q[1], q[2] correspond to the first 3 translations expressed in meter, while q[3], q[4] and q[5] correspond to the 3 succesives rotations expressed in radians. |
nearest | : true to return the nearest solution to q. false to return the farest. |
verbose | : Activates printings when no solution is found. |
The code below shows how to compute the inverse geometric model:
Definition at line 532 of file vpAfma6.cpp.
References vpAfma6::_coupl_56, vpAfma6::_eMc, vpAfma6::_joint_max, vpAfma6::_joint_min, vpAfma6::_long_56, vpMath::deg(), vpArray2D< Type >::getRows(), vpHomogeneousMatrix::inverse(), vpAfma6::njoint, vpMath::rad(), vpColVector::resize(), and vpTRACE.
Referenced by vpSimulatorAfma6::initialiseCameraRelativeToObject(), vpSimulatorAfma6::setPosition(), and setPosition().
|
inherited |
Get max joint values.
Definition at line 991 of file vpAfma6.cpp.
References vpAfma6::_joint_max.
|
inherited |
Get min joint values.
Definition at line 975 of file vpAfma6.cpp.
References vpAfma6::_joint_min.
|
inherited |
Return the distance between join 5 and 6.
Definition at line 1013 of file vpAfma6.cpp.
References vpAfma6::_long_56.
|
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(), vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpRobotPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpSimulatorAfma6::setVelocity(), vpRobotAfma4::setVelocity(), vpSimulatorViper850::setVelocity(), setVelocity(), vpRobotFranka::setVelocity(), vpRobotViper650::setVelocity(), and vpRobotViper850::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(), vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpRobotPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpSimulatorAfma6::setVelocity(), vpRobotAfma4::setVelocity(), vpSimulatorViper850::setVelocity(), setVelocity(), vpRobotFranka::setVelocity(), vpRobotViper650::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 1507 of file vpRobotAfma6.cpp.
Referenced by getPosition().
void vpRobotAfma6::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 1423 of file vpRobotAfma6.cpp.
References vpRobot::ARTICULAR_FRAME, vpRxyzVector::buildFrom(), vpRobot::CAMERA_FRAME, vpRobot::END_EFFECTOR_FRAME, vpHomogeneousMatrix::extract(), vpAfma6::get_fMc(), vpRobotException::lowLevelError, vpRobot::MIXT_FRAME, vpAfma6::njoint, vpRobot::REFERENCE_FRAME, vpColVector::resize(), and vpERROR_TRACE.
void vpRobotAfma6::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 used.
Definition at line 1550 of file vpRobotAfma6.cpp.
References getPosition().
void vpRobotAfma6::getPosition | ( | const vpRobot::vpControlFrameType | frame, |
vpPoseVector & | position, | ||
double & | timestamp | ||
) |
Get the current position of the robot. Similar as : void getPosition (const vpRobot::vpControlFrameType frame, vpColVector &position) as the difference the position is returned using a ThetaU representation.
Definition at line 1522 of file vpRobotAfma6.cpp.
References getPosition().
double vpRobotAfma6::getPositioningVelocity | ( | void | ) |
Get the maximal velocity percentage used for a position control.
Definition at line 926 of file vpRobotAfma6.cpp.
bool vpRobotAfma6::getPowerState | ( | void | ) |
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 765 of file vpRobotAfma6.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(), vpSimulatorCamera::setPosition(), vpRobotCamera::setPosition(), vpRobotBiclops::setPosition(), vpSimulatorAfma6::setPosition(), vpRobotAfma4::setPosition(), vpSimulatorViper850::setPosition(), setPosition(), vpRobotFranka::setPosition(), vpRobotViper650::setPosition(), vpRobotViper850::setPosition(), vpRobotPtu46::setRobotState(), vpRobotBiclops::setRobotState(), vpSimulatorAfma6::setRobotState(), vpRobotAfma4::setRobotState(), vpSimulatorViper850::setRobotState(), setRobotState(), vpRobotFranka::setRobotState(), vpRobotViper650::setRobotState(), vpRobotViper850::setRobotState(), vpRobotPtu46::setVelocity(), vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpRobotBiclops::setVelocity(), vpSimulatorAfma6::setVelocity(), vpSimulatorViper850::setVelocity(), vpRobotAfma4::setVelocity(), setVelocity(), vpRobotFranka::setVelocity(), vpRobotViper650::setVelocity(), vpRobotViper850::setVelocity(), vpSimulatorAfma6::stopMotion(), vpSimulatorViper850::stopMotion(), vpRobotFranka::stopMotion(), vpRobotViper650::stopMotion(), and vpRobotViper850::stopMotion().
double vpRobotAfma6::getTime | ( | ) | const |
Returns the robot controller current time (in second) since last robot power on.
Definition at line 1490 of file vpRobotAfma6.cpp.
|
inlineinherited |
Get the current tool type.
Definition at line 160 of file vpAfma6.h.
Referenced by vpAfma6::getCameraParameters(), vpSimulatorAfma6::getCameraParameters(), and vpSimulatorAfma6::initArms().
void vpRobotAfma6::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 1861 of file vpRobotAfma6.cpp.
Referenced by getVelocity().
void vpRobotAfma6::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 1751 of file vpRobotAfma6.cpp.
References vpRobot::ARTICULAR_FRAME, vpThetaUVector::buildFrom(), vpRobot::CAMERA_FRAME, vpHomogeneousMatrix::extract(), vpException::functionNotImplementedError, vpAfma6::get_fMc(), vpExponentialMap::inverse(), vpHomogeneousMatrix::inverse(), vpRobotException::lowLevelError, vpRobot::MIXT_FRAME, vpAfma6::njoint, vpRobot::REFERENCE_FRAME, vpColVector::resize(), and vpERROR_TRACE.
vpColVector vpRobotAfma6::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 1924 of file vpRobotAfma6.cpp.
References getVelocity().
vpColVector vpRobotAfma6::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 1908 of file vpRobotAfma6.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 223 of file vpAfma6.cpp.
References vpAfma6::parseConfigFile().
|
inherited |
Read files containing the constant parameters related to the robot kinematics and to the end-effector to camera transformation.
camera_extrinsic_parameters | : Filename containing the constant parameters of the robot kinematics transformation. |
camera_intrinsic_parameters | : Filename containing the camera extrinsic parameters. |
Definition at line 171 of file vpAfma6.cpp.
References vpAfma6::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 227 of file vpRobotAfma6.cpp.
References vpAfma6::_joint_max, vpAfma6::_joint_min, vpRobotException::constructionError, vpAfma6::defaultTool, vpColVector::resize(), and vpRobot::verbose_.
Referenced by vpRobotAfma6().
void vpRobotAfma6::init | ( | vpAfma6::vpAfma6ToolType | 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 444 of file vpRobotAfma6.cpp.
References vpAfma6::_coupl_56, vpAfma6::_erc, vpAfma6::_etc, vpAfma6::_joint_max, vpAfma6::_joint_min, vpAfma6::_long_56, vpAfma6::init(), and vpAfma6::setToolType().
void vpRobotAfma6::init | ( | vpAfma6::vpAfma6ToolType | 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 522 of file vpRobotAfma6.cpp.
References vpAfma6::_coupl_56, vpAfma6::_erc, vpAfma6::_etc, vpAfma6::_joint_max, vpAfma6::_joint_min, vpAfma6::_long_56, vpAfma6::init(), and vpAfma6::setToolType().
void vpRobotAfma6::init | ( | vpAfma6::vpAfma6ToolType | 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 eMc matrix obtained with a camera perspective projection model including the distorsion, use the code below:
Now, you can get the intrinsic camera parameters of the image I acquired with the camera, with:
Definition at line 347 of file vpRobotAfma6.cpp.
References vpAfma6::_coupl_56, vpAfma6::_erc, vpAfma6::_etc, vpAfma6::_joint_max, vpAfma6::_joint_min, vpAfma6::_long_56, vpAfma6::init(), and vpAfma6::setToolType().
void vpRobotAfma6::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 to reach. |
Definition at line 2101 of file vpRobotAfma6.cpp.
References vpRobot::ARTICULAR_FRAME, readPosFile(), setPosition(), setPositioningVelocity(), setRobotState(), and vpRobot::STATE_POSITION_CONTROL.
void vpRobotAfma6::move | ( | const std::string & | filename, |
const double | velocity | ||
) |
Moves the robot to the joint position specified in the filename with a specified positioning velocity.
filename | : File containing a joint position to reach. |
velocity | : Percentage of the maximal velocity. Values should be in ]0:100]. |
Definition at line 2123 of file vpRobotAfma6.cpp.
References vpRobot::ARTICULAR_FRAME, readPosFile(), setPosition(), setPositioningVelocity(), setRobotState(), and vpRobot::STATE_POSITION_CONTROL.
void vpRobotAfma6::openGripper | ( | ) |
Open the pneumatic CCMOP gripper.
Definition at line 2139 of file vpRobotAfma6.cpp.
References vpRobotException::lowLevelError, and vpERROR_TRACE.
|
inherited |
This function gets the robot constant parameters from a file.
filename | : File name containing the robot constant parameters, like max/min joint values, distance between 5 and 6 axis, coupling factor between axis 5 and 6, and the hand-to-eye homogeneous matrix. |
Definition at line 1025 of file vpAfma6.cpp.
References vpAfma6::_coupl_56, vpAfma6::_eMc, vpAfma6::_erc, vpAfma6::_etc, vpAfma6::_joint_max, vpAfma6::_joint_min, vpAfma6::_long_56, vpHomogeneousMatrix::buildFrom(), and vpRobotException::readingParametersError.
Referenced by vpAfma6::init().
void vpRobotAfma6::powerOff | ( | void | ) |
Power off the robot.
vpRobotException::lowLevelError | : If the low level controller returns an error during robot stopping. |
Definition at line 731 of file vpRobotAfma6.cpp.
References vpRobotException::lowLevelError, and vpERROR_TRACE.
void vpRobotAfma6::powerOn | ( | void | ) |
Power on the robot.
vpRobotException::lowLevelError | : If the low level controller returns an error during robot power on. |
Definition at line 664 of file vpRobotAfma6.cpp.
References vpRobotException::lowLevelError, and vpERROR_TRACE.
Referenced by setRobotState().
|
static |
Read joint positions in a specific Afma6 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 | : Joint positions: X,Y,Z,A,B,C. Translations X,Y,Z are expressed in meters, while joint rotations A,B,C in radians. |
The code below shows how to read a position from a file and move the robot to this position.
Definition at line 1982 of file vpRobotAfma6.cpp.
References vpAfma6::njoint, vpMath::rad(), 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 vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpRobotPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpRobotAfma4::setVelocity(), setVelocity(), vpRobotFranka::setVelocity(), vpRobotViper650::setVelocity(), and vpRobotViper850::setVelocity().
|
static |
Save joint (articular) positions in a specific Afma6 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 | : Joint positions [X,Y,Z,A,B,C] to save in the filename. Translations X,Y,Z are expressed in meters, while rotations A,B,C in radians. |
Definition at line 2066 of file vpRobotAfma6.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 vpAfma6.
Definition at line 391 of file vpRobotAfma6.cpp.
References vpAfma6::_erc, vpAfma6::_etc, and vpAfma6::set_eMc().
|
inherited |
Set the maximal rotation velocity that can be sent to the robot during a velocity control.
w_max | : Maximum rotational velocity expressed in rad/s. |
Definition at line 260 of file vpRobot.cpp.
References vpRobot::maxRotationVelocity.
Referenced by vpRobotViper650::getControlMode(), vpRobotViper850::getControlMode(), vpRobotViper650::setMaxRotationVelocity(), vpRobotViper850::setMaxRotationVelocity(), vpSimulatorAfma6::setPosition(), vpRobotCamera::vpRobotCamera(), and vpSimulatorCamera::vpSimulatorCamera().
|
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().
void vpRobotAfma6::setPosition | ( | const vpRobot::vpControlFrameType | frame, |
const vpPoseVector & | pose | ||
) |
Move the robot to an absolute cartesian position with a given percent of max velocity. The percent of max velocity is to set with setPositioningVelocity(). The position to reach can only be specified in camera frame or in the reference frame. In joint, an exception is thrown.
pose | : A six dimension pose vector corresponding to the position to reach. The three first parameters are the translations in meter, the three last parameters are the rotations expressed as a theta u vector in radians. If the position is out of range, an exception is provided. |
frame | : Frame in which the position is expressed. |
vpRobotException::lowLevelError | : vpRobot::MIXT_FRAME, vpRobot::END_EFFECTOR_FRAME and vpRobot::ARTICULAR_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:
Definition at line 1003 of file vpRobotAfma6.cpp.
References vpRobot::ARTICULAR_FRAME, vpRotationMatrix::buildFrom(), vpRxyzVector::buildFrom(), and vpRobotException::lowLevelError.
Referenced by move(), and setPosition().
|
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 1106 of file vpRobotAfma6.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpRobot::END_EFFECTOR_FRAME, vpAfma6::get_fMc(), vpAfma6::getInverseKinematics(), vpRobot::getRobotState(), vpRobotException::lowLevelError, vpRobot::MIXT_FRAME, vpAfma6::njoint, vpRobotException::positionOutOfRangeError, vpRobot::REFERENCE_FRAME, setRobotState(), vpRobot::STATE_POSITION_CONTROL, and vpERROR_TRACE.
void vpRobotAfma6::setPosition | ( | const vpRobot::vpControlFrameType | frame, |
const double | pos1, | ||
const double | pos2, | ||
const double | pos3, | ||
const double | pos4, | ||
const double | pos5, | ||
const 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 1294 of file vpRobotAfma6.cpp.
References setPosition(), and vpERROR_TRACE.
void vpRobotAfma6::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 1354 of file vpRobotAfma6.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobotException::lowLevelError, readPosFile(), setPosition(), setRobotState(), vpRobot::STATE_POSITION_CONTROL, and vpERROR_TRACE.
void vpRobotAfma6::setPositioningVelocity | ( | const double | velocity | ) |
Set the maximal velocity percentage to use for a position control.
The default positioning velocity is defined by vpRobotAfma6::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 919 of file vpRobotAfma6.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 593 of file vpRobotAfma6.cpp.
References vpRobot::getRobotState(), powerOn(), vpRobot::setRobotState(), vpRobot::STATE_POSITION_CONTROL, vpRobot::STATE_STOP, and vpRobot::STATE_VELOCITY_CONTROL.
Referenced by move(), setPosition(), stopMotion(), vpRobotAfma6(), and ~vpRobotAfma6().
|
inlineprotectedinherited |
Set the current tool type.
Definition at line 185 of file vpAfma6.h.
Referenced by vpAfma6::init(), vpSimulatorAfma6::init(), and 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 1619 of file vpRobotAfma6.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpArray2D< Type >::data, vpRobot::END_EFFECTOR_FRAME, get_cMe(), vpRobot::getMaxRotationVelocity(), vpRobot::getMaxTranslationVelocity(), vpRobot::getRobotState(), vpRobot::MIXT_FRAME, vpAfma6::njoint, 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(), vpRobotViper650::vpRobotViper650(), and vpRobotViper850::vpRobotViper850().
void vpRobotAfma6::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 642 of file vpRobotAfma6.cpp.
References vpRobotException::lowLevelError, setRobotState(), vpRobot::STATE_STOP, and vpERROR_TRACE.
|
protectedinherited |
Definition at line 192 of file vpAfma6.h.
Referenced by vpAfma6::get_eJe(), vpAfma6::get_fJe(), vpAfma6::get_fMe(), vpAfma6::getCoupl56(), vpAfma6::getInverseKinematics(), init(), vpAfma6::parseConfigFile(), and vpAfma6::vpAfma6().
|
protectedinherited |
Definition at line 200 of file vpAfma6.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), vpAfma6::get_cMe(), vpAfma6::get_eMc(), vpAfma6::get_fMc(), vpAfma6::getInverseKinematics(), vpSimulatorAfma6::getVelocity(), vpAfma6::init(), vpSimulatorAfma6::init(), vpAfma6::parseConfigFile(), vpAfma6::set_eMc(), and vpAfma6::vpAfma6().
|
protectedinherited |
Definition at line 198 of file vpAfma6.h.
Referenced by vpAfma6::init(), vpSimulatorAfma6::init(), init(), vpAfma6::parseConfigFile(), vpAfma6::set_eMc(), and set_eMc().
|
protectedinherited |
Definition at line 197 of file vpAfma6.h.
Referenced by vpAfma6::init(), vpSimulatorAfma6::init(), init(), vpAfma6::parseConfigFile(), vpAfma6::set_eMc(), and set_eMc().
|
protectedinherited |
Definition at line 194 of file vpAfma6.h.
Referenced by vpAfma6::getInverseKinematics(), vpAfma6::getJointMax(), vpSimulatorAfma6::init(), init(), vpSimulatorAfma6::isInJointLimit(), vpAfma6::parseConfigFile(), vpSimulatorAfma6::setJointLimit(), vpSimulatorAfma6::updateArticularPosition(), and vpAfma6::vpAfma6().
|
protectedinherited |
Definition at line 195 of file vpAfma6.h.
Referenced by vpAfma6::getInverseKinematics(), vpAfma6::getJointMin(), vpSimulatorAfma6::init(), init(), vpSimulatorAfma6::isInJointLimit(), vpAfma6::parseConfigFile(), vpSimulatorAfma6::setJointLimit(), vpSimulatorAfma6::updateArticularPosition(), and vpAfma6::vpAfma6().
|
protectedinherited |
Definition at line 193 of file vpAfma6.h.
Referenced by vpSimulatorAfma6::compute_fMi(), vpAfma6::get_eJe(), vpAfma6::get_fJe(), vpAfma6::get_fMe(), vpAfma6::getInverseKinematics(), vpAfma6::getLong56(), init(), vpAfma6::parseConfigFile(), and vpAfma6::vpAfma6().
|
protectedinherited |
Definition at line 112 of file vpRobot.h.
Referenced by vpRobot::operator=(), vpRobotCamera::vpRobotCamera(), vpSimulatorCamera::vpSimulatorCamera(), vpSimulatorPioneer::vpSimulatorPioneer(), and vpSimulatorPioneerPan::vpSimulatorPioneerPan().
|
staticinherited |
File where constant parameters in relation with the robot are stored: joint max, min, coupling factor between 4 ant 5 joint, distance between 5 and 6 joint, tranformation eMc between end-effector and camera frame.
Definition at line 85 of file vpAfma6.h.
Referenced by vpAfma6::init().
|
staticinherited |
Definition at line 94 of file vpAfma6.h.
Referenced by vpAfma6::getCameraParameters().
|
staticinherited |
Name of the camera attached to the CCMOP tool (vpAfma6ToolType::TOOL_CCMOP).
Definition at line 100 of file vpAfma6.h.
Referenced by vpAfma6::getCameraParameters(), and vpSimulatorAfma6::getCameraParameters().
|
staticinherited |
Definition at line 87 of file vpAfma6.h.
Referenced by vpAfma6::init().
|
staticinherited |
Definition at line 86 of file vpAfma6.h.
Referenced by vpAfma6::init().
|
staticinherited |
Definition at line 93 of file vpAfma6.h.
Referenced by vpAfma6::init().
|
staticinherited |
Definition at line 92 of file vpAfma6.h.
Referenced by vpAfma6::init().
|
staticinherited |
Definition at line 89 of file vpAfma6.h.
Referenced by vpAfma6::init().
|
staticinherited |
Definition at line 88 of file vpAfma6.h.
Referenced by vpAfma6::init().
|
staticinherited |
Definition at line 91 of file vpAfma6.h.
Referenced by vpAfma6::init().
|
staticinherited |
Definition at line 90 of file vpAfma6.h.
Referenced by vpAfma6::init().
|
staticinherited |
Name of the generic camera attached to the robot hand (vpAfma6ToolType::TOOL_GENERIC_CAMERA).
Definition at line 115 of file vpAfma6.h.
Referenced by vpAfma6::getCameraParameters().
|
staticinherited |
Name of the camera attached to the 2 fingers gripper tool (vpAfma6ToolType::TOOL_GRIPPER).
Definition at line 105 of file vpAfma6.h.
Referenced by vpAfma6::getCameraParameters(), and vpSimulatorAfma6::getCameraParameters().
|
staticinherited |
Name of the camera attached to the vacuum gripper tool (vpAfma6ToolType::TOOL_VACUUM).
Definition at line 110 of file vpAfma6.h.
Referenced by vpAfma6::getCameraParameters().
|
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 253 of file vpRobotAfma6.h.
Referenced by vpRobotAfma6().
|
staticinherited |
Default tool attached to the robot end effector.
Definition at line 127 of file vpAfma6.h.
Referenced by vpAfma6::init(), and init().
|
protectedinherited |
robot Jacobian expressed in the end-effector frame
Definition at line 104 of file vpRobot.h.
Referenced by 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 |
robot Jacobian expressed in the robot reference frame available
Definition at line 108 of file vpRobot.h.
Referenced by 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 98 of file vpRobot.h.
Referenced by vpRobot::getMaxRotationVelocity(), vpRobot::operator=(), vpRobot::setMaxRotationVelocity(), vpRobotPtu46::setVelocity(), vpRobotViper650::vpRobotViper650(), and vpRobotViper850::vpRobotViper850().
|
staticprotectedinherited |
|
protectedinherited |
Definition at line 96 of file vpRobot.h.
Referenced by vpRobot::getMaxTranslationVelocity(), vpRobot::operator=(), and vpRobot::setMaxTranslationVelocity().
|
staticprotectedinherited |
|
protectedinherited |
number of degrees of freedom
Definition at line 102 of file vpRobot.h.
Referenced by vpRobot::operator=(), vpRobotCamera::vpRobotCamera(), vpRobotFranka::vpRobotFranka(), vpSimulatorCamera::vpSimulatorCamera(), vpSimulatorPioneer::vpSimulatorPioneer(), and vpSimulatorPioneerPan::vpSimulatorPioneerPan().
|
staticinherited |
Number of joint.
Definition at line 185 of file vpAfma6.h.
Referenced by checkJointLimits(), get_eJe(), get_fJe(), getDisplacement(), vpAfma6::getInverseKinematics(), getPosition(), getVelocity(), vpSimulatorAfma6::init(), vpSimulatorAfma6::readPosFile(), readPosFile(), setPosition(), and setVelocity().
|
protectedinherited |
Definition at line 206 of file vpAfma6.h.
Referenced by vpAfma6::getCameraParameters(), vpAfma6::init(), and vpSimulatorAfma6::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 |
|
protectedinherited |
Definition at line 116 of file vpRobot.h.
Referenced by vpRobotAfma4::init(), init(), vpRobotViper650::init(), vpRobotViper850::init(), vpRobot::operator=(), vpRobotAfma4::vpRobotAfma4(), vpRobotAfma6(), vpRobotViper650::vpRobotViper650(), and vpRobotViper850::vpRobotViper850().