orocos_kinematics_dynamics icon indicating copy to clipboard operation
orocos_kinematics_dynamics copied to clipboard

Is it possible to request an intermediate Jacobian with KDL::ChainJntToJacSolver?

Open cadojo opened this issue 5 years ago • 1 comments
trafficstars

Question

Assume a 7DOF serial manipulator. Can KDL solvers find the Jacobian of the 4th joint with respect to the base frame, or the Jacobian of the 5th joint with respect to the base frame?

In the KDL::ChainJntToJacSolver Class Reference, I see that the function JntToJac accepts an argument called seg_nr. I'm not sure this does what I'm looking for though - I think the returned Jacobian may be the Jacobian of the tool frame with respect to the frame provided by seg_nr.

cadojo avatar Jul 03 '20 20:07 cadojo

As a follow up, it seems from this 2010 post that the method for intermediate Jacobian calculations was to transform the KDL::Chain to a KDL::Tree, and then use KDL::TreeJntToJacSolver::JntToJac (const JntArray& q_in, Jacobian& jac, const std::string& segmentname) to find the intermediate Jacobian from base frame to segementname.

Is this still the preferred method, or am I misunderstanding the purpose of seg_nr in my earlier comment?

cadojo avatar Jul 15 '20 01:07 cadojo