We are working on an OpenSim project that does a static optimization and a joint reaction analysis
for a simple squat movement.
We use either the OpenSim model of Rajagopal or that of Catelli. With contrast to the normal gait model these models
implement a patella. External forces are a vertical force to balance the wheight and a moment around the tibia.
We use the contact forces between femur and tibia in the tibia coordinate system to predict the load of the ACL.
The problem works fine with OpenSim 4.0, but with OpenSim 3.3 something does not work as it should.
1) The muscle forces between OpenSim 4.0 and 3.3 differ slighly. Computed forces agree qualitatively but differ
approximately 10 to 20 %. In particular the hamstring forces differ.
Why is that? To my opinion the, except because of rounding errors, there should be any difference at all.
2) The joint reaction forces differ, too, probably because of the difference of the muscle forces.
3) If we output the joint reaction forces in the local tibia-coordinate system, then 3.3 and 4.0 use different labels
in the *.sto file
OpenSim 3.3 uses: walker_knee_r_on_tibaia_r_in_ground_fx (incorrect) while
OpenSim 4.0 uses: walker_knee_r_on_tibaia_r_in_tibia_r (correct).
My question: Are the labels in OpenSim 3.3 just wrong or is there an additional difference I don't know, yet
Can anyone comment on the reasons for these difference!
Sincerely, Martin
Differences OpenSim 3.3 versus 4.0
- Martin Mössner
- Posts: 17
- Joined: Thu Jan 17, 2019 8:40 am
- Ayman Habib
- Posts: 2248
- Joined: Fri Apr 01, 2005 12:24 pm
Re: Differences OpenSim 3.3 versus 4.0
Hi Martin,
The answers from 3.3 and 4.0 should be almost identical, we have regressions that verify this to be the case. That said there could be issues in converting model files or reusing result files from 3.3 in version 4.0 as described under "Upgrading your model files" since these models likely use custom joints. Please check release notes:
https://simtk-confluence.stanford.edu:8 ... penSim+4.0
Let us know if that explains.
-Ayman
The answers from 3.3 and 4.0 should be almost identical, we have regressions that verify this to be the case. That said there could be issues in converting model files or reusing result files from 3.3 in version 4.0 as described under "Upgrading your model files" since these models likely use custom joints. Please check release notes:
https://simtk-confluence.stanford.edu:8 ... penSim+4.0
Let us know if that explains.
-Ayman
- Martin Mössner
- Posts: 17
- Joined: Thu Jan 17, 2019 8:40 am
Re: Differences OpenSim 3.3 versus 4.0
Thanks Ayman, your link gave me some clues, but did not resolve the problem.
After some search I found the problem: Some options in the configuration files have to be changed.
The problem arises, because OpenSim uses a standard value, whenever the user uses an option which is not
appropriate/implemented. It is save for OpenSim to substitute an invalid option by a standard option, because
it leads to a stable running of the program. BUT, in almost no case OpenSim will do what the user intends to do!
So it would help a lot, if OpenSim would complain, that something is not right.
This is in particular true, if the user swithches to an older version. In that case the user even wont recognize that
there might be a problem. He only observes that the calculated results are wrong.
Martin
After some search I found the problem: Some options in the configuration files have to be changed.
The problem arises, because OpenSim uses a standard value, whenever the user uses an option which is not
appropriate/implemented. It is save for OpenSim to substitute an invalid option by a standard option, because
it leads to a stable running of the program. BUT, in almost no case OpenSim will do what the user intends to do!
So it would help a lot, if OpenSim would complain, that something is not right.
This is in particular true, if the user swithches to an older version. In that case the user even wont recognize that
there might be a problem. He only observes that the calculated results are wrong.
Martin
- Martin Mössner
- Posts: 17
- Joined: Thu Jan 17, 2019 8:40 am
Re: Differences OpenSim 3.3 versus 4.0
I would have another question. Is there a function to get the OpenSim version in Matlab.
It would be convenient to have code, like:
It would be convenient to have code, like:
Code: Select all
version = ...
if (version == 3.3)
% specific code for OpenSim 3.3
% set options for 3.3
elseif (version == 4.0)
% specific code for OpenSim 4.0
% set options for 4.0
else
version
error('unsupported version')
endif