orocos-kdl中文注释之Kinematic Solver(Forward or Inverse)
?
KDL contains for the moment only generic solvers for kinematic chains. They can be used (with care) for every KDL::Chain.
The idea behind the generic solvers is to have a uniform API. We do this by inheriting from the abstract classes for each type of solver:
A seperate solver has to be created for each chain. At construction time, it will allocate all necessary resources.
A specific type of solver can add some solver-specific functions/parameters to the interface, but still has to use the generic interface for it's main solving purpose.
The forward kinematics use the function?JntToCart(...)?to calculate the Cartesian space values from the Joint space values. The inverse kinematics use the function?CartToJnt(...)?to calculate the Joint space values from the Cartesian space values.
正向运动学求解中用JntToCart(...)函数计算关节坐标系像笛卡尔坐标系的转化,逆向运动学反之……
For now we only have one generic forward and velocity position kinematics solver.
It recursively adds the poses/velocity of the successive segments, going from the first to the last segment, you can also get intermediate results by giving a Segment number:
?
ChainFkSolverPos_recursive fksolver(chain1);JntArray q(chain1.getNrOfJoints);q=...Frame F_result;fksolver.JntToCart(q,F_result,segment_nr);
?