ViSP
2.8.0
|
#include <vpRobot.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 } |
Public Member Functions | |
vpRobot (void) | |
virtual | ~vpRobot () |
virtual void | get_eJe (vpMatrix &_eJe)=0 |
virtual void | get_fJe (vpMatrix &_fJe)=0 |
virtual void | getDisplacement (const vpRobot::vpControlFrameType frame, vpColVector &q)=0 |
double | getMaxTranslationVelocity (void) const |
double | getMaxRotationVelocity (void) const |
virtual void | getPosition (const vpRobot::vpControlFrameType frame, vpColVector &q)=0 |
vpColVector | getPosition (const vpRobot::vpControlFrameType frame) |
virtual vpRobotStateType | getRobotState (void) |
virtual void | init ()=0 |
void | setMaxRotationVelocity (const double maxVr) |
void | setMaxTranslationVelocity (const double maxVt) |
virtual void | setPosition (const vpRobot::vpControlFrameType frame, const vpColVector &q)=0 |
virtual vpRobotStateType | setRobotState (const vpRobot::vpRobotStateType newState) |
virtual void | setVelocity (const vpRobot::vpControlFrameType frame, const vpColVector &vel)=0 |
void | setVerbose (bool verbose) |
Static Public Member Functions | |
static vpColVector | saturateVelocities (const vpColVector &v_in, const vpColVector &v_max, bool verbose=false) |
Protected Member Functions | |
vpControlFrameType | setRobotFrame (vpRobot::vpControlFrameType newFrame) |
vpControlFrameType | getRobotFrame (void) |
Protected Attributes | |
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 |
Robot control frames.
vpRobot::vpRobot | ( | void | ) |
Definition at line 54 of file vpRobot.cpp.
References CAMERA_FRAME, STATE_STOP, and verbose_.
|
pure virtual |
Get the robot Jacobian expressed in the end-effector frame.
Implemented in vpRobotViper850, vpRobotViper650, vpRobotAfma6, vpRobotAfma4, vpSimulatorViper850, vpSimulatorAfma6, vpRobotBiclops, vpSimulatorPioneerPan, vpSimulatorPioneer, vpSimulatorCamera, vpRobotCamera, vpRobotPtu46, vpRobotPioneer, and vpRobotTemplate.
|
pure virtual |
Get the robot Jacobian expressed in the robot reference (or world) frame.
Implemented in vpRobotViper850, vpRobotViper650, vpRobotAfma6, vpRobotAfma4, vpSimulatorViper850, vpSimulatorAfma6, vpRobotBiclops, vpRobotPtu46, and vpRobotTemplate.
|
pure virtual |
Get a displacement (frame as to ve specified) between two successive position control.
Implemented in vpRobotViper650, vpRobotViper850, vpRobotAfma6, vpSimulatorViper850, vpRobotAfma4, vpSimulatorAfma6, vpRobotBiclops, vpRobotPtu46, and vpRobotTemplate.
double vpRobot::getMaxRotationVelocity | ( | void | ) | const |
Get the maximal rotation velocity that can be sent to the robot during a velocity control.
Definition at line 228 of file vpRobot.cpp.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), vpSimulatorViper850::computeArticularVelocity(), vpSimulatorAfma6::findHighestPositioningSpeed(), vpSimulatorViper850::findHighestPositioningSpeed(), vpSimulatorAfma6::setPosition(), vpRobotCamera::setVelocity(), vpSimulatorCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpRobotPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpSimulatorAfma6::setVelocity(), vpSimulatorViper850::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotViper650::setVelocity(), and vpRobotViper850::setVelocity().
double vpRobot::getMaxTranslationVelocity | ( | void | ) | const |
Get the maximal translation velocity that can be sent to the robot during a velocity control.
Definition at line 203 of file vpRobot.cpp.
Referenced by vpSimulatorAfma6::setPosition(), vpRobotCamera::setVelocity(), vpSimulatorCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpRobotPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpSimulatorAfma6::setVelocity(), vpSimulatorViper850::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotViper650::setVelocity(), and vpRobotViper850::setVelocity().
|
pure virtual |
Get the robot position (frame has to be specified).
Implemented in vpRobotViper850, vpRobotViper650, vpRobotAfma6, vpSimulatorViper850, vpRobotAfma4, vpSimulatorAfma6, vpRobotBiclops, vpSimulatorPioneerPan, vpSimulatorPioneer, vpSimulatorCamera, vpRobotCamera, vpRobotPtu46, and vpRobotTemplate.
vpColVector vpRobot::getPosition | ( | const vpRobot::vpControlFrameType | frame | ) |
Return the current robot position in the specified frame.
Definition at line 171 of file vpRobot.cpp.
|
inlineprotected |
Definition at line 159 of file vpRobot.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), and vpSimulatorViper850::computeArticularVelocity().
|
inlinevirtual |
Definition at line 139 of file vpRobot.h.
Referenced by vpRobotBiclops::getPosition(), vpRobotBiclops::getVelocity(), vpRobotCamera::setPosition(), vpSimulatorCamera::setPosition(), vpRobotPtu46::setPosition(), vpRobotBiclops::setPosition(), vpSimulatorAfma6::setPosition(), vpSimulatorViper850::setPosition(), vpRobotAfma4::setPosition(), vpRobotAfma6::setPosition(), vpRobotViper650::setPosition(), vpRobotViper850::setPosition(), vpRobotPtu46::setRobotState(), vpRobotBiclops::setRobotState(), vpSimulatorAfma6::setRobotState(), vpSimulatorViper850::setRobotState(), vpRobotAfma4::setRobotState(), vpRobotAfma6::setRobotState(), vpRobotViper650::setRobotState(), vpRobotViper850::setRobotState(), vpRobotCamera::setVelocity(), vpSimulatorCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpRobotPtu46::setVelocity(), vpRobotBiclops::setVelocity(), vpSimulatorAfma6::setVelocity(), vpSimulatorViper850::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotViper650::setVelocity(), vpRobotViper850::setVelocity(), vpSimulatorAfma6::stopMotion(), vpSimulatorViper850::stopMotion(), vpRobotViper650::stopMotion(), and vpRobotViper850::stopMotion().
|
pure virtual |
|
static |
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 116 of file vpRobot.cpp.
References vpException::dimensionError, and vpColVector::size().
Referenced by vpRobotCamera::setVelocity(), vpSimulatorCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpRobotPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotViper650::setVelocity(), and vpRobotViper850::setVelocity().
void vpRobot::setMaxRotationVelocity | ( | const double | w_max | ) |
Set the maximal rotation velocity that can be sent to the robot during a velocity control.
w_max | : Maximum rotation velocity expressed in rad/s. |
Definition at line 215 of file vpRobot.cpp.
Referenced by vpSimulatorAfma6::setPosition().
void vpRobot::setMaxTranslationVelocity | ( | const double | v_max | ) |
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 191 of file vpRobot.cpp.
Referenced by vpSimulatorAfma6::setPosition().
|
pure virtual |
Set a displacement (frame has to be specified) in position control.
Implemented in vpRobotViper850, vpRobotViper650, vpRobotAfma6, vpRobotAfma4, vpSimulatorViper850, vpSimulatorAfma6, vpRobotBiclops, vpRobotPtu46, and vpRobotTemplate.
|
protected |
Definition at line 161 of file vpRobot.cpp.
Referenced by vpSimulatorAfma6::init(), vpSimulatorViper850::init(), vpSimulatorCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpSimulatorAfma6::setVelocity(), and vpSimulatorViper850::setVelocity().
|
virtual |
Reimplemented in vpRobotViper850, vpRobotViper650, vpRobotAfma6, vpRobotAfma4, vpSimulatorViper850, vpSimulatorAfma6, vpRobotBiclops, and vpRobotPtu46.
Definition at line 154 of file vpRobot.cpp.
Referenced by vpRobotCamera::setPosition(), vpSimulatorCamera::setPosition(), vpRobotPtu46::setRobotState(), vpRobotBiclops::setRobotState(), vpSimulatorAfma6::setRobotState(), vpSimulatorViper850::setRobotState(), vpRobotAfma4::setRobotState(), vpRobotAfma6::setRobotState(), vpRobotViper650::setRobotState(), vpRobotViper850::setRobotState(), vpSimulatorCamera::setVelocity(), vpRobotCamera::setVelocity(), vpSimulatorPioneer::setVelocity(), and vpSimulatorPioneerPan::setVelocity().
|
pure virtual |
Set the velocity (frame has to be specified) that will be applied to the velocity controller.
Implemented in vpRobotViper850, vpRobotViper650, vpRobotAfma6, vpRobotAfma4, vpSimulatorViper850, vpSimulatorAfma6, vpRobotBiclops, vpRobotPtu46, vpSimulatorPioneerPan, vpRobotPioneer, vpSimulatorPioneer, vpRobotCamera, vpSimulatorCamera, and vpRobotTemplate.
|
inline |
Definition at line 155 of file vpRobot.h.
Referenced by vpRobotAfma4::vpRobotAfma4(), vpRobotAfma6::vpRobotAfma6(), vpRobotViper650::vpRobotViper650(), and vpRobotViper850::vpRobotViper850().
|
protected |
robot Jacobian expressed in the end-effector frame
Definition at line 103 of file vpRobot.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), vpSimulatorViper850::computeArticularVelocity(), vpRobotCamera::get_eJe(), vpSimulatorCamera::get_eJe(), vpSimulatorAfma6::getVelocity(), vpSimulatorViper850::getVelocity(), vpSimulatorAfma6::setPosition(), and vpRobotAfma4::setVelocity().
|
protected |
|
protected |
robot Jacobian expressed in the robot reference frame available
Definition at line 107 of file vpRobot.h.
Referenced by vpSimulatorAfma6::computeArticularVelocity(), vpSimulatorViper850::computeArticularVelocity(), vpSimulatorAfma6::getVelocity(), and vpSimulatorViper850::getVelocity().
|
protected |
|
staticprotected |
|
staticprotected |
|
protected |
Definition at line 115 of file vpRobot.h.
Referenced by vpRobotAfma4::init(), vpRobotAfma6::init(), vpRobotViper650::init(), vpRobotViper850::init(), vpRobot(), vpRobotAfma4::vpRobotAfma4(), vpRobotAfma6::vpRobotAfma6(), vpRobotViper650::vpRobotViper650(), and vpRobotViper850::vpRobotViper850().