Introduction
In the previous article “Introduction to Entry-level Technologies and Future Prospects of Autonomous Driving Positions”, I divided the positions with high demand for autonomous driving into three major categories: algorithm, simulation, and testing direction. I also introduced in detail the entry-level technologies and future prospects for the subdivision positions under the algorithm direction. In this article, I would like to delve into the other two directions: simulation and testing positions.
What is Autonomous Driving Simulation Technology
Today, autonomous driving simulation technology is increasingly being valued by companies. As the autonomous driving algorithm technology is not yet mature, conducting large-scale real car road tests is obviously unrealistic. This not only poses great safety risks but also is very inefficient. The current perception algorithms rely on a large amount of data sets. If only data collected from real cars are used, it is obviously of little help in improving the perception effect.
In addition, as autonomous driving algorithms mature, major manufacturers should focus on solving various corner cases under extreme conditions. This not only concerns the safety of unmanned vehicles but also the brand of enterprises. Real car accidents caused by various corner cases will cause irreparable damage to the brand image of the enterprise. Therefore, conducting a large number of corner case tests in a simulation environment before real car testing becomes crucial.
The basic definition of current autonomous driving simulation technology is as follows:
-
Autonomous driving simulation technology is the application of computer simulation technology in the automotive field. It is more complex than the traditional ADAS simulation system development and imposes very high requirements on system decoupling and architecture.
-
Similar to other general simulation platforms, it must be as realistic as possible. A fundamental and critical issue in analyzing and researching simulation systems is to model the system.
-
By mathematically modeling the digital restoration and generalization of the real world, establishing a correct, reliable and effective simulation model is the key and prerequisite to ensure that the simulation results have high reliability.
-
The basic principle of simulation technology is to turn the real controller into an algorithm in the simulation scenario. Combining sensor simulation and other technologies, tests and verifications of the algorithm can be completed.
Autonomous Driving Simulation Platform
As we all know, autonomous driving simulation is actually similar to a game platform. Therefore, the current mainstream autonomous driving simulation software is developed based on game engines. Here are several mainstream simulation software that I have collected:
Unreal Engine 4 – The primary programming language is C++, and the source code is completely open source. It also supports programming via Blueprints. It is known for games like Devil May Cry 5 and PUBG.
Unity Engine – The primary programming languages are C# and scripts, and the source code is not open. It charges a fee once the profits exceed a certain limit. It is known for games like Honor of Kings and Hearthstone.
Autonomous Driving Simulation Engineer
There is limited information available online about the autonomous driving simulation engineer position. Some companies incorporate it into their infrastructure team, while others recruit specifically for this position, and some include it in their testing team.
The simulation engineer is a combination of a product/system engineer and a data processing engineer. A qualified simulation engineer should be able to connect the entire data chain and harness the true value of data; in this sense, it is akin to an infrastructure engineer. This is a highly demanding position that requires more than just expertise in relevant software.
Operating System: Linux
Programming: MATLAB/Simulink, Python, C++
Theoretical knowledge: Proficient in operating commonly used vehicle dynamics or autonomous vehicle simulation software such as PerScan, CarSim, and CarMaker; familiar with robot operating systems such as ROS. Some simulation roles deal solely with simulation, while others require the development of a simulation environment, making programming requirements more demanding.
Autonomous Driving Test Engineer
This position is responsible for testing various aspects of autonomous driving vehicles, including testing the performance of autonomous driving systems and evaluating boundary conditions and failure modes. They create collection documents and complete data collection based on the data requirements for research and development personnel. This includes software and hardware testing, familiarity with the Linux programming testing environment, and more.
Job duties:
- Requirement review
As mentioned in the V-model in the first article, after the system requirement is established, the testing personnel will review the requirement with the software development team to ensure there are no discrepancies. This requirement will then serve as the basis for the testing engineer to write test cases.- Write test case
The main point is to include what tests need to be done for this ECU software, which scenarios should be covered, what are the test steps, etc., to ensure full coverage of system requirements.
- Develop automated test scripts
Nowadays, Vector’s tools are commonly used. Test engineers usually develop some automated test scripts based on CAPL, so in future version updates, only some corresponding modifications need to be made to facilitate testing.
- System testing
Based on test scripts, the software is tested and test reports are produced. If there are any bugs, they need to be recorded and reported to the development team to be fixed.
Conclusion
That’s all for the introduction to the relevant positions and entry-level knowledge and skills in the field of simulation and testing in the autonomous driving industry. With the industry getting more and more popular, more and more students are joining the field of autonomous driving, which has played a rapid role in making the industry bigger and stronger. In the future, as autonomous driving becomes more mature, the demand for high-precision talents will also increase. Knowing the latest skills and keeping up with the industry’s latest developments is always the best way to enhance one’s core competitiveness and steadily advance one’s career development.
This article is a translation by ChatGPT of a Chinese report from 42HOW. If you have any questions about it, please email bd@42how.com.