Closing a kinematic loop
Posted: Fri Sep 25, 2020 2:41 pm
Hi All,
I have an upper body model with the following kinematic chain: ground - torso - humerus - forearm - hand
I am trying to close the loop by adding a joint from hand - ground. I want this joint to be free (or passive) with 6 DoF (so I don't want constrained motion, but rather ultimately I want to get the joint reaction force here during a forward dynamics simulation). However, it will not open in OpenSim once I add this joint (I'm giving its 3 rotational and translational coordinates a default value, but also specifying is_free_to_satisfy_constraints as true...even though there really are no constraints? But not sure if this is causing the issue)
I think it might want me to add a WeldConstraint or PointConstraint here (but I really want free motion).
With or without the point constraint, this is the error I get: "Attempting to assign an invalid SimTK::MobilizedBodyIndex
In Object 'humphant1_slave_0_offset' of type PhysicalOffsetFrame.
Thrown at physicalframe.cpp:73 in setMobilizedBodyIndex()."
For more background, I have a humphant1 joint (connecting humerus and phantom humerus segments) but this doesn't give me any issues before I try to add the hand-ground joint.
Any help is appreciated! Thank you!
I have an upper body model with the following kinematic chain: ground - torso - humerus - forearm - hand
I am trying to close the loop by adding a joint from hand - ground. I want this joint to be free (or passive) with 6 DoF (so I don't want constrained motion, but rather ultimately I want to get the joint reaction force here during a forward dynamics simulation). However, it will not open in OpenSim once I add this joint (I'm giving its 3 rotational and translational coordinates a default value, but also specifying is_free_to_satisfy_constraints as true...even though there really are no constraints? But not sure if this is causing the issue)
I think it might want me to add a WeldConstraint or PointConstraint here (but I really want free motion).
With or without the point constraint, this is the error I get: "Attempting to assign an invalid SimTK::MobilizedBodyIndex
In Object 'humphant1_slave_0_offset' of type PhysicalOffsetFrame.
Thrown at physicalframe.cpp:73 in setMobilizedBodyIndex()."
For more background, I have a humphant1 joint (connecting humerus and phantom humerus segments) but this doesn't give me any issues before I try to add the hand-ground joint.
Any help is appreciated! Thank you!