Hinge model of the knee

Dear all

I am trying to program a hinge model (representing a knee) for validation of our Oxford Knee rig.
-The model has 2 segments, a femur and a tibia. Both parts are connected by a hinge.
-The femur segment is attached to our rig with a hinge, while the ankle (bottom part of the tibia) is only positioned in the xy-plane.
-The axis of the hip-hinge and the knee-hinge is the z-axis so we can do the analyses in 2D
While running the InverseDynamics, I get the message :
‘There are fewer unknown forces (muscles and reactions) than dynamic equations.’

Hopefully this is enough information to understand the model.
Does anybody has a suggestion on this?


Hi Stijn,

First of all, there is no problem in your model in terms of kinematics.

You defined same number of kinematics constraints as the number of DoFs.

But there is not enough reaction forces in your model.

You removed all the joint constraint reactions in your two revolute joints.

Also you removed the reactions in your drivers. Then you should define some external reaction forces or muscles.

You should clarify how you would like to arrange the force elements in your model.

Best regards,

Dear Moonki,

Thanks for your reply.

When I activate the reaction forces of the driver, then I have a kinetically over-constrained mechanical system. Looking at the system description, I have 12 constraints (2 segments) and 12 active reaction forces. I found it strange that this gives no solution.

The objective of the model is to receive the reaction forces in the ankle.

(Later on I will implement a quadriceps force. But to validate our Knee Rig I will only analyse the influence of gravitation.)

Best regards,

Dear Stijn,

If you turn on all reaction forces in your model, then you can see the following message:

WARNING(OBJ.MCH.MUS1) :   C:/W..E/AMMR/A..3/F..m/K..g/HingeModel-V10.any(156)  :   HingeStudy  :  The muscles in the model are not loaded due to kinetically over-constrained mechanical system.
NOTICE(OBJ1) :   C:/W..E/AMMR/A..3/F..m/K..g/HingeModel-V10.any(156)  :   HingeStudy.InverseDynamics  :  No muscles in the model.

This means that because there are 12 reactions in 12 DOFs, there is no need for muscles to do any work.
Muscles in AnyBody are lazy. They will only work when it is needed.

I tried to modify your model. Instead of turning on the reactions in your driver, I tried to create a hip and a knee torque.

But I tried to implement that in two different ways.
One is using the AnyReacForce object and the other is using AnyGeneralMuscle object.

In the model which used AnyGeneralMuscle object, you will not see any warning message.

But if you compare the calculated knee and hip torques between two models then you can see that those values are same.

I hope this may help you.

Best regards,

Dear Moonki,

Thanks again for your response ! It was very useful.

I used both methods in 2 different models. For your information, I add both models.

Thanks for all your help.


Hi Stijn,

Your model look very interesting. Hope that you can make good models for future!

Best regards,