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<https://github.com/projectchrono/chrono/blob/main/src/chrono/physics/ChLinkRevolute.h>
 to see how that entails.

--Radu

From: [email protected] <[email protected]> On Behalf 
Of Simone
Sent: Thursday, May 1, 2025 12:44 PM
To: ProjectChrono <[email protected]>
Subject: [chrono] Rotation constraint

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
--
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 
[email protected]<mailto:[email protected]>.
To view this discussion visit 
https://groups.google.com/d/msgid/projectchrono/a5cc405c-9342-43cd-b126-a157e50c1fb5n%40googlegroups.com<https://urldefense.com/v3/__https:/groups.google.com/d/msgid/projectchrono/a5cc405c-9342-43cd-b126-a157e50c1fb5n*40googlegroups.com?utm_medium=email&utm_source=footer__;JQ!!Mak6IKo!KzV-f4plWuX5VLJK9fLXmKXbdJo_5_KWojEdevMwTpIyD0A-iK9t-GmT4ilo-hVwAK-y521pQGVCg8g7Z-g7Rqx0_IY$>.

-- 
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 [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/projectchrono/CH3PPF46CDC2185BF60D194B6D6652D70A4A791A%40CH3PPF46CDC2185.namprd06.prod.outlook.com.

Reply via email to