lsw9021 / MASS

Apache License 2.0
574 stars 105 forks source link

How to reproduce Figure 6 (muscle activation)? #6

Open mulkkyul opened 5 years ago

mulkkyul commented 5 years ago

Hi there, Thanks for sharing the code!

I've been working with your paper and I'd like to reconstruct Figure 6 in your paper.

After training, the model can walk and I somehow obtained 10 x 284 muscle activation for each step.

I tried to reproduce Figure 6 (muscle activation), but then I'm kinda lost. There are 284 muscles, and I don't know how to use/choose them to have a plot like Figure 6.

Could you give me some tips? Thanks!

lsw9021 commented 5 years ago

Hi Mr. Jungsik,

Figure 6 in the paper is called eight phases of walking. As for the data, I've collected the muscle activation levels for 40 cycles. As we use line approximated muscle model, one muscle can be divided into several line-segments. For example, the Bicep Brachialis has two heads (the long head and the short head) to represent its geometry. In that case, you have to sum the two line muscle and average them to correctly observe the activations.

In our case, there are two things that matter when collecting the data. One is that the eight phases of walking are not temporally fixed. The elapsed time between Initial Contact and Loading Response is shorter than the time between Loading Response and Mid Stance. You should warp the time domain to get the data. To do so, we additionally observe the foot positions and check whether the foot is in contact or not. The other is that normalization. Every EMG data don't have actual magnitude, but rather provide a ratio which describes the patterns of muscle activation. We normalize every muscle activation level using maximum activation level.

Please check the above and plot the muscle activation. Please let me know if you have some problem.

mulkkyul commented 5 years ago

Thank you for the answer. I think I'm getting it but I still have one question about line segments.

There're same names in muscle24.xml. For example,

there are L_Gluteus_Maximus, L_Gluteus_Maximus1, L_Gluteus_Maximus2, L_Gluteus_Maximus3 and L_Gluteus_Maximus4.

Are these line segments? What's the difference between the one with number and the ones without?

and do I need all of them to plot the muscle activation? (for instance, getting the average of L_Gluteus_Maximus, L_Gluteus_Maximus1, L_Gluteus_Maximus2, L_Gluteus_Maximus3 and L_Gluteus_Maximus4 to depict the muscle activation of L_Gluteus_Maximus?

I'm new to this muscle-skeletal simulation, so please excuse my silly questions. Thank you very much!

Cheers,