Simulation of ankle exoskeleton

OpenSim Moco is a software toolkit to solve optimal control problems with musculoskeletal models defined in OpenSim using the direct collocation method.
User avatar
Iris Magnusdottir
Posts: 19
Joined: Thu Nov 01, 2018 2:04 am

Re: Simulation of ankle exoskeleton

Post by Iris Magnusdottir » Mon Jul 06, 2020 3:31 am

Thanks Nick,

I have already done three other configurations, spring only, motor only, and parallel elastic actuation (PEA). With those I have used the PathSpring and PathActuator. I want to compare the different configurations and therefore keep working with actuators.
Do you have some recommendation of which would be most appropriate?
All OpenSim Actuators have the output 'power' that you can use to get actuator power.
How do I extract the power from my solution? It does not appear in my MocoInverse_solution. I tried to use getPower() but Matlab did not recognize the function.

Code: Select all

power = model.getPower().get('pathactuator');
The Moco Cheat Sheet suggests using

Code: Select all

outputs = StdVectorString();
but Matlab doesn't seem to recognize this either.

I appreciate the help! Thanks

User avatar
Nicholas Bianco
Posts: 1041
Joined: Thu Oct 04, 2012 8:09 pm

Re: Simulation of ankle exoskeleton

Post by Nicholas Bianco » Mon Jul 06, 2020 1:09 pm

Hey Iris,

Unfortunately, there is no actuator + passive element combination that will accurately model a series-elastic actuator like you want. I think having a PathSpring and PathActuator in parallel like you describe is the best option you have right now. A real series-elastic actuator (other than using a modified muscle) would require C++ development. If that is something you are interested let us know and we can help you get started.

You can follow the instructions on this post to get a table of Actuator power values: viewtopicPhpbb.php?f=1815&t=11538&p=33373&start=0&view=.

You just need to fill in the component path and output value name (here, "power") in the indicated spots.

-Nick

POST REPLY