Simulation¶
During simulation, we study the expected behavior of the system using a computer model.
The essence of simulation is that we do not start testing our initial, possibly untested program code in the real world on our self-driving car/robot. This can have obvious disadvantages. However, it is important to note that the simulator always simulates a simplified model of reality, so code that works well in the simulator may not always work perfectly in real life.
So far, we have only used the 2D simulator called Turtlesim. It is popular due to its simplicity and educational nature, but the 3D world is naturally much more complex. Therefore, it may be advisable to use 3D simulators.
2D | 3D |
---|---|
Turtlesim | Gazebo, Carla, SVL, AWSIM, MVsim |
The most supported simulator by ROS is Gazebo, but it is worth mentioning SVL, which we have our own version optimized for Nissan, Carla, or CoppeliaSim.
Overview Video on Simulators¶
Simulate robots like never before with Open 3D Engine from Open Robotics on Vimeo.
Additional Simulators¶
- OSRF Gazebo - The most supported simulator by ROS, OGRE-based, ROS/ROS 2 compatible.
- CARLA - Unreal Engine-based automotive simulator. Compatible with Autoware, Baidu Apollo, ROS/ROS 2.
- LGSVL / SVL - Unity Engine-based automotive simulator, compatible with Autoware, Baidu Apollo, ROS/ROS 2. Note: LG has suspended active development of the SVL Simulator.
- OSSDC SIM - Unity Engine-based simulator for automotive applications, based on the suspended LGSVL simulator but actively developed. Compatible with Autoware, Baidu Apollo, and ROS/ROS 2.
- AirSim - Unreal Engine-based simulator for drones and cars. ROS compatible.
- AWSIM - Unity Engine-based simulator for automotive applications. Compatible with Autoware and ROS 2.
- CoppeliaSim - Multi-platform, general-purpose robot simulator (formerly known as V-REP).
- MVSim
- AutoDRIVE
Gazebo and ROS Compatibility¶
The selection of ROS and Gazebo versions is described based on the Picking the "Correct" Versions of ROS & Gazebo link. Note: Versions of Gazebo 11 and earlier are referred to as Gazebo Classic, while those after are referred to as Ignition Gazebo or simply Ignition.
GZ Citadel (LTS) | GZ Fortress (LTS) | GZ Garden | |
---|---|---|---|
ROS 2 Rolling | 🔴 | 🟢 | 🟡 |
ROS 2 Humble (LTS) | 🔴 | 🟢 | 🟡 |
ROS 2 Foxy (LTS) | 🟢 | 🔴 | 🔴 |
ROS 1 Noetic (LTS) | 🟢 | 🟡 | 🔴 |
- 🟢 - Recommended combination
- 🟡 - Possible, but not recommended. With extra work, the two software can be made to work together.
- 🔴 - Not compatible / not possible.