Simulation software requirements

I would also like to mention Webots (even though this a very old thread) just because Webots solves most of the problems mentioned above. It is an open-source general robot simulator, but it has support for automobile simulation as well.

A few years ago, sponsored by Renault Technocentre and a few other projects, Webots has received improved automobile support.

Here are a few points related to the problems raised in the thread:

  • The installation process is very straightforward (native support for Linux, Windows, and macOS + you can install it through apt, snap, or brew).
  • It is under Apache license and there are no proprietary parts.
  • It is deterministic.
  • You can control it step-by-step and it easily runs faster than real-time.
  • You can run in CI (we have been running Webots in GitHub Actions and we used to run it in Travis and AppVeyor).
  • A sensor noise can be specified. Besides the basic white noise supported by all sensors, there are e.g. motion blur camera or look-up table for distance sensor.
  • It has a ROS interface (ROS 1 and ROS 2).
  • We have recently tested 10 VGA cameras at 30Hz and 3 HDL Lidars running faster than real-time (on a laptop).
  • It doesn’t use a lot of RAM.
  • A map can be imported from OpenStreetMaps.
  • A traffic can be simulated through SUMO.
  • It is very easy to script a pedestrian behavior (or any world changes) using Webots API (C/C++/Python/MATLAB/Java) and integrated IDE.
  • Rendering is very realistic due to the extensive use of shaders and PBR rendering.
  • It includes many calibrated vehicles.
2 Likes