ROBOOP, A Robotics Object Oriented Package in C++
|
Handle Closed Loop Inverse Kinematics scheme. More...
#include <clik.h>
Public Member Functions | |
Clik (const Robot &robot_, const DiagonalMatrix &Kp_, const DiagonalMatrix &Ko_, const Real eps_=0.04, const Real lambda_max_=0.04, const Real dt=1.0) | |
Constructor. | |
Clik (const mRobot &mrobot_, const DiagonalMatrix &Kp_, const DiagonalMatrix &Ko_, const Real eps_=0.04, const Real lambda_max_=0.04, const Real dt=1.0) | |
Constructor. | |
Clik (const mRobot_min_para &mrobot_min_para_, const DiagonalMatrix &Kp_, const DiagonalMatrix &Ko_, const Real eps_=0.04, const Real lambda_max_=0.04, const Real dt=1.0) | |
Constructor. | |
Clik (const Clik &x) | |
Copy constructor. | |
Clik & | operator= (const Clik &x) |
Overload = operator. | |
void | q_qdot (const Quaternion &qd, const ColumnVector &pd, const ColumnVector &pddot, const ColumnVector &wd, ColumnVector &q, ColumnVector &qp) |
Obtain joints position and velocity. More... | |
Private Member Functions | |
int | endeff_pos_ori_err (const ColumnVector &pd, const ColumnVector &pddot, const Quaternion &qd, const ColumnVector &wd) |
Obtain end effector position and orientation error. More... | |
Private Attributes | |
Real | dt |
Time frame. | |
Real | eps |
Range of singular region in Jacobian DLS inverse. | |
Real | lambda_max |
Damping factor in Jacobian DLS inverse. | |
short | robot_type |
Robot type used. | |
Robot | robot |
Robot instance. | |
mRobot | mrobot |
mRobot instance. | |
mRobot_min_para | mrobot_min_para |
mRobot_min_para instance. | |
DiagonalMatrix | Kp |
Position error gain. | |
DiagonalMatrix | Ko |
Orientation error gain. | |
ColumnVector | q |
Clik joint position. | |
ColumnVector | qp |
Clik joint velocity. | |
ColumnVector | qp_prev |
Clik previous joint velocity. | |
ColumnVector | Kpep |
Kp times position error. | |
ColumnVector | Koe0Quat |
Ko times orientation error (quaternion vector part). | |
ColumnVector | v |
Quaternion vector part. | |
|
private |
Obtain end effector position and orientation error.
pd,: | Desired eff position in base frame. |
pdd,: | Desired eff velocity in base frame. |
qqqd,: | Desired eff orientation in base frame. |
wd,: | Desired eff angular velocity in base frame. |
Definition at line 221 of file clik.cpp.
References CLICK_DH, CLICK_mDH, CLICK_mDH_min_para, Robot_basic::kine(), Ko, Koe0Quat, Kp, Kpep, mrobot, mrobot_min_para, q, robot, robot_type, Quaternion::s(), Robot_basic::set_q(), Quaternion::v(), and x_prod_matrix().
Referenced by q_qdot().
void Clik::q_qdot | ( | const Quaternion & | qd, |
const ColumnVector & | pd, | ||
const ColumnVector & | pdd, | ||
const ColumnVector & | wd, | ||
ColumnVector & | q_, | ||
ColumnVector & | qp_ | ||
) |
Obtain joints position and velocity.
qd,: | Desired eff orientatio in base frame. |
pd,: | Desired eff position in base frame. |
pdd,: | Desired eff velocity in base frame. |
wd,: | Desired eff angular velocity in base frame. |
q_,: | Output joint position. |
qp_,: | Output joint velocity. |
Definition at line 266 of file clik.cpp.
References CLICK_DH, CLICK_mDH, CLICK_mDH_min_para, dt, endeff_pos_ori_err(), eps, Integ_Trap(), Robot_basic::jacobian_DLS_inv(), Koe0Quat, Kpep, lambda_max, mrobot, mrobot_min_para, q, qp, qp_prev, robot, robot_type, Robot_basic::set_q(), and v.