Unexpected motion when using elongated cylinders for wheels

Hi all,

I’m attempting to simulate a magnetic wheeled crawler using IsaacGym but am running into a few issues when applying large forces on the wheels (to simulate magnetism) while also applying velocities.

The crawler I am working with has two front wheels and a caster wheel in the back which I am simulating using a sphere (there are some other complications with the caster wheel). I am applying a velocity to both wheels of 1 rad/s and a 400N force on both front wheels and a 100N force on the caster wheel orthogonal to the surface. I expect the motion to follow a straight, linear trajectory. However, when these forces are applied, the robot seems to drift in a similar manner to the left on every single run. This occurs when cylinders are treated as capsules–when using traditional cylinders, the magnetic force is too strong on the cylinder faces which leads to unexpected behavior as well. The effects are less when the magnetic forces are lessened, too.

Is this drift due to how friction is simulated on rolling cylinders? Or could it be due to something else?

A repository with a minimal working example can be found here: GitHub - devarsi-rawal/crawler


1 Like