Visual Servoing Platform
version 3.3.0 under development (2020-02-17)
|
#include <visp3/robot/vpRobotBiclops.h>
Public Types | |
enum | DenavitHartenbergModel { DH1, DH2 } |
enum | vpRobotStateType { STATE_STOP, STATE_VELOCITY_CONTROL, STATE_POSITION_CONTROL, STATE_ACCELERATION_CONTROL, STATE_FORCE_TORQUE_CONTROL } |
enum | vpControlFrameType { REFERENCE_FRAME, ARTICULAR_FRAME, JOINT_STATE = ARTICULAR_FRAME, END_EFFECTOR_FRAME, CAMERA_FRAME, TOOL_FRAME = CAMERA_FRAME, MIXT_FRAME } |
Static Public Member Functions | |
static void * | vpRobotBiclopsSpeedControlLoop (void *arg) |
Static Public Member Functions inherited from vpRobot | |
static vpColVector | saturateVelocities (const vpColVector &v_in, const vpColVector &v_max, bool verbose=false) |
Static Public Attributes | |
static const double | defaultPositioningVelocity = 10.0 |
static const unsigned int | ndof = 2 |
static const float | h = 0.048f |
static const float | panJointLimit = (float)(M_PI) |
static const float | tiltJointLimit = (float)(M_PI / 4.5) |
static const float | speedLimit = (float)(M_PI / 3.0) |
Protected Member Functions | |
Protected Member Functions Inherited from vpRobot | |
vpControlFrameType | setRobotFrame (vpRobot::vpControlFrameType newFrame) |
vpControlFrameType | getRobotFrame (void) const |
Protected Attributes | |
DenavitHartenbergModel | dh_model_ |
vpHomogeneousMatrix | cMe_ |
double | maxTranslationVelocity |
double | maxRotationVelocity |
int | nDof |
vpMatrix | eJe |
int | eJeAvailable |
vpMatrix | fJe |
int | fJeAvailable |
int | areJointLimitsAvailable |
double * | qmin |
double * | qmax |
bool | verbose_ |
Static Protected Attributes | |
static const double | maxTranslationVelocityDefault = 0.2 |
static const double | maxRotationVelocityDefault = 0.7 |
Interface for the biclops, pan, tilt head control.
See http://www.traclabs.com/biclopspt.html for more details.
This class provide a position and a speed control interface for the biclops head. To manage the biclops joint limits in speed control, a control loop is running in a seperate thread implemented in vpRobotBiclopsSpeedControlLoop().
The control of the head is done by vpRobotBiclopsController class.
Definition at line 94 of file vpRobotBiclops.h.
|
inherited |
Two different Denavit Hartenberg representations of the robot are implemented. They differ in the orientation of the tilt axis.
The first representation, vpBiclops::DH1 is given by:
The second one, vpBiclops::DH2 is given by:
where are respectively the pan and tilt joint positions.
In those representations, the pan is oriented from left to right, while the tilt is oriented
Enumerator | |
---|---|
DH1 | First Denavit Hartenberg representation. |
DH2 | Second Denavit Hartenberg representation. |
Definition at line 120 of file vpBiclops.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 |
Robot control states.
vpRobotBiclops::vpRobotBiclops | ( | ) |
Default constructor.
Does nothing more than setting the default configuration file to /usr/share/BiclopsDefault.cfg
.
As shown in the following example, the turret need to be initialized using init() function.
Definition at line 112 of file vpRobotBiclops.cpp.
References setConfigFile(), and vpDEBUG_TRACE.
|
explicit |
Constructor that initialize the biclops pan, tilt head by reading the configuration file provided by Traclabs and do the homing sequence.
The following example shows how to use the constructor.
Definition at line 159 of file vpRobotBiclops.cpp.
References init(), setConfigFile(), and vpDEBUG_TRACE.
|
virtual |
Destructor. Wait the end of the control thread.
Definition at line 185 of file vpRobotBiclops.cpp.
References setRobotState(), vpRobot::STATE_STOP, vpCERROR, and vpDEBUG_TRACE.
|
inherited |
Compute the direct geometric model of the camera: fMc
q | : Articular position for pan and tilt axis. |
fMc | : Homogeneous matrix corresponding to the direct geometric model of the camera. Describes the transformation between the robot reference frame (called fixed) and the camera frame. |
Definition at line 75 of file vpBiclops.cpp.
References vpBiclops::cMe_, vpBiclops::get_fMe(), vpHomogeneousMatrix::inverse(), and vpCDEBUG.
Referenced by vpBiclops::computeMGD().
|
inherited |
Return the direct geometric model of the camera: fMc
q | : Articular position for pan and tilt axis. |
Definition at line 119 of file vpBiclops.cpp.
References vpBiclops::computeMGD().
|
inherited |
Compute the direct geometric model of the camera in terms of pose vector.
q | : Articular position for pan and tilt axis. |
fvc | : Pose vector corresponding to the transformation between the robot reference frame (called fixed) and the camera frame. |
Definition at line 233 of file vpBiclops.cpp.
References vpPoseVector::buildFrom(), vpBiclops::get_fMc(), and vpHomogeneousMatrix::inverse().
void vpRobotBiclops::get_cMe | ( | vpHomogeneousMatrix & | cMe | ) | const |
Get the homogeneous matrix corresponding to the transformation between the camera frame and the end effector frame. The end effector frame is located on the tilt axis.
cMe | : Homogeneous matrix between camera and end effector frame. |
Definition at line 630 of file vpRobotBiclops.cpp.
References vpBiclops::get_cMe().
|
inlineinherited |
Return the tranformation between the camera frame and the end effector frame.
Definition at line 157 of file vpBiclops.h.
void vpRobotBiclops::get_cVe | ( | vpVelocityTwistMatrix & | cVe | ) | const |
Get the twist matrix corresponding to the transformation between the camera frame and the end effector frame. The end effector frame is located on the tilt axis.
cVe | : Twist transformation between camera and end effector frame to expess a velocity skew from end effector frame in camera frame. |
Definition at line 613 of file vpRobotBiclops.cpp.
References vpVelocityTwistMatrix::buildFrom(), and vpBiclops::get_cMe().
|
virtual |
Get the robot jacobian expressed in the end-effector frame.
_eJe | : Jacobian between end effector frame and end effector frame (on tilt axis). |
Implements vpRobot.
Definition at line 642 of file vpRobotBiclops.cpp.
References vpRobot::ARTICULAR_FRAME, vpBiclops::get_eJe(), getPosition(), and vpERROR_TRACE.
|
inherited |
Get the robot jacobian expressed in the end-effector frame.
q | : Articular position for pan and tilt axis. |
eJe | : Jacobian between end effector frame and end effector frame (on tilt axis). |
Definition at line 360 of file vpBiclops.cpp.
References vpBiclops::DH1, vpBiclops::dh_model_, vpException::dimensionError, vpArray2D< Type >::getRows(), vpArray2D< Type >::resize(), and vpERROR_TRACE.
Referenced by get_eJe().
|
virtual |
Get the robot jacobian expressed in the robot reference frame
_fJe | : Jacobian between reference frame (or fix frame) and end effector frame (on tilt axis). |
Implements vpRobot.
Definition at line 662 of file vpRobotBiclops.cpp.
References vpRobot::ARTICULAR_FRAME, vpBiclops::get_fJe(), getPosition(), and vpERROR_TRACE.
|
inherited |
Get the robot jacobian expressed in the robot reference frame
q | : Articular position for pan and tilt axis. |
fJe | : Jacobian between reference frame (or fix frame) and end effector frame (on tilt axis). |
Definition at line 394 of file vpBiclops.cpp.
References vpBiclops::DH1, vpBiclops::dh_model_, vpException::dimensionError, vpArray2D< Type >::getRows(), vpArray2D< Type >::resize(), and vpERROR_TRACE.
Referenced by get_fJe().
|
inherited |
Compute the direct geometric model of the camera: fMc
q | : Articular position for pan and tilt axis. |
fMc | : Homogeneous matrix corresponding to the direct geometric model of the camera. Describes the transformation between the robot reference frame (called fixed) and the camera frame. |
Definition at line 95 of file vpBiclops.cpp.
References vpBiclops::cMe_, vpBiclops::get_fMe(), vpHomogeneousMatrix::inverse(), and vpCDEBUG.
Referenced by vpBiclops::computeMGD(), vpBiclops::get_fMc(), and getDisplacement().
|
inherited |
Compute the direct geometric model of the camera in terms of pose vector.
q | : Articular position for pan and tilt axis. |
fvc | : Pose vector corresponding to the transformation between the robot reference frame (called fixed) and the camera frame. |
Definition at line 253 of file vpBiclops.cpp.
References vpPoseVector::buildFrom(), vpBiclops::get_fMc(), and vpHomogeneousMatrix::inverse().
|
inherited |
Return the direct geometric model of the camera: fMc
q | : Articular position for pan and tilt axis. |
Definition at line 138 of file vpBiclops.cpp.
References vpBiclops::get_fMc().
|
inherited |
Return the direct geometric model of the end effector: fMe
q | : Articular position for pan and tilt axis. |
Definition at line 157 of file vpBiclops.cpp.
References vpBiclops::DH1, vpBiclops::dh_model_, vpException::dimensionError, vpArray2D< Type >::getRows(), and vpERROR_TRACE.
Referenced by vpBiclops::computeMGD(), and vpBiclops::get_fMc().
|
inlineinherited |
Return the Denavit Hartenberg representation used to model the head.
Definition at line 172 of file vpBiclops.h.
|
virtual |
Get the robot displacement since the last call of this method.
frame | The frame in which the measured displacement is expressed. |
d | The displacement: |
vpRobotException::wrongStateError | If a not supported frame type is given. |
Implements vpRobot.
Definition at line 1210 of file vpRobotBiclops.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpRobot::END_EFFECTOR_FRAME, vpBiclops::get_fMc(), getPosition(), vpExponentialMap::inverse(), vpHomogeneousMatrix::inverse(), vpRobot::MIXT_FRAME, vpBiclops::ndof, vpRobot::REFERENCE_FRAME, vpColVector::resize(), and vpRobotException::wrongStateError.
|
inherited |
Get the maximal rotation velocity that can be sent to the robot during a velocity control.
Definition at line 273 of file vpRobot.cpp.
References vpRobot::maxRotationVelocity.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), vpSimulatorViper850::computeArticularVelocity(), vpSimulatorAfma6::findHighestPositioningSpeed(), vpSimulatorViper850::findHighestPositioningSpeed(), vpSimulatorAfma6::setPosition(), vpRobotTemplate::setVelocity(), vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpRobotPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpRobotFlirPtu::setVelocity(), vpSimulatorAfma6::setVelocity(), vpSimulatorViper850::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(), vpRobotFlirPtu::setVelocity(), vpSimulatorAfma6::setVelocity(), vpSimulatorViper850::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotFranka::setVelocity(), vpRobotViper650::setVelocity(), and vpRobotViper850::setVelocity().
|
virtual |
Return the position of each axis.
frame | : Control frame. This biclops head can only be controlled in articular. |
q | : The position of the axis in radians. |
vpRobotException::wrongStateError | : If a not supported frame type is given. |
Implements vpRobot.
Definition at line 829 of file vpRobotBiclops.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpRobot::END_EFFECTOR_FRAME, vpRobot::getRobotState(), vpRobot::MIXT_FRAME, vpBiclops::ndof, vpRobot::REFERENCE_FRAME, vpColVector::resize(), vpRobot::STATE_ACCELERATION_CONTROL, vpRobot::STATE_POSITION_CONTROL, vpRobot::STATE_STOP, vpRobot::STATE_VELOCITY_CONTROL, vpColVector::t(), vpCDEBUG, vpDEBUG_TRACE, and vpRobotException::wrongStateError.
Referenced by get_eJe(), get_fJe(), and getDisplacement().
|
inherited |
Return the current robot position in the specified frame.
Definition at line 216 of file vpRobot.cpp.
References vpRobot::getPosition().
double vpRobotBiclops::getPositioningVelocity | ( | void | ) |
Get the velocity in % used for a position control.
Definition at line 698 of file vpRobotBiclops.cpp.
|
inlineprotectedinherited |
Definition at line 172 of file vpRobot.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), and vpSimulatorViper850::computeArticularVelocity().
|
inlinevirtualinherited |
Definition at line 144 of file vpRobot.h.
Referenced by getPosition(), getVelocity(), vpRobotPtu46::setPosition(), setPosition(), vpSimulatorCamera::setPosition(), vpRobotCamera::setPosition(), vpSimulatorAfma6::setPosition(), vpRobotAfma4::setPosition(), vpSimulatorViper850::setPosition(), vpRobotAfma6::setPosition(), vpRobotFranka::setPosition(), vpRobotViper650::setPosition(), vpRobotViper850::setPosition(), vpRobotPtu46::setRobotState(), setRobotState(), vpRobotFlirPtu::setRobotState(), vpSimulatorAfma6::setRobotState(), vpSimulatorViper850::setRobotState(), vpRobotAfma4::setRobotState(), vpRobotAfma6::setRobotState(), vpRobotFranka::setRobotState(), vpRobotViper650::setRobotState(), vpRobotViper850::setRobotState(), vpRobotTemplate::setVelocity(), vpRobotPtu46::setVelocity(), setVelocity(), vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpRobotFlirPtu::setVelocity(), vpSimulatorAfma6::setVelocity(), vpSimulatorViper850::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotFranka::setVelocity(), vpRobotViper650::setVelocity(), vpRobotViper850::setVelocity(), vpRobotFlirPtu::stopMotion(), vpSimulatorAfma6::stopMotion(), vpSimulatorViper850::stopMotion(), vpRobotFranka::stopMotion(), vpRobotViper650::stopMotion(), and vpRobotViper850::stopMotion().
void vpRobotBiclops::getVelocity | ( | const vpRobot::vpControlFrameType | frame, |
vpColVector & | q_dot | ||
) |
Get the articular velocity.
frame | : Control frame. This head can only be controlled in articular. |
q_dot | : The measured articular velocity in rad/s. |
vpRobotException::wrongStateError | : If a not supported frame type is given. |
Definition at line 1029 of file vpRobotBiclops.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpRobot::END_EFFECTOR_FRAME, vpRobot::getRobotState(), vpRobot::MIXT_FRAME, vpBiclops::ndof, vpRobot::REFERENCE_FRAME, vpColVector::resize(), vpRobot::STATE_ACCELERATION_CONTROL, vpRobot::STATE_POSITION_CONTROL, vpRobot::STATE_STOP, vpRobot::STATE_VELOCITY_CONTROL, vpColVector::t(), vpCDEBUG, vpDEBUG_TRACE, and vpRobotException::wrongStateError.
Referenced by getVelocity().
vpColVector vpRobotBiclops::getVelocity | ( | const vpRobot::vpControlFrameType | frame | ) |
Return the articular velocity.
frame | : Control frame. This head can only be controlled in articular. |
vpRobotException::wrongStateError | : If a not supported frame type is given. |
Definition at line 1103 of file vpRobotBiclops.cpp.
References getVelocity().
|
virtual |
Set the Biclops config filename. Check if the config file exists and initialize the head.
vpRobotException::constructionError | If the config file cannot be oppened. |
Implements vpRobot.
Definition at line 238 of file vpRobotBiclops.cpp.
References vpRobotException::constructionError, vpBiclops::ndof, vpColVector::resize(), setRobotState(), vpRobot::STATE_STOP, vpCERROR, and vpERROR_TRACE.
Referenced by vpRobotBiclops().
bool vpRobotBiclops::readPositionFile | ( | const std::string & | filename, |
vpColVector & | q | ||
) |
Get an articular position from the position file.
filename | : Position file. |
q | : The articular position read in the file. |
Definition at line 1130 of file vpRobotBiclops.cpp.
References vpColVector::deg2rad(), vpBiclops::ndof, vpColVector::resize(), and vpIoTools::splitChain().
Referenced by 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(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotFranka::setVelocity(), vpRobotViper650::setVelocity(), and vpRobotViper850::setVelocity().
|
inherited |
Set the default homogeneous matrix corresponding to the transformation between the camera frame and the end effector frame. The end effector frame is located on the tilt axis.
Definition at line 321 of file vpBiclops.cpp.
References vpBiclops::cMe_, vpBiclops::h, and vpHomogeneousMatrix::inverse().
Referenced by vpBiclops::init().
|
inlineinherited |
Set the transformation between the camera frame and the end effector frame.
Definition at line 179 of file vpBiclops.h.
void vpRobotBiclops::setConfigFile | ( | const std::string & | filename = "/usr/share/BiclopsDefault.cfg" | ) |
Set the Biclops config filename.
Definition at line 227 of file vpRobotBiclops.cpp.
Referenced by vpRobotBiclops().
|
inlineinherited |
Set the Denavit Hartenberg representation used to model the head.
Definition at line 185 of file vpBiclops.h.
|
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().
|
virtual |
Move the robot in position control.
frame | : Control frame. This biclops head can only be controlled in articular. |
q | : The position to set for each axis in radians. |
vpRobotException::wrongStateError | : If a not supported frame type is given. |
Implements vpRobot.
Definition at line 715 of file vpRobotBiclops.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpRobot::END_EFFECTOR_FRAME, vpRobot::getRobotState(), vpRobot::MIXT_FRAME, vpRobot::REFERENCE_FRAME, setRobotState(), vpRobot::STATE_POSITION_CONTROL, vpDEBUG_TRACE, vpERROR_TRACE, and vpRobotException::wrongStateError.
Referenced by setPosition().
void vpRobotBiclops::setPosition | ( | const vpRobot::vpControlFrameType | frame, |
const double & | q1, | ||
const double & | q2 | ||
) |
Move the robot in position control.
frame | : Control frame. This biclops head can only be controlled in articular. |
q1 | : The pan position to set in radians. |
q2 | : The tilt position to set in radians. |
vpRobotException::wrongStateError | : If a not supported frame type is given. |
Definition at line 777 of file vpRobotBiclops.cpp.
References setPosition(), and vpERROR_TRACE.
void vpRobotBiclops::setPosition | ( | const char * | filename | ) |
Read the content of the position file and moves to head to articular position.
filename | : Position filename |
vpRobotException::readingParametersError | : If the articular position cannot be read from file. |
Definition at line 804 of file vpRobotBiclops.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobotException::readingParametersError, readPositionFile(), setPosition(), and vpERROR_TRACE.
void vpRobotBiclops::setPositioningVelocity | ( | double | velocity | ) |
Set the velocity used for a position control.
velocity | : Velocity in % of the maximum velocity between [0,100]. The maximum velocity is given vpBiclops::speedLimit. |
Definition at line 682 of file vpRobotBiclops.cpp.
References vpRobotException::constructionError, and vpERROR_TRACE.
|
protectedinherited |
Definition at line 207 of file vpRobot.cpp.
Referenced by vpSimulatorAfma6::init(), vpSimulatorViper850::init(), vpSimulatorCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpSimulatorAfma6::setVelocity(), and vpSimulatorViper850::setVelocity().
|
virtual |
Change the state of the robot either to stop them, or to set position or speed control.
Reimplemented from vpRobot.
Definition at line 544 of file vpRobotBiclops.cpp.
References vpRobot::getRobotState(), vpRobot::setRobotState(), vpRobot::STATE_POSITION_CONTROL, vpRobot::STATE_STOP, vpRobot::STATE_VELOCITY_CONTROL, stopMotion(), vpCERROR, vpDEBUG_TRACE, and vpRobotBiclopsSpeedControlLoop().
Referenced by init(), setPosition(), and ~vpRobotBiclops().
|
virtual |
Send a velocity on each axis.
frame | : Control frame. This biclops head can only be controlled in articular. Be aware, the camera frame (vpRobot::CAMERA_FRAME), the reference frame (vpRobot::REFERENCE_FRAME), end-effector frame (vpRobot::END_EFFECTOR_FRAME) and the mixt frame (vpRobot::MIXT_FRAME) are not implemented. |
q_dot | : The desired articular velocity of the axis in rad/s. with the pan of the camera and the tilt of the camera. |
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(). |
vpRobotException::wrongStateError | : If a not supported frame type (vpRobot::CAMERA_FRAME, vpRobot::REFERENCE_FRAME, vpRobot::END_EFFECTOR_FRAME or vpRobot::MIXT_FRAME) is given. |
Implements vpRobot.
Definition at line 918 of file vpRobotBiclops.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpRobot::END_EFFECTOR_FRAME, vpRobot::getRobotState(), vpArray2D< Type >::getRows(), vpRobot::MIXT_FRAME, vpBiclops::ndof, vpRobot::REFERENCE_FRAME, vpBiclops::speedLimit, vpRobot::STATE_VELOCITY_CONTROL, vpColVector::t(), vpCDEBUG, vpDEBUG_TRACE, vpERROR_TRACE, and vpRobotException::wrongStateError.
|
inlineinherited |
Definition at line 159 of file vpRobot.h.
Referenced by vpRobotAfma4::vpRobotAfma4(), vpRobotAfma6::vpRobotAfma6(), vpRobotViper650::vpRobotViper650(), and vpRobotViper850::vpRobotViper850().
void vpRobotBiclops::stopMotion | ( | void | ) |
Halt all the axis.
Definition at line 593 of file vpRobotBiclops.cpp.
References vpBiclops::ndof.
Referenced by setRobotState().
|
static |
Definition at line 287 of file vpRobotBiclops.cpp.
References vpMath::deg(), vpMath::maximum(), vpBiclops::ndof, vpBiclops::panJointLimit, vpMath::rad(), vpBiclops::tiltJointLimit, vpDEBUG_TRACE, and vpTime::wait().
Referenced by setRobotState().
|
protectedinherited |
Definition at line 112 of file vpRobot.h.
Referenced by vpRobot::operator=(), vpRobotCamera::vpRobotCamera(), vpSimulatorCamera::vpSimulatorCamera(), vpSimulatorPioneer::vpSimulatorPioneer(), and vpSimulatorPioneerPan::vpSimulatorPioneerPan().
|
protectedinherited |
Definition at line 137 of file vpBiclops.h.
Referenced by vpBiclops::computeMGD(), vpBiclops::get_cVe(), vpBiclops::get_fMc(), and vpBiclops::set_cMe().
|
static |
Definition at line 97 of file vpRobotBiclops.h.
|
protectedinherited |
Definition at line 136 of file vpBiclops.h.
Referenced by vpBiclops::get_eJe(), vpBiclops::get_fJe(), vpBiclops::get_fMe(), and vpBiclops::init().
|
protectedinherited |
robot Jacobian expressed in the end-effector frame
Definition at line 104 of file vpRobot.h.
Referenced by vpRobotFlirPtu::get_eJe(), vpSimulatorCamera::get_eJe(), vpRobotCamera::get_eJe(), vpRobot::operator=(), vpRobotAfma4::setVelocity(), vpRobotCamera::vpRobotCamera(), and vpSimulatorCamera::vpSimulatorCamera().
|
protectedinherited |
is the robot Jacobian expressed in the end-effector frame available
Definition at line 106 of file vpRobot.h.
Referenced by vpRobot::operator=(), vpRobotCamera::vpRobotCamera(), vpSimulatorCamera::vpSimulatorCamera(), vpSimulatorPioneer::vpSimulatorPioneer(), and vpSimulatorPioneerPan::vpSimulatorPioneerPan().
|
protectedinherited |
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().
|
staticinherited |
Definition at line 129 of file vpBiclops.h.
Referenced by vpBiclops::set_cMe().
|
protectedinherited |
Definition at line 98 of file vpRobot.h.
Referenced by vpRobot::getMaxRotationVelocity(), vpRobotTemplate::init(), vpRobotFlirPtu::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(), and vpRobotFlirPtu::init().
|
protectedinherited |
Definition at line 96 of file vpRobot.h.
Referenced by vpRobot::getMaxTranslationVelocity(), vpRobotTemplate::init(), vpRobotFlirPtu::init(), vpRobot::operator=(), and vpRobot::setMaxTranslationVelocity().
|
staticprotectedinherited |
Definition at line 97 of file vpRobot.h.
Referenced by vpRobotTemplate::init(), and vpRobotFlirPtu::init().
|
protectedinherited |
number of degrees of freedom
Definition at line 102 of file vpRobot.h.
Referenced by vpRobotTemplate::init(), vpRobotFlirPtu::init(), vpRobot::operator=(), vpRobotTemplate::setVelocity(), vpRobotFlirPtu::setVelocity(), vpRobotCamera::vpRobotCamera(), vpRobotFranka::vpRobotFranka(), vpSimulatorCamera::vpSimulatorCamera(), vpSimulatorPioneer::vpSimulatorPioneer(), and vpSimulatorPioneerPan::vpSimulatorPioneerPan().
|
staticinherited |
Number of dof
Definition at line 126 of file vpBiclops.h.
Referenced by getDisplacement(), getPosition(), getVelocity(), init(), readPositionFile(), setVelocity(), stopMotion(), and vpRobotBiclopsSpeedControlLoop().
|
staticinherited |
Pan range (in rad): from -panJointLimit to + panJointLimit
Definition at line 131 of file vpBiclops.h.
Referenced by vpRobotBiclopsSpeedControlLoop().
|
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().
|
staticinherited |
Maximum speed (in rad/s) to perform a displacement
Definition at line 133 of file vpBiclops.h.
Referenced by setVelocity().
|
staticinherited |
Tilt range (in rad): from -tiltJointLimit to + tiltJointLimit
Definition at line 132 of file vpBiclops.h.
Referenced by vpRobotBiclopsSpeedControlLoop().
|
protectedinherited |
Definition at line 116 of file vpRobot.h.
Referenced by vpRobotAfma4::init(), vpRobotAfma6::init(), vpRobotViper650::init(), vpRobotViper850::init(), vpRobot::operator=(), vpRobotAfma4::vpRobotAfma4(), vpRobotAfma6::vpRobotAfma6(), vpRobotViper650::vpRobotViper650(), and vpRobotViper850::vpRobotViper850().