How to let a roller be dragged (motionview)
Hello,
I have a simple model with 2 rollers in contact (3D rigid contact).
The top roller can translate vertically because of the spring, while the bottom roller can rotate because of the motion defined.
I'd like to simulate the rotation of the top roller, caused by the rotation of the bottom roller (friction on).
If I set a revolute joint on the top roller, it remains fixed for all the time and doesn't translate too, so I don't know how to let the top roller translate vertically and rotate around its CG.
It would be great if you could help me, thank you!
I'm sending you a zip with the model.
Best regards
Answers
-
Hello Davide,
I would propose using a "dummy" Body. A Translational Joint can connect the dummy body to Ground, and a Revolute Joint can connect the dummy body to the Roller. What this accomplishes more than anything is to provide the Revolute Joint a local reference frame with which it can rotate freely, but one which translates along with the Roller. The dummy body should have negligible (though not zero) mass/inertia so that it does not affect the Roller's dynamics in a meaningful way.
Please see my attached model which implements this method.
I hope this helps,
Patrick
0