[ros-users] replicating pr2_arm_kinematics for 6-DOF arm

David Feil-Seifer david.feilseifer at gmail.com
Sat Jul 17 17:43:45 UTC 2010

I am trying to replicate the IK-functionality of pr2_arm_navigation
for our humanoid robot, Bandit. I have attached a xacro file for it's
arm. I have it rendering correctly, and am able to have it mimic the
movements of a real Bandit with joint_states_publisher and a
/joint_states message. I seem to have correctly ported
pr2_arm_ik_solver and pr2_arm_kinematics by simply changing all 7's to
6's and changing the names of the root and tip links
(bandit_torso_link and left/right_hand_link). However, I'm having
trouble with pr2_arm_ik.cpp. Clearly, the math here was meant for a
7-DOF arm, and I don't really know what algorithm is being used here,
so I'm having trouble translating that to a 6-DOF arm. I have figured
out that in the init function, that I needed to change the
link_offsets for the shoulder_upperarm_offset, elbow_wrist offset, and
upperarm_elbow_offset values. Those are now correct. I am just having
trouble making computeIKShoulderPan and computeIKShoulderRoll to a 6
joint arm. Can anyone give me some guidance on how to proceed?

I did look at the KDL examples on their website, but they were pretty
vague about creating an IK solver with joint limits.

Thanks for your help.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: shoulder.xacro
Type: application/octet-stream
Size: 11751 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20100717/cb6aaec2/attachment-0004.obj>

More information about the ros-users mailing list