Jason - there is no way to create a revolute joint without “defining the 
revolute axis”!
The third argument of the Initialize() function for a revolute joint provides a 
full coordinate system.  If the rotation part is not specified, it is set to be 
the unit quaternion (indicating an identity rotation).  For this particular 
signature of the Initialize() function, that coordinate system represents the 
joint frame expressed in the absolute coordinate system.  The revolute joint is 
constructed with its rotation axis along the Z axis of that joint frame.  In 
other words, if the joint frame has an identity rotation, the revolute joint 
axis will pe parallel to the global Z axis.

Davide - the problem with your model is simply that you have the revolute axis 
passing through the center of mass and as such the gravity does not produce any 
torque to move the body. In other words, your system is in an (unstable) 
equilibrium position.  In the Irrlicht visualization window, press the “i” key 
which will bring up a panel where you can enable visualization of the body and 
joint frames and you should see what I mean.  In the code you provided, try to 
set the joint frame slightly off the center of mass (for example, use 
ChVector<>(0.1, 3, 0)).  That should give a non-zero arm to the gravitational 
force and produce a torque that will move your body.

--Radu

From: 'JASON Z' via ProjectChrono <[email protected]>
Sent: Friday, November 17, 2023 4:09 AM
To: ProjectChrono <[email protected]>
Subject: [chrono] Re: Revolute joint

I am suspecting you didn't define your revolute axis.........

Take a look at demo_MBS_suspension:

        // .. create the revolute joint between the wheel and the spindle
        link_revoluteRB = chrono_types::make_shared<ChLinkLockRevolute>();  // 
right, back, upper, 1
        link_revoluteRB->Initialize(wheelRB, spindleRB,
                                    ChCoordsys<>(ChVector<>(1.5, 1, -1), 
chrono::Q_from_AngAxis(CH_C_PI / 2, VECT_Y)));
        sys.AddLink(link_revoluteRB);

On Thursday, November 16, 2023 at 10:51:24 AM UTC-6 
[email protected]<mailto:[email protected]> wrote:
Hi everyone,
I'm trying to make a pendulum constraining it using a revolute joint. It gives 
me no error, but it doesn't oscillate and i'm not understanding why. Anyone 
might help me please?
--
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 on the web visit 
https://groups.google.com/d/msgid/projectchrono/4fa53d76-510a-4bb6-8053-b86d8e69baa3n%40googlegroups.com<https://groups.google.com/d/msgid/projectchrono/4fa53d76-510a-4bb6-8053-b86d8e69baa3n%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
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 on the web visit 
https://groups.google.com/d/msgid/projectchrono/PH0PR06MB82371A69AD31CC2B7AD4A4CFA7B7A%40PH0PR06MB8237.namprd06.prod.outlook.com.

Reply via email to