Define a Perfect Rolling Contact

Typically: "How do I... ", "How can I... " questions
Post Reply
mhr_azizi
Posts: 24
Joined: 18 Jan 2022, 16:25

Define a Perfect Rolling Contact

Post by mhr_azizi »

Hello,

I’ve created a model of a spherical mobile robot rolling on the floor, actuated by two internal rotors. The motion is based on the conservation of angular momentum, and I apply motor torques to simulate the robot’s movement.

However, during faster or more complex motions, the spherical shell appears to slip on the floor and deviates from its intended path. For instance, when I set the motor torques as T₁ = 0 and T₂ = 0.2, and orient the robot to move in a straight line with constant acceleration, it initially follows the expected trajectory. But after some time, it begins to slip and follows a more complex 2D path.

Since I need to simulate the robot under the assumption of perfect rolling contact (i.e., no slipping), I would greatly appreciate any guidance on how to enforce or model this constraint accurately in CoppeliaSim.

Thank you!
coppelia
Site Admin
Posts: 10747
Joined: 14 Dec 2012, 00:25

Re: Define a Perfect Rolling Contact

Post by coppelia »

Hello,

you won't be able to achieve a perfect dynamics simulation: errors, even small ones, will gradually accumulate and become visible.
In addition, how well you will be able to simulate a specific aspect highly depends on the used physics engine (you haven't mentioned which one you are using): some engines allow to adjust several parameters related to friction and contact handling.

Finally, in your situation, since you need a ideal behavior, I would go with a kinematically simulated robot (i.e. do not use dynamics). It should be quite straight-forward to compute the next position of the robot based on the rotation amounts of the spheres.

Cheers
mhr_azizi
Posts: 24
Joined: 18 Jan 2022, 16:25

Re: Define a Perfect Rolling Contact

Post by mhr_azizi »

Thank you for your response.
I have used the MuJoCo engine for this problem with its default settings. As you mentioned, achieving a perfect dynamic simulation is not possible. However, I would like to model the rolling constraint between the spherical robot and the ground as closely as possible to the ideal (non-slipping) rolling condition. I would be very grateful if you could provide guidance on how to configure the MuJoCo engine settings to better model such constrained motion.

Best regards,
coppelia
Site Admin
Posts: 10747
Joined: 14 Dec 2012, 00:25

Re: Define a Perfect Rolling Contact

Post by coppelia »

You will have to look at Mujoco's 3 friction values mujoco.friction and maybe also mujoco.solref and mujoco.solimp. You'll need to play with those values and find the combination that best handles your task.

Cheers
Post Reply