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!
Define a Perfect Rolling Contact
Re: Define a Perfect Rolling Contact
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
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