Inverse Dynamics values seem wrong for elbow joint

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Feras Kiki
Posts: 10
Joined: Sun Jul 17, 2022 12:16 pm

Inverse Dynamics values seem wrong for elbow joint

Post by Feras Kiki » Mon Oct 16, 2023 12:29 am

Hi all,
I am using OpenSim inverse Dynamics tool to calculate moments around the joints. However, the value seem very weird at the elbow joint even for simple motion. I did a simple arm raising motion (generated clean data in Matlab), but the moment seem to be negative all the time (even when it should be just zero when there is no elevation angle). I am not adding external force here (even when I do, it doesn't make much difference).

My expectation is that the moment for the elbow should be positive when there is angle, and zero when there is not.
I also checked the masses of the arm parts, and the moment value from body weight seem higher than expected.

Do you know why this is happening?
opensim_torque.png
opensim_torque.png (426.08 KiB) Viewed 541 times
Another problem I have is that when I am adding real data and do Inverse Dynamics with and without external force, I see a noticeable shift in moment (I didn't such a shift when I generated the motion data in Matlab). The motion here is to raise the arm until ~90 degrees. The results are in the photo below.
I know that the data need more filtering and cleaning, but this shift doesn't make sense. It is also not a consistent shift throughout the graph.
real_data.png
real_data.png (178.6 KiB) Viewed 541 times
All your help is much appreciated,

Tags:

User avatar
Carmichael Ong
Posts: 401
Joined: Fri Feb 24, 2012 11:50 am

Re: Inverse Dynamics values seem wrong for elbow joint

Post by Carmichael Ong » Fri Nov 17, 2023 4:44 pm

Difficult to tell from these images alone to know why the elbow flexion moment is opposite of what is expected. Perhaps some things to consider while debugging:
- Which model are you using? Are there any constraints that could be doing something unexpected?
- Given these coordinate values for the shoulder, is the elbow axis rotating exactly in the sagittal plane? You could view some of the joint and body axes to figure out which way it would bend (it's hard to tell from the pictures alone). It could also be helpful to hide the muscles while doing this step too, so you can better see the joint.
- It seems like you are using the GUI to perform ID (which should correctly ignore muscle forces), but in case you are using MATLAB, Python, or C++, you have to be careful to make sure that the muscles are ignored (or remove them from the model) to make sure that passive muscle forces aren't affecting your results.

POST REPLY