Hello,
I have been using this opensim model to simulate the human-body seat interaction. The way I run the simulation is using static optimization. Where my motion file is the seated posture of the model, the actuators have been appended to support the pelvis and allow it to stay in place. The external forces applied are to mimic the external forces being applied on the back by the seat. The way I apply my external forces is by having 1 point force on the head to mimic the head rest, and 6 point forces are applied on T3 T5 T7 T9 T11 L1 and L4 (see markers in attached picture). When I run the static optimization, I notice that the right and left muscles have different results (for example the muscle activation on the right levator scapulae is 0.00124055 but the left is 0.06217065) I tried many things to fix that problem but unfortunately I was not able to. At this point I am wondering if my approach to analyze the human-seat interaction using static optimization is correct or not.
Also for external forces when I try to visualize the green arrows using motion association it shows all the forces around the ground axes. Although when Applying the force I make sure to have the force applied to the respective spine segment and the force and point expressed in the same spine segment. (see attached image) I do not apply any torque though.
One final question, if I have cad model of the seat and import it on opensim would that work without the need to apply external forces?
I am more than happy to share my files if it could help fix the problem.
Thanks,
Obidah Alawneh
Am I doing my analysis correctly?
- Obidah Alawneh
- Posts: 25
- Joined: Wed Sep 23, 2020 11:36 am
Am I doing my analysis correctly?
- Attachments
-
- The external force application method
- EXT forces.JPG (33.76 KiB) Viewed 1006 times
-
- Markers represent the location of each external force
- Force locations.JPG (39.48 KiB) Viewed 1006 times
- Jacob J. Banks
- Posts: 97
- Joined: Tue Jul 15, 2014 5:17 am
Re: Am I doing my analysis correctly?
I'm guessing your external force is not setup correctly and it is not being administered symmetrically. It's pretty easy to screw up, because as you noted OpenSim does not (for whatever reason) seem to display forces correctly that are in a local coordinate, as it displays them in a GCS (but it does seem to administer them correctly, just not display them). If you have your setup files (.forces and xmls), feel free to attach them and I'll take a look and see if anything jumps out at me.
The only 'other thing could be (if things are setup correctly) is that you may want to look at adding a torque actuator to help balance out the weird/unphysiological Sternum and T1_r1R torques/forces that are in the model. These torques/forces are a result of unphysiological joints we had to create to connect things. I would suggest looking at the InvDyn solution and seeing if there are high torques/forces at these DoFs. I'd also suggest to just 'move' the model via the GUI to see what I am talking about in terms of 'unphysiological' (just using the Coordinates tab, move the Sternum and T1_r1R and then try to mimic that movement yourself!).
No, inputting another 'image' would do nothing. You would have to create a body and then add some contact elements (i.e., hunt-crossely) on your model to interact with the chair. I think the external forces are the way to go in terms of ease and adding further assumptions.
Again, feel free to send some files and I take a gander. Otherwise, it seems like you are getting really close and have a decent understanding of things.
Jake Banks
The only 'other thing could be (if things are setup correctly) is that you may want to look at adding a torque actuator to help balance out the weird/unphysiological Sternum and T1_r1R torques/forces that are in the model. These torques/forces are a result of unphysiological joints we had to create to connect things. I would suggest looking at the InvDyn solution and seeing if there are high torques/forces at these DoFs. I'd also suggest to just 'move' the model via the GUI to see what I am talking about in terms of 'unphysiological' (just using the Coordinates tab, move the Sternum and T1_r1R and then try to mimic that movement yourself!).
No, inputting another 'image' would do nothing. You would have to create a body and then add some contact elements (i.e., hunt-crossely) on your model to interact with the chair. I think the external forces are the way to go in terms of ease and adding further assumptions.
Again, feel free to send some files and I take a gander. Otherwise, it seems like you are getting really close and have a decent understanding of things.
Jake Banks
- Obidah Alawneh
- Posts: 25
- Joined: Wed Sep 23, 2020 11:36 am
Re: Am I doing my analysis correctly?
Hello Jacob,
Thanks for your reply, your help is greatly appreciated.
Please see attached my external forces .mot and .xml files.
Thanks for your reply, your help is greatly appreciated.
Please see attached my external forces .mot and .xml files.
- Attachments
-
- 30degslouchednew.mot
- Seating posture motion file
- (8.03 KiB) Downloaded 35 times
-
- Obidah30degEXT.xml
- external forces xml file
- (41.77 KiB) Downloaded 38 times
-
- Obidah30degEXT.mot
- external forces motion file
- (23.97 KiB) Downloaded 31 times
- Jacob J. Banks
- Posts: 97
- Joined: Tue Jul 15, 2014 5:17 am
Re: Am I doing my analysis correctly?
Just looking at your External file (sorry, I have been away from my desk all day)... and you have non-zero pz values. That is/should be why you have asymmetrical recruitment. pz is medial-lateral. Is this designed, or did you think pz was/is vertical?
I didn't run it in InvDyn, but you should.
Jake Banks
I didn't run it in InvDyn, but you should.
Jake Banks
- Obidah Alawneh
- Posts: 25
- Joined: Wed Sep 23, 2020 11:36 am
Re: Am I doing my analysis correctly?
The px py pz values are obtained from the location of the markers, so for example on T3 the three points on the left are symmetrical with the three points on the right of the spine. Pz in this case is placed away from the spine to the left and right but in a symmetrical manner.
If you look at T3_1_px, T3_1_py, T3_1_pz and T3_6_px, T3_6_py, T3_6_pz; the values are -0.055, 0, -0.092857143 and -0.055, 0, 0.092857143 respectively which makes the forces applied on the left and right of the spine to be equal.
If you look at T3_1_px, T3_1_py, T3_1_pz and T3_6_px, T3_6_py, T3_6_pz; the values are -0.055, 0, -0.092857143 and -0.055, 0, 0.092857143 respectively which makes the forces applied on the left and right of the spine to be equal.
- Jacob J. Banks
- Posts: 97
- Joined: Tue Jul 15, 2014 5:17 am
Re: Am I doing my analysis correctly?
Sorry, I did not pick that up the first time. That makes sense.
So, I think it goes back to what I mentioned yesterday and the Sternum and r1 DoF. I ran InvDyn on things and you can see (in attached Zip folder) that there are some decent sized asymmetrical moments at those joints. Therefore, I drastically increased the Optimal Force/Torque for those DoF in the actuator file. The resulting SOpt results, while not 'perfect', are definitely more in line with symmetrical. I would suggest you review the InvDyn file and maybe adjust your actuator file accordingly (maybe try 1-3 different settings to it). This is a bit of an art.
OK? Let me know if your confused or unsatisfied with any of the aforementioned.
Jake Banks
So, I think it goes back to what I mentioned yesterday and the Sternum and r1 DoF. I ran InvDyn on things and you can see (in attached Zip folder) that there are some decent sized asymmetrical moments at those joints. Therefore, I drastically increased the Optimal Force/Torque for those DoF in the actuator file. The resulting SOpt results, while not 'perfect', are definitely more in line with symmetrical. I would suggest you review the InvDyn file and maybe adjust your actuator file accordingly (maybe try 1-3 different settings to it). This is a bit of an art.
OK? Let me know if your confused or unsatisfied with any of the aforementioned.
Jake Banks
- Attachments
-
- id.zip
- (261.58 KiB) Downloaded 42 times
- Obidah Alawneh
- Posts: 25
- Joined: Wed Sep 23, 2020 11:36 am
Re: Am I doing my analysis correctly?
Thanks a lot Jacob this definitely helps in making sense of the results now, but one final question; would each posture need a specific actuators file to append to? or would one work for all. I've also noticed that you have changed the optimal force for elv_angle_r was that on purpose or was it a mistake?
Best regards,
Obidah Alawneh
Best regards,
Obidah Alawneh
- Jacob J. Banks
- Posts: 97
- Joined: Tue Jul 15, 2014 5:17 am
Re: Am I doing my analysis correctly?
Good deal. Glad we figured it out.
That would have been a mistake (to increase the shoulder elevation)... I was no doubt just getting over zealous on modifying the actuators. The upper arm(s) reserve actuators don't need changed (or to even be added) because those joints are already controlled by torque actuators that can 100% satisfy the kinetics.
No, you shouldn't need multiple reserve actuator files, unless you are simulating a task that has really high right arm loads (even then, it they may not be needed given the high optimal forces I input). But if you ever wonder if you should have a different reserve actuator optimal force, just run InvDyn and see what those joint moments are.
Best of luck, let me know if anything else.
Jake Banks
That would have been a mistake (to increase the shoulder elevation)... I was no doubt just getting over zealous on modifying the actuators. The upper arm(s) reserve actuators don't need changed (or to even be added) because those joints are already controlled by torque actuators that can 100% satisfy the kinetics.
No, you shouldn't need multiple reserve actuator files, unless you are simulating a task that has really high right arm loads (even then, it they may not be needed given the high optimal forces I input). But if you ever wonder if you should have a different reserve actuator optimal force, just run InvDyn and see what those joint moments are.
Best of luck, let me know if anything else.
Jake Banks