Technologist research on Software of autonomous driving systems
Software is what turns a vehicle into an intelligent machine. The auto industry giants have joined the race for making the safest and stress-free autonomous vehicle. (Partially) autonomous cars are already on our roads today with automated systems such as braking or lane departure warning systems. Such a system needs to be able to understand the situation around the car, evaluate potential risks, and help the driver to behave correctly, safely, and, in case it is desired, also efficiently. Due to its immaterial nature, it is obvious that software can more easily be reorganized and evolved than physically existing hardware.
Autonomous vehicles will revolutionize the transportation industry like no other change since the invention of the automobile. Autonomous vehicles will change driving forever, and not simply by removing the need for human interaction. They will also make driving more enjoyable—and vastly safer.
Future autonomous (electric) vehicles are primarily software-driven products compared to traditional cars. As a central vehicle component, the software of these systems must continuously and reliably meet high-quality criteria. Intelligent functions in cars are obviously complex systems. For a stringent deadline-oriented development of such a system, it is necessary to rely on a clear, usable, and efficient development process that fits the project’s needs. Franz Wotawa from the Institute of Software Technology at TU Graz and his team in close collaboration with the cyber-physical system testing team of AVL are dedicated to the great challenges of this future technology: the guarantee of safety through the automatic generation of extensive test scenarios for simulations and system-internal error compensation by means of an adaptive control method. The upcoming transformation in the automotive industry from a “made of steel” business towards “software is eating the world” will be no doubt a game-changer – for better or worse.
Ontologies instead of test kilometers
In recent years, autonomous driving and so-called robotaxis have become one of the hottest topics in the automotive industry – and beyond! Test drives alone do not provide sufficient evidence for the accident safety of autonomous driving systems, explains Franz Wotawa: “Autonomous vehicles would have to be driven around 200 million kilometers to prove their reliability – especially for accident scenarios. That is 10,000 times more test kilometers than are required for conventional cars.” However, critical test scenarios with danger to life and limb cannot be reproduced in real test drives. Autonomous driving systems must therefore be tested for their safety in simulations.
Together the project team is working on innovative methods with which far more test scenarios can be simulated than before. The researchers’ approach is as follows: instead of driving millions of kilometers, they use ontologies to describe the environment of autonomous vehicles. Ontologies are knowledge bases for the exchange of relevant information within a machine system. For example, interfaces, behavior, and relationships of individual system units can communicate with each other. In the case of autonomous driving systems, these would be “decision making,” “traffic description” or “autopilot.”
Additional weaknesses uncovered
As part of the EU AutoDrive project, researchers have used two algorithms to convert these ontologies into input models for combinatorial testing that can subsequently be executed using simulation environments. “In initial experimental tests, we have discovered serious weaknesses in automated driving functions. Without these automatically generated test scenarios, the vulnerabilities would not have been detected so quickly: nine out of 319 test cases investigated have led to accidents.” For example, in one test scenario, a brake assistance system failed to detect two people coming from different directions at the same time and one of them was badly hit due to the initiated braking maneuver. “This means that with our method, you can find test scenarios that are difficult to test in reality and that you might not even be able to focus on,” says Wotawa.
Adaptive compensation of internal errors
When the first automobile was patented in 1886, the mere concept of a self-driving car was pure fantasy. Now we are only a few years from this fantasy becoming the standard. Autonomous systems and in particular autonomous driving systems must be able to correct themselves in the event of malfunctions or changed environmental conditions and reliably reach given target states at all times. “When we look at semi-automated systems already in use today, such as cruise control, it quickly becomes clear that in the case of errors, the driver can and will always intervene. With fully autonomous vehicles, this is no longer an option, so the system itself must be able to act accordingly,” explains Franz Wotawa.
In a new publication for the Software Quality Journal, Franz Wotawa and his Ph.D. student Martin Zimmermann presents a control method that can adaptively compensate for internal errors in the software system. The presented method selects alternative actions in such a way that predetermined target states can be achieved while providing a certain degree of redundancy.
Autonomous vehicles will revolutionize the transportation industry like no other change since the invention of the automobile. Autonomous vehicles will change driving forever, and not simply by removing the need for human interaction. They will also make driving more enjoyable—and vastly safer.