Understanding gazebo::physics::Joint::GetForce() return Wrench

asked 2017-04-22 14:20:07 -0600

imcmahon gravatar image

I am building an estimator for the amount of torque experienced on the by the output axis of a revolute robot joint. I found the gazebo::physics::Joint::GetForceTorque() function inside the Gazebo 7.0 API docs, but the description of the returned JointWrench(s) has me a bit confused:

The force and torque values are returned in a JointWrench data structure. Where JointWrench.body1Force contains the force applied by the parent Link on the Joint specified in the parent Link frame, and JointWrench.body2Force contains the force applied by the child Link on the Joint specified in the child Link frame. Note that this sign convention is opposite of the reaction forces of the Joint on the Links.

Questions:

1) Does this mean that either body1Torque or body2Torque are reported with as a Torque with respect to the axis of rotation of the joint?

2) Shouldn't I expect both sets of Torques to be identical in the magnitudes for x, y, and z, but just opposite in sign?

3) Or is the representation of the data such that I need to aggregate the Forces and Torques for both body1 and body2, and then transform them into the Joint's frame?

edit retag flag offensive close merge delete