Visual Servoing Platform
version 3.5.0 under development (2022-02-15)
|
#include <visp3/robot/vpSimulatorViper850.h>
Public Types | |
enum | vpDisplayRobotType { MODEL_3D, MODEL_DH } |
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 } |
enum | vpToolType { TOOL_MARLIN_F033C_CAMERA, TOOL_PTGREY_FLEA2_CAMERA, TOOL_SCHUNK_GRIPPER_CAMERA, TOOL_GENERIC_CAMERA, TOOL_CUSTOM } |
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) |
Public Attributes | |
vpImage< vpRGBa > | I |
Protected Types | |
enum | vpSceneObject { THREE_PTS, CUBE, PLATE, SMALL_PLATE, RECTANGLE, SQUARE_10CM, DIAMOND, TRAPEZOID, THREE_LINES, ROAD, TIRE, PIPE, CIRCLE, SPHERE, CYLINDER, PLAN, POINT_CLOUD } |
enum | vpSceneDesiredObject { D_STANDARD, D_CIRCLE, D_TOOL } |
enum | vpCameraTrajectoryDisplayType { CT_LINE, CT_POINT } |
Static Protected Attributes | |
static const double | maxTranslationVelocityDefault = 0.2 |
static const double | maxRotationVelocityDefault = 0.7 |
Protected Member Functions Inherited from vpRobotWireFrameSimulator | |
vpColVector | get_artCoord () |
void | set_artCoord (const vpColVector &coord) |
vpColVector | get_artVel () |
void | set_artVel (const vpColVector &vel) |
vpColVector | get_velocity () |
void | set_velocity (const vpColVector &vel) |
void | set_displayBusy (const bool &status) |
bool | get_displayBusy () |
static void * | launcher (void *arg) |
Simulator of Irisa's Viper S850 robot named Viper850.
Implementation of the vpRobotWireFrameSimulator class in order to simulate Irisa's Viper850 robot. This robot is an ADEPT six degrees of freedom arm.
This class allows to control the Viper850 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 vpViper850 class.
To control the robot in position, you may set the controller to position control and then 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 vpRobotViper850::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 then 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 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.
To know how this class can be used to achieve a visual servoing simulation, you can follow the Tutorial: Image-based visual servo.
Definition at line 202 of file vpSimulatorViper850.h.
|
inherited |
Enumerator | |
---|---|
CT_LINE | |
CT_POINT |
Definition at line 218 of file vpWireFrameSimulator.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. |
|
inherited |
Enumerator | |
---|---|
MODEL_3D | |
MODEL_DH |
Definition at line 93 of file vpRobotWireFrameSimulator.h.
|
inherited |
Robot control states.
|
inherited |
Type of scene used to display the object at the desired pose (in the internal view).
Definition at line 211 of file vpWireFrameSimulator.h.
|
inherited |
Type of scene used to display the object at the current position.
Definition at line 160 of file vpWireFrameSimulator.h.
|
inherited |
List of possible tools that can be attached to the robot end-effector.
Definition at line 128 of file vpViper850.h.
vpSimulatorViper850::vpSimulatorViper850 | ( | ) |
Basic constructor
Definition at line 62 of file vpSimulatorViper850.cpp.
References vpRobotWireFrameSimulator::attr, compute_fMi(), init(), initDisplay(), vpRobotWireFrameSimulator::launcher(), vpTime::measureTimeMs(), vpRobotWireFrameSimulator::mutex_artCoord, vpRobotWireFrameSimulator::mutex_artVel, vpRobotWireFrameSimulator::mutex_display, vpRobotWireFrameSimulator::mutex_fMi, vpRobotWireFrameSimulator::mutex_velocity, vpRobotWireFrameSimulator::tcur, and vpRobotWireFrameSimulator::thread.
|
explicit |
Constructor used to enable or disable the external view of the robot.
do_display | : When true, enables the display of the external view. |
Definition at line 115 of file vpSimulatorViper850.cpp.
References vpRobotWireFrameSimulator::attr, compute_fMi(), init(), initDisplay(), vpRobotWireFrameSimulator::launcher(), vpTime::measureTimeMs(), vpRobotWireFrameSimulator::mutex_artCoord, vpRobotWireFrameSimulator::mutex_artVel, vpRobotWireFrameSimulator::mutex_display, vpRobotWireFrameSimulator::mutex_fMi, vpRobotWireFrameSimulator::mutex_velocity, vpRobotWireFrameSimulator::tcur, and vpRobotWireFrameSimulator::thread.
|
virtual |
Basic destructor
Definition at line 165 of file vpSimulatorViper850.cpp.
References vpRobotWireFrameSimulator::attr, vpRobotWireFrameSimulator::fMi, vpRobotWireFrameSimulator::mutex_artCoord, vpRobotWireFrameSimulator::mutex_artVel, vpRobotWireFrameSimulator::mutex_display, vpRobotWireFrameSimulator::mutex_fMi, vpRobotWireFrameSimulator::mutex_velocity, vpRobotWireFrameSimulator::robotArms, vpRobotWireFrameSimulator::robotStop, and vpRobotWireFrameSimulator::thread.
|
protected |
Compute the pose between the robot reference frame and the frames used to compute the Denavit-Hartenberg representation. The last element of the table corresponds to the pose between the reference frame and the camera frame.
To compute the different homogeneous matrices, this function needs the articular coordinates as input.
Finally the output is a table of 8 elements : , , , , , , and - where w is for wrist and e for effector-.
Definition at line 576 of file vpSimulatorViper850.cpp.
References vpViper::a1, vpViper::a2, vpViper::a3, vpViper::d1, vpViper::d4, vpViper::d6, vpRobotWireFrameSimulator::fMi, vpRobotWireFrameSimulator::get_artCoord(), get_cMe(), vpViper::get_fMc(), vpHomogeneousMatrix::inverse(), and vpRobotWireFrameSimulator::mutex_fMi.
Referenced by initialiseCameraRelativeToObject(), updateArticularPosition(), and vpSimulatorViper850().
|
protectedvirtual |
Compute the articular velocity relative to the velocity in another frame.
Implements vpRobotWireFrameSimulator.
Definition at line 934 of file vpSimulatorViper850.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpViper::eMc, vpRobot::END_EFFECTOR_FRAME, vpRobotWireFrameSimulator::get_artCoord(), vpViper::get_eJe(), vpViper::get_fJe(), vpRobotWireFrameSimulator::get_velocity(), vpRobot::getMaxRotationVelocity(), vpRobot::getRobotFrame(), vpRobotWireFrameSimulator::jointLimit, vpRobot::MIXT_FRAME, vpMatrix::pseudoInverse(), vpRobot::REFERENCE_FRAME, vpRobotWireFrameSimulator::set_artVel(), vpRobotWireFrameSimulator::singularityManagement, singularityTest(), and vpERROR_TRACE.
Referenced by updateArticularPosition().
|
inlineinherited |
Delete the history of the main camera position which are displayed in the external views.
Definition at line 293 of file vpWireFrameSimulator.h.
|
protectedinherited |
Definition at line 78 of file vpWireFrameSimulator.cpp.
References vpDisplay::displayLine(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpWireFrameSimulator::thickness_.
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), vpWireFrameSimulator::getExternalImage(), vpWireFrameSimulator::getInternalImage(), and vpRobotWireFrameSimulator::getInternalView().
|
protectedinherited |
Definition at line 122 of file vpWireFrameSimulator.cpp.
References vpDisplay::displayLine(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpWireFrameSimulator::thickness_.
|
inherited |
Display a trajectory thanks to a list of homogeneous matrices which give the position of the camera relative to the object and the position of the object relative to the world reference frame. The trajectory is projected into the view of an external camera whose position is given in parameter.
The two lists must have the same size of homogeneous matrices must have the same size.
I | : The image where the trajectory is displayed. |
list_cMo | : The homogeneous matrices list containing the position of the camera relative to the object. |
list_fMo | : The homogeneous matrices list containing the position of the object relative to the world reference frame. |
cMf | : A homogeneous matrix which gives the position of the external camera (used to project the trajectory) relative to the world reference frame. |
Definition at line 1269 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::camTrajColor, vpWireFrameSimulator::camTrajType, vpWireFrameSimulator::CT_LINE, vpWireFrameSimulator::CT_POINT, vpException::dimensionError, vpDisplay::displayLine(), vpDisplay::displayPoint(), vpWireFrameSimulator::projectCameraTrajectory(), vpWireFrameSimulator::rotz, and vpWireFrameSimulator::thickness_.
|
inherited |
Display a trajectory thanks to a list of homogeneous matrices which give the position of the camera relative to the object and the position of the object relative to the world reference frame. The trajectory is projected into the view of an external camera whose position is given in parameter.
The two lists must have the same size of homogeneous matrices must have the same size.
I | : The image where the trajectory is displayed. |
list_cMo | : The homogeneous matrices list containing the position of the camera relative to the object. |
list_fMo | : The homogeneous matrices list containing the position of the object relative to the world reference frame. |
cMf | : A homogeneous matrix which gives the position of the external camera (used to project the trajectory) relative to the world reference frame. |
Definition at line 1315 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::camTrajColor, vpWireFrameSimulator::camTrajType, vpWireFrameSimulator::CT_LINE, vpWireFrameSimulator::CT_POINT, vpException::dimensionError, vpDisplay::displayLine(), vpDisplay::displayPoint(), vpWireFrameSimulator::projectCameraTrajectory(), vpWireFrameSimulator::rotz, and vpWireFrameSimulator::thickness_.
|
protected |
Definition at line 1182 of file vpSimulatorViper850.cpp.
References vpRobot::getMaxRotationVelocity(), and getPositioningVelocity().
|
inlineprotectedinherited |
Definition at line 497 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::compute_fMi(), compute_fMi(), vpSimulatorAfma6::computeArticularVelocity(), computeArticularVelocity(), vpSimulatorAfma6::get_eJe(), get_eJe(), vpSimulatorAfma6::get_fJe(), get_fJe(), vpSimulatorAfma6::getDisplacement(), getDisplacement(), vpSimulatorAfma6::getPosition(), getPosition(), vpSimulatorAfma6::getVelocity(), getVelocity(), vpSimulatorAfma6::initialiseCameraRelativeToObject(), initialiseCameraRelativeToObject(), vpSimulatorAfma6::isInJointLimit(), isInJointLimit(), vpSimulatorAfma6::setPosition(), setPosition(), vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
inlineprotectedinherited |
Definition at line 512 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getVelocity(), getVelocity(), vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
inherited |
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 922 of file vpViper.cpp.
References vpViper::eMc, and vpHomogeneousMatrix::inverse().
Referenced by get_cMe(), vpRobotViper650::get_cMe(), vpRobotViper850::get_cMe(), vpViper::get_cVe(), get_cVe(), vpRobotViper650::get_cVe(), vpRobotViper850::get_cVe(), vpRobotViper650::getControlMode(), vpRobotViper850::getControlMode(), and getPositioningVelocity().
void vpSimulatorViper850::get_cMe | ( | vpHomogeneousMatrix & | cMe | ) |
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 2096 of file vpSimulatorViper850.cpp.
References vpViper::get_cMe().
Referenced by compute_fMi(), and getExternalImage().
|
inherited |
Get the pose between the object and the robot's camera.
Definition at line 365 of file vpRobotWireFrameSimulator.cpp.
References vpWireFrameSimulator::fMo, vpRobotWireFrameSimulator::get_fMi(), vpHomogeneousMatrix::inverse(), and vpRobotWireFrameSimulator::size_fMi.
Referenced by vpSimulatorAfma6::setPosition().
|
inlineinherited |
Get the pose between the object and the camera.
Definition at line 404 of file vpWireFrameSimulator.h.
Referenced by vpRobotWireFrameSimulator::getExternalCameraPosition().
|
inlineinherited |
Get the homogeneous matrices cMo stored to display the camera trajectory.
cMo_history | : The list of the homogeneous matrices cMo. |
Definition at line 412 of file vpWireFrameSimulator.h.
|
inherited |
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 938 of file vpViper.cpp.
References vpVelocityTwistMatrix::buildFrom(), and vpViper::get_cMe().
Referenced by vpRobotViper650::getControlMode(), vpRobotViper850::getControlMode(), and getPositioningVelocity().
void vpSimulatorViper850::get_cVe | ( | vpVelocityTwistMatrix & | cVe | ) |
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 2105 of file vpSimulatorViper850.cpp.
References vpVelocityTwistMatrix::buildFrom(), and vpViper::get_cMe().
|
inlineprotectedinherited |
Definition at line 546 of file vpRobotWireFrameSimulator.h.
Referenced by vpRobotWireFrameSimulator::getInternalView(), vpSimulatorAfma6::init(), vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
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 computeArticularVelocity(), get_eJe(), vpRobotViper650::get_eJe(), vpRobotViper850::get_eJe(), and 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 2122 of file vpSimulatorViper850.cpp.
References vpRobotWireFrameSimulator::get_artCoord(), vpViper::get_eJe(), 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 computeArticularVelocity(), get_fJe(), vpRobotViper650::get_fJe(), vpRobotViper850::get_fJe(), and 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 2142 of file vpSimulatorViper850.cpp.
References vpRobotWireFrameSimulator::get_artCoord(), vpViper::get_fJe(), 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 compute_fMi(), vpViper::getForwardKinematics(), getPosition(), vpRobotViper650::getPosition(), vpRobotViper850::getPosition(), vpRobotViper650::getVelocity(), vpRobotViper850::getVelocity(), setPosition(), vpRobotViper650::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(), vpRobotViper650::getVelocity(), and vpRobotViper850::getVelocity().
|
inlineprotectedvirtual |
Get a table of poses between the reference frame and the frames you used to compute the Denavit-Hartenberg representation
Implements vpRobotWireFrameSimulator.
Definition at line 278 of file vpSimulatorViper850.h.
References vpRobotWireFrameSimulator::init(), vpRobotWireFrameSimulator::initArms(), vpRobotWireFrameSimulator::initDisplay(), vpRobotWireFrameSimulator::isInJointLimit(), and vpRobotWireFrameSimulator::updateArticularPosition().
Referenced by getExternalImage(), initialiseObjectRelativeToCamera(), and updateArticularPosition().
|
inlineinherited |
Get the pose between the object and the fixed world frame.
Definition at line 255 of file vpRobotWireFrameSimulator.h.
References vpWireFrameSimulator::fMo, and vpWireFrameSimulator::initScene().
|
inlineinherited |
Get the homogeneous matrices fMo stored to display the camera trajectory.
fMo_history | : The list of the homogeneous matrices fMo. |
Definition at line 433 of file vpWireFrameSimulator.h.
|
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().
|
inlineprotectedinherited |
Definition at line 526 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), and computeArticularVelocity().
|
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 558 of file vpViper850.cpp.
References vpException::badValue, vpViper850::CONST_CAMERA_FILENAME, vpViper850::CONST_GENERIC_CAMERA_NAME, vpViper850::CONST_MARLIN_F033C_CAMERA_NAME, vpViper850::CONST_PTGREY_FLEA2_CAMERA_NAME, vpViper850::CONST_SCHUNK_GRIPPER_CAMERA_NAME, vpViper850::getToolType(), vpCameraParameters::initPersProjWithDistortion(), vpCameraParameters::initPersProjWithoutDistortion(), vpException::notImplementedError, vpXmlParserCamera::parse(), vpCameraParameters::perspectiveProjWithDistortion, vpCameraParameters::perspectiveProjWithoutDistortion, vpViper850::projModel, vpCameraParameters::ProjWithKannalaBrandtDistortion, vpRobotException::readingParametersError, vpXmlParserCamera::SEQUENCE_OK, vpViper850::TOOL_CUSTOM, vpViper850::TOOL_GENERIC_CAMERA, vpViper850::TOOL_MARLIN_F033C_CAMERA, vpViper850::TOOL_PTGREY_FLEA2_CAMERA, vpViper850::TOOL_SCHUNK_GRIPPER_CAMERA, vpERROR_TRACE, and vpTRACE.
Referenced by vpViper850::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 763 of file vpViper850.cpp.
References vpViper850::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 828 of file vpViper850.cpp.
References vpViper850::getCameraParameters(), vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().
void vpSimulatorViper850::getCameraParameters | ( | vpCameraParameters & | cam, |
const unsigned int & | image_width, | ||
const unsigned int & | image_height | ||
) |
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. |
Definition at line 363 of file vpSimulatorViper850.cpp.
References vpViper850::CONST_MARLIN_F033C_CAMERA_NAME, vpViper850::CONST_PTGREY_FLEA2_CAMERA_NAME, vpViper850::getToolType(), vpCameraParameters::initPersProjWithoutDistortion(), vpWireFrameSimulator::px_int, vpWireFrameSimulator::py_int, vpViper850::TOOL_CUSTOM, vpViper850::TOOL_GENERIC_CAMERA, vpViper850::TOOL_MARLIN_F033C_CAMERA, vpViper850::TOOL_PTGREY_FLEA2_CAMERA, vpViper850::TOOL_SCHUNK_GRIPPER_CAMERA, and vpTRACE.
Referenced by getCameraParameters(), and initDisplay().
void vpSimulatorViper850::getCameraParameters | ( | vpCameraParameters & | cam, |
const vpImage< unsigned char > & | I_ | ||
) |
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. |
Definition at line 413 of file vpSimulatorViper850.cpp.
References getCameraParameters(), vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().
void vpSimulatorViper850::getCameraParameters | ( | vpCameraParameters & | cam, |
const vpImage< vpRGBa > & | I_ | ||
) |
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. |
Definition at line 426 of file vpSimulatorViper850.cpp.
References getCameraParameters(), vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().
|
inlineinherited |
Get the current camera model projection type.
Definition at line 153 of file vpViper850.h.
|
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 1861 of file vpSimulatorViper850.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpRobot::END_EFFECTOR_FRAME, vpRobotWireFrameSimulator::get_artCoord(), vpRobot::MIXT_FRAME, vpRobot::REFERENCE_FRAME, and vpColVector::resize().
|
inlineinherited |
Get the parameters of the virtual external camera.
Definition at line 222 of file vpRobotWireFrameSimulator.h.
References vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpMath::maximum(), and vpMath::minimum().
|
inlineinherited |
Get the parameters of the virtual external camera.
I | : The image used to display the view of the camera. |
Definition at line 312 of file vpWireFrameSimulator.h.
References vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpMath::maximum(), and vpMath::minimum().
Referenced by vpWireFrameSimulator::projectCameraTrajectory().
|
inlineinherited |
Get the parameters of the virtual external camera.
I | : The image used to display the view of the camera. |
Definition at line 331 of file vpWireFrameSimulator.h.
References vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpMath::maximum(), and vpMath::minimum().
|
inlineinherited |
Get the external camera's position relative to the the world reference frame.
Definition at line 241 of file vpRobotWireFrameSimulator.h.
References vpWireFrameSimulator::get_cMo(), and vpWireFrameSimulator::getExternalCameraPosition().
Referenced by vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
Definition at line 2263 of file vpSimulatorViper850.cpp.
References vpWireFrameSimulator::camColor, vpWireFrameSimulator::camera, vpWireFrameSimulator::camMf, vpWireFrameSimulator::camMf2, vpWireFrameSimulator::curColor, vpWireFrameSimulator::display_scene(), vpWireFrameSimulator::displayCamera, vpWireFrameSimulator::displayObject, vpWireFrameSimulator::f2Mf, vpWireFrameSimulator::fMo, get_cMe(), get_fMi(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpHomogeneousMatrix::inverse(), vpMath::maximum(), vpMath::minimum(), vpWireFrameSimulator::navigation(), vpWireFrameSimulator::px_ext, vpWireFrameSimulator::py_ext, vpRobotWireFrameSimulator::robotArms, and vpWireFrameSimulator::scene.
Referenced by updateArticularPosition().
|
inherited |
Get the external view. It corresponds to the view of the scene from a reference frame you have to set.
I | : The image where the external view is displayed. |
Definition at line 1074 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::camColor, vpWireFrameSimulator::camera, vpWireFrameSimulator::cameraTrajectory, vpWireFrameSimulator::camMf, vpWireFrameSimulator::camMf2, vpWireFrameSimulator::camTrajColor, vpWireFrameSimulator::camTrajType, vpWireFrameSimulator::cMo, vpWireFrameSimulator::CT_LINE, vpWireFrameSimulator::CT_POINT, vpWireFrameSimulator::CUBE, vpWireFrameSimulator::curColor, vpImage< Type >::display, vpDisplay::display(), vpWireFrameSimulator::display_scene(), vpWireFrameSimulator::displayCamera, vpWireFrameSimulator::displayCameraTrajectory, vpWireFrameSimulator::displayImageSimulator, vpDisplay::displayLine(), vpWireFrameSimulator::displayObject, vpDisplay::displayPoint(), vpWireFrameSimulator::extCamChanged, vpWireFrameSimulator::f2Mf, vpWireFrameSimulator::fMc, vpWireFrameSimulator::fMo, vpWireFrameSimulator::fMoList, vpImage< Type >::getHeight(), vpImageSimulator::getImage(), vpWireFrameSimulator::getInternalCameraParameters(), vpImage< Type >::getWidth(), vpHomogeneousMatrix::inverse(), vpMath::maximum(), vpMath::minimum(), vpWireFrameSimulator::navigation(), vpWireFrameSimulator::nbrPtLimit, vpWireFrameSimulator::objectImage, vpWireFrameSimulator::poseList, vpWireFrameSimulator::projectCameraTrajectory(), vpWireFrameSimulator::px_ext, vpWireFrameSimulator::py_ext, vpWireFrameSimulator::rotz, vpWireFrameSimulator::scene, vpImageSimulator::setCameraPosition(), vpWireFrameSimulator::SPHERE, and vpWireFrameSimulator::thickness_.
Referenced by vpSimulatorAfma6::setPositioningVelocity(), and setPositioningVelocity().
|
inherited |
Get an external view. The point of view is set thanks to the pose between the camera camMf and the fixed world frame.
I | : The image where the external view is displayed. |
cam_Mf | : The pose between the point of view and the fixed world frame. |
Definition at line 1203 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::camColor, vpWireFrameSimulator::camera, vpWireFrameSimulator::cMo, vpWireFrameSimulator::curColor, vpImage< Type >::display, vpDisplay::display(), vpWireFrameSimulator::display_scene(), vpWireFrameSimulator::displayCamera, vpWireFrameSimulator::displayImageSimulator, vpWireFrameSimulator::displayObject, vpWireFrameSimulator::fMo, vpImage< Type >::getHeight(), vpImageSimulator::getImage(), vpWireFrameSimulator::getInternalCameraParameters(), vpImage< Type >::getWidth(), vpHomogeneousMatrix::inverse(), vpMath::maximum(), vpMath::minimum(), vpWireFrameSimulator::objectImage, vpWireFrameSimulator::px_ext, vpWireFrameSimulator::py_ext, vpWireFrameSimulator::rotz, vpWireFrameSimulator::scene, and vpImageSimulator::setCameraPosition().
|
inherited |
Get an external view. The point of view is set thanks to the pose between the camera camMf and the fixed world frame.
I | : The image where the external view is displayed. |
cam_Mf | : The pose between the point of view and the fixed world frame. |
Definition at line 941 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::camColor, vpWireFrameSimulator::camera, vpWireFrameSimulator::cMo, vpWireFrameSimulator::curColor, vpImage< Type >::display, vpDisplay::display(), vpWireFrameSimulator::display_scene(), vpWireFrameSimulator::displayCamera, vpWireFrameSimulator::displayImageSimulator, vpWireFrameSimulator::displayObject, vpWireFrameSimulator::fMo, vpImage< Type >::getHeight(), vpImageSimulator::getImage(), vpWireFrameSimulator::getInternalCameraParameters(), vpImage< Type >::getWidth(), vpHomogeneousMatrix::inverse(), vpMath::maximum(), vpMath::minimum(), vpWireFrameSimulator::objectImage, vpWireFrameSimulator::px_ext, vpWireFrameSimulator::py_ext, vpWireFrameSimulator::rotz, vpWireFrameSimulator::scene, and vpImageSimulator::setCameraPosition().
|
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.
|
inlineinherited |
Get the parameters of the virtual internal camera.
I | : The image used to display the view of the camera. |
Definition at line 364 of file vpWireFrameSimulator.h.
References vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpMath::maximum(), and vpMath::minimum().
Referenced by vpWireFrameSimulator::getExternalImage(), and vpWireFrameSimulator::getInternalImage().
|
inlineinherited |
Get the parameters of the virtual internal camera.
I | : The image used to display the view of the camera. |
Definition at line 383 of file vpWireFrameSimulator.h.
References vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpMath::maximum(), and vpMath::minimum().
|
inherited |
Get the internal view ie the view of the camera.
I | : The image where the internal view is displayed. |
Definition at line 1000 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::camMf, vpWireFrameSimulator::cdMo, vpWireFrameSimulator::cMo, vpWireFrameSimulator::curColor, vpWireFrameSimulator::D_TOOL, vpWireFrameSimulator::desColor, vpWireFrameSimulator::desiredObject, vpWireFrameSimulator::desiredScene, vpImage< Type >::display, vpDisplay::display(), vpWireFrameSimulator::display_scene(), vpWireFrameSimulator::displayDesiredObject, vpWireFrameSimulator::displayImageSimulator, vpWireFrameSimulator::displayObject, vpWireFrameSimulator::fMo, vpImage< Type >::getHeight(), vpImageSimulator::getImage(), vpWireFrameSimulator::getInternalCameraParameters(), vpImage< Type >::getWidth(), vpHomogeneousMatrix::inverse(), vpMath::maximum(), vpMath::minimum(), vpException::notInitialized, vpWireFrameSimulator::objectImage, vpWireFrameSimulator::px_int, vpWireFrameSimulator::py_int, vpColor::red, vpWireFrameSimulator::rotz, vpWireFrameSimulator::scene, vpWireFrameSimulator::sceneInitialized, and vpImageSimulator::setCameraPosition().
Get the internal view ie the view of the camera.
I | : The image where the internal view is displayed. |
Definition at line 737 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::cdMo, vpWireFrameSimulator::cMo, vpWireFrameSimulator::curColor, vpWireFrameSimulator::D_TOOL, vpWireFrameSimulator::desColor, vpWireFrameSimulator::desiredObject, vpWireFrameSimulator::desiredScene, vpImage< Type >::display, vpDisplay::display(), vpWireFrameSimulator::display_scene(), vpWireFrameSimulator::displayDesiredObject, vpWireFrameSimulator::displayImageSimulator, vpWireFrameSimulator::displayObject, vpImage< Type >::getHeight(), vpImageSimulator::getImage(), vpWireFrameSimulator::getInternalCameraParameters(), vpImage< Type >::getWidth(), vpHomogeneousMatrix::inverse(), vpMath::maximum(), vpMath::minimum(), vpException::notInitialized, vpWireFrameSimulator::objectImage, vpWireFrameSimulator::px_int, vpWireFrameSimulator::py_int, vpColor::red, vpWireFrameSimulator::rotz, vpWireFrameSimulator::scene, vpWireFrameSimulator::sceneInitialized, and vpImageSimulator::setCameraPosition().
Get the view of the camera's robot.
According to the initialisation method you used, the current position and maybee the desired position of the object are displayed.
I_ | : The image where the internal view is displayed. |
Definition at line 224 of file vpRobotWireFrameSimulator.cpp.
References vpWireFrameSimulator::cdMo, vpWireFrameSimulator::cMo, vpWireFrameSimulator::curColor, vpWireFrameSimulator::D_TOOL, vpWireFrameSimulator::desColor, vpWireFrameSimulator::desiredObject, vpWireFrameSimulator::desiredScene, vpWireFrameSimulator::display_scene(), vpWireFrameSimulator::displayDesiredObject, vpWireFrameSimulator::displayObject, vpWireFrameSimulator::fMo, vpRobotWireFrameSimulator::get_displayBusy(), vpRobotWireFrameSimulator::get_fMi(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpHomogeneousMatrix::inverse(), vpMath::maximum(), vpMath::minimum(), vpWireFrameSimulator::px_int, vpWireFrameSimulator::py_int, vpColor::red, vpWireFrameSimulator::rotz, vpWireFrameSimulator::scene, vpWireFrameSimulator::sceneInitialized, vpRobotWireFrameSimulator::set_displayBusy(), vpRobotWireFrameSimulator::size_fMi, and vpTime::wait().
Referenced by vpSimulatorAfma6::setPosition().
|
inherited |
Get the view of the camera's robot.
According to the initialisation method you used, the current position and maybee the desired position of the object are displayed.
I_ | : The image where the internal view is displayed. |
Definition at line 297 of file vpRobotWireFrameSimulator.cpp.
References vpWireFrameSimulator::cdMo, vpWireFrameSimulator::cMo, vpWireFrameSimulator::curColor, vpWireFrameSimulator::D_TOOL, vpWireFrameSimulator::desColor, vpWireFrameSimulator::desiredObject, vpWireFrameSimulator::desiredScene, vpWireFrameSimulator::display_scene(), vpWireFrameSimulator::displayDesiredObject, vpWireFrameSimulator::displayObject, vpWireFrameSimulator::fMo, vpRobotWireFrameSimulator::get_displayBusy(), vpRobotWireFrameSimulator::get_fMi(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpRobotWireFrameSimulator::I, vpHomogeneousMatrix::inverse(), vpMath::maximum(), vpMath::minimum(), vpWireFrameSimulator::px_int, vpWireFrameSimulator::py_int, vpColor::red, vpWireFrameSimulator::rotz, vpWireFrameSimulator::scene, vpWireFrameSimulator::sceneInitialized, vpRobotWireFrameSimulator::set_displayBusy(), vpRobotWireFrameSimulator::size_fMi, and vpTime::wait().
|
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 initialiseCameraRelativeToObject(), setPosition(), vpRobotViper650::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(), computeArticularVelocity(), vpSimulatorAfma6::findHighestPositioningSpeed(), findHighestPositioningSpeed(), vpSimulatorAfma6::setPosition(), vpRobotTemplate::setVelocity(), vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpRobotPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpRobotKinova::setVelocity(), vpRobotFlirPtu::setVelocity(), vpSimulatorAfma6::setVelocity(), setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::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(), vpRobotTemplate::setVelocity(), vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpRobotPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpRobotKinova::setVelocity(), vpRobotFlirPtu::setVelocity(), vpSimulatorAfma6::setVelocity(), setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::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.
frame | : Control frame type in which to get the position, either :
|
q | : Measured position of the robot:
|
Implements vpRobot.
Definition at line 1582 of file vpSimulatorViper850.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpRobot::END_EFFECTOR_FRAME, vpHomogeneousMatrix::extract(), vpRobotWireFrameSimulator::get_artCoord(), vpViper::get_fMc(), vpRobotException::lowLevelError, vpRobot::MIXT_FRAME, vpRobot::REFERENCE_FRAME, vpColVector::resize(), and vpERROR_TRACE.
Referenced by getPosition().
void vpSimulatorViper850::getPosition | ( | const vpRobot::vpControlFrameType | frame, |
vpColVector & | q, | ||
double & | timestamp | ||
) |
Get the current time stamped position of the robot.
frame | : Control frame type in which to get the position, either :
|
q | : Measured position of the robot:
|
timestamp | : Unix time in second since January 1st 1970. |
Definition at line 1654 of file vpSimulatorViper850.cpp.
References getPosition(), and vpTime::measureTimeSecond().
void vpSimulatorViper850::getPosition | ( | const vpRobot::vpControlFrameType | frame, |
vpPoseVector & | position | ||
) |
Get the current position of the robot.
Similar as getPosition(const vpRobot::vpControlFrameType frame, vpColVector &)
The difference is here that the position is returned using a ThetaU representation.
Definition at line 1671 of file vpSimulatorViper850.cpp.
References getPosition().
void vpSimulatorViper850::getPosition | ( | const vpRobot::vpControlFrameType | frame, |
vpPoseVector & | position, | ||
double & | timestamp | ||
) |
Get the current time stamped position of the robot.
Similar as getPosition(const vpRobot::vpControlFrameType frame, vpColVector &, double &)
The difference is here that the position is returned using a ThetaU representation.
Definition at line 1698 of file vpSimulatorViper850.cpp.
References getPosition(), and vpTime::measureTimeSecond().
|
inline |
Definition at line 234 of file vpSimulatorViper850.h.
References vpViper::get_cMe(), vpViper::get_cVe(), vpRobot::get_eJe(), vpRobot::get_fJe(), vpRobotWireFrameSimulator::init(), vpCameraParameters::perspectiveProjWithoutDistortion, and vpRobot::setPosition().
Referenced by findHighestPositioningSpeed().
|
inlineprotectedinherited |
Definition at line 172 of file vpRobot.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), and 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(), setPosition(), vpRobotAfma6::setPosition(), vpRobotFranka::setPosition(), vpRobotViper650::setPosition(), vpRobotViper850::setPosition(), vpRobotPtu46::setRobotState(), vpRobotBiclops::setRobotState(), vpRobotFlirPtu::setRobotState(), vpSimulatorAfma6::setRobotState(), setRobotState(), vpRobotAfma4::setRobotState(), vpRobotAfma6::setRobotState(), vpRobotFranka::setRobotState(), vpRobotViper650::setRobotState(), vpRobotViper850::setRobotState(), vpRobotTemplate::setVelocity(), vpRobotBiclops::setVelocity(), vpRobotPtu46::setVelocity(), vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpRobotFlirPtu::setVelocity(), vpRobotKinova::setVelocity(), vpSimulatorAfma6::setVelocity(), setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotFranka::setVelocity(), vpRobotViper650::setVelocity(), vpRobotViper850::setVelocity(), vpRobotFlirPtu::stopMotion(), vpSimulatorAfma6::stopMotion(), stopMotion(), vpRobotFranka::stopMotion(), vpRobotViper650::stopMotion(), and vpRobotViper850::stopMotion().
|
inlineinherited |
Return the sampling time.
Definition at line 82 of file vpRobotSimulator.h.
Referenced by vpVirtualGrabber::acquire(), vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
inlineinherited |
Get the current tool type.
Definition at line 161 of file vpViper850.h.
Referenced by vpViper850::getCameraParameters(), and getCameraParameters().
void vpSimulatorViper850::getVelocity | ( | const vpRobot::vpControlFrameType | frame, |
vpColVector & | vel | ||
) |
Get the robot velocities.
frame | : Frame in wich velocities are mesured. |
vel | : Measured velocities. Translations are expressed in m/s and rotations in rad/s. |
Definition at line 1053 of file vpSimulatorViper850.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpViper::eMc, vpRobot::END_EFFECTOR_FRAME, vpRobotWireFrameSimulator::get_artCoord(), vpRobotWireFrameSimulator::get_artVel(), vpViper::get_eJe(), vpViper::get_fJe(), vpRobot::MIXT_FRAME, vpRobot::REFERENCE_FRAME, vpColVector::resize(), and vpERROR_TRACE.
Referenced by getVelocity().
void vpSimulatorViper850::getVelocity | ( | const vpRobot::vpControlFrameType | frame, |
vpColVector & | vel, | ||
double & | timestamp | ||
) |
Get the robot time stamped velocities.
frame | : Frame in wich velocities are mesured. |
vel | : Measured velocities. Translations are expressed in m/s and rotations in rad/s. |
timestamp | : Unix time in second since January 1st 1970. |
Definition at line 1106 of file vpSimulatorViper850.cpp.
References getVelocity(), and vpTime::measureTimeSecond().
vpColVector vpSimulatorViper850::getVelocity | ( | const vpRobot::vpControlFrameType | frame | ) |
Get the robot velocities.
frame | : Frame in wich velocities are mesured. |
Definition at line 1153 of file vpSimulatorViper850.cpp.
References getVelocity().
vpColVector vpSimulatorViper850::getVelocity | ( | const vpRobot::vpControlFrameType | frame, |
double & | timestamp | ||
) |
Get the time stamped robot velocities.
frame | : Frame in wich velocities are mesured. |
timestamp | : Unix time in second since January 1st 1970. |
Definition at line 1173 of file vpSimulatorViper850.cpp.
References getVelocity(), and vpTime::measureTimeSecond().
|
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 151 of file vpViper850.cpp.
References vpViper850::parseConfigFile().
|
inherited |
Set the type of tool attached to the robot and transformation between the end-effector and the tool ( ). This last parameter is loaded from a file.
tool | : Type of tool in use. |
filename | : Path of the configuration file containing the transformation between the end-effector frame and the tool frame. |
The configuration file should have the form below:
Definition at line 383 of file vpViper850.cpp.
References vpViper850::parseConfigFile(), and vpViper850::setToolType().
|
inherited |
Set the type of tool attached to the robot and the transformation between the end-effector and the tool ( ).
tool | : Type of tool in use. |
eMc_ | : Homogeneous matrix representation of the transformation between the end-effector frame and the tool frame. |
Definition at line 404 of file vpViper850.cpp.
References vpViper::set_eMc(), and vpViper850::setToolType().
void vpSimulatorViper850::init | ( | vpViper850::vpToolType | tool, |
vpCameraParameters::vpCameraParametersProjType | proj_model = vpCameraParameters::perspectiveProjWithoutDistortion |
||
) |
Initialize the robot kinematics with the extrinsic calibration parameters associated to a specific camera.
The eMc parameters depend on the camera.
tool | : Tool to use. |
proj_model | : Projection model associated to the camera. |
Definition at line 310 of file vpSimulatorViper850.cpp.
References vpHomogeneousMatrix::buildFrom(), vpViper::eMc, vpViper::erc, vpViper::etc, vpViper850::projModel, vpMath::rad(), setCameraParameters(), vpViper850::setToolType(), vpViper850::TOOL_CUSTOM, vpViper850::TOOL_GENERIC_CAMERA, vpViper850::TOOL_MARLIN_F033C_CAMERA, vpViper850::TOOL_PTGREY_FLEA2_CAMERA, and vpViper850::TOOL_SCHUNK_GRIPPER_CAMERA.
|
protectedvirtual |
Method which initialises the parameters linked to the robot caracteristics.
Set the path to the arm files (*.bnd and *.sln) used by the simulator. If the path set in vpConfig.h in VISP_ROBOT_ARMS_DIR macro is not valid, the path is set from the VISP_ROBOT_ARMS_DIR environment variable that the user has to set.
Reimplemented from vpRobotWireFrameSimulator.
Definition at line 209 of file vpSimulatorViper850.cpp.
References vpRobotWireFrameSimulator::artCoord, vpRobot::ARTICULAR_FRAME, vpRobotWireFrameSimulator::artVel, vpIoTools::checkDirectory(), defaultPositioningVelocity, vpViper850::defaultTool, vpRobotWireFrameSimulator::fMi, vpIoTools::getenv(), vpViper::joint_max, vpViper::joint_min, vpViper::njoint, vpMath::rad(), vpColVector::resize(), vpRobot::setRobotFrame(), setRobotState(), vpRobotWireFrameSimulator::size_fMi, vpIoTools::splitChain(), and vpRobot::STATE_STOP.
Referenced by vpSimulatorViper850().
|
protectedvirtual |
Initialise the display of the robot's arms.
Set the path to the scene files (*.bnd and *.sln) used by the simulator. If the path set in vpConfig.h in VISP_SCENES_DIR macro is not valid, the path is set from the VISP_SCENES_DIR environment variable that the user has to set.
Implements vpRobotWireFrameSimulator.
Definition at line 2181 of file vpSimulatorViper850.cpp.
References vpWireFrameSimulator::camera, vpWireFrameSimulator::cameraFactor, vpIoTools::checkDirectory(), vpException::dimensionError, vpWireFrameSimulator::displayCamera, vpIoTools::getenv(), vpRobotWireFrameSimulator::robotArms, and vpIoTools::splitChain().
Referenced by initDisplay().
|
protected |
Method which initialises the parameters linked to the display part.
Definition at line 280 of file vpSimulatorViper850.cpp.
References vpRobotWireFrameSimulator::cameraParam, vpCameraParameters::get_px(), vpCameraParameters::get_py(), getCameraParameters(), initArms(), vpCameraParameters::initPersProjWithoutDistortion(), vpWireFrameSimulator::px_int, vpWireFrameSimulator::py_int, vpMath::rad(), vpRobotWireFrameSimulator::robotArms, vpWireFrameSimulator::sceneInitialized, vpWireFrameSimulator::setExternalCameraParameters(), and vpRobotWireFrameSimulator::setExternalCameraPosition().
Referenced by vpSimulatorViper850().
bool vpSimulatorViper850::initialiseCameraRelativeToObject | ( | const vpHomogeneousMatrix & | cMo_ | ) |
This method enables to initialise the joint coordinates of the robot in order to position the camera relative to the object.
Before using this method it is advised to set the position of the object thanks to the set_fMo() method.
In other terms, set the world to camera transformation , and from the inverse kinematics set the joint positions that corresponds to the transformation.
cMo_ | : the desired pose of the camera. |
Definition at line 2354 of file vpSimulatorViper850.cpp.
References compute_fMi(), vpWireFrameSimulator::fMo, vpRobotWireFrameSimulator::get_artCoord(), vpViper::getInverseKinematics(), vpHomogeneousMatrix::inverse(), vpRobotWireFrameSimulator::set_artCoord(), vpRobotWireFrameSimulator::set_artVel(), vpRobotWireFrameSimulator::set_velocity(), vpColVector::t(), vpRobotWireFrameSimulator::verbose_, and vpERROR_TRACE.
void vpSimulatorViper850::initialiseObjectRelativeToCamera | ( | const vpHomogeneousMatrix & | cMo_ | ) |
This method enables to initialise the pose between the object and the reference frame, in order to position the object relative to the camera.
Before using this method it is advised to set the articular coordinates of the robot.
In other terms, set the world to object transformation where with the robot joint position
cMo_ | : the desired pose of the camera. |
Definition at line 2395 of file vpSimulatorViper850.cpp.
References vpWireFrameSimulator::fMo, get_fMi(), vpRobotWireFrameSimulator::set_artVel(), and vpRobotWireFrameSimulator::set_velocity().
|
inherited |
Initialize the display. It enables to choose the type of scene which will be used to display the object at the current position and at the desired position.
It exists several default scenes you can use. Use the vpSceneObject and the vpSceneDesiredObject attributes to use them in this method. The corresponding files are stored in the "data" folder which is in the ViSP build directory.
obj | : Type of scene used to display the object at the current position. |
desired_object | : Type of scene used to display the object at the desired pose (in the internal view). |
Definition at line 132 of file vpRobotWireFrameSimulator.cpp.
References vpWireFrameSimulator::camera, vpWireFrameSimulator::displayCamera, and vpWireFrameSimulator::initScene().
|
inherited |
Initialize the display. It enables to choose the type of scene which will be used to display the object at the current position and at the desired position.
Here you can use the scene you want. You have to set the path to the .bnd file which is a scene file. It is also possible to use a vrml (.wrl) file.
obj | : Path to the scene file you want to use. |
desired_object | : Path to the scene file you want to use. |
Definition at line 155 of file vpRobotWireFrameSimulator.cpp.
References vpWireFrameSimulator::camera, vpWireFrameSimulator::displayCamera, and vpWireFrameSimulator::initScene().
|
inherited |
Initialize the display. It enables to choose the type of object which will be used to display the object at the current position. The object at the desired position is not displayed.
It exists several default scenes you can use. Use the vpSceneObject attributes to use them in this method. The corresponding files are stored in the "data" folder which is in the ViSP build directory.
obj | : Type of scene used to display the object at the current position. |
Definition at line 179 of file vpRobotWireFrameSimulator.cpp.
References vpWireFrameSimulator::camera, vpWireFrameSimulator::displayCamera, and vpWireFrameSimulator::initScene().
|
inherited |
Initialize the display. It enables to choose the type of scene which will be used to display the object at the current position. The object at the desired position is not displayed.
Here you can use the scene you want. You have to set the path to the .bnd file which is a scene file, or the vrml file.
obj | : Path to the scene file you want to use. |
Definition at line 201 of file vpRobotWireFrameSimulator.cpp.
References vpWireFrameSimulator::camera, vpWireFrameSimulator::displayCamera, and vpWireFrameSimulator::initScene().
|
inherited |
Initialize the simulator. It enables to choose the type of scene which will be used to display the object at the current position and at the desired position.
It exists several default scenes you can use. Use the vpSceneObject and the vpSceneDesiredObject attributes to use them in this method. The corresponding files are stored in the "data" folder which is in the ViSP build directory.
It is also possible to add a list of vpImageSimulator instances. They will be automatically projected into the image. The position of the four corners have to be given in the object frame.
obj | : Type of scene used to display the object at the current position. |
desired_object | : Type of scene used to display the object at the desired pose (in the internal view). |
imObj | : A list of vpImageSimulator instances. |
Definition at line 413 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::displayImageSimulator, vpWireFrameSimulator::initScene(), and vpWireFrameSimulator::objectImage.
|
inherited |
Initialize the simulator. It enables to choose the type of scene which will be used to display the object at the current position and at the desired position.
Here you can use the scene you want. You have to set the path to a .bnd or a .wrl file which is a 3D model file.
It is also possible to add a list of vpImageSimulator instances. They will be automatically projected into the image. The position of the four corners have to be given in the object frame.
obj | : Path to the scene file you want to use. |
desired_object | : Path to the scene file you want to use. |
imObj | : A list of vpImageSimulator instances. |
Definition at line 506 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::displayImageSimulator, vpWireFrameSimulator::initScene(), and vpWireFrameSimulator::objectImage.
|
inherited |
Initialize the simulator. It enables to choose the type of object which will be used to display the object at the current position. The object at the desired position is not displayed.
It exists several default scenes you can use. Use the vpSceneObject attributes to use them in this method. The corresponding files are stored in the "data" folder which is in the ViSP build directory.
It is also possible to add a list of vpImageSimulator instances. They will be automatically projected into the image. The position of the four corners have to be given in the object frame.
obj | : Type of scene used to display the object at the current position. |
imObj | : A list of vpImageSimulator instances. |
Definition at line 648 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::displayImageSimulator, vpWireFrameSimulator::initScene(), and vpWireFrameSimulator::objectImage.
|
inherited |
Initialize the simulator. It enables to choose the type of scene which will be used to display the object at the current position. The object at the desired position is not displayed.
Here you can use the scene you want. You have to set the path to a .bnd or a .wrl file which is a 3D model file.
It is also possible to add a list of vpImageSimulator instances. They will be automatically projected into the image. The position of the four corners have to be given in the object frame.
obj | : Path to the scene file you want to use. |
imObj | : A list of vpImageSimulator instances. |
Definition at line 722 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::displayImageSimulator, vpWireFrameSimulator::initScene(), and vpWireFrameSimulator::objectImage.
|
protectedvirtual |
Method used to check if the robot reached a joint limit.
Implements vpRobotWireFrameSimulator.
Definition at line 1809 of file vpSimulatorViper850.cpp.
References vpRobotWireFrameSimulator::get_artCoord(), vpViper::joint_max, and vpViper::joint_min.
Referenced by updateArticularPosition().
|
inlinestaticprotectedinherited |
Function used to launch the thread which moves the robot.
Definition at line 381 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::vpSimulatorAfma6(), and vpSimulatorViper850().
void vpSimulatorViper850::move | ( | const char * | filename | ) |
Moves the robot to the joint position specified in the filename.
filename | File containing a joint position. |
Definition at line 2074 of file vpSimulatorViper850.cpp.
References vpRobot::ARTICULAR_FRAME, readPosFile(), setPosition(), setRobotState(), and vpRobot::STATE_POSITION_CONTROL.
|
protectedinherited |
Enables to change the external camera position.
Definition at line 1346 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::blocked, vpWireFrameSimulator::blockedr, vpWireFrameSimulator::blockedt, vpWireFrameSimulator::blockedz, vpHomogeneousMatrix::buildFrom(), vpMouseButton::button1, vpMouseButton::button2, vpMouseButton::button3, vpImagePoint::get_i(), vpImagePoint::get_j(), vpDisplay::getClick(), vpDisplay::getClickUp(), vpImage< Type >::getHeight(), vpDisplay::getPointerPosition(), vpImage< Type >::getWidth(), vpMath::minimum(), vpWireFrameSimulator::old_iPr, vpWireFrameSimulator::old_iPt, vpWireFrameSimulator::old_iPz, and vpMath::rad().
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), and vpWireFrameSimulator::getExternalImage().
|
protectedinherited |
Enables to change the external camera position.
Definition at line 1435 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::blocked, vpWireFrameSimulator::blockedr, vpWireFrameSimulator::blockedt, vpWireFrameSimulator::blockedz, vpHomogeneousMatrix::buildFrom(), vpMouseButton::button1, vpMouseButton::button2, vpMouseButton::button3, vpImagePoint::get_i(), vpImagePoint::get_j(), vpDisplay::getClick(), vpDisplay::getClickUp(), vpImage< Type >::getHeight(), vpDisplay::getPointerPosition(), vpImage< Type >::getWidth(), vpMath::minimum(), vpWireFrameSimulator::old_iPr, vpWireFrameSimulator::old_iPt, vpWireFrameSimulator::old_iPz, and vpMath::rad().
|
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 418 of file vpViper850.cpp.
References vpRobotException::readingParametersError, and vpViper::set_eMc().
Referenced by vpViper850::init().
|
protectedinherited |
Project the center of the internal camera into the external camera view.
Definition at line 1526 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::camMf, vpMeterPixelConversion::convertPoint(), vpPoint::get_x(), vpPoint::get_y(), vpWireFrameSimulator::getExternalCameraParameters(), vpHomogeneousMatrix::inverse(), vpWireFrameSimulator::rotz, vpPoint::setWorldCoordinates(), and vpForwardProjection::track().
Referenced by vpWireFrameSimulator::displayTrajectory(), and vpWireFrameSimulator::getExternalImage().
|
protectedinherited |
Project the center of the internal camera into the external camera view.
Definition at line 1544 of file vpWireFrameSimulator.cpp.
References vpWireFrameSimulator::camMf, vpMeterPixelConversion::convertPoint(), vpPoint::get_x(), vpPoint::get_y(), vpWireFrameSimulator::getExternalCameraParameters(), vpHomogeneousMatrix::inverse(), vpWireFrameSimulator::rotz, vpPoint::setWorldCoordinates(), and vpForwardProjection::track().
|
protectedinherited |
Project the center of the internal camera into the external camera view.
Definition at line 1563 of file vpWireFrameSimulator.cpp.
References vpMeterPixelConversion::convertPoint(), vpPoint::get_x(), vpPoint::get_y(), vpWireFrameSimulator::getExternalCameraParameters(), vpHomogeneousMatrix::inverse(), vpWireFrameSimulator::rotz, vpPoint::setWorldCoordinates(), and vpForwardProjection::track().
|
protectedinherited |
Project the center of the internal camera into the external camera view.
Definition at line 1582 of file vpWireFrameSimulator.cpp.
References vpMeterPixelConversion::convertPoint(), vpPoint::get_x(), vpPoint::get_y(), vpWireFrameSimulator::getExternalCameraParameters(), vpHomogeneousMatrix::inverse(), vpWireFrameSimulator::rotz, vpPoint::setWorldCoordinates(), and vpForwardProjection::track().
|
static |
Read joint positions in a specific Viper850 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 1964 of file vpSimulatorViper850.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(), vpRobotFlirPtu::setVelocity(), vpRobotKinova::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotFranka::setVelocity(), vpRobotViper650::setVelocity(), and vpRobotViper850::setVelocity().
|
static |
Save joint (articular) positions in a specific Viper850 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 2043 of file vpSimulatorViper850.cpp.
References vpMath::deg().
|
inlineprotectedinherited |
Definition at line 505 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::initialiseCameraRelativeToObject(), initialiseCameraRelativeToObject(), vpSimulatorAfma6::setPosition(), setPosition(), vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
inlineprotectedinherited |
Definition at line 519 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), computeArticularVelocity(), vpSimulatorAfma6::initialiseCameraRelativeToObject(), initialiseCameraRelativeToObject(), vpSimulatorAfma6::initialiseObjectRelativeToCamera(), initialiseObjectRelativeToCamera(), vpSimulatorAfma6::setPosition(), setPosition(), vpSimulatorAfma6::stopMotion(), stopMotion(), vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
inlineprotectedinherited |
Definition at line 540 of file vpRobotWireFrameSimulator.h.
Referenced by vpRobotWireFrameSimulator::getInternalView(), vpSimulatorAfma6::init(), vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
virtualinherited |
Set the geometric transformation between the end-effector frame and the tool frame (commonly a camera).
eMc_ | : Transformation between the end-effector frame and the tool frame. |
Reimplemented in vpRobotViper850, and vpRobotViper650.
Definition at line 1230 of file vpViper.cpp.
References vpRxyzVector::buildFrom(), vpViper::eMc, vpViper::erc, vpViper::etc, and vpHomogeneousMatrix::extract().
Referenced by vpRobotViper650::getControlMode(), vpRobotViper850::getControlMode(), vpViper650::init(), vpViper850::init(), vpViper650::parseConfigFile(), vpViper850::parseConfigFile(), vpRobotViper650::set_eMc(), and vpRobotViper850::set_eMc().
|
virtualinherited |
Set the geometric transformation between the end-effector frame and the tool frame (commonly a camera frame).
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 in vpRobotViper850, and vpRobotViper650.
Definition at line 1248 of file vpViper.cpp.
References vpHomogeneousMatrix::buildFrom(), vpViper::eMc, vpViper::erc, and vpViper::etc.
|
inlineinherited |
Set the pose between the object and the fixed world frame.
fMo_ | : The pose between the object and the fixed world frame. |
Definition at line 364 of file vpRobotWireFrameSimulator.h.
|
inlineprotectedinherited |
Definition at line 533 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::initialiseCameraRelativeToObject(), initialiseCameraRelativeToObject(), vpSimulatorAfma6::initialiseObjectRelativeToCamera(), initialiseObjectRelativeToCamera(), vpSimulatorAfma6::setPosition(), setPosition(), vpSimulatorAfma6::setVelocity(), setVelocity(), vpSimulatorAfma6::stopMotion(), and stopMotion().
|
inlineinherited |
Set the color used to display the camera in the external view.
col | : The desired color. |
Definition at line 268 of file vpRobotWireFrameSimulator.h.
void vpSimulatorViper850::setCameraParameters | ( | const vpCameraParameters & | cam | ) |
Set the intrinsic camera parameters.
cam | : The desired camera parameters. |
Definition at line 436 of file vpSimulatorViper850.cpp.
References vpCameraParameters::get_px(), vpCameraParameters::get_py(), vpWireFrameSimulator::px_int, and vpWireFrameSimulator::py_int.
Referenced by init().
|
inlineinherited |
Set the transformation between the camera frame and the object frame.
cMo_ | : The pose of the object in the camera frame. |
Definition at line 457 of file vpWireFrameSimulator.h.
References vpHomogeneousMatrix::inverse().
|
inlineinherited |
Set the position of the the world reference frame relative to the camera.
fMc_ | : The pose of the camera. |
Definition at line 469 of file vpWireFrameSimulator.h.
References vpHomogeneousMatrix::inverse().
|
inlineinherited |
Set the parameter which enables to choose the size of the main camera in the external camera views. By default this parameter is set to 1.
factor | : The ration for the camera size. |
Definition at line 481 of file vpWireFrameSimulator.h.
|
inlineinherited |
Set the color used to display the camera trajectory in the external view.
col | : The desired color. |
Definition at line 489 of file vpWireFrameSimulator.h.
|
inlineinherited |
Set the way to display the history of the main camera trajectory in the main external view. The choice is given between displaying lines and points.
camTraj_type | : The chosen way to display the camera trajectory. |
Definition at line 498 of file vpWireFrameSimulator.h.
|
inlineinherited |
Set the flag used to force the sampling time in the thread computing the robot's displacement to a constant value; see setSamplingTime(). It may be useful if the main thread (computing the features) is very time consuming. False by default.
_constantSamplingTimeMode | : The new value of the constantSamplingTimeMode flag. |
Definition at line 279 of file vpRobotWireFrameSimulator.h.
|
inlineinherited |
Set the color used to display the object at the current position in the robot's camera view.
col | : The desired color. |
Definition at line 290 of file vpRobotWireFrameSimulator.h.
|
inlineinherited |
Set the desired position of the robot's camera relative to the object.
cdMo_ | : The desired pose of the camera. |
Definition at line 305 of file vpRobotWireFrameSimulator.h.
References vpWireFrameSimulator::setDesiredCameraPosition().
|
inlineinherited |
Set the color used to display the object at the desired position in the robot's camera view.
col | : The desired color. |
Definition at line 298 of file vpRobotWireFrameSimulator.h.
|
inlineinherited |
Enable or disable the displaying of the camera trajectory in the main external camera view.
By default the trajectory is displayed.
do_display | : Set to true to display the camera trajectory. |
Definition at line 529 of file vpWireFrameSimulator.h.
|
inlineinherited |
Set the way to draw the robot. Depending on what you choose you can display a 3D wireframe model or a set of lines linking the frames used to compute the geometrical model.
dispType | : Type of display. Can be MODEL_3D or MODEL_DH. |
Definition at line 317 of file vpRobotWireFrameSimulator.h.
|
inlineinherited |
Set the internal camera parameters.
cam | : The desired camera parameters. |
Definition at line 536 of file vpWireFrameSimulator.h.
References vpCameraParameters::get_px(), and vpCameraParameters::get_py().
Referenced by vpSimulatorAfma6::initDisplay(), and initDisplay().
|
inlineinherited |
Set the external camera point of view.
camMf_ | : The pose of the external camera relative to the world reference frame. |
Definition at line 324 of file vpRobotWireFrameSimulator.h.
References vpWireFrameSimulator::setExternalCameraPosition().
Referenced by vpSimulatorAfma6::initDisplay(), and initDisplay().
|
inlineinherited |
Specify the thickness of the graphics drawings.
Definition at line 331 of file vpRobotWireFrameSimulator.h.
|
inlineinherited |
Set the internal camera parameters.
cam | : The desired camera parameters. |
Definition at line 567 of file vpWireFrameSimulator.h.
References vpCameraParameters::get_px(), and vpCameraParameters::get_py().
void vpSimulatorViper850::setJointLimit | ( | const vpColVector & | limitMin, |
const vpColVector & | limitMax | ||
) |
This method enables to set the minimum and maximum joint limits for all the six axis of the robot. All the values have to be given in radian.
limitMin | : The minimum joint limits are given in a vector of size 6. All the value must be in radian. |
limitMax | : The maximum joint limits are given in a vector of size 6. All the value must be in radian. |
Definition at line 1713 of file vpSimulatorViper850.cpp.
References vpArray2D< Type >::getRows(), vpViper::joint_max, vpViper::joint_min, and vpTRACE.
|
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().
|
inlineinherited |
Set the maximum number of main camera's positions which are stored. Those position can be displayed in the external camera field of view. By default this parameter is set to 1000.
nbPt | : The desired number of position which are saved. |
Definition at line 580 of file vpWireFrameSimulator.h.
|
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.
q | : 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 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 1269 of file vpSimulatorViper850.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpRobot::END_EFFECTOR_FRAME, vpRobotWireFrameSimulator::get_artCoord(), vpViper::get_fMc(), vpViper::getInverseKinematics(), vpRobot::getRobotState(), vpRobotException::lowLevelError, vpRobot::MIXT_FRAME, vpRobotException::positionOutOfRangeError, vpRobot::REFERENCE_FRAME, vpRobotWireFrameSimulator::set_artCoord(), vpRobotWireFrameSimulator::set_artVel(), vpRobotWireFrameSimulator::set_velocity(), vpRobotWireFrameSimulator::setVelocityCalled, vpRobot::STATE_POSITION_CONTROL, vpColVector::sumSquare(), vpRobotWireFrameSimulator::verbose_, and vpERROR_TRACE.
Referenced by move(), and setPosition().
void vpSimulatorViper850::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 overloads 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 not implemented. |
vpRobotException::positionOutOfRangeError | : The requested position is out of range. |
Definition at line 1455 of file vpSimulatorViper850.cpp.
References setPosition(), and vpERROR_TRACE.
void vpSimulatorViper850::setPosition | ( | const char * | 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 not implemented. |
vpRobotException::positionOutOfRangeError | : The requested position is out of range. |
Definition at line 1508 of file vpSimulatorViper850.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobotException::lowLevelError, readPosFile(), setPosition(), setRobotState(), vpRobot::STATE_POSITION_CONTROL, and vpERROR_TRACE.
|
inline |
Definition at line 263 of file vpSimulatorViper850.h.
References vpRobotWireFrameSimulator::computeArticularVelocity(), vpWireFrameSimulator::getExternalImage(), vpRobot::setRobotState(), and vpRobot::setVelocity().
|
protectedinherited |
Definition at line 207 of file vpRobot.cpp.
Referenced by vpSimulatorAfma6::init(), init(), vpSimulatorCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpSimulatorAfma6::setVelocity(), and setVelocity().
|
virtual |
Change the robot state.
newState | : New requested robot state. |
Reimplemented from vpRobot.
Definition at line 728 of file vpSimulatorViper850.cpp.
References vpRobot::getRobotState(), vpRobot::setRobotState(), vpRobot::STATE_ACCELERATION_CONTROL, vpRobot::STATE_POSITION_CONTROL, vpRobot::STATE_STOP, vpRobot::STATE_VELOCITY_CONTROL, and stopMotion().
Referenced by init(), move(), and setPosition().
|
inlinevirtualinherited |
Set the sampling time.
delta_t | : Sampling time in second used to compute the robot displacement from the velocity applied to the robot during this time. |
Since the wireframe simulator is threaded, the sampling time is set to vpTime::getMinTimeForUsleepCall() / 1000 seconds.
Reimplemented from vpRobotSimulator.
Definition at line 343 of file vpRobotWireFrameSimulator.h.
References vpTime::getMinTimeForUsleepCall().
Referenced by vpRobotWireFrameSimulator::vpRobotWireFrameSimulator().
|
inlineinherited |
Set the parameter which enable or disable the singularity mangement
Definition at line 352 of file vpRobotWireFrameSimulator.h.
|
inlineprotectedinherited |
Set the current tool type.
Definition at line 170 of file vpViper850.h.
Referenced by vpViper850::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. 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 835 of file vpSimulatorViper850.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpRobot::END_EFFECTOR_FRAME, vpRobot::getMaxRotationVelocity(), vpRobot::getMaxTranslationVelocity(), vpRobot::getRobotState(), vpArray2D< Type >::getRows(), vpRobotWireFrameSimulator::jointLimit, vpRobot::MIXT_FRAME, vpRobot::REFERENCE_FRAME, vpRobotWireFrameSimulator::set_velocity(), vpRobot::setRobotFrame(), vpRobotWireFrameSimulator::setVelocityCalled, vpRobot::STATE_VELOCITY_CONTROL, vpERROR_TRACE, and vpRobotException::wrongStateError.
|
inlineinherited |
Activates extra printings when the robot reaches joint limits...
Definition at line 357 of file vpRobotWireFrameSimulator.h.
|
protected |
Test to detect if the robot is near one of its singularities.
The goal is to avoid the problems du to such configurations.
Definition at line 1740 of file vpSimulatorViper850.cpp.
References vpViper::a1, vpViper::a2, vpViper::a3, and vpViper::d4.
Referenced by computeArticularVelocity().
void vpSimulatorViper850::stopMotion | ( | void | ) |
Stop the robot.
Definition at line 2156 of file vpSimulatorViper850.cpp.
References vpRobot::getRobotState(), vpRobotWireFrameSimulator::set_artVel(), vpRobotWireFrameSimulator::set_velocity(), vpRobot::setRobotState(), vpRobot::STATE_STOP, and vpRobot::STATE_VELOCITY_CONTROL.
Referenced by setRobotState().
|
protectedvirtual |
Method lauched by the thread to compute the position of the robot in the articular frame.
Implements vpRobotWireFrameSimulator.
Definition at line 447 of file vpSimulatorViper850.cpp.
References vpRobotWireFrameSimulator::cameraParam, compute_fMi(), computeArticularVelocity(), vpRobotWireFrameSimulator::constantSamplingTimeMode, vpMeterPixelConversion::convertPoint(), vpMath::deg(), vpDisplay::display(), vpRobotWireFrameSimulator::displayAllowed, vpDisplay::displayCamera(), vpDisplay::displayFrame(), vpDisplay::displayLine(), vpRobotWireFrameSimulator::displayType, vpDisplay::flush(), vpRobotWireFrameSimulator::fMi, vpRobotWireFrameSimulator::get_artCoord(), vpRobotWireFrameSimulator::get_artVel(), vpRobotWireFrameSimulator::get_displayBusy(), get_fMi(), vpPoint::get_x(), vpPoint::get_y(), vpRobotWireFrameSimulator::getExternalCameraPosition(), getExternalImage(), vpTime::getMinTimeForUsleepCall(), vpRobotSimulator::getSamplingTime(), vpColor::green, vpRobotWireFrameSimulator::I, isInJointLimit(), vpViper::joint_max, vpViper::joint_min, vpRobotWireFrameSimulator::jointLimit, vpRobotWireFrameSimulator::jointLimitArt, vpTime::measureTimeMs(), vpRobotWireFrameSimulator::MODEL_3D, vpRobotWireFrameSimulator::MODEL_DH, vpColor::none, vpRobotWireFrameSimulator::robotStop, vpRobotWireFrameSimulator::set_artCoord(), vpRobotWireFrameSimulator::set_artVel(), vpRobotWireFrameSimulator::set_displayBusy(), vpRobotWireFrameSimulator::setVelocityCalled, vpRobotWireFrameSimulator::tcur, vpWireFrameSimulator::thickness_, vpRobotWireFrameSimulator::tprev, vpForwardProjection::track(), vpRobotWireFrameSimulator::verbose_, and vpTime::wait().
|
protectedinherited |
Definition at line 163 of file vpViper.h.
Referenced by compute_fMi(), vpViper::get_fJw(), vpViper::get_fMe(), vpViper::get_fMw(), vpViper::getInverseKinematicsWrist(), singularityTest(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
protectedinherited |
for joint 2
Definition at line 164 of file vpViper.h.
Referenced by compute_fMi(), vpViper::get_fJw(), vpViper::get_fMe(), vpViper::get_fMw(), vpViper::getInverseKinematicsWrist(), singularityTest(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
protectedinherited |
for joint 3
Definition at line 165 of file vpViper.h.
Referenced by compute_fMi(), vpViper::get_fJw(), vpViper::get_fMe(), vpViper::get_fMw(), vpViper::getInverseKinematicsWrist(), 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 |
The articular coordinates
Definition at line 115 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::init(), and init().
|
protectedinherited |
The articular velocity
Definition at line 117 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::init(), and init().
|
protectedinherited |
Definition at line 130 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::vpSimulatorAfma6(), vpSimulatorViper850(), vpSimulatorAfma6::~vpSimulatorAfma6(), and ~vpSimulatorViper850().
|
protectedinherited |
Definition at line 255 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::navigation().
|
protectedinherited |
Definition at line 252 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::navigation().
|
protectedinherited |
Definition at line 254 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::navigation().
|
protectedinherited |
Definition at line 253 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::navigation().
|
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().
|
protectedinherited |
Definition at line 236 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), and vpWireFrameSimulator::getExternalImage().
|
protectedinherited |
Definition at line 223 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), vpWireFrameSimulator::getExternalImage(), vpSimulatorAfma6::initArms(), initArms(), vpRobotWireFrameSimulator::initScene(), vpWireFrameSimulator::initScene(), vpWireFrameSimulator::vpWireFrameSimulator(), and vpWireFrameSimulator::~vpWireFrameSimulator().
|
protectedinherited |
Definition at line 270 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::initArms(), initArms(), and vpWireFrameSimulator::initScene().
|
protectedinherited |
External camera parameters
Definition at line 150 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::initDisplay(), initDisplay(), vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
protectedinherited |
Definition at line 244 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getExternalImage(), and vpWireFrameSimulator::~vpWireFrameSimulator().
|
protectedinherited |
Definition at line 228 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), vpWireFrameSimulator::getExternalImage(), vpWireFrameSimulator::getInternalImage(), and vpWireFrameSimulator::projectCameraTrajectory().
|
protectedinherited |
Definition at line 257 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), and vpWireFrameSimulator::getExternalImage().
|
protectedinherited |
Definition at line 237 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::displayTrajectory(), and vpWireFrameSimulator::getExternalImage().
|
protectedinherited |
Definition at line 272 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::displayTrajectory(), and vpWireFrameSimulator::getExternalImage().
|
protectedinherited |
Definition at line 231 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getInternalImage(), and vpRobotWireFrameSimulator::getInternalView().
|
protectedinherited |
Definition at line 230 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getExternalImage(), vpWireFrameSimulator::getInternalImage(), and vpRobotWireFrameSimulator::getInternalView().
|
staticinherited |
Definition at line 117 of file vpViper850.h.
Referenced by vpViper850::getCameraParameters().
|
staticinherited |
Definition at line 116 of file vpViper850.h.
Referenced by vpViper850::init().
|
staticinherited |
Definition at line 115 of file vpViper850.h.
Referenced by vpViper850::init().
|
staticinherited |
Definition at line 110 of file vpViper850.h.
Referenced by vpViper850::init().
|
staticinherited |
Files where constant tranformation between end-effector and camera frame are stored.
Definition at line 109 of file vpViper850.h.
Referenced by vpViper850::init().
|
staticinherited |
Definition at line 112 of file vpViper850.h.
Referenced by vpViper850::init().
|
staticinherited |
Definition at line 111 of file vpViper850.h.
Referenced by vpViper850::init().
|
staticinherited |
Definition at line 114 of file vpViper850.h.
Referenced by vpViper850::init().
|
staticinherited |
Definition at line 113 of file vpViper850.h.
Referenced by vpViper850::init().
|
staticinherited |
Definition at line 125 of file vpViper850.h.
Referenced by vpViper850::getCameraParameters().
|
staticinherited |
Name of the camera attached to the end-effector.
Definition at line 122 of file vpViper850.h.
Referenced by vpViper850::getCameraParameters(), and getCameraParameters().
|
staticinherited |
Definition at line 123 of file vpViper850.h.
Referenced by vpViper850::getCameraParameters(), and getCameraParameters().
|
staticinherited |
Definition at line 124 of file vpViper850.h.
Referenced by vpViper850::getCameraParameters().
|
protectedinherited |
Flag used to force the sampling time in the thread computing the robot's displacement to a constant value (samplingTime). It may be useful if the main thread (computing the features) is very time consumming. False by default.
Definition at line 171 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
protectedinherited |
Definition at line 238 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), vpWireFrameSimulator::getExternalImage(), vpWireFrameSimulator::getInternalImage(), and vpRobotWireFrameSimulator::getInternalView().
|
protectedinherited |
for joint 1
Definition at line 163 of file vpViper.h.
Referenced by 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 compute_fMi(), vpViper::get_fJw(), vpViper::get_fMe(), vpViper::get_fMw(), vpViper::getInverseKinematicsWrist(), singularityTest(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
protectedinherited |
for joint 6
Definition at line 167 of file vpViper.h.
Referenced by 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().
|
static |
Definition at line 205 of file vpSimulatorViper850.h.
Referenced by init().
|
staticinherited |
Default tool attached to the robot end effector.
Definition at line 137 of file vpViper850.h.
Referenced by vpViper850::init(), init(), and vpRobotViper850::init().
|
protectedinherited |
Definition at line 65 of file vpRobotSimulator.h.
Referenced by vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), and vpSimulatorPioneerPan::setVelocity().
|
protectedinherited |
Definition at line 239 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getInternalImage(), and vpRobotWireFrameSimulator::getInternalView().
|
protectedinherited |
Definition at line 234 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getInternalImage(), vpRobotWireFrameSimulator::getInternalView(), and vpWireFrameSimulator::initScene().
|
protectedinherited |
|
protectedinherited |
Definition at line 153 of file vpRobotWireFrameSimulator.h.
Referenced by vpRobotWireFrameSimulator::vpRobotWireFrameSimulator().
|
protectedinherited |
Definition at line 166 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
protectedinherited |
Definition at line 138 of file vpRobotWireFrameSimulator.h.
|
protectedinherited |
Definition at line 267 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), vpWireFrameSimulator::getExternalImage(), vpSimulatorAfma6::initArms(), initArms(), vpRobotWireFrameSimulator::initScene(), vpWireFrameSimulator::initScene(), and vpWireFrameSimulator::~vpWireFrameSimulator().
|
protectedinherited |
Definition at line 243 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getExternalImage().
|
protectedinherited |
Definition at line 266 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getInternalImage(), vpRobotWireFrameSimulator::getInternalView(), vpWireFrameSimulator::initScene(), and vpWireFrameSimulator::~vpWireFrameSimulator().
|
protectedinherited |
Definition at line 268 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getExternalImage(), vpWireFrameSimulator::getInternalImage(), and vpWireFrameSimulator::initScene().
|
protectedinherited |
Definition at line 265 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), vpWireFrameSimulator::getExternalImage(), vpWireFrameSimulator::getInternalImage(), vpRobotWireFrameSimulator::getInternalView(), vpWireFrameSimulator::initScene(), and vpWireFrameSimulator::~vpWireFrameSimulator().
|
protectedinherited |
Definition at line 164 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
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 computeArticularVelocity(), vpViper::get_cMe(), vpViper::get_eMc(), vpViper::get_fMc(), getVelocity(), vpViper650::init(), vpViper850::init(), init(), vpViper::set_eMc(), and vpViper::vpViper().
|
protectedinherited |
Definition at line 160 of file vpViper.h.
Referenced by vpViper650::init(), vpViper850::init(), init(), vpRobotViper650::init(), vpRobotViper850::init(), vpViper::set_eMc(), vpRobotViper650::set_eMc(), and vpRobotViper850::set_eMc().
|
protectedinherited |
Definition at line 159 of file vpViper.h.
Referenced by vpViper650::init(), vpViper850::init(), init(), vpRobotViper650::init(), vpRobotViper850::init(), vpViper::set_eMc(), vpRobotViper650::set_eMc(), and vpRobotViper850::set_eMc().
|
protectedinherited |
Definition at line 274 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getExternalImage().
|
protectedinherited |
Definition at line 258 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), and vpWireFrameSimulator::getExternalImage().
|
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 227 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getExternalImage().
|
protectedinherited |
Table containing all the homogeneous matrices between the reference frame of the robot and the frames you used to compute the Denavit-Hartenberg representation
If you use a camera at the end of the effector, the last homogeneous matrix has to be the one between the reference frame and the camera frame (fMc)
Definition at line 112 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::compute_fMi(), compute_fMi(), vpSimulatorAfma6::init(), init(), vpSimulatorAfma6::updateArticularPosition(), updateArticularPosition(), vpSimulatorAfma6::~vpSimulatorAfma6(), and ~vpSimulatorViper850().
|
protectedinherited |
Definition at line 226 of file vpWireFrameSimulator.h.
Referenced by vpRobotWireFrameSimulator::get_cMo(), vpRobotWireFrameSimulator::get_fMo(), vpSimulatorAfma6::getExternalImage(), getExternalImage(), vpWireFrameSimulator::getExternalImage(), vpWireFrameSimulator::getInternalImage(), vpRobotWireFrameSimulator::getInternalView(), vpSimulatorAfma6::initialiseCameraRelativeToObject(), initialiseCameraRelativeToObject(), vpSimulatorAfma6::initialiseObjectRelativeToCamera(), and initialiseObjectRelativeToCamera().
|
protectedinherited |
Definition at line 246 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getExternalImage(), and vpWireFrameSimulator::~vpWireFrameSimulator().
Definition at line 91 of file vpRobotWireFrameSimulator.h.
Referenced by vpRobotWireFrameSimulator::getInternalView(), vpSimulatorAfma6::updateArticularPosition(), updateArticularPosition(), and vpRobotWireFrameSimulator::vpRobotWireFrameSimulator().
|
protectedinherited |
Definition at line 172 of file vpViper.h.
Referenced by vpViper::getForwardKinematics(), vpViper::getJointMax(), init(), vpRobotViper650::init(), vpRobotViper850::init(), isInJointLimit(), setJointLimit(), updateArticularPosition(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
protectedinherited |
Definition at line 173 of file vpViper.h.
Referenced by vpViper::getForwardKinematics(), vpViper::getJointMin(), init(), vpRobotViper650::init(), vpRobotViper850::init(), isInJointLimit(), setJointLimit(), updateArticularPosition(), vpViper::vpViper(), vpViper650::vpViper650(), and vpViper850::vpViper850().
|
protectedinherited |
True if one of the joint reach the limit
Definition at line 143 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), computeArticularVelocity(), vpSimulatorAfma6::setVelocity(), setVelocity(), vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
protectedinherited |
Index of the joint which is in limit
Definition at line 145 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
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::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 |
Definition at line 133 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::vpSimulatorAfma6(), vpSimulatorViper850(), vpSimulatorAfma6::~vpSimulatorAfma6(), and ~vpSimulatorViper850().
|
protectedinherited |
Definition at line 132 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::vpSimulatorAfma6(), vpSimulatorViper850(), vpSimulatorAfma6::~vpSimulatorAfma6(), and ~vpSimulatorViper850().
|
protectedinherited |
Definition at line 135 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::vpSimulatorAfma6(), vpSimulatorViper850(), vpSimulatorAfma6::~vpSimulatorAfma6(), and ~vpSimulatorViper850().
|
protectedinherited |
Definition at line 131 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::compute_fMi(), compute_fMi(), vpSimulatorAfma6::vpSimulatorAfma6(), vpSimulatorViper850(), vpSimulatorAfma6::~vpSimulatorAfma6(), and ~vpSimulatorViper850().
|
protectedinherited |
Definition at line 134 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::vpSimulatorAfma6(), vpSimulatorViper850(), vpSimulatorAfma6::~vpSimulatorAfma6(), and ~vpSimulatorViper850().
|
protectedinherited |
Definition at line 247 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getExternalImage().
|
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 vpRobotViper650::get_eJe(), vpRobotViper850::get_eJe(), vpRobotViper650::get_fJe(), vpRobotViper850::get_fJe(), vpRobotViper650::getDisplacement(), vpRobotViper850::getDisplacement(), vpViper::getInverseKinematicsWrist(), vpRobotViper650::getPosition(), vpRobotViper850::getPosition(), init(), readPosFile(), vpRobotViper650::readPosFile(), vpRobotViper850::readPosFile(), vpRobotViper650::setPosition(), vpRobotViper850::setPosition(), vpRobotViper650::setVelocity(), vpRobotViper850::setVelocity(), and vpViper::vpViper().
|
protectedinherited |
Definition at line 233 of file vpWireFrameSimulator.h.
|
protectedinherited |
Definition at line 224 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getExternalImage(), vpWireFrameSimulator::getInternalImage(), and vpWireFrameSimulator::initScene().
|
protectedinherited |
Definition at line 249 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::navigation(), and vpWireFrameSimulator::vpWireFrameSimulator().
|
protectedinherited |
Definition at line 251 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::navigation(), and vpWireFrameSimulator::vpWireFrameSimulator().
|
protectedinherited |
Definition at line 250 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::navigation(), and vpWireFrameSimulator::vpWireFrameSimulator().
|
protectedinherited |
Definition at line 245 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getExternalImage(), and vpWireFrameSimulator::~vpWireFrameSimulator().
|
protectedinherited |
Definition at line 177 of file vpViper850.h.
Referenced by vpViper850::getCameraParameters(), vpViper850::init(), and init().
|
protectedinherited |
Definition at line 262 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), and vpWireFrameSimulator::getExternalImage().
|
protectedinherited |
Definition at line 260 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getCameraParameters(), getCameraParameters(), vpWireFrameSimulator::getInternalImage(), vpRobotWireFrameSimulator::getInternalView(), vpSimulatorAfma6::initDisplay(), initDisplay(), vpSimulatorAfma6::setCameraParameters(), and setCameraParameters().
|
protectedinherited |
Definition at line 263 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), and vpWireFrameSimulator::getExternalImage().
|
protectedinherited |
Definition at line 261 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getCameraParameters(), getCameraParameters(), vpWireFrameSimulator::getInternalImage(), vpRobotWireFrameSimulator::getInternalView(), vpSimulatorAfma6::initDisplay(), initDisplay(), vpSimulatorAfma6::setCameraParameters(), and setCameraParameters().
|
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 |
Definition at line 229 of file vpWireFrameSimulator.h.
|
protectedinherited |
Contains the 3D model of the robot's arms
Definition at line 102 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), vpSimulatorAfma6::init(), vpSimulatorAfma6::initArms(), initArms(), vpSimulatorAfma6::initDisplay(), initDisplay(), vpSimulatorAfma6::~vpSimulatorAfma6(), and ~vpSimulatorViper850().
|
protectedinherited |
True if the robot has to be stopped
Definition at line 141 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::updateArticularPosition(), updateArticularPosition(), vpSimulatorAfma6::~vpSimulatorAfma6(), and ~vpSimulatorViper850().
|
protectedinherited |
Definition at line 276 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::displayTrajectory(), vpWireFrameSimulator::getExternalImage(), vpWireFrameSimulator::getInternalImage(), vpRobotWireFrameSimulator::getInternalView(), vpWireFrameSimulator::projectCameraTrajectory(), and vpWireFrameSimulator::vpWireFrameSimulator().
|
protectedinherited |
Definition at line 221 of file vpWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::getExternalImage(), getExternalImage(), vpWireFrameSimulator::getExternalImage(), vpWireFrameSimulator::getInternalImage(), vpRobotWireFrameSimulator::getInternalView(), vpWireFrameSimulator::initScene(), vpWireFrameSimulator::vpWireFrameSimulator(), and vpWireFrameSimulator::~vpWireFrameSimulator().
|
protectedinherited |
Definition at line 241 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::getInternalImage(), vpRobotWireFrameSimulator::getInternalView(), vpSimulatorAfma6::initDisplay(), initDisplay(), vpWireFrameSimulator::initScene(), and vpWireFrameSimulator::~vpWireFrameSimulator().
|
protectedinherited |
Flag used to specify to the thread managing the robot displacements that the setVelocity() method has been called.
Definition at line 175 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::setPosition(), setPosition(), vpSimulatorAfma6::setVelocity(), setVelocity(), vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
protectedinherited |
True if the singularity are automatically managed
Definition at line 147 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), and computeArticularVelocity().
|
protectedinherited |
Size of the fMi table
Definition at line 105 of file vpRobotWireFrameSimulator.h.
Referenced by vpRobotWireFrameSimulator::get_cMo(), vpRobotWireFrameSimulator::getInternalView(), vpSimulatorAfma6::init(), and init().
|
protectedinherited |
cpu time at the begining of the robot's movement
Definition at line 97 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::updateArticularPosition(), updateArticularPosition(), vpSimulatorAfma6::vpSimulatorAfma6(), and vpSimulatorViper850().
|
protectedinherited |
Definition at line 278 of file vpWireFrameSimulator.h.
Referenced by vpWireFrameSimulator::display_scene(), vpWireFrameSimulator::displayTrajectory(), vpWireFrameSimulator::getExternalImage(), vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
protectedinherited |
Definition at line 129 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::vpSimulatorAfma6(), vpSimulatorViper850(), vpSimulatorAfma6::~vpSimulatorAfma6(), and ~vpSimulatorViper850().
|
protectedinherited |
Current tool in use.
Definition at line 170 of file vpViper850.h.
|
protectedinherited |
cpu time at the end of the last robot's movement
Definition at line 99 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().
|
protectedinherited |
The velocity in the current frame (articular, camera or reference)
Definition at line 119 of file vpRobotWireFrameSimulator.h.
Referenced by vpRobotWireFrameSimulator::vpRobotWireFrameSimulator().
|
protectedinherited |
Definition at line 177 of file vpRobotWireFrameSimulator.h.
Referenced by vpSimulatorAfma6::initialiseCameraRelativeToObject(), initialiseCameraRelativeToObject(), vpSimulatorAfma6::setPosition(), setPosition(), vpSimulatorAfma6::updateArticularPosition(), and updateArticularPosition().