The goal of this lab course is to familiarize the participants with the basics of simulation and development of Driver-Assistance Systems (DAS). For this purpose, an Emergency Braking Assist (EBA) will be developed. After a theoretical introduction to the topic of DAS and Functional Safety (FuSa), the sensors that are necessary for the implementation of the EBA functions will be considered. In the practical part of this, a camera is calibrated and depth estimation is implemented using a stereo camera. For this purpose, a test vehicle (Audi Q7) is available for reading and visualizing sensor data. Subsequently, first preliminary investigations of EBA functions are carried out with Matlab and Simulink. Afterwards, an EBA will be implemented step by step using C++ and ROS. The function of the developed algorithm is first verified in an open-loop simulation by replaying previously recorded sensor data. In the next step, the SVL simulator is introduced. The simulator makes it possible to simulate a vehicle including sensors, which allows a closed-loop simulation to validate the EBA. Finally, the functions of existing EBAs are analyzed. For this purpose, real-world tests with a Tesla Model 3 and a VW ID.3 will be conducted.
The sessions include the following contents:
- Introduction DAS and Matlab repetition: simulation of braking and swerving trajectories in Matlab.
- Safety aspects/functional safety: comparison of two sensor setups for emergency braking in Matlab
- Basics of sensors and introduction to Simulink: sensorcharacteristics, TTC calculations in Simulink using a longitudinal dynamics model.
- Introduction Q7 and HiL-Box real-time simulation: flashing, reading and evaluation of real-time data
- Perception of the environment (theory and Q7): camera calibration and depth estimation
- Introduction C++ and EBA application examples: implementation of EBA functions in C++
- Introduction ROS: reading and visualization of sensor data
- Implementation EBA: implementation and verification of EBA functions with ROS and C++
- Introduction SVL Simulator: scenario generation
- Validation NBA: Closed-Loop Simulation of the implemented EBA with the SVL Simulator
- Real-life tests: functional test EBA with Tesla Model 3 and VW ID.3
A variety of software tools and programming languages will be used during the lab course (Matlab, Simulink, C++, ROS, SVL Simulator). It is therefore aimed at students who wish to develop their programming and design skills in the field of automotive engineering. All methods not covered by the prerequisites for participation will be introduced to the required extent during the lab course. The tools utilized are used in current research projects of the institute, therefore this internship offers an excellent opportunity to become familiar with applications that will be needed in possible future student research activities.
- Matlab basics (definition and calculation with vectors and matrices, plotting variables, creating functions and scripts, ...)
- Basic knowledge of vehicle dynamics (coordinate systems for vehicle movements, characteristic values of wheel positions, ...)
- Pass the introductory test
- C++ basics helpful
In order to guarantee a common level of knowledge of the participants of the lab course, a script will be distributed to the participants prior to the start of the lab course. The tested knowledge of the introduction test is based purely on this script. The estimated workload for studying this script is two hours.
Teaching and learning methods
The events of the lab course (every Friday) consist of a theoretical part and a practical part. In the theory part in the morning (9:00-12:00) the relevant knowledge is acquired by means of presentation and live programming. In the following tutored homework part in the afternoon (13:00-16:00) the students work independently.
Exam Method and Evaluation
At the end of the lab course, an exam is held, which represents the overall grade. The exam consists of theoretical questions and programming tasks.