![]() |
Visual Servoing Platform
version 3.0.0
|
#include <visp3/robot/vpAfma4.h>
Public Member Functions | |
vpAfma4 () | |
virtual | ~vpAfma4 () |
void | init (void) |
vpHomogeneousMatrix | getForwardKinematics (const vpColVector &q) const |
vpHomogeneousMatrix | get_fMc (const vpColVector &q) const |
void | get_fMe (const vpColVector &q, vpHomogeneousMatrix &fMe) const |
void | get_fMc (const vpColVector &q, vpHomogeneousMatrix &fMc) const |
void | get_cMe (vpHomogeneousMatrix &cMe) const |
void | get_cVe (vpVelocityTwistMatrix &cVe) const |
void | get_cVf (const vpColVector &q, vpVelocityTwistMatrix &cVf) const |
void | get_eJe (const vpColVector &q, vpMatrix &eJe) const |
void | get_fJe (const vpColVector &q, vpMatrix &fJe) const |
void | get_fJe_inverse (const vpColVector &q, vpMatrix &fJe_inverse) const |
vpColVector | getJointMin () const |
vpColVector | getJointMax () const |
Static Public Attributes | |
static const unsigned int | njoint = 4 |
Protected Attributes | |
double | _a1 |
double | _d3 |
double | _d4 |
double | _joint_max [4] |
double | _joint_min [4] |
vpTranslationVector | _etc |
vpRxyzVector | _erc |
vpHomogeneousMatrix | _eMc |
Friends | |
VISP_EXPORT std::ostream & | operator<< (std::ostream &os, const vpAfma4 &afma4) |
Modelisation of Irisa's cylindrical robot named Afma4.
This robot has five degrees of freedom, but only four motorized joints (joint 3 is not motorized). Joint 2 and 3 are prismatic. The other ones are revolute joints.
The non modified Denavit-Hartenberg representation of the robot is given in the table below, where are the variable joint positions.
The forward kinematics of the robot is given by the homogeneous matrix which is implemented in get_fMe().
The robot forward jacobian used to compute the cartesian velocities from joint ones is given and implemented in get_fJe() and get_eJe().
The robot inverse jacobian used to compute the joint velocities from cartesian ones are given and implemented in get_fJe_inverse().
vpAfma4::vpAfma4 | ( | ) |
Default constructor.
Definition at line 67 of file vpAfma4.cpp.
References _a1, _d3, _d4, _eMc, _erc, _etc, _joint_max, _joint_min, vpHomogeneousMatrix::buildFrom(), and init().
|
inlinevirtual |
void vpAfma4::get_cMe | ( | vpHomogeneousMatrix & | cMe | ) | const |
Get the geometric transformation between the camera frame and the end-effector frame. This transformation is constant and correspond to the extrinsic camera parameters estimated by hand or by calibration.
cMe | : Transformation between the camera frame and the end-effector frame. |
Definition at line 320 of file vpAfma4.cpp.
References _eMc, and vpHomogeneousMatrix::inverse().
Referenced by vpRobotAfma4::get_cMe(), get_cVe(), and vpRobotAfma4::get_cVe().
void vpAfma4::get_cVe | ( | vpVelocityTwistMatrix & | cVe | ) | const |
Get the twist transformation from camera frame to end-effector frame. This transformation allows to compute a velocity expressed in the end-effector frame into the camera frame.
cVe | : Twist transformation. |
Definition at line 335 of file vpAfma4.cpp.
References vpVelocityTwistMatrix::buildFrom(), and get_cMe().
void vpAfma4::get_cVf | ( | const vpColVector & | q, |
vpVelocityTwistMatrix & | cVf | ||
) | const |
Get the twist transformation from camera frame to the reference frame. This transformation allows to compute a velocity expressed in the reference frame into the camera frame.
q | : Articular position of the four joints: q[0] corresponds to the first rotation (joint 1 with value ![]() ![]() ![]() ![]() |
cVf | : Twist transformation. |
Definition at line 364 of file vpAfma4.cpp.
References vpVelocityTwistMatrix::buildFrom(), get_fMc(), and vpHomogeneousMatrix::inverse().
Referenced by vpRobotAfma4::get_cVf().
void vpAfma4::get_eJe | ( | const vpColVector & | q, |
vpMatrix & | eJe | ||
) | const |
Get the robot jacobian expressed in the end-effector frame:
q | : Articular position of the four joints: q[0] corresponds to the first rotation (joint 1 with value ![]() ![]() ![]() ![]() |
eJe | : Robot jacobian expressed in the end-effector frame, with:
|
Definition at line 412 of file vpAfma4.cpp.
References _a1, _d3, and vpArray2D< Type >::resize().
Referenced by vpRobotAfma4::get_eJe().
void vpAfma4::get_fJe | ( | const vpColVector & | q, |
vpMatrix & | fJe | ||
) | const |
Get the robot jacobian expressed in the robot reference frame also called fix frame:
q | : Articular position of the four joints: q[0] corresponds to the first rotation (joint 1 with value ![]() ![]() ![]() ![]() |
fJe | : Robot jacobian expressed in the robot reference frame. |
Definition at line 466 of file vpAfma4.cpp.
References _a1, _d3, and vpArray2D< Type >::resize().
Referenced by vpRobotAfma4::get_fJe().
void vpAfma4::get_fJe_inverse | ( | const vpColVector & | q, |
vpMatrix & | fJe_inverse | ||
) | const |
Get the inverse jacobian.
q | : Articular position of the four joints: q[0] corresponds to the first rotation (joint 1 with value ![]() ![]() ![]() ![]() |
fJe_inverse | : Inverse robot jacobian expressed in the robot reference frame. |
Definition at line 522 of file vpAfma4.cpp.
References _a1, _d3, and vpArray2D< Type >::resize().
Referenced by vpRobotAfma4::setVelocity().
vpHomogeneousMatrix vpAfma4::get_fMc | ( | const vpColVector & | q | ) | const |
Compute the forward kinematics (direct geometric model) as an homogeneous matrix.
By forward kinematics we mean here the position and the orientation of the camera relative to the base frame given the articular positions of all the four joints.
This method is the same than getForwardKinematics(const vpColVector & q).
q | : Articular position of the four joints: q[0] corresponds to the first rotation (joint 1 with value ![]() ![]() ![]() ![]() |
Definition at line 186 of file vpAfma4.cpp.
Referenced by get_cVf(), getForwardKinematics(), vpRobotAfma4::getPosition(), and vpRobotAfma4::getVelocity().
void vpAfma4::get_fMc | ( | const vpColVector & | q, |
vpHomogeneousMatrix & | fMc | ||
) | const |
Compute the forward kinematics (direct geometric model) as an homogeneous matrix.
By forward kinematics we mean here the position and the orientation of the camera relative to the base frame given the articular positions of all the four joints.
q | : Articular position of the four joints: q[0] corresponds to the first rotation (joint 1 with value ![]() ![]() ![]() ![]() |
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 221 of file vpAfma4.cpp.
void vpAfma4::get_fMe | ( | const vpColVector & | q, |
vpHomogeneousMatrix & | fMe | ||
) | const |
Compute the forward kinematics (direct geometric model) as an homogeneous matrix.
By forward kinematics we mean here the position and the orientation of the end effector with respect to the base frame given the articular positions of all the four variable joints.
q | : Articular position of the four joints: q[0] corresponds to the first rotation (joint 1 with value ![]() ![]() ![]() ![]() |
fMe | The homogeneous matrix corresponding to the direct geometric model which expresses the transformation between the fix frame and the end effector frame ( ![]() |
Definition at line 269 of file vpAfma4.cpp.
Referenced by get_fMc(), and vpRobotAfma4::setVelocity().
vpHomogeneousMatrix vpAfma4::getForwardKinematics | ( | const vpColVector & | q | ) | const |
Compute the forward kinematics (direct geometric model) as an homogeneous matrix.
By forward kinematics we mean here the position and the orientation of the camera relative to the base frame given the articular positions of all the four joints.
This method is the same than get_fMc(const vpColVector & q).
q | : Articular position of the four joints: q[0] corresponds to the first rotation (joint 1 with value ![]() ![]() ![]() ![]() |
Definition at line 148 of file vpAfma4.cpp.
References get_fMc().
vpColVector vpAfma4::getJointMax | ( | ) | const |
Get max joint values.
Definition at line 575 of file vpAfma4.cpp.
References _joint_max.
vpColVector vpAfma4::getJointMin | ( | ) | const |
Get min joint values.
Definition at line 558 of file vpAfma4.cpp.
References _joint_min.
void vpAfma4::init | ( | void | ) |
|
friend |
Print on the output stream os the robot parameters (joint min/max, distance between axis 5 and 6, coupling factor between axis 5 and 6, hand-to-eye homogeneous matrix.
os | : Output stream. |
afma4 | : Robot parameters. |
Definition at line 594 of file vpAfma4.cpp.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Definition at line 145 of file vpAfma4.h.
Referenced by getJointMax(), vpRobotAfma4::init(), and vpAfma4().
|
protected |
Definition at line 146 of file vpAfma4.h.
Referenced by getJointMin(), vpRobotAfma4::init(), and vpAfma4().
|
static |
Number of joint.
Definition at line 138 of file vpAfma4.h.
Referenced by vpRobotAfma4::get_cVf(), vpRobotAfma4::get_eJe(), vpRobotAfma4::get_fJe(), vpRobotAfma4::getDisplacement(), vpRobotAfma4::getPosition(), vpRobotAfma4::getVelocity(), vpRobotAfma4::setPosition(), and vpRobotAfma4::setVelocity().