Modified DH notation and minimal inertial parameters robot class. More...
#include <robot.h>
Public Member Functions | |
virtual ReturnMatrix | C (const ColumnVector &qp) |
Joint torque due to centrifugal and Corriolis based on Recursive Newton-Euler formulation. | |
virtual void | delta_torque (const ColumnVector &q, const ColumnVector &qp, const ColumnVector &qpp, const ColumnVector &dq, const ColumnVector &dqp, const ColumnVector &dqpp, ColumnVector &torque, ColumnVector &dtorque) |
Delta torque dynamics. | |
virtual void | dq_torque (const ColumnVector &q, const ColumnVector &qp, const ColumnVector &qpp, const ColumnVector &dq, ColumnVector &torque, ColumnVector &dtorque) |
Delta torque due to delta joint position. | |
virtual void | dqp_torque (const ColumnVector &q, const ColumnVector &qp, const ColumnVector &dqp, ColumnVector &torque, ColumnVector &dtorque) |
Delta torque due to delta joint velocity. | |
virtual void | dTdqi (Matrix &dRot, ColumnVector &dp, const int i) |
Partial derivative of the robot position (homogeneous transf.) | |
virtual ReturnMatrix | dTdqi (const int i) |
Partial derivative of the robot position (homogeneous transf.) | |
virtual ReturnMatrix | G () |
Joint torque due to gravity based on Recursive Newton-Euler formulation. | |
ReturnMatrix | inv_kin (const Matrix &Tobj, const int mj=0) |
Overload inv_kin function. | |
virtual ReturnMatrix | inv_kin (const Matrix &Tobj, const int mj, const int endlink, bool &converge) |
Inverse kinematics solutions. | |
virtual ReturnMatrix | inv_kin_puma (const Matrix &Tobj, bool &converge) |
Analytic Puma inverse kinematics. | |
virtual ReturnMatrix | inv_kin_rhino (const Matrix &Tobj, bool &converge) |
Analytic Rhino inverse kinematics. | |
virtual ReturnMatrix | inv_kin_schilling (const Matrix &Tobj, bool &converge) |
Analytic Schilling inverse kinematics. | |
virtual ReturnMatrix | jacobian (const int ref=0) const |
Jacobian of mobile links expressed at frame ref. | |
virtual ReturnMatrix | jacobian (const int endlink, const int ref) const |
Jacobian of mobile joints up to endlink expressed at frame ref. | |
virtual ReturnMatrix | jacobian_dot (const int ref=0) const |
Jacobian derivative of mobile joints expressed at frame ref. | |
virtual void | kine_pd (Matrix &Rot, ColumnVector &pos, ColumnVector &pos_dot, const int ref=0) const |
Direct kinematics with velocity. | |
mRobot_min_para (const int ndof=1) | |
Constructor. | |
mRobot_min_para (const Matrix &dhinit) | |
Constructor. | |
mRobot_min_para (const Matrix &initrobot, const Matrix &initmotor) | |
Constructor. | |
mRobot_min_para (const mRobot_min_para &x) | |
Copy constructor. | |
mRobot_min_para (const std::string &filename, const std::string &robotName) | |
virtual void | robotType_inv_kin () |
Identify inverse kinematics familly. | |
virtual ReturnMatrix | torque (const ColumnVector &q, const ColumnVector &qp, const ColumnVector &qpp) |
Joint torque without contact force based on Recursive Newton-Euler formulation. | |
virtual ReturnMatrix | torque (const ColumnVector &q, const ColumnVector &qp, const ColumnVector &qpp, const ColumnVector &Fext_, const ColumnVector &Next_) |
Joint torque based on Recursive Newton-Euler formulation. | |
virtual ReturnMatrix | torque_novelocity (const ColumnVector &qpp) |
Joint torque. when joint velocity is 0, based on Recursive Newton-Euler formulation. | |
virtual | ~mRobot_min_para () |
Destructor. |
Modified DH notation and minimal inertial parameters robot class.
mRobot_min_para::mRobot_min_para | ( | const int | ndof = 1 | ) |
mRobot_min_para::mRobot_min_para | ( | const Matrix & | dhinit | ) |
mRobot_min_para::mRobot_min_para | ( | const Matrix & | initrobot, |
const Matrix & | initmotor | ||
) |
mRobot_min_para::mRobot_min_para | ( | const mRobot_min_para & | x | ) |
mRobot_min_para::mRobot_min_para | ( | const std::string & | filename, |
const std::string & | robotName | ||
) |
virtual mRobot_min_para::~mRobot_min_para | ( | ) | [inline, virtual] |
ReturnMatrix mRobot_min_para::C | ( | const ColumnVector & | qp | ) | [virtual] |
Joint torque due to centrifugal and Corriolis based on Recursive Newton-Euler formulation.
Implements Robot_basic.
Definition at line 873 of file dynamics.cpp.
void mRobot_min_para::delta_torque | ( | const ColumnVector & | q, |
const ColumnVector & | qp, | ||
const ColumnVector & | qpp, | ||
const ColumnVector & | dq, | ||
const ColumnVector & | dqp, | ||
const ColumnVector & | dqpp, | ||
ColumnVector & | ltorque, | ||
ColumnVector & | dtorque | ||
) | [virtual] |
Delta torque dynamics.
See mRobot::delta_torque for equations.
Implements Robot_basic.
Definition at line 511 of file delta_t.cpp.
void mRobot_min_para::dq_torque | ( | const ColumnVector & | q, |
const ColumnVector & | qp, | ||
const ColumnVector & | qpp, | ||
const ColumnVector & | dq, | ||
ColumnVector & | ltorque, | ||
ColumnVector & | dtorque | ||
) | [virtual] |
Delta torque due to delta joint position.
This function computes . See mRobot::delta_torque for equations.
Implements Robot_basic.
Definition at line 335 of file comp_dq.cpp.
void mRobot_min_para::dqp_torque | ( | const ColumnVector & | q, |
const ColumnVector & | qp, | ||
const ColumnVector & | dqp, | ||
ColumnVector & | ltorque, | ||
ColumnVector & | dtorque | ||
) | [virtual] |
Delta torque due to delta joint velocity.
This function computes . See mRobot::delta_torque for equations.
Implements Robot_basic.
Definition at line 303 of file comp_dqp.cpp.
void mRobot_min_para::dTdqi | ( | Matrix & | dRot, |
ColumnVector & | dp, | ||
const int | i | ||
) | [virtual] |
Partial derivative of the robot position (homogeneous transf.)
This function computes the partial derivatives:
See mRobot::dTdqi(Matrix & dRot, ColumnVector & dp, const int i) for equations.
Implements Robot_basic.
Definition at line 829 of file kinemat.cpp.
ReturnMatrix mRobot_min_para::dTdqi | ( | const int | i | ) | [virtual] |
Partial derivative of the robot position (homogeneous transf.)
See mRobot::dTdqi(Matrix & dRot, ColumnVector & dp, const int i) for equations.
Implements Robot_basic.
Definition at line 887 of file kinemat.cpp.
ReturnMatrix mRobot_min_para::G | ( | ) | [virtual] |
Joint torque due to gravity based on Recursive Newton-Euler formulation.
Implements Robot_basic.
Definition at line 832 of file dynamics.cpp.
ReturnMatrix mRobot_min_para::inv_kin | ( | const Matrix & | Tobj, |
const int | mj = 0 |
||
) | [virtual] |
Overload inv_kin function.
Reimplemented from Robot_basic.
Definition at line 1023 of file invkine.cpp.
ReturnMatrix mRobot_min_para::inv_kin | ( | const Matrix & | Tobj, |
const int | mj, | ||
const int | endlink, | ||
bool & | converge | ||
) | [virtual] |
Inverse kinematics solutions.
The solution is based on the analytic inverse kinematics if robot type (familly) is Rhino or Puma, otherwise used the numerical algoritm defined in Robot_basic class.
Reimplemented from Robot_basic.
Definition at line 1031 of file invkine.cpp.
ReturnMatrix mRobot_min_para::inv_kin_puma | ( | const Matrix & | Tobj, |
bool & | converge | ||
) | [virtual] |
Analytic Puma inverse kinematics.
converge will be false if the desired end effector pose is outside robot range.
Implements Robot_basic.
Definition at line 1150 of file invkine.cpp.
ReturnMatrix mRobot_min_para::inv_kin_rhino | ( | const Matrix & | Tobj, |
bool & | converge | ||
) | [virtual] |
Analytic Rhino inverse kinematics.
converge will be false if the desired end effector pose is outside robot range.
Implements Robot_basic.
Definition at line 1053 of file invkine.cpp.
ReturnMatrix mRobot_min_para::inv_kin_schilling | ( | const Matrix & | Tobj, |
bool & | converge | ||
) | [virtual] |
Analytic Schilling inverse kinematics.
converge will be false if the desired end effector pose is outside robot range.
Implements Robot_basic.
Definition at line 1311 of file invkine.cpp.
virtual ReturnMatrix mRobot_min_para::jacobian | ( | const int | ref = 0 | ) | const [inline, virtual] |
Jacobian of mobile links expressed at frame ref.
Reimplemented from Robot_basic.
ReturnMatrix mRobot_min_para::jacobian | ( | const int | endlink, |
const int | ref | ||
) | const [virtual] |
Jacobian of mobile joints up to endlink expressed at frame ref.
See Robot::jacobian for equations.
Implements Robot_basic.
Definition at line 905 of file kinemat.cpp.
ReturnMatrix mRobot_min_para::jacobian_dot | ( | const int | ref = 0 | ) | const [virtual] |
Jacobian derivative of mobile joints expressed at frame ref.
See Robot::jacobian_dot for equations.
Implements Robot_basic.
Definition at line 961 of file kinemat.cpp.
void mRobot_min_para::kine_pd | ( | Matrix & | Rot, |
ColumnVector & | pos, | ||
ColumnVector & | pos_dot, | ||
const int | j = 0 |
||
) | const [virtual] |
Direct kinematics with velocity.
Rot,: | Frame j rotation matrix w.r.t to the base frame. |
pos,: | Frame j position vector wr.r.t to the base frame. |
pos_dot,: | Frame j velocity vector w.r.t to the base frame. |
j,: | Frame j. Print an error on the console if j is out of range. |
Implements Robot_basic.
Definition at line 799 of file kinemat.cpp.
void mRobot_min_para::robotType_inv_kin | ( | ) | [virtual] |
Identify inverse kinematics familly.
Identify the inverse kinematics analytic solution based on the similarity of the robot DH parameters and the DH parameters of know robots (ex: Puma, Rhino, ...). The inverse kinematics will be based on a numerical alogorithm if there is no match .
Implements Robot_basic.
ReturnMatrix mRobot_min_para::torque | ( | const ColumnVector & | q, |
const ColumnVector & | qp, | ||
const ColumnVector & | qpp | ||
) | [virtual] |
Joint torque without contact force based on Recursive Newton-Euler formulation.
Implements Robot_basic.
Definition at line 687 of file dynamics.cpp.
ReturnMatrix mRobot_min_para::torque | ( | const ColumnVector & | q, |
const ColumnVector & | qp, | ||
const ColumnVector & | qpp, | ||
const ColumnVector & | Fext_, | ||
const ColumnVector & | Next_ | ||
) | [virtual] |
Joint torque based on Recursive Newton-Euler formulation.
See ReturnMatrix mRobot::torque(const ColumnVector & q, const ColumnVector & qp, const ColumnVector & qpp, const ColumnVector & Fext, const ColumnVector & Next) for the Recursive Newton-Euler formulation.
Implements Robot_basic.
Definition at line 697 of file dynamics.cpp.
ReturnMatrix mRobot_min_para::torque_novelocity | ( | const ColumnVector & | qpp | ) | [virtual] |
Joint torque. when joint velocity is 0, based on Recursive Newton-Euler formulation.
Implements Robot_basic.
Definition at line 782 of file dynamics.cpp.