# A Systematic Review of Perception System and Simulators for Autonomous Vehicles Research
## 5 Simulation
### Vehicle Test Simulation  
As previously mentioned, achieving high fidelity autonomous driving requires testing of autonomous characteristics in every possible scenario. The design, implementation, and testing of vehicles in a wide range of use cases and in realistic traffic conditions are costly, time-consuming, complicated and, often, not reproducible. The integration of tests with the physical platform in these cases are unnecessarily complex and often carried out in the last stage of the development process. This makes prototype design, implementation, intensive testing and simulation with a real vehicle in the simulation circuit the most effective way to verify and validate the design idea. The simulation of Software-In-the-Loop (SIL) in the laboratory environment offers a safe way to prototype and implement the control and algorithms of vehicles. The incorporation of a vehicle and real sensors in the simulation loop (called Hardware-In-the-Loop or HIL) validates the design and reduces the time required for system verification. Test engineering roles are plentiful, and that is because it is not easy to make sure everything works all the time in autonomous vehicles. But there are tools that accelerate the process. These software tools provide environments, templates and architectures to validate anything in the vehicle, be it in a consulting engineering or high-volume manufacturing environment. As has been commented previously, in the engineering of vehicles and therefore in autonomous vehicles, the development based on models is more widely accepted and more concretely the development following model V. This model is composed of different phases of development and testing:  
* The first step is a Model-In-the-Loop (MIL) [50] approach, which allows quick algorithmic development without involving dedicated hardware. Usually, this level of development involves high-level abstraction software frameworks running on general-purpose computers. * The second step is a Software-In-the-Loop (SIL) [51] validation, where the actual implementation of the developed model will be evaluated on general-purpose hardware. This step requires a complete software implementation very close to the final one. SIL testing is used to describe a test methodology, where executable code such as algorithms (or even an entire controller strategy), usually written for a particular mechatronic system, is tested within a modelling environment that can help prove or test the software. SIL testing and simulation can thus be a useful technique for software proving at earlier stages of the design. * The last step of this validation process is Hardware-In-the-Loop (HIL) [52], which involves the final hardware, running the final software with input and output connected to a simulator. HIL testing provides a way of simulating sensors, actuators and mechanical components in a way that connects all the I/O of the Electronic Control Units (ECU) being tested, long before the final system is integrated. It does this by using representative real-time responses, electrical stimuli, and functional use cases. Therefore, the integration of SIL and HIL in the simulator will allow designers and engineers to evaluate advances in the development cycle of the vehicle before the physical prototypes are built. * Another interesting solution that combines nearly all the advantages of the previous methods without most of their drawbacks is the Vehicle-Hardware-In-the-Loop (VeHIL) approach. This kind of test is a combination of the HIL and test-drive approaches. Functional as well as integration tests can be done easily and early in the development cycle. As the vehicle is physically locked on the chassis-dynamometer, this system greatly improves the safety of the tests. Although this type of V model development is applied to the entire development process of an autonomous vehicle, it is mainly used in the development of Advanced Driver Assistance Systems (ADAS), where more references to it are found. [53; 54; 55; 47; 56].