Smooth versus wobbly driving of Ackermann example with ODE / Bullet

Typically: "How do I... ", "How can I... " questions
Post Reply
streets
Posts: 12
Joined: 18 Dec 2017, 17:25

Smooth versus wobbly driving of Ackermann example with ODE / Bullet

Post by streets »

Hi,

I'm working with the ackermann example that comes with v-rep. If the simulation uses Bullet (no difference for 2.78 or 2.83), the car's wheels become extremely wobbly at higher (not extreme) velocities. When using ODE, everything stays very smooth. Since Bullet is supposed to be the more modern physics simulation I would prefer to use it over ODE. Is there some properties that I could/should change?

Thank you in advance

coppelia
Site Admin
Posts: 10339
Joined: 14 Dec 2012, 00:25

Re: Smooth versus wobbly driving of Ackermann example with ODE / Bullet

Post by coppelia »

Hello,

I tested following:
  • put the Ackermann steering model into the scene
  • remove the default floor
  • use the floor: Models/infrastructure/floors/infiniteFloor.ttm
  • adjust its size and parameters
  • select the Ackermann vehicle base object, and flag it as renderable
  • run the simulation and accelerate with the arrow keys
With all tested engines, even at high speeds, things remain stable. Can you elaborate how your test environment looks like? Also, remember that physics engines do not like large angular velocities and have difficulties coping with them.

Cheers

streets
Posts: 12
Joined: 18 Dec 2017, 17:25

Re: Smooth versus wobbly driving of Ackermann example with ODE / Bullet

Post by streets »

Hi,

sorry for the long delay. But I think I figured out what this might be about. In my simulation I have a mesh version of a map (just for visualization) and a big rectangle below it for the physics engine to simulate the car on. The map/rectangle is appr. 14,000.0 x 14,000.0 meters. After I read a comment about a similar issue in Unity I realized this might be just too large because the further away we get from the center the less precise the values become if everything is based on floats.

So I did a short test with the original ackerman steering model from v-rep on the large map. And as expected: in the center everything runs smoothly but the further away the car is driven from the center the "wobblier/jankier" the movements get.

If my simulation will only contain a single car I might be able to move the whole map/rectangle below the car (as in the infinite floor example), but I would like to ask whether you think that idea might have a successful outcome.

Otherwise I would just stick to ODE as the physics engine, which results in an overall smooth simulation. Do you maybe know why ODE is not affected by the large map problem?

Cheers and thanks so far

Post Reply