## 3 Related Work
### Autonomous Driving Simulators--An Overview
The gazebo is comprised of three main libraries which include physics, rendering, and communication library. In addition to these three core libraries, it also provides plugin support that enables the users to communicate with these libraries directly. The gazebo is renowned for its great degree of versatility and its smooth Robot Operating System (ROS) integration. High flexibility has its benefits because it provides users with complete control over the simulation, but it also requires time and effort. In contrast to CARLA and LGSVL simulators, Gazebo requires the user to construct 3D models and precisely specify their physics and location in the simulated world within the XML file. This manual approach is how simulation worlds are created in Gazebo. It provides a variety of sensor models but also allows users to add new ones by using plugins. Moreover, Gazebo is extremely well-liked as a robotic simulator, but the time and effort required to construct intricate and dynamic scenarios prevent it from being the first choice for testing self-driving technology. The gazebo is a standalone simulator but most often it is used with ROS. * _CarSim_: a vehicle simulator that is frequently used in both academics and industry. The latest version of it supports moving objects and sensors that are useful for simulations involving ADAS and autonomous vehicles. These moving items, such as vehicles, cyclists, or people, can be connected to 3D objects with their embedded animations. The key advantage of CarSim is that it offers interfaces for other simulators such as MATLAB and LabVIEW. CarSim is not an open-source simulator, but it does have extensive documentation and provides several simulation examples. * _CARLA_[8]: an open-source simulator for autonomous urban driving. It is developed from scratch to support training, prototyping, and validation of autonomous driving solutions including both perception and control. As a result, CARLA makes an effort to meet the needs of different ADAS use cases, such as learning driving rules or training the perception algorithms. It is comprised of a scalable client-server architecture that communicates over transmission control protocol (TCP). It simulates an open, dynamic world implementing an interface between the world and an agent which interacts with the world. The server is responsible for running the simulation, rendering the scenes, sensor rendering, computation of physics, providing the information to the client, etc. Whereas, the client side is comprised of some client modules that aim to control the logic of agents appearing in the scenes. For a detailed discussion on CARLA, the readers are encouraged to look into the authors' previous publication [9]. A simulator should be as realistic as possible. Thereby, this means it should be accurate with lower-level vehicle calculations such as the physics of the vehicle and detailed in terms of the 3D dynamics and surroundings. There is always a trade-off between the accuracy of the 3D environment and the vehicular dynamics [9]. To choose the right simulator, several factors can be used as a metric to determine which simulators are most appropriate for different tasks. These factors may include a set of sensors to create environmental perception, complex dynamics of the environment, multi-view geometry, traffic infrastructure, vehicle control, traffic scenario simulation, 3D virtual environment, 2D/3D ground truth, and last but not least, open source. We analyze that MATLAB/Simulink is built with effective plot features and computation capabilities to simulate straightforward scenarios. PreScan, as opposed to MATLAB and CarSim, offers superior capabilities to create realistic surroundings and simulate various weather situations. Although the Gazebo is a well-known 3D robotic simulator, testing autonomous driving technology is not the best use for it due to the time and effort required to generate sophisticated and dynamic scenarios. Therefore, we shortlisted two simulators: LGSVL and CARLA.