![]() |
ViSP
2.6.2
|
#include <vpRobotCamera.h>
Public Types | |
enum | vpRobotStateType { STATE_STOP, STATE_VELOCITY_CONTROL, STATE_POSITION_CONTROL, STATE_ACCELERATION_CONTROL } |
enum | vpControlFrameType { REFERENCE_FRAME, ARTICULAR_FRAME, CAMERA_FRAME, MIXT_FRAME } |
Static Public Member Functions | |
static vpColVector | saturateVelocities (const vpColVector &v_in, const vpColVector &v_max, bool verbose=false) |
Static Public Attributes | |
static const vpRobot::vpRobotStateType | defaultEtatRobot = vpRobot::STATE_STOP |
static const vpRobot::vpControlFrameType | defaultFrameRobot = vpRobot::CAMERA_FRAME |
Protected Attributes | |
double | maxTranslationVelocity |
double | maxRotationVelocity |
int | nDof |
vpMatrix | eJe |
int | eJeAvailable |
vpMatrix | fJe |
int | fJeAvailable |
Static Protected Attributes | |
static const double | maxTranslationVelocityDefault = 0.2 |
static const double | maxRotationVelocityDefault = 0.7 |
Class that defines the simplest robot: a free flying camera.
Definition at line 65 of file vpRobotCamera.h.
|
inherited |
Robot control frames.
|
inherited |
vpRobotCamera::vpRobotCamera | ( | ) |
Constructor.
Initialise the robot by a call to init().
Sampling time is set to 40 ms. To change it you should call setSamplingTime().
Robot jacobian expressed in the end-effector frame is set to identity (see get_eJe()).
Definition at line 74 of file vpRobotCamera.cpp.
References init().
|
virtual |
Destructor.
Definition at line 101 of file vpRobotCamera.cpp.
|
virtual |
Get the robot jacobian expressed in the end-effector frame. For that simple robot the Jacobian is the identity.
eJe | : A 6 by 6 matrix representing the robot jacobian ![]() |
Implements vpRobot.
Definition at line 122 of file vpRobotCamera.cpp.
References vpRobot::eJe.
|
virtual |
Get the robot Jacobian expressed in the robot reference frame.
Implements vpRobot.
Definition at line 133 of file vpRobotCamera.cpp.
|
virtual |
Get a displacement expressed in the articular frame.
Implements vpRobot.
Definition at line 330 of file vpRobotCamera.cpp.
void vpRobotCamera::getArticularPosition | ( | vpColVector & | q | ) | const |
Get a position expressed in the articular frame.
Definition at line 296 of file vpRobotCamera.cpp.
|
virtual |
Get a displacement expressed in the camera frame.
Implements vpRobot.
Definition at line 319 of file vpRobotCamera.cpp.
|
virtual |
Get a displacement depending on the control frame type.
Implements vpRobot.
Definition at line 341 of file vpRobotCamera.cpp.
|
inherited |
Get the maximal rotation velocity that can be sent to the robot during a velocity control.
Definition at line 233 of file vpRobot.cpp.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), vpSimulatorViper850::computeArticularVelocity(), vpSimulatorAfma6::findHighestPositioningSpeed(), vpSimulatorViper850::findHighestPositioningSpeed(), vpSimulatorAfma6::setPosition(), vpRobotPioneer::setVelocity(), vpSimulatorAfma6::setVelocity(), vpSimulatorViper850::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), and vpRobotViper850::setVelocity().
|
inherited |
Get the maximal translation velocity that can be sent to the robot during a velocity control.
Definition at line 208 of file vpRobot.cpp.
Referenced by vpSimulatorAfma6::setPosition(), vpRobotPioneer::setVelocity(), vpSimulatorAfma6::setVelocity(), vpSimulatorViper850::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), and vpRobotViper850::setVelocity().
void vpRobotCamera::getPosition | ( | vpColVector & | q | ) |
Get a position expressed in the robot reference frame. We consider that the "robot" reference frame is the world reference so we return (or at least the corresponding vpPoseVector)
Definition at line 266 of file vpRobotCamera.cpp.
void vpRobotCamera::getPosition | ( | vpHomogeneousMatrix & | cMo | ) | const |
Get a position expressed in the robot reference frame.
Definition at line 277 of file vpRobotCamera.cpp.
|
virtual |
Get a displacement (frame as to ve specified).
Implements vpRobot.
Definition at line 307 of file vpRobotCamera.cpp.
|
inherited |
Return the robot position (frame has to be specified).
Recupere la position actuelle du robot. Recupere la position actuelle du robot et renvoie le resultat Le repere de travail dans lequel est exprime le resultat est celui donne par la variable repere. INPUT:
Definition at line 176 of file vpRobot.cpp.
|
inlineinherited |
Definition at line 147 of file vpRobot.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), and vpSimulatorViper850::computeArticularVelocity().
|
inlinevirtualinherited |
Definition at line 148 of file vpRobot.h.
Referenced by vpRobotBiclops::getPosition(), vpRobotBiclops::getVelocity(), vpRobotPtu46::setPosition(), vpRobotBiclops::setPosition(), vpSimulatorAfma6::setPosition(), vpRobotAfma4::setPosition(), vpSimulatorViper850::setPosition(), vpRobotAfma6::setPosition(), vpRobotViper850::setPosition(), vpRobotPtu46::setRobotState(), vpRobotBiclops::setRobotState(), vpSimulatorAfma6::setRobotState(), vpSimulatorViper850::setRobotState(), vpRobotAfma4::setRobotState(), vpRobotAfma6::setRobotState(), vpRobotViper850::setRobotState(), vpRobotPtu46::setVelocity(), vpRobotBiclops::setVelocity(), vpSimulatorAfma6::setVelocity(), vpSimulatorViper850::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotViper850::setVelocity(), vpSimulatorAfma6::stopMotion(), vpSimulatorViper850::stopMotion(), and vpRobotViper850::stopMotion().
|
inline |
Return the sampling time.
Definition at line 97 of file vpRobotCamera.h.
|
virtual |
Robot initialisation.
Sampling time is set to 40 ms. To change it you should call setSamplingTime().
Robot jacobian expressed in the end-effector frame is set to identity (see get_eJe()).
Implements vpRobot.
Definition at line 89 of file vpRobotCamera.cpp.
References vpRobot::eJe, vpMatrix::resize(), vpMatrix::setIdentity(), and setSamplingTime().
Referenced by vpRobotCamera().
|
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 114 of file vpRobot.cpp.
References vpException::dimensionError, and vpColVector::size().
Referenced by vpRobotPioneer::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), and vpRobotViper850::setVelocity().
void vpRobotCamera::setArticularVelocity | ( | const vpColVector & | qdot | ) |
Send to the controller a velocity expressed in the articular frame.
qdot | : Articular velocity represented by a 6 dimension vector ![]() ![]() ![]() ![]() ![]() |
We use the exponential map (vpExponentialMap) to update the camera location. Sampling time can be set using setSamplingTime().
Definition at line 187 of file vpRobotCamera.cpp.
References vpExponentialMap::direct(), and vpHomogeneousMatrix::inverse().
Referenced by setVelocity().
void vpRobotCamera::setCameraVelocity | ( | const vpColVector & | v | ) |
Send to the controller a velocity expressed in the camera frame.
v | : Camera velocity represented by a 6 dimension vector ![]() ![]() ![]() ![]() |
We use the exponential map (vpExponentialMap) to update the camera location. Sampling time can be set using setSamplingTime().
Definition at line 164 of file vpRobotCamera.cpp.
References vpExponentialMap::direct(), and vpHomogeneousMatrix::inverse().
Referenced by setVelocity().
|
inherited |
Set the maximal rotation velocity that can be sent to the robot during a velocity control.
maxVr | : Maximum rotation velocity expressed in rad/s. |
Definition at line 220 of file vpRobot.cpp.
Referenced by vpSimulatorAfma6::setPosition().
|
inherited |
Set the maximal translation velocity that can be sent to the robot during a velocity control.
maxVt | : Maximum translation velocity expressed in m/s. |
Definition at line 196 of file vpRobot.cpp.
Referenced by vpSimulatorAfma6::setPosition().
|
inlinevirtual |
Set a displacement (frame has to be specified) in position control.
Implements vpRobot.
Definition at line 111 of file vpRobotCamera.h.
void vpRobotCamera::setPosition | ( | const vpHomogeneousMatrix & | cMo | ) |
Set a position expressed in the robot reference frame.
Definition at line 285 of file vpRobotCamera.cpp.
|
inline |
Definition at line 116 of file vpRobotCamera.h.
|
inherited |
Definition at line 159 of file vpRobot.cpp.
Referenced by vpSimulatorAfma6::init(), vpSimulatorViper850::init(), vpSimulatorAfma6::setVelocity(), and vpSimulatorViper850::setVelocity().
|
virtualinherited |
Reimplemented in vpRobotViper850, vpRobotAfma6, vpRobotAfma4, vpSimulatorViper850, vpSimulatorAfma6, vpRobotBiclops, and vpRobotPtu46.
Definition at line 152 of file vpRobot.cpp.
Referenced by vpRobotPtu46::setRobotState(), vpRobotBiclops::setRobotState(), vpSimulatorAfma6::setRobotState(), vpSimulatorViper850::setRobotState(), vpRobotAfma4::setRobotState(), vpRobotAfma6::setRobotState(), and vpRobotViper850::setRobotState().
|
inline |
Set the sampling time.
delta_t | : Sampling time used to compute the robot displacement from the velocity applied to the robot during this time. |
Definition at line 87 of file vpRobotCamera.h.
Referenced by init().
|
virtual |
Send to the controller a velocity.
frame | : Control frame type. Only articular (vpRobot::ARTICULAR_FRAME) and camera frame (vpRobot::CAMERA_FRAME) are implemented. |
v | : Velocity to apply to the robot. |
We use the exponential map (vpExponentialMap) to update the camera location. Sampling time can be set using setSamplingTime().
Implements vpRobot.
Definition at line 221 of file vpRobotCamera.cpp.
References vpRobot::ARTICULAR_FRAME, vpRobot::CAMERA_FRAME, vpRobot::MIXT_FRAME, vpRobot::REFERENCE_FRAME, setArticularVelocity(), setCameraVelocity(), vpERROR_TRACE, and vpRobotException::wrongStateError.
|
staticinherited |
|
staticinherited |
|
protectedinherited |
robot Jacobian expressed in the end-effector frame
Definition at line 113 of file vpRobot.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), vpSimulatorViper850::computeArticularVelocity(), get_eJe(), vpSimulatorAfma6::getVelocity(), vpSimulatorViper850::getVelocity(), init(), vpSimulatorAfma6::setPosition(), and vpRobotAfma4::setVelocity().
|
protectedinherited |
|
protectedinherited |
robot Jacobian expressed in the robot reference frame available
Definition at line 117 of file vpRobot.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), vpSimulatorViper850::computeArticularVelocity(), vpSimulatorAfma6::getVelocity(), and vpSimulatorViper850::getVelocity().
|
protectedinherited |
|
staticprotectedinherited |
|
staticprotectedinherited |