Cannot solve BodyKinematics if I replace one ball joint with free joint

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Hao Lee
Posts: 32
Joined: Sun Jun 12, 2016 11:52 pm

Cannot solve BodyKinematics if I replace one ball joint with free joint

Post by Hao Lee » Sun May 07, 2023 6:22 pm

Hi all
I am trying to solve the position and velocity of each body in my model from the inverse kinematic data I got. While opensim can solve IK easily, if I use the IK results to run the Analyze tool to get BodyKinematics, it crashes.

After digging into the problem, I found if I just replace the "free joint" in my model with a "ball joint", I can get the Analyze tool's BodyKinematics output. Yet, it does not make sense to me. All I am trying to get is the kinematics, free joint or ball joint should not matter.

Am I missing anything?
The attached file is the model and IK result
Attachments
human_exo_backward.osim
(648.72 KiB) Downloaded 29 times
Subject 1 Walk01_IK.mot
(679.76 KiB) Downloaded 16 times

Tags:

User avatar
Ton van den Bogert
Posts: 166
Joined: Thu Apr 27, 2006 11:37 am

Re: Cannot solve BodyKinematics if I replace one ball joint with free joint

Post by Ton van den Bogert » Tue May 16, 2023 9:14 am

Is it the "exo_back" joint that you changed from free to ball?

The type of joint can be very important if there are fewer than 3 markers on each body segment. In general, it is good to remove as many degrees of freedom as possible, to make the IK solution more robust against errors in marker data and soft tissue artifact.

I think the problem is that your "exo_pelvis" has no markers on it. So, it needs a connection to other bodies to help OpenSim solve the kinematics. In the model you posted, exo_pelvis has no markers and no joints to constrain it.

A ball joint between pelvis and exo_pelvis should not be sufficient, though. Two exo_hip joints would also be necessary, otherwise the rotation of exo_pelvis would be undefined. So I can't really explain that you were able to do IK with just one ball joint on the exo_pelvis and no markers.

Ton van den Bogert

POST REPLY