Page 1 of 1

Inverse dynamics

Posted: Wed Aug 05, 2009 6:54 am
by gerrob
Hello Guys,

I was reading up on the inverse dynamics thread and I was wondering whether any particular solution has already been implemented?
I'm interested in getting joint torques from an arm model. I have joint angle data(position,velocity,acceleration) and I would like to calculate the resulting joint torques.

Regards
Rob

RE: Inverse dynamics

Posted: Wed Aug 05, 2009 9:31 am
by sherm
Hi, Rob.

Simbody 1.6 has inverse dynamics built in. That is done and there is a source branch for it, but we haven't had time yet to build and post the binaries. If you can build from source, you can get it now.

Otherwise there are several alternatives you can use in Simbody 1.5. One is to use a Constraint to prescribe the motion you want, and then examine the resulting constraint multiplier. That would probably be the easiest method for now if you're not building from source.

Another alternative is to solve the problem numerically by applying a mobility torque and adjusting its value until you obtain the desired acceleration.

Best regards,
Sherm

RE: Inverse dynamics

Posted: Thu Aug 06, 2009 12:43 am
by gerrob
Hi Sherm,

Thanks very much. I'll get the new sources.
Anyway, thanks very much for your quick response. You guys are doing a great job which is much appreciated.

Regards
Rob

RE: Inverse dynamics

Posted: Thu Aug 06, 2009 9:17 am
by sherm
Thanks, Rob.

The available inverse dynamics routines in 1.6 are methods of SimbodyMatterSubsystem that provide related operations. The main one is succinctly named calcResidualForceIgnoringConstraints(). That lets you apply forces and accelerations and returns the additional mobility forces that would be required to produce those accelerations.

The other inverse dynamics routine is the low-level operator calcMV() which calculates the product of the mass matrix and a vector in O(n) time.

There is doxygen documentation for these (generated from the comments in the header file) but no "big picture" documentation so please post if you want more info.

Regards,
Sherm