Closed robodreamer closed 10 years ago
Hi Andy,
We're currently in the process of cleaning a lot of this up, but I'll answer your questions based on master for now.
Drake master uses Featherstone's Matlab library (http://royfeatherstone.org/spatial/v1/documentation.html) to do the dynamics and kinematics. That library assumes that the z-axis is always the joint axis. X_joint_to_body, which is the transform that maps spatial motion vectors in Featherstone's joint frame to Drake's body frame, is set in the RigidBodyManipulator.addJoint method. https://github.com/RobotLocomotion/drake/blob/master/systems/plants/%40RigidBodyManipulator/RigidBodyManipulator.m#L346
I don't think you should have to change jcalc etc. The transformations between Featherstone's joint frame and Drake's body frame should happen behind the scenes.
Best, Twan
Thanks, Twan!
Hi I was looking into the implementation of Centroidal Momentum Matrix in Drake to verify my own computation. However, I found out that currently the code "getCMM" assumes that the joints are only rotating about z-axis. So, I fixed jcalc, dXtrans, dXrotx/y/z, but right now I see that X_joint_to_body are also computed with assumption of z-axis rotation. But I can't find where X_joint_to_body is computed. Could you help me to generalize for rotation about any axes (x,y,z)?
Thanks!