2
$\begingroup$

I added a car from the Webots library into my scene, but when I start the simulation the car is sinking into the ground. This is the same BmwX5 car model used in the sample simulation "city.wbt" (I just changed the color).

screenshot

What am I missing?

Why the car lies correctly on the road in "city.wbt" but not in my world?

I already checked that the boundingObject of the road is enabled (StraightRoadSegment.roadBoundingObject is set to TRUE).

Disclaimer: I am part of the development team of Webots and this is a question it is frequently asked by users so I hope it will help some people!

$\endgroup$

1 Answer 1

3
$\begingroup$

This problem is due to the default value of some contact property between the car wheels and the road. The soft Constraint Force Mixing (softCFM) used by the ODE physics engine to manage local contacts joints affects directly the inter-penetration of bodies. Its default value was set for light robots, so in case of heavy weight robots, it has to be adjusted.

You can override this default value in the WorldInfo node of the world file. Basically, you should reduce the value of the softCFM field in the ContactProperties node which defines the contact between the robot (typically the robot wheels or feet) and the ground. You can check the values for the softCFM parameter in the city.wbt world file. Simply copying/pasting the same values in your world file should resolve the problem.

You may also fine tune these values to adjust the level of body inter-penetration to suit your needs. This can be useful to roughly simulate different levels of tire pressure.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.