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!
Change from coupled to rotational for locking a joint
- Dimitar Stanev
- Posts: 1096
- Joined: Fri Jan 31, 2014 5:14 am
Re: Change from coupled to rotational for locking a joint
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.
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.