Coordinate actuator Inverse dynamics or RRA??

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Lynn van Zijl
Posts: 3
Joined: Mon Feb 01, 2021 3:12 am

Coordinate actuator Inverse dynamics or RRA??

Post by Lynn van Zijl » Wed May 18, 2022 8:17 am

Hi everyone,

I am working on a project in which I have collected data of somebody doing lifting tasks with an exoskeleton. In Opensim I have done scaling and inverse kinematics and the results look good. To get dynamics I need to specify the forces that the exoskeleton exerts on the body. For this, I have a function that specifies the torque around the hips. My idea was to add this by using a coordinate actuator around the hip flexion coordinate. However, I am not sure how to proceed from here. Is it possible to do inverse dynamics? Or should I do RRA?
I have tried some things for both but the ID gives me the same results as without the actuator. And I can't seem to get RRA to work (also without the additional actuator), the body starts turning and making movements in different directions that are not present in the IK results.

If anybody has any ideas about how to fix this please let me know!

Tags:

User avatar
Mohammadreza Rezaie
Posts: 386
Joined: Fri Nov 24, 2017 12:48 am

Re: Coordinate actuator Inverse dynamics or RRA??

Post by Mohammadreza Rezaie » Sat May 21, 2022 2:10 am

Hi,

I'm not exactly sure: InverseDynamics tool typically reports moment\force for every defined coordinate (rotational\translational). You need to define the bodies, joints, and coordinates in a correct way (how the bodies are connected together). Also, StaticOptimization can do similar thing, but you need to add CoordinateActuator with high optimal force for each coordinate.

Hope this helps.
Regards,
Mohammadreza

User avatar
Lynn van Zijl
Posts: 3
Joined: Mon Feb 01, 2021 3:12 am

Re: Coordinate actuator Inverse dynamics or RRA??

Post by Lynn van Zijl » Mon May 23, 2022 1:06 am

Thanks for the help.

I found the solution, and thought I would post it here if someone else has a similar problem!

I added a coordinate actuator to my model and added a prescribed controller like this:
<PrescribedController name="L_exo_hip_control">
<!--Flag (true or false) indicating whether or not the controller is disabled.-->
<isDisabled>true</isDisabled>
<!--The list of model actuators that this controller will control.The keyword ALL indicates the controller will controll all the acuators in the model-->
<actuator_list>exo_torque2_z</actuator_list>
<!--Functions (one per control) describing the controls for actuatorsspecified for this controller.-->
<FunctionSet name="ControlFunctions">
<objects/>
<groups/>
</FunctionSet>
<controls_file>C:\exocontrol.sto</controls_file>
<interpolation_method>1</interpolation_method>
</PrescribedController>

Then I could just run ID!

User avatar
Emily Klinkman
Posts: 8
Joined: Mon Sep 26, 2022 10:36 am

Re: Coordinate actuator Inverse dynamics or RRA??

Post by Emily Klinkman » Tue Sep 19, 2023 3:18 pm

Hi Lynn,

I'm working on a similar project, and I'm wondering what version of XML you used for the code you included for your solution in the model .osim file? I'm using version 4000 and the syntax is quite different from yours.

POST REPLY