Constraints between massless bodies

Simbody is useful for internal coordinate and coarse grained molecule modeling, large scale mechanical models like skeletons, and anything else that can be modeled as bodies interconnected by joints, acted upon by forces, and restricted by constraints.
POST REPLY
User avatar
Simon Radler
Posts: 4
Joined: Tue Sep 27, 2022 6:01 am

Constraints between massless bodies

Post by Simon Radler » Tue Sep 27, 2022 6:16 am

Hi,

is it possible to enforce constraints between parts if one side of the constraint is massless?
An example would be one massless pendulum in 'ExampleCustomConstraint.cpp', which results in 'nan's on my machine.
I suppose that this fails because the constraint forces need some non-zero inertia elements to act on.
Is there a way to implement such a constraint in Simbody?

Thank you very much!

User avatar
Michael Sherman
Posts: 806
Joined: Fri Apr 01, 2005 6:05 pm

Re: Constraints between massless bodies

Post by Michael Sherman » Tue Sep 27, 2022 9:29 am

The rule to follow is this:

Imagine the system with just the bodies and joints (constraints removed). That tree-structured system defines the mass matrix and must be non-singular.

So you can weld massless bodies together if they are part of the tree system (i.e. using a weld joint rather than a weld constraint). There still must be no way in the tree system to apply a force to any joint dof that would cause infinite acceleration.

Once you have a non-singular body/joint tree, you can put constraints anywhere you want.

Regards,
Sherm

User avatar
Simon Radler
Posts: 4
Joined: Tue Sep 27, 2022 6:01 am

Re: Constraints between massless bodies

Post by Simon Radler » Tue Sep 27, 2022 10:33 pm

Hi Sherm,

thank you for the prompt reply. I will modify my model to avoid the singularity.

Regards,
Simon

POST REPLY