Hello,
Is it possible to reduce the ground reaction force of one leg in a SCONE simulation using an OpenSim model. I am an osteologist and have been using SCONE to replicate the individuals I am studying. One of them has an impairment in their hip and would have only partially weight bore on it. So I need to replicate this in the model and I think maybe reducing the ground force reaction might work?
Thank you
Jess
Contact force
- Thomas Geijtenbeek
- Posts: 461
- Joined: Wed Mar 12, 2014 8:08 am
Re: Contact force
Yes, this seems like something SCONE can do. You could use the Gait example as a starting point, and then add a measure that penalizes the ground reaction force for only the affected leg. This should cause the optimizer to adapt a gait with reduced GRF for one leg. Make sure you adapt the GaitController to use "symmetric = 0" to allow for asymmetric gait patterns.
- Jess White
- Posts: 14
- Joined: Thu May 23, 2019 12:41 am
Re: Contact force
Hi Thomas,
Thank you for your reply. I tried to do what you said by combining two GRF measures within a combined measure and just naming them with l and r suffixes (with the left one having a max of 0.1 vs the original 1.4 that was left as is for the right ). I also set the gait controller to be asymmetric by symmetric equals 0. But it did not seem to make that much of a difference. Am I using the correct approach? There does not seem to be much in the documentation for asymmetry features. Thank you, Jess
Thank you for your reply. I tried to do what you said by combining two GRF measures within a combined measure and just naming them with l and r suffixes (with the left one having a max of 0.1 vs the original 1.4 that was left as is for the right ). I also set the gait controller to be asymmetric by symmetric equals 0. But it did not seem to make that much of a difference. Am I using the correct approach? There does not seem to be much in the documentation for asymmetry features. Thank you, Jess
- Thomas Geijtenbeek
- Posts: 461
- Joined: Wed Mar 12, 2014 8:08 am
Re: Contact force
Unfortunately, the ReactionForceMeasure does not support separate thresholds for the left and right leg. However, it should be relatively straightforward to implement this behavior using a custom ScriptMeasure. See Tutorial 6b for more information on how to develop a custom ScriptMeasure. You can use the body:contact_force() function to get the contact force applied to any of the bodies.
To check if the symmetric setting is working properly for the GaitMeasure, you can check the Parameters window in SCONE, and see if there are separate parameters for left and right.
To check if the symmetric setting is working properly for the GaitMeasure, you can check the Parameters window in SCONE, and see if there are separate parameters for left and right.
- Jess White
- Posts: 14
- Joined: Thu May 23, 2019 12:41 am
Re: Contact force
Thank you Thomas, I will try that!
jess
jess
- Jess White
- Posts: 14
- Joined: Thu May 23, 2019 12:41 am
Re: Contact force
Hello Thomas,
I customised the script measure as instructed (attached), and altered the SCONE file (attached), however, I get invalid scenario prompt. Can you see what I am doing wrong? I have also attached screenshot of the prompt. My secondary supervisor has been helping me but he is not familiar with SCONE so he can only get me so far.
Thank you for your help
Jess
I customised the script measure as instructed (attached), and altered the SCONE file (attached), however, I get invalid scenario prompt. Can you see what I am doing wrong? I have also attached screenshot of the prompt. My secondary supervisor has been helping me but he is not familiar with SCONE so he can only get me so far.
Thank you for your help
Jess
- Attachments
-
- Screenshot (462).png (129.18 KiB) Viewed 3742 times
-
- SCONE file.docx
- (13.01 KiB) Downloaded 185 times
-
- SCONE script measure.docx
- (14.22 KiB) Downloaded 181 times
- Thomas Geijtenbeek
- Posts: 461
- Joined: Wed Mar 12, 2014 8:08 am
Re: Contact force
Did you put your ScriptMeasure inside the CompositeMeasure? There can only be one measure; if you have multiple objective terms you need to use a top-level CompositeMeasure.