Implementation of a general inverse position kinematics algorithm based on Newton-Raphson iterations to calculate the position transformation from Cartesian to joint space of a general KDL::Tree.
More...
|
| | TreeIkSolverPos_NR_JL (const Tree &tree, const std::vector< std::string > &endpoints, const JntArray &q_min, const JntArray &q_max, TreeFkSolverPos &fksolver, TreeIkSolverVel &iksolver, unsigned int maxiter=100, double eps=1e-6) |
| | Constructor of the solver, it needs the tree, a forward position kinematics solver and an inverse velocity kinematics solver for that tree, and a list of the segments you are interested in.
|
| |
| | ~TreeIkSolverPos_NR_JL () |
| |
| virtual double | CartToJnt (const JntArray &q_init, const Frames &p_in, JntArray &q_out) |
| | Calculate inverse position kinematics, from cartesian coordinates to joint coordinates.
|
| |
Implementation of a general inverse position kinematics algorithm based on Newton-Raphson iterations to calculate the position transformation from Cartesian to joint space of a general KDL::Tree.
Takes joint limits into account.
| KDL::TreeIkSolverPos_NR_JL::TreeIkSolverPos_NR_JL |
( |
const Tree & | tree, |
|
|
const std::vector< std::string > & | endpoints, |
|
|
const JntArray & | q_min, |
|
|
const JntArray & | q_max, |
|
|
TreeFkSolverPos & | fksolver, |
|
|
TreeIkSolverVel & | iksolver, |
|
|
unsigned int | maxiter = 100, |
|
|
double | eps = 1e-6 ) |
Constructor of the solver, it needs the tree, a forward position kinematics solver and an inverse velocity kinematics solver for that tree, and a list of the segments you are interested in.
- Parameters
-
| tree | the tree to calculate the inverse position for |
| endpoints | the list of endpoints you are interested in. |
| q_max | the maximum joint positions |
| q_min | the minimum joint positions |
| fksolver | a forward position kinematics solver |
| iksolver | an inverse velocity kinematics solver |
| maxiter | the maximum Newton-Raphson iterations, default: 100 |
| eps | the precision for the position, used to end the iterations, default: epsilon (defined in kdl.hpp) |
- Returns
References delta_q, delta_twists, endpoints, eps, fksolver, frames, KDL::Frame::Identity(), iksolver, maxiter, q_max, q_min, tree, and KDL::Twist::Zero().
| double KDL::TreeIkSolverPos_NR_JL::CartToJnt |
( |
const JntArray & | q_init, |
|
|
const Frames & | p_in, |
|
|
JntArray & | q_out ) |
|
virtual |
Calculate inverse position kinematics, from cartesian coordinates to joint coordinates.
- Parameters
-
| q_init | initial guess of the joint coordinates |
| p_in | input cartesian coordinates |
| q_out | output joint coordinates |
- Returns
- if < 0 something went wrong otherwise (>=0) remaining (weighted) distance to target
Implements KDL::TreeIkSolverPos.
References KDL::Add(), delta_q, delta_twists, KDL::diff(), eps, fksolver, frames, iksolver, maxiter, q_max, and q_min.