Skip to main content

AUDEx: Pioneering hands-on automotive simulation for future engineers

Professor Dirk Engel

Credit: University of Hamburg

AUDEx, or Automotive Development in 1:x, uses realistic remote-control vehicles and a combination of simulation and sensing tools commonly used in industry to enable students to undertake modern automotive development tasks first-hand. The project aims to prepare students for work in industry by giving them access to the tools and training needed to work on modern automotive development.

The vehicles are fitted with cameras, microcontrollers, sensors, and actuators to help students develop and implement complex control algorithms. In addition, the vehicles can be controlled via a motion system, thus making it possible to assess how autonomous development impacts the driving experience for drivers and passengers.

As the project progressed, organisers saw the need to implement continuous integration and delivery (CI/CD) processes in software development. This is becoming important as software development becomes critical for automotive development - particularly for autonomous driving and advanced driving-assisted systems.

Breakthroughs caught up with Professor Dirk Engel to discuss the AUDEx project and how it has evolved over the last 12 months.

How has the AUDEx project changed in the last 12 months?

Engel: “The biggest and most important thing is that we had a look towards the Continuous Integration (CI) and Continuous Delivery (CD)process, which is a big deal right now, concerning software development and also the software development for autonomous driving, advanced driving-assisted systems. This is because these vehicles are increasingly related to software development.”

“We started by having a look at the available tools. What is the industry doing? What is affordable for universities. Accessibility is another key concern for us. Once we made a decision, we started to implement this whole process using the tools. We now have four students working on their final thesis, working on this topic, and they were able to install a process that suits our needs pretty well with all those tools that had to be handled from Git, Jenkins and Docker to install this process that was probably the largest change to the project.”

Continuous integration (CI) is a software development practice that merges code changes into a central repository and then automatically builds and tests the software. CI focuses on preparing code for release, whereas CD involves actual code release.

Git is a distributed version control system that tracks versions of files. It is used to control source code by developers working collaboratively. Jenkins is an open-source automation server that enables developers to build, test, and deploy their software reliably. Docker is a set of platform-as-a-service products that use OS-level virtualisation to deliver software in packages called containers. These tools allowed the students and project managers to work collaboratively to build and test software before it is deployed to production and used to control the scaled vehicles and driving simulator.

What was the existing process for managing software development?

Engel: “Previously, some students used Git to manage their software. We didn't use Jenkins or Docker because we hadn't implemented a process like that before. There was no need to work with those tools to create pipelines to check for updates in the whole project. So we had some students and did some of our software management on a very small basis.”

“Now that we have developed these internal processes, it will be mandatory for all students to get at least some experience with them. Because, if they have to bring their code to Git they need to have a solid knowledge base of what is going on in this process and how they have to tackle this process later on in industry.”

“Approximately 90% of our students will write their final thesis within the industry. So they're looking for an industry partner. They go there and will do their final thesis there. I have already supervised some final thesis, and sometimes, these organisations use more complex processes than the process we installed. However, MathWorks asked us if we could build something like a training model based on AUDEx because more and more customers are asking them What is CI, what is CD, what is continuous testing (CT) - how can they use this in their process?”

“From my point of view, when I supervise those theses, I think these software development processes are standard, but probably it is the beginning of becoming a standard. Organisations will take a student and get them to explore and implement the methods, and the organisation will build up a picture of how to do things within their company. It's on the way to becoming the standard in the automotive industry.”

“Another key point is that the students can help bring these processes to smaller companies. Not all of our students go to the big OEMs. If they go to tier one or tier two companies, the students can bring some ideas to those companies because they are still working in this old-fashioned way.”

How has the hardware changed in the AUDExproject?

Engel: “The second most significant change is that we started to install newer, more up-to-date hardware. The challenge is how to bring Nvidia hardware into those scaled models. The Nvidia Jetson Nano is the tool that we selected. We have already seen some ways and projects on how to use this hardware and scale it to the real hardware.

“If you think about processor-in-the-loop (PiL), you can build something for the scale vehicles using the NVIDIA hardware and then scale that to a real car with real hardware. The hardware is comparable. You can start on the small-scale cars, and then use the general setup of the hardware, and of the processor, and you can scale it up so you don't have to reinvent everything. Because you already tested it on a small scale, like PiL testing, and then you bring it up to the one-to-one scale.”

The Jetson Nano module is a small computer designed for embedded computing applications that provides the performance and power efficiency to take on modern workloads, including AI. It can be used to process data from several high-resolution sensors simultaneously and run multiple neural networks in parallel. This platform makes it possible to bring new capabilities to millions of small, power-efficient AI systems. It opens new worlds of embedded IoT applications, including entry-level Network Video Recorders (NVRs), home robots, intelligent gateways and scaled remote or autonomous vehicles.

PiL refers to testing and validating embedded software on the processor. The algorithms and functions are usually developed on a computer within a development environment. The resulting code is generally compiled with a special “target” compiler for the processor, which is then used, in this context, in the vehicle's ECU. PiL tests are used to check whether the compiled code also works on the target processor.

Engel: “Furthermore, we have fully implemented the driving simulator. We have this motion platform with vertical and lateral actuators. Initially, we had a problem as we could not implement all the hardware parts because they had different Software Development Kits (SDKs).

We created a solution based on the Unity engine as a middleware. We brought in Unity and now implement the steering wheel, pedals and actuators in real time. We can also integrate with a software tool like Carmaker from IPG, a software capable of real-time driving simulation. We use this for our mixed reality projects. We have images or video from the camera in a virtual environment. Our body-in-white colleagues create fully 3d virtual cars that we implement in the Unity engine. Using Unity, you can have an overlay. If you use VR goggles, you can look around in your model vehicle or the general environment.”

Dirk Engel is a Professor at the Hamburg University of Applied Sciences

Media Partners