Lesson 4: Inverse Dynamics

Lesson 4: Inverse Dynamics#

In this lesson we will briefly touch the heart of the AnyBody Modeling System: the AnyBodyStudy class and its InverseDynamics operation. This operation is similar to the Kinematics operation we’ve discussed before, but it goes a step further by calculating the forces in the system. This is also known as kinetic or dynamic analysis.


You might think that calculating forces in a rigid body mechanical system is straightforward. After all, isn’t it just about setting up equilibrium equations and solving them? Well, it’s a bit more complex than that, especially when it comes to biomechanics.

In biomechanics, we often deal with statically indeterminate systems. This means we don’t have enough equilibrium equations to resolve the forces in the system. Plus, we have to consider the muscles, which can only pull, not push. This adds another layer of complexity to the problem.

But don’t worry! The AnyBodyStudy class is designed to handle these complexities. It uses algorithms that are tailored for musculoskeletal systems. These algorithms deal with the two fundamental challenges of musculoskeltal systems:

  • The statical indeterminacy of the musculoskeletal system

  • Unilateral forces elements.

There’s also the AnyMechStudy class, which contains a simpler InverseDynamics operation. This operation doesn’t deal with the complexities of musculoskeletal systems. Instead, it solves the basic inverse dynamics problem for a simple mechanical system, finding the reaction forces that balance the system.

To wrap up this tutorial on studies, let’s put what we’ve learned into practice. Try running the InverseDynamics operations in the arm model, arm2d.any, and the slider crank mechanism, demo.SliderCrank3D.any. You’ll see forces being calculated in both cases. Notice how the slider crank study uses the simpler AnyMechStudy, while the arm model uses AnyBodyStudy.

AnyBodyStudy model tree

If you try to use AnyMechStudy in the arm model, the analysis will fail. This is because AnyMechStudy doesn’t recognize the muscles as unknown forces. It treats them as known forces, which leads to an imbalance in the moments exerted about the elbow and shoulder joints by the external load.

For more details on inverse dynamics of musculoskeletal systems, check out our special tutorial on the topic.