33 static const char rcsid[] =
"$Id: clik.cpp,v 1.6 2006/05/16 16:11:15 gourdeau Exp $";
45 using namespace NEWMAT;
54 const Real eps_,
const Real lambda_max_,
const Real dt_):
57 lambda_max(lambda_max_),
74 cerr <<
"Clik::Clik-->Robot, Kp if not 3x3, set gain to 0." << endl;
81 cerr <<
"Clik::Clik-->Robot, Ko if not 3x3, set gain to 0." << endl;
92 const Real eps_,
const Real lambda_max_,
const Real dt_):
112 cerr <<
"Clik::Clik-->mRobot, Kp if not 3x3, set gain to 0." << endl;
119 cerr <<
"Clik::Cli, Ko if not 3x3, set gain to 0." << endl;
151 cerr <<
"Clik::Clik-->mRobot, Kp if not 3x3, set gain to 0." << endl;
158 cerr <<
"Clik::Cli, Ko if not 3x3, set gain to 0." << endl;
257 if(qq.dot_prod(qqqd) < 0)
Quaternion class definition.
Real eps
Range of singular region in Jacobian DLS inverse.
Robot robot
Robot instance.
#define CLICK_mDH
Using Clik under modified DH notation.
ReturnMatrix v() const
Return vector part.
mRobot mrobot
mRobot instance.
ReturnMatrix Integ_Trap(const ColumnVector &present, ColumnVector &past, const Real dt)
Trapezoidal integration.
ReturnMatrix get_qp(void) const
Return the joint velocity vector.
Handle Closed Loop Inverse Kinematics scheme.
Clik & operator=(const Clik &x)
Overload = operator.
DiagonalMatrix Ko
Orientation error gain.
DiagonalMatrix Kp
Position error gain.
ReturnMatrix x_prod_matrix(const ColumnVector &x)
Cross product matrix.
ColumnVector q
Clik joint position.
#define CLICK_mDH_min_para
Using Clik under modified DH notation with minimum intertial parameters.
ColumnVector Kpep
Kp times position error.
Real s() const
Return scalar part.
static const char rcsid[]
RCS/CVS version.
Header file for Clik class definitions.
Real lambda_max
Damping factor in Jacobian DLS inverse.
int endeff_pos_ori_err(const ColumnVector &pd, const ColumnVector &pddot, const Quaternion &qd, const ColumnVector &wd)
Obtain end effector position and orientation error.
void set_q(const ColumnVector &q)
Set the joint position vector.
ColumnVector qp
Clik joint velocity.
ColumnVector v
Quaternion vector part.
Modified DH notation robot class.
#define CLICK_DH
Using Clik under DH notation.
The usual rectangular matrix.
ColumnVector qp_prev
Clik previous joint velocity.
ColumnVector Koe0Quat
Ko times orientation error (quaternion vector part).
Modified DH notation and minimal inertial parameters robot class.
mRobot_min_para mrobot_min_para
mRobot_min_para instance.
short robot_type
Robot type used.
void kine(Matrix &Rot, ColumnVector &pos) const
Direct kinematics at end effector.
GetSubMatrix SubMatrix(int fr, int lr, int fc, int lc) const
ReturnMatrix jacobian_DLS_inv(const double eps, const double lambda_max, const int ref=0) const
Inverse Jacobian based on damped least squares inverse.
void q_qdot(const Quaternion &qd, const ColumnVector &pd, const ColumnVector &pddot, const ColumnVector &wd, ColumnVector &q, ColumnVector &qp)
Obtain joints position and velocity.
Real get_q(const int i) const