# A Systematic Review of Perception System and Simulators for Autonomous Vehicles Research
## 5 Simulation
### Perception Simulator  
As can be seen in the previous sections, there are multiple generic solutions to validate and simulate an autonomous vehicle (using simulators in the loop, using a robotics platform, or a game engine among others). Because an autonomous vehicle bases all its decision-making on the feedback received from the sensors, it is clear that the virtualization of the different sensors is key to any \begin{table}
\begin{tabular}{l c c c c c c c} \hline \hline
**Simulator** & **GPS** & **IMU** & **LIDAR** & **Ultrasonic** & **Radar** & **Infrared** & **Stereo** & **ToF** \\
**Platforms** & & & & & & & & **Camera** & **Camera** \\ \hline Gazebo & x & x & x & x & x & x & x & x \\ V-Rep & x & x & x & x & x & x & x & u \\ Webts & x & u & x & x & - & x & x & - \\ MRDS & x & u & x & x & u & x & u & u \\ USARSim & x & x & x & x & x & x & x & u \\ BlenSor & x & x & x & x & u & u & x & x \\ MORSE & x & x & x & - & - & x & x & u \\ \hline \hline \end{tabular}  
* Yes! u
- Unknown or couldn’t be determined! -  
\end{table} 
Table 5: Summary of the main sensors simulated by robotic simulator platforms for AVs. simulation platform for autonomous vehicles. However, for a simulation to be the most identical to reality, perfect models are needed to minimize the reality gap [90; 91]. However, in some cases, the results obtained with generic simulators do not reach the expected degree of satisfaction or simply do not contemplate all the causality that is needed. For these cases, the best option is to develop a virtual simulation environment specifically dedicated to one's own needs. The virtual environment consists of an approximate vehicle model or sensor model, a simulated world and simulated sensors. The most important component that creates a virtual environment is the simulator. In Figure 8, the typical software architecture of a simulator is shown. In some cases, a simulator that realistically represents the physics of an environment--things like force and mass, friction and air drag--is sufficient. For development of perception algorithms, however, a simulator must feature a photorealistic representation of the environment, meaning that the simulated environment must actually look like the real world. Modern simulators tend to provide the following features:  
* Fast prototyping
* Physics engines for realistic movements. Most simulators use Unity (AirSim), Unreal Engine (Carla, USARSim), ODE (Gazebo, LpzRobots, Marilou, Webots) or PhysX (MRDS, 4 DV-Sim). * Realistic 3d rendering. Standard 3d modeling tools or third party tools can be used to build the environments. * Dynamic with scripting. C, C++, Perl, Python, Java, URBI, MATLAB or Python are a few of the languages usually used with the most common simulators. In Tables 6 and 7, we compare the main features of these simulators and which sensors can be simulated by these simulators and the sensors equipped. Many of the simulators oriented towards autonomous vehicles found in existing literature are intended for traffic simulators and driving simulators [85; 92; 93; 94; 95; 96; 97] that allow training and validating autonomous driving from an algorithm and artificial intelligence point of view. The Agent paradigm has been introduced as well, as a way to address some of the current issues in autonomous-based driver behavior regarding its distribution capabilities, computing efficiency and scalability Agent-based modelling and simulation (ABMS) is a relatively new approach to modelling systems composed of autonomous, interacting agents. Agent-based modelling is a way to model the dynamics of complex systems and complex adaptive systems. Such systems often self-organize themselves and create emergent orders. Agent-based models also include behavior models (human or otherwise) and are used to observe the collective effects  
Figure 8: Typical software architecture of a simulator. of agent behaviors and interactions.