Advancing Automotive Development & Testing with the FERAL Driving Simulator

Development and testing of Advanced Driver Assistance Systems (ADAS) and autonomous driving technologies are of paramount importance in the rapidly evolving automotive industry [1]. Therefore, in collaboration with our industrial partners aSR and CADFEM, we built a driving simulator that enhances vehicle function development and testing. The vehicle simulator demonstrates the seamless integration of diverse simulation tools into a single testing environment using the FERAL [2] co-simulation framework. Above all, this integration significantly streamlines the automotive development process. FERAL is crucial for developing complex systems such as autonomous vehicles, reducing development time, and enhancing reliability. In this blog post, we will discuss the most relevant details of our driving simulator, present the current challenges, and describe how we overcame them.

The driving simulator: a sophisticated tool for automotive engineers

FERAL’s capabilities are showcased in a complex automotive testing environment. Specifically, the Carla Simulator is used for realistic environment and vehicle physics models. This setup closely mimics real-world scenarios, thus providing a realistic foundation for virtual testing and validation. Additionally, the ADAS developed in collaboration with CADFEM and the driving simulator’s hardware supplied by aSR ensure that the virtual testing experience is as authentic as possible. Furthermore, the simulator features an analytics dashboard for tracking crucial vehicle data and a state-of-the-art infotainment system, both of which are integrated through the FERAL framework.

 

The Driving Simulators consists of an aSR driving Simulator, a separate dashboard. The Controls are setting from a separate PC using Python Scripts

Figure 1. Driving simulator facilities.

Integrated technology components in the driving simulator

The driving simulator involves three major components: FERAL, SCADE, and CARLA. These components are interconnected using tool-specific interface connectors. Each of these components plays a vital role in the simulation process.

  • FERAL: Orchestrates the simulation model representing a CAN bus-based communication infrastructure. Thus, it manages the event-based progression of signal and command messages across the virtual network of the automotive system under consideration. Also, it handles the encoding and decoding of transported sensor and actor data, such as vehicle speed, front-car distance, and corresponding braking and throttling commands.
  • CARLA: Acts as the traffic simulator that exchanges environmental sensor data and actor commands as required by the ADAS function designs implemented in SCADE. Moreover, the setup and control of CARLA simulation scenarios are managed via Python scripts, which are crucial for accurately integrating the traffic environment simulation.
  • SCADE: Utilized for designing the behavioral logic of essential ADAS/AD functions like Adaptive Cruise Control (ACC) and Lane Change and Overtake Assist (LCOA). Furthermore, SCADE allows for the automated generation of runnable code derived from the design model artifacts.

 

FERAL Driving Simulator Dashboard

Figure 2. Dashboard of the FERAL driving simulator. For the simulation, click here

Challenges in driving simulator development

Driving simulators are essential for developing and testing advanced automotive systems [3, 4]. However, creating and maintaining a realistic and effective driving emulator comes with several challenges [5, 6]. Here, we delve into the key challenges in scenario generation, ADAS testing, and fault injections.

Scenario Generation

Crafting diverse scenarios is vital for thorough testing. These scenarios should mimic various driving conditions and potential hazards [7]. Moreover, scenarios must closely mirror real-world environments, encompassing different weather conditions, road types, and traffic patterns [8]. Also, scalability regarding generating and managing numerous scenarios, including rare events and edge cases, is crucial, as is the parameterization ability necessary for adjustable variables such as speed, traffic density, and pedestrian behavior to test ADAS under varied conditions [9].

Testing ADAS Functions

To effectively evaluate ADAS functions like adaptive cruise control, lane-keeping assist, lane-change assist, emergency brake assist, etc., the vehicle simulator must provide a controlled yet realistic environment. Hence, vehicle dynamics and sensor inputs must be accurately and precisely replicated to ensure realistic ADAS responses as they would occur in real-life situations. In addition, identifying and testing rare but critical driving situations [10], reproducibility, and replicability are essential for validating ADAS performance.

Fault Injection

Incorporating fault injection techniques to assess the robustness and fault tolerance of systems is challenging [11]. The faults must be introduced in a controlled manner without permanently damaging the system or compromising the safety of the testing environment. Besides, comprehensive coverage of failure points is necessary to ensure that all potential faults are tested. Additionally, this requires a deep understanding of the system architecture and likely failure modes. Besides, the ability to monitor and analyze system responses to faults in real time is mandatory for assessing behavior and implementing improvements.

Our solution

The driving simulator setup addresses these challenges by incorporating scenario generation that adheres to regulations and standards like ASAM OpenSCENARIO or ASAM OpenDRIVE for validation processes of various driving functions. Our technology FERAL allows coupling parameterizable scenarios with ADAS functions and network simulations to ensure the testing of ADAS in a wide range of situations, including critical driving scenarios. Notably, current successfully tested use cases that employ the driving scenarios capabilities are:

  • Regression Testing

In regression testing, introducing Adaptive Cruise Control (ACC) as a new system component requires thorough evaluation against specific acceptance criteria. For example, the system must maintain lane integrity in highway curves at a speed of 120 km/h. By testing with ACC both disabled and enabled, critical insights are revealed. Specifically, the system’s failure to maintain lane integrity with ACC enabled highlights areas needing redesign and improvement.

  • Function Integration Testing

Function integration testing is crucial when multiple Advanced Driver Assistance Systems (ADAS) must operate together. For example, when ACC and Lane Change Assist (LCOA) are enabled, both functions access the same resources, and a resource competition occurs. Through this interaction, we observed how priority handling is determined when the vehicle emulator approaches a slower vehicle in the same lane. Ultimately, the test confirms the system’s ability to prioritize LCOA over ACC, enabling successful overtaking maneuvers.

  • Fault injection Testing

Furthermore, our system facilitates network-level fault injection during simulation, ensuring thorough evaluation and robustness of the automotive system. To illustrate this capability, we implemented a fault injection test. This use case simulates an urban traffic scenario where the driving simulator follows another car with ACC enabled. Here, the test induces system failures by dynamically manipulating the data traffic load on the CAN bus during runtime. Consequently, this scenario evaluates the robustness of the ACC function under stress conditions, such as bus congestion, which delays or drops critical data transmissions, ultimately causing the vehicle to crash into the car ahead.

The detailed implementation of the above use cases can be found in Ref. [12].

Looking ahead

Driving simulators are pivotal in advancing automotive technology, particularly for ADAS and autonomous vehicles. To overcome challenges in scenario generation, ADAS testing, and fault injection, continuous innovation is essential. Furthermore, rigorous testing protocols and frequent updates are necessary to keep pace with evolving standards and complexities. Persistent efforts will help us navigate these challenges, thereby paving the way for more advanced and reliable automotive technologies.

Conclusion: Shaping the future of automotive technology

Using the FERAL co-simulation framework, the driving simulator showcases new advancements in automotive development. By integrating diverse models and simulation tools, it enables the virtual validation and verification of autonomous driving functions, as well as the testing of infotainment systems and connectivity protocols. In addition, the inclusion of fault injection further ensures system robustness, making it a vital tool for developing safe and reliable vehicles. With the support of our industrial partners aSR and CADFEM, this simulator exemplifies how modern technology can improve vehicle design and functionality. Consequently, it drives the industry toward greater efficiency and innovation. We invite the automotive development community to explore the potential of this sophisticated simulation tool in advancing automotive technology.

References

[1]     S. Sonko, C. D. Daudu, F. Osasona, A. M. Monebi, E. A. Etukudoh, and A. Atadoga, „The evolution of embedded systems in automotive industry: A global review,“ World J. Adv. Res. Rev., vol. 21, no. 2, pp. 96–104, 2024, doi: 10.30574/wjarr.2024.21.2.0420.

[2]     T. Kuhr, T. Forster, T. Braun, and R. Gotzhein, „FERAL — Framework for simulator coupling on requirements and architecture level,“ in 2013 Eleventh ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE 2013), 2013, pp. 11–22.

[3]     D. Norfleet, J. Wagner, K. Alexander, and P. Pidgeon, „Automotive Driving Simulators: Research, Education, and Entertainment,“ SAE Int. J. Passeng. Cars – Electron. Electr. Syst., vol. 2, no. 1, pp. 186–193, 2009, doi: 10.4271/2009-01-0533.

[4]     2015 IEEE 81st Vehicular Technology Conference (VTC Spring): IEEE, 2015.

[5]     A. Bachorek and M. Meiler, Eds., A Virtual Testbed for Detecting Feature Interactions in ADAS/AD Function Design, 2023.

[6]     P. Hock, J. Kraus, F. Babel, M. Walch, E. Rukzio, and M. Baumann, „How to Design Valid Simulator Studies for Investigating User Experience in Automated Driving,“ in Proceedings of the 10th International Conference on Automotive User Interfaces and Interactive Vehicular Applications, Toronto ON Canada, 2018, pp. 105–117.

[7]     S. Sun et al., „DriveSceneGen: Generating Diverse and Realistic Driving Scenarios From Scratch,“ IEEE Robot. Autom. Lett., vol. 9, no. 8, pp. 7007–7014, 2024, doi: 10.1109/LRA.2024.3416792.

[8]     J. Wang et al., „AdvSim: Generating Safety-Critical Scenarios for Self-Driving Vehicles,“ in Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021, pp. 9909–9918.

[9]     Y. Abeysirigoonawardena, F. Shkurti, and G. Dudek, „Generating Adversarial Driving Scenarios in High-Fidelity Simulators,“ in 2019 International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, uuuu-uuuu, pp. 8271–8277.

[10]  S. Wagner, A. Knoll, K. Groh, T. Kühbeck, D. Watzenig, and L. Eckstein, „Virtual Assessment of Automated Driving: Methodology, Challenges, and Lessons Learned,“ SAE Intl. J CAV, vol. 2, no. 4, 2019, doi: 10.4271/12-02-04-0020.

[11]  M. Le and Y. Tamir, „Fault Injection in Virtualized Systems—Challenges and Applications,“ IEEE Trans. Dependable and Secure Comput., vol. 12, no. 3, pp. 284–297, 2015, doi: 10.1109/TDSC.2014.2334300.

[12]  P. Baumann, R. Samlaus, L. Mikelsons, T. Kuhn, and J. Jahic, „Towards virtual validation of distributed functions,“ in Proceedings of the 2019 Summer Simulation Conference, 2019.