Having trouble setting up a KDL chain from DH parameters. Couldn't find any documentation or examples in the code. Can't get KDL forward kinematics results to match up with the robot's answers.
We are using the following to set a chain for a Mitsubishi PA10-7, a RPRPRPR redundant manipulator. Comparing the forward kinematic results from "ChainFkSolverPos_recursive" to the internal data from the PA10, _seems_ to show that the KDL chain is providing data in a left-handed coordinate system. I doubt this is the case (is it?), so figured that we're doing something wrong.
We aren't at all sure what the Joint::RotN are really choosing, in terms of what the chain ends up doing. I can't find any documentation that helps with this unfortunately. Following the Kuka and Staubili sample code, it seems that you use RotZ for roll joints, and RotX for pitch? If anyone can provide an explanation on what this means, I would really appreciate it. I have another robot project coming up that has some very funky offset joint axes, so I'm going to need a pretty good understanding of how to correctly setup the kinematics.
Any help appreciated!
S
// using DH
kinematics.addSegment(Segment(Joint(Joint::RotZ),Frame::DH(0, 0, 0.317, 0)));
kinematics.addSegment(Segment(Joint(Joint::RotX),Frame::DH(0, M_PI/2, 0, 0)));
kinematics.addSegment(Segment(Joint(Joint::RotZ),Frame::DH(0, -M_PI/2, 0.450, 0)));
kinematics.addSegment(Segment(Joint(Joint::RotX),Frame::DH(0, M_PI/2, 0, 0)));
kinematics.addSegment(Segment(Joint(Joint::RotZ),Frame::DH(0, -M_PI/2, 0.480, 0)));
kinematics.addSegment(Segment(Joint(Joint::RotX),Frame::DH(0, M_PI/2, 0, 0)));
kinematics.addSegment(Segment(Joint(Joint::RotZ),Frame::DH(0, -M_PI/2, 0.070, 0)));