Change from coupled to rotational for locking a joint

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Eric Tang
Posts: 3
Joined: Mon Oct 14, 2019 3:45 pm

Change from coupled to rotational for locking a joint

Post by Eric Tang » Fri Jun 19, 2020 3:05 pm

Hi,

This might be a dumb question. I'm trying to lock the rotational transforms of one body part from its parent part. For the models I worked before, I would just change the transform function from "Linear" function to "Constant" of 0. But for this model, which was finished by someone else, OpenSim constantly warned that the definition for the joints I modified is defined as "rotational" somewhere yet "coupled" elsewhere, and the simulations always failed. I'm pretty sure that I've changed the motion type from "coupled" to "rotational" under the Coordinate Set.
I did switch my approach by sticking with the "coupled" and changing the range of y value of SimmSpline to (-0.000001,0.000001) for the joints I want to lock. It did seem to achieve what I wanted, but I am very doubtful if that's the right way to do it.
I guess it might has something to do with the update of OpenSim version. Does anyone know what is the most proper way to lock a joint's rotations in 4.0 or later versions?

Thanks a lot!

Tags:

User avatar
Dimitar Stanev
Posts: 1096
Joined: Fri Jan 31, 2014 5:14 am

Re: Change from coupled to rotational for locking a joint

Post by Dimitar Stanev » Sun Jun 21, 2020 11:04 pm

Hi Eric,

You should search for the coordinate name in the .osim file to find if there is a coordinate coupled constraint or if the rotation of this coordinate is defined as a function of other coordinates. To lock this coordinate, if it is not coupled, you can use the lock flag defined in the joint.

POST REPLY