According to Google Waymo, the self-driving car is near. The latest generation is on the street since 1 year and the software is working stable. Only some legislative minor problems have prevented that self-driving car become a mass market and if everything is working fine, in the near future such autonomous car are able to reduce the traffic accidents down to zero.
The problem with this nice sounding vision is, that it is not possible. To understand why the self-driving car has failed we must take a look back into the past. Self-driving cars were researched since decades. It some kind of pyramid building project in which large amount of government money is put into but no return comes back. With the advent of microcomputers in the 1980s large efforts were undertaken, for example by the Ernst Dickmanns team in Germany and during the Darpa ALV project. In the year 2004 Darpa has increased the efforts and made a challenge between different universities called “Darpa Grand Challange”. Sebasitan Thrun and his team won one of these challenge and founded a spinoff at Google to bring the self-driving car into the mass-market. At the same time, other countries like China are working also hard to realize the vision of a self-driving car.
How much energy was put in the sum into self-driving cars until now? A lot, in the 1980s many millions US$ were spend for autonomous cars, and the sum was much much higher in the 2000s. Also some accidents with these cars were happening and the engineers at Google, Uber and classical car companies have invested endless of hours into the project. The result is negative. No self-driving car is available today and it won’t be available in ten or 20 years from now. The reason why is a bit complicated to explain, I’d like to explain it in detail.
Every self-driving car works with software. The software runs on a computer in the car and decides what the car is doing next. This transforms the mechanical car into a robotic one. The idea of the engineers is, to realize in software the same behavior like a human driver can provide. It is an robotics automation project. The goal is to automate the control of the car. And this is the reason why it doesn’t work. It is not possible to use a robotics system in a productive way. Like I mentioned before it is a bit difficult to explain why, so I have to go more into the details.
Suppose we want to program a robot into a pick&place robot for a factory. It’s an easy task, isn’t it. Compared to a self-driving car a pick&place robot is easy going and has only little demand for Artificial Intelligence. The surprising fact is, that worldwide not a single robot is available who is used as a pick&place robot in a real factory. The only thing what is available are research demonstration systems in the lab, in which under synthetetic conditions a robot grasp a ball and puts it in the basket. Why? The answer is, that factory automation with robots doesn’t work. The problem is, that by definition a robot is controlled by software. And software is too complicated for a factory. What is used successful in reality are non-software automation solutions which are mechanical machines.
If a robot can’t be used for factory automation in a simple pick&place task at the assembly line, a robot will never be able to do a more complicated task like controllling a self-driving car. Sure, there are many prototypes in the field, and millions of US§ are spend each year for that goal, but the engineers are not able to solve the problem. The Waymo self-driving car simply doesn’t work. The only option the engineers have is to remove all the software from the car. That means, to transform the robotic car into a normal car. This would reduce the complexity and would allow to automate the task. The problem is, that a self-driving car without the software is no longer a self-driving car. It will become a normal car, which has to be controlled a human driver.
The dilemma is, that with software in the loop, the automation projects fails, and without software in the loop, the car isn’t driving alone. That means, the longterm goal of building a self-driving car which is working in reality can’t be reached. It is similar to the goal of building a perpetual machine. That means, any attempt to solve the task with a robot car will fail. No matter which kind of software is used it is not possible to automate car-driving in that way.
That is not equal to a pessimistic outlook. There are many ways for optimizing the transport systems and reducing the traffic accidents. One example are traffic lights for pedestrians. Such an infrastructure is able to optimize the traffic. Another option are regularly lessons for drivers. What is also possible is to build trains instead of streets. All of these alternatives have in common that no software is needed to improve the traffic. And like i mentioned above, this results into a success.
Projects around self-driving cars are not completly useless. Because the engineers get paid, the team learns a lot and the public can press the like button for the latest car which drives alone. But one thing is not possible with these project: that something useful is provided at the end. All the money for self-driving cars is wasted. The people who spend the money will get nothing in return. The self-driving car will never drive at the street and people who are trying so waste their life with nonsense research. Like I mentioned before the reason why is the software in the loop. If somebody can realize a self-driving without programming a single line of code it would be an interesting project which can maybe a success. But all the self-driving car projects in past were build with software which runs on a computer. This is some kind of overrunning which results into failed automation project.
As far as i know from the history of self-driving car, in the 1950s some visions were published in which the cars are not programmed by software, but are working on a mechanical way. They were driving on a line. Such a concept can be realized in reality, such vision was more realistic to modern approaches which are going into the direction of robotics and computer controlled cars.
Perhaps I’m to pessimistic and doesn’t have understood what kind of technology Waymo is using in their robotic car? According to the presentation, the car drives without a driver and it is doing so in normal traffic. After entering the goal into the onboard computer, the car drives direct to the destination and it stops at the traffic light. Also, it will wait before the pedestrians and is able to predict other car’s trajectory. So, why I’m criticizing this wonderful technology, everthing is fine, isn’t it?
To understand the serious issue with self-driving car we must understand how software in general is working. Software forms a system by it’s own which is working by it’s own laws. The software of a self-driving car is forming a closed system. What is happening in this system is decides by software itself, not by it’s environment. It is true, that from the car’s perspective everything works fine. But the car is not alone on the street. For the other (manual driven cars) the Waymo vehicle has the color black and is called K.A.R.R., similar to the episode in the knight-rider TV series. The main feature of K.A.R.R. was that was programmed to ignore everything else and it follows it own rules. And this is exactly the same, what every self-driving car is doing. It is not the fault of the engineers, they have done a good job. The problem is, that the software is not open to it’s environment. Every malfunction with the software is produced by the software itself. And the car is not able to react to it’s environment but it will react only to it’s own subroutines. Sometimes this internal needs are similar to external requirements, but sometimes not. And there an accident is the result.
If somebody is driving a normal car with manual controled wheel and from the opposite lane a self-driving car is approaching the best what the driver can do is to drive to the right side of the street, stop the engine, call 911 and prepare for a mass casualty triggered by the robotic car. No police or judge in the world will allow a self-driving car to drive in traffic.