Hi there,
Have been running CMC on normal walking data using gait2392 (with subtalar and MTP coordinates locked). All seems to be working well apart from unexpected activation of the tibialis anterior (and other dorsiflexors) during mid-stance. On investigation it appears that the is some unstable ankle coordinate kinematics that results after the CMC run. This did not not occur at the RRA stage.
See attached plots Figs1-3, coordinates positions, velocities, accelerations after RRA (green curve) and CMC (blue curve).
There is quite a lot of noise on the accelerations for all coordinates (is this normal?) but the magnitude at the ankle is huge and results in unexpected mid-stance activation of the tibialis anterior (and other dorsiflexors).
I have checked all the CMC settings and nothing seems out of place. I have also tried different levels of filtering of the input kinematics and tried using my RRA tracking tasks for the CMC. None of these made any difference.
The only other point to make is that I can't get the fast target to work - it fails every time. I have tried using a different initial time, and increasing the strength of all of my reserves but still no luck. So my CMC runs have been using the slow target - I don't know if this is connected to the above problem.
If anyone has any idea what is going on then any help will be gratefully received.
Thanks,
Andy
Unstable ankle_angle coordinate
- Andrew Lewis
- Posts: 18
- Joined: Wed Oct 22, 2008 5:58 am
- Andrew Lewis
- Posts: 18
- Joined: Wed Oct 22, 2008 5:58 am
Re: Unstable ankle_angle coordinate
So I just ran CMC using the example data supplied with the OpenSim 3.0 installation (C:\Program Files\OpenSim 3.0\Models\Gait2392_Simbody) and there appears to be the same problem - mid-stance tibialis anterior activation caused by noisy ankle (and subtalar/MTP) coordinate angles/velocities/accelerations that are not present in the input kinematics (from RRA) - see attached plots.
Is there a problem with this model controlling ankle motion? I know that we are advised to lock the subtalar and MTP joints but, as I described in my first post - I did this with my original data and it doesn't seem to solve the problem.
Anyone got any ideas what is causing this? Is there anyway I can get "under the hood" of the CMC tool to work out what's going on?
Thanks,
Andy
Is there a problem with this model controlling ankle motion? I know that we are advised to lock the subtalar and MTP joints but, as I described in my first post - I did this with my original data and it doesn't seem to solve the problem.
Anyone got any ideas what is causing this? Is there anyway I can get "under the hood" of the CMC tool to work out what's going on?
Thanks,
Andy
Re: Unstable ankle_angle coordinate
Hi Andrew,
CMC takes time to correct the errors in kinematics and the combination of muscle dynamics taking along time and the foot being very light means that there can be some resonance in the kinematics. RRA doesnt have this issue because the actuators don't have delay and the time intervals are much smaller. You can reduce the resonance by making the time windows smaller, but it will only reduce the resonance rather than get rid of it all together.
Let us know how it goes,
-james
CMC takes time to correct the errors in kinematics and the combination of muscle dynamics taking along time and the foot being very light means that there can be some resonance in the kinematics. RRA doesnt have this issue because the actuators don't have delay and the time intervals are much smaller. You can reduce the resonance by making the time windows smaller, but it will only reduce the resonance rather than get rid of it all together.
Let us know how it goes,
-james
- Andrew Lewis
- Posts: 18
- Joined: Wed Oct 22, 2008 5:58 am
Re: Unstable ankle_angle coordinate
Hi James,
Thanks for your reply. Following your advice I tried reducing the <cmc_time_window> parameter from the default of 0.01s to four increasingly smaller values (0.009, 0.0075, 0.005, 0.001s). The smallest value chosen as this matches the default value for RRA.
The effects on both the ankle_angle dudt "ringing" and the tib_ant activations can be seen in Fig.1. The effects didn't seem to be very consistent with increasing reduction of <cmc_time_window> but 0.005s seemed to give quite good results. I then tried using this setting for some other trials (Fig.2). The "ringing" was successfully reduced on all of them but improvements in tib_ant activations were less consistent. Also, I noticed that activation spikes started to appear for other actuators, and it seems these are caused by "ringing" on other coordinates (see last column of graphs in Fig.2). So I solved one problem but created another!
In addition to this I found that I got different activations from CMC when I ran the same data twice - details of this I have added to one of my previous posts: "CMC activations differ with same data" https://simtk.org/forums/viewtopic.php? ... 7672#p7672
Since posting my original question on an unstable ankle_angle coordinate, I have had independent advice that CMC is not very robust and requires lots of manual tuning to provide decent results. I have 100 trials to process for my project (comparing muscle activations in normal vs CP walking) and so if this is true, using CMC becomes impractical. Would it therefore be better to use Static Optimisation to calculate muscle activations from my experimental movement data? I believe I understand the main difference between these two algorithms:
SO doesn't take muscle activation dynamics into account and so may result in physiologically impossibly fast changes of muscle activation.
SO doesn't use a FD feedback loop to directly track input kinematics.
However, looking at SO vs CMC for normal walking (Fig.3), it does seem to give a much better match to my experimental EMG. Whether this is true for CP walking however is another question!
Please advise,
Many Thanks,
Andy
Thanks for your reply. Following your advice I tried reducing the <cmc_time_window> parameter from the default of 0.01s to four increasingly smaller values (0.009, 0.0075, 0.005, 0.001s). The smallest value chosen as this matches the default value for RRA.
The effects on both the ankle_angle dudt "ringing" and the tib_ant activations can be seen in Fig.1. The effects didn't seem to be very consistent with increasing reduction of <cmc_time_window> but 0.005s seemed to give quite good results. I then tried using this setting for some other trials (Fig.2). The "ringing" was successfully reduced on all of them but improvements in tib_ant activations were less consistent. Also, I noticed that activation spikes started to appear for other actuators, and it seems these are caused by "ringing" on other coordinates (see last column of graphs in Fig.2). So I solved one problem but created another!
In addition to this I found that I got different activations from CMC when I ran the same data twice - details of this I have added to one of my previous posts: "CMC activations differ with same data" https://simtk.org/forums/viewtopic.php? ... 7672#p7672
Since posting my original question on an unstable ankle_angle coordinate, I have had independent advice that CMC is not very robust and requires lots of manual tuning to provide decent results. I have 100 trials to process for my project (comparing muscle activations in normal vs CP walking) and so if this is true, using CMC becomes impractical. Would it therefore be better to use Static Optimisation to calculate muscle activations from my experimental movement data? I believe I understand the main difference between these two algorithms:
SO doesn't take muscle activation dynamics into account and so may result in physiologically impossibly fast changes of muscle activation.
SO doesn't use a FD feedback loop to directly track input kinematics.
However, looking at SO vs CMC for normal walking (Fig.3), it does seem to give a much better match to my experimental EMG. Whether this is true for CP walking however is another question!
Please advise,
Many Thanks,
Andy