Page 1 of 1

How to get Joint Forces?

Posted: Tue Jan 09, 2024 1:01 am
by jaebeom
Hello,

I have a question regarding joint reaction forces. I need to obtain six elements for each joint: forces and moments along the x, y, and z axes, specifically Fx, Fy, Fz, Mx, My, and Mz.

The inverse dynamics (or joint reaction analysis) provided by OpenSim is unsatisfactory for my needs. I require both the linear forces and the moments in all three dimensions. (Fx, Fy, Fz, Mx, My, and Mz.)

Can anyone provide methods to capture these six elements for each joint in OpenSim?

Thank you.

Re: How to get Joint Forces?

Posted: Tue Jan 09, 2024 8:09 am
by kernalnet
Hi,

Please note that, depends on the input data, Joint Reaction Analysis (JRA) tool could give you both intersegmental forces/moments and joints contact forces/moments. Inverse Dynamics (ID) output is in joints frames (or better to say, coordinates), but the JRA output could be expressed in ground, parent body, or child body (mostly used) frames.

Intersegmental forces/moments: GRF and forces/moments of coordinates are required. To do that, simply exclude muscles from the model (either by disabling or removing), create an actuator file in which every free coordinate has a CoordinateActuator with optimal force of 1 (N or Nm), and min and max controls of -inf and +inf, respectively. Note that if the names of the actuators match the ID output (columns labels), you can simply use ID output as the force file in the JRA tool. Otherwise, you must run the Static Optimization to find their forces/moments.

Joints contact forces/moments: GRF, muscles forces and/or (reserve/residual) actuators forces/moments are required. Both Static Optimization and CMC tools could give you the required force file. Please see Joint Reactions Analysis for more details.

Hope this helps,
-Mohammadreza

Re: How to get Joint Forces?

Posted: Tue Jan 09, 2024 10:14 pm
by jaebeom
kernalnet wrote:
Tue Jan 09, 2024 8:09 am
Intersegmental forces/moments: GRF and forces/moments of coordinates are required. To do that, simply exclude muscles from the model (either by disabling or removing), create an actuator file in which every free coordinate has a CoordinateActuator with optimal force of 1 (N or Nm), and min and max controls of -inf and +inf, respectively. Note that if the names of the actuators match the ID output (columns labels), you can simply use ID output as the force file in the JRA tool. Otherwise, you must run the Static Optimization to find their forces/moments.
Thank your TIP!, Mohammadreza.

I had researched Joint Reaction Forces before, but I forgot about it because I'm not using muscles now.

I was struggling because using muscles felt difficult, but following your instructions, it seems like I can get the joint reaction Force/Moment what I want.

Thank you again. Have a great day!

Re: How to get Joint Forces?

Posted: Thu Feb 22, 2024 12:24 pm
by rroy
Thank you, Mohammadreza, for the suggestions regarding generating intersegmental forces using the ID outputs and the CoordinateActuators! That works well for the Arm26 example.

However, when I tried to do ID + JRA with whole body (scaled version of Gait2354_Simbody, with muscles excluded as per your suggestion), I notice that there is motion in all of the model joints and the model looks noticeably more "bent" in configuration compared to the original model. This happens when I run the JRA tool (ID doesn't alter the kinematics beyond what is specified in the IK motion file). I have specified no motion in the joints, and the only forces acting are the bodies' weights. Do you have any idea why this might be resulting ? I am not being able to figure this out. I am not running any RRA to alter the joint kinematics either.

I am attaching the figure to this comment. Many thanks!!

Re: How to get Joint Forces?

Posted: Thu Feb 22, 2024 1:05 pm
by kernalnet
If I understand correctly, you are using JRA without prescribing any motion. I have never used JRA in that way. Perhaps you need to create a dummy motion file for your purpose.

Re: How to get Joint Forces?

Posted: Thu Feb 22, 2024 1:09 pm
by rroy
Correct, I held the model fixed with the only load being gravity. I can try with a superimposed motion and see if that helps.

Re: How to get Joint Forces?

Posted: Thu Feb 22, 2024 1:43 pm
by rroy
Hi MohammadReza, I added a motion file with motion in the hip (L+R), knee (L+R), ankle (L+R) and pelvis tilt, but it seems that upon running JRA, the model still translated and bent in configuration. It seems that this offset takes place right at the start of the motion (after running JRA).