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.
