Page 1 of 1

Help me with my simulation

Posted: Thu Oct 05, 2023 4:47 am
by yokoya0225
I am currently looking to do a model simulation of FES (Functional Electrical Stimulation) using opensim version 4.4.
The model I am using is "arm26.osim".
The target motions I want to achieve with FES are flexion and extension of the elbow, and therefore the target muscles are the biceps brachii and triceps brachii. These are defined as "BIClong," "BICshort," "TRIlong," "TRIlat," and "TRImed" in the "arm26.osim" model.
Initially, I applied excitation to BIClong and BICshort in opensim to examine elbow flexion as a simulation of flexing the elbow by applying electrical stimulation to the biceps brachii muscle. I used "Forward Dynamics Tools" in opensim for the simulation.
The following is one of the problems I am having.
The simulation lasts 20 seconds, and when I apply a stimulus to BIClong and BICshort with a proportional increase in excitation from 0 to 0.1, the maximum value of 0.1 is quite small because the value of excitation can take values from 0 to 1, and my intuition was that the elbow would not flex nearly as much as I expected. I expected that the elbow would not flex at all. In fact, however, the elbow eventually flexed to 114 degrees. What is the reason why the elbow flexed so much even though the value of excitation I entered was quite small (0.1)?

Below is the explanation of the attached file.
controls.xml" ... This is the xml file used to input the excitation, where the BIClong and BICshort are input excitations that ramp up from 0 to 0.1 in 20 seconds, while the excitations of the other muscles are always constant at 0 throughout the simulation.
initial_conditions_for_opensim.sto" ... This is the file for the initial state of the model. This is the state of the model when the simulation is run for 120 seconds without any input to the model and the model is deactivated.
arm26_states_degrees.mot" ... This is the result of a 20-second simulation.

Since the file of the initial state of the model could not be attached, the contents are described below.
The file name is "initial_conditions_for_opensim.sto

arm26_states
version=1
nRows=1
nColumns=17
inDegrees=no
endheader
time /jointset/r_shoulder/r_shoulder_elev/value /jointset/r_shoulder/r_shoulder_elev/speed /jointset/r_elbow/r_elbow_flex/value /jointset/r_elbow/r_elbow_flex/speed /forceset/TRIlong/activation /forceset/TRIlong/fiber_length /forceset/TRIlat/activation /forceset/TRIlat/fiber_length /forceset/TRImed/activation /forceset/TRImed/fiber_length /forceset/BIClong/activation /forceset/BIClong/fiber_length /forceset/BICshort/activation /forceset/BICshort/fiber_length /forceset/BRA/activation /forceset/BRA/fiber_length
00.00000000 -0.05406077 0.00000000 0.40518162 0.00000000 0.00000000 0.14386895 0.00000000 0.07969532 0.00000000 0.07469195 0.00000000 0.14365941 0.00000000 0.14224960 0.00000000 0.08787734

Re: Help me with my simulation

Posted: Thu Oct 05, 2023 10:19 am
by tkuchida
when I apply a stimulus to BIClong and BICshort with a proportional increase in excitation from 0 to 0.1, the maximum value of 0.1 is quite small because the value of excitation can take values from 0 to 1, and my intuition was that the elbow would not flex nearly as much as I expected. I expected that the elbow would not flex at all. In fact, however, the elbow eventually flexed to 114 degrees. What is the reason why the elbow flexed so much even though the value of excitation I entered was quite small (0.1)?
Is the model lifting a weight or is the arm unloaded? It should not take a large amount of muscle activity to flex the elbow if the arm is unloaded. Perhaps you can find data in the literature to validate your results, and perhaps the strength of the model needs to be adjusted to match your participant. You might also want to look through the paper that describes this model and the validation that was done: https://simtk-confluence.stanford.edu:8 ... tal+Models.