# Lesson 4: Inverse Dynamics¶

The inverse dynamic analysis in AnyBodyStudy is at the heart of what the AnyBody Modeling System does. An InverseDynamics operation is like the Kinematics operation, except it is augmented with calculation of forces in the system, i.e. kinetic or dynamic analysis.

Computing forces in a rigid body mechanical system is more difficult than it may seem. In principle, resolving forces is a question of setting up the equilibrium equations and solving them. But in mechanism analysis in general and biomechanics in particular, there are several complications. The system may very easily become statically indeterminate, which means that there are not enough equilibrium equations available to resolve the forces in the system. Another complication is caused by the muscles in the system because they can only pull. This constrains the space of possible solutions and adds a fair bit of mathematical complexity to the problem.

In AnyBodyStudy, these complexities are handled with algorithms that assume that the mechanical system is a musculoskeletal system. The inverse dynamic solver basically deals with

The statical indeterminacy of the musculoskeletal system

Unilateral forces elements.

The class called AnyMechStudy does also contain an InverseDynamics operation. This operations is far more simple and does not deal with either of these problems. It simply solves the very basic inverse dynamics problem of a general simple mechanical system, namely to solve the dynamic equilibrium equations for a equal amount of unknown forces, the so-called reaction forces.

To conclude this tutorial, please try InverseDynamics operations in the
arm model, `arm2d.any`

, and the slider crank
mechanism,
`demo.SliderCrank3D.any`

. In both
case, you will now see forces being calculated, i.e. forces that are
non-zero in the output. But please also notice how the slider crank
study is defined with simpler AnyMechStudy whereas the arm model uses
AnyBodyStudy.

If you use AnyMechStudy in the arm model, the analysis will stop with a failure, because it cannot balance the mechanism. This is because the AnyMechStudy does not recognize the muscles as unknown forces. It regards them as applied (known) forces (which will be zero because their value is not defined anywhere) and therefore there are no forces to balance the moments exerted about the elbow and shoulder joints by the external load.

Much more details about inverse dynamics of musculoskeletal systems are found the special tutorial on the topic.