Page 1 of 1

Enforcement of constraints

Posted: Wed Mar 20, 2013 5:02 pm
by tlin067
Hi all,

I just have a question regarding the use of custom joints with reduced dofs vs weld constraints vs locked coordinates. I was wondering if there is any practical difference between these options?

I am currently running a forward simulation in the OpenSim API with a number of coordinates being locked and the simulation takes considerably longer than if I omitted the dofs within a custom joint. I was wondering if you could explain what influence these additional locked dof's will have computationally?

In addition, should a coordinate remain constant when the forward simulation runs if it is locked? When I look at my results it seems that a constant value is not enforced throughout the simulation. Can you recommend the best practice for this type of issue on a one off case? Is it better to include only the necessary dofs or be general (6 dofs) and include locked or constrained dofs?

Thanks
Tom

Re: Enforcement of constraints

Posted: Thu Mar 21, 2013 9:48 am
by aymanh
Hi Tom,

I'd expect any constraints to cost you some time (same for the lock as it'd be treated as a constraint.) Any constraints in the model tend to slow things a bit since they add equations to be solved/enforced potentially to a tight tolerance. If you have plans to unlock these later then that's usually a reasonable price to pay for the flexibility, but if you plan to never unlock then it's more efficient to remove the coordinate altogether. The power of the Simbody/OpenSim joints (aka mobilizers) is that they allow you to specify exactly what needs to move rather than allow arbitrary motions then constrain the motion as it's less efficient.

Hope this helps,
-Ayman