Rotation constraint

63 views
Skip to first unread message

Simone

unread,
May 1, 2025, 12:54:15 PM5/1/25
to ProjectChrono
Hello,

I need to model the following situation, but I am not sure if this is possible with the built-in classes. Let's suppose we have two rigid bodies "A" and "B". "A" can move freely along the world x-axis via a prismatic joint, let's call this displacement "x". I want to constrain the rotation of B to be a function of this displacement, which requires 3 constraint equations of the form "c(x)=0". If this would depend on time, then the motion could be imposed, but that's not the case, since body "A" can move freely along the x-axis.

Is there a way to achieve this? Of course, a controller could be implemented, but I need to preserve the energy here, so I think it is only possible via analytical constraints.

Thanks a lot in advance.

Simone

Radu Serban

unread,
May 14, 2025, 10:19:14 AM5/14/25
to ProjectChrono

Hi Simone,

 

Looks like you would have to implement your own “joint”, derived from ChLink.  This is a bit more low-level Chrono coding than what we suggest users to do, but I don’t think there’s other way around it.  Also, I feel that this is such a special case that it does not warrant implementing in the core Chrono code.  You may want to look at the implementation of something like ChLinkRevolute to see how that entails.

 

--Radu

--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to projectchron...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/projectchrono/a5cc405c-9342-43cd-b126-a157e50c1fb5n%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages