![]() |
Visual Servoing Platform
version 3.2.0
|
#include <vpAfma4.h>
Public Member Functions | |
vpAfma4 () | |
virtual | ~vpAfma4 () |
Inherited functionalities from vpAfma4 | |
static const unsigned int | njoint = 4 |
double | _a1 |
double | _d3 |
double | _d4 |
double | _joint_max [4] |
double | _joint_min [4] |
vpTranslationVector | _etc |
vpRxyzVector | _erc |
vpHomogeneousMatrix | _eMc |
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 |
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 65 of file vpAfma4.cpp.
|
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 308 of file vpAfma4.cpp.
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 319 of file vpAfma4.cpp.
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 347 of file vpAfma4.cpp.
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 394 of file vpAfma4.cpp.
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 449 of file vpAfma4.cpp.
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 505 of file vpAfma4.cpp.
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 175 of file vpAfma4.cpp.
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 209 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 258 of file vpAfma4.cpp.
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 138 of file vpAfma4.cpp.
vpColVector vpAfma4::getJointMax | ( | ) | const |
Get max joint values.
Definition at line 556 of file vpAfma4.cpp.
vpColVector vpAfma4::getJointMin | ( | ) | const |
Get min joint values.
Definition at line 540 of file vpAfma4.cpp.
void vpAfma4::init | ( | void | ) |
Does nothing for the moment.
Definition at line 105 of file vpAfma4.cpp.
|
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 573 of file vpAfma4.cpp.
|
protected |
|
protected |
|
protected |