How Autonomous Vehicles Should be Made 🔗
Tags: tech, cars, vehicles, machine-learning, artificial-intelligence, software-development
I want to start by acknowledging the fact that I am not an expert in the fields of automotive nor ML & AI. I am, however, a Software Engineer with decades of professional experience and a no-longer-practicing Mechanical Engineer.
I wrote in the past about how all companies in the field are doing AVs wrong because the vehicles aren't autonomous, and are quite frankly dangerous, in my opinion. I followed that rant with another one about how traffic laws are all about predictability, and how AVs completely fail in that respect.
So let me list my grievances with AVs, before I propose how these issues should be addressed, in my opinion. I'll also put EVs and newer ICE vehicles with network connectivity under the same umbrella in several bullet points, because they share the same issues. I'll call them PVs—or Ponzi Vehicles—for brevity.
- PVs have more moving parts, so to speak, than classic vehicles, meaning there are more points of failure. These can be hardware and software. Your decades-old ICE vehicle that still drives well cannot be broken by Python bugs.
- PVs are a liability. They are yet another consumer appliance that has turned from something that is under the control of the owner to something that is completely under the control of the manufacturer. If the manufacturer so decides, they can disable your car remotely. If the manufacturer's servers experience an outage because they are badly secured, your car becomes a brick. If the manufacturer just hired a new CFO who decides that previously standard features should now require a subscription, those features will be taken away from you. These aren't hypothetical scenarios, they've already happened in several industries that were "revolutionized" by VC-backed startups.
AVs are not fully autonomous. They are clueless without their GPS servers; their maps, which are chronically outdated; and the manufacturer's misconfigured cloud servers which are running unoptimized, untested NodeJS code. If you think these companies are maintaining strong and safe development practices, you're wrong. They are startups like any other, they work in absolute hysteria, with requirements changing on an hourly basis and management only caring to show something that kinda sorta looks like maybe it works.
Oh, and by the way, the "dream" of having cars with no steering wheel is a pipe dream, but if it ever does happen, it'll be a disaster. The automotive industry is a safety-critical industry and absolutely not one that can allow safety critical machinery to have no manual fallbacks. An AV that cannot be fully-driven by the owner/driver when necessary is an unsafe liability. Not to mention the legal implications, which are vast and difficult to reconcile.
AVs have yet to be proven. When a human wants to drive a car, they at least have to go through a driving test. In Israel, there are four hurdles that must be crossed before a person can drive a car: first, they must undergo a certain amount of training sessions with a certified driving instructor; second, they must pass a theoretical traffic laws test; third, they must pass an actual driving test; and fourth, they must drive for a few months with an established driver in the passenger seat. In other words, humans must prove that they are able to drive a car safely and properly.
What does an AV have to prove? What hurdles do manufacturers go through to get that piece of paper giving them permission to "test their technology on public roads?" I'm sure there's some certification process, but what is it? Do they fill an Excel sheet a la SOC 2 compliance? Or do they simply move some money between bank accounts?
Many PVs can get OTA software updates, meaning the manufacturer can change the way the car behaves and drives, and how the controls look (because touch controls are cheaper than physical controls, that's progress for you), remotely. And they can do that without the owner's consent or knowledge. Tesla, for example, is known to push software updates to vehicles that change its autonomous capabilities and behavior. Were these new versions tested? How? Were they approved by regulators or any governing bodies?
AVs will not solve traffic. The answer to traffic cannot be more traffic. Try to look at this from the point of view of all drivers rather than just yourself, and you'll see that it doesn't work.
As a thought exercise, lets take an event such as a concert in a venue with thousands of people in attendance. Everybody came with their white autonomous Teslas because Elon convinced all cities to drop their public transit programs and brought all other car companies to bankruptcy with his incredible "tech" which is not at all imaginary. The concert has ended, and now thousands and thousands of Tesla shareholders are standing on the pavement outside the venue, waiting for their Teslas to reach them via Smart Summon™. How do the cars coordinate the pickup order with each other? How will people recognize that that generic white Tesla is their white Tesla? How many people will be knifed down in the altercations which will inevitably ensue? How long will you be waiting to get into your car, and then to successfully leave the overly congested area?
I want to talk about the subject of regulations for a bit. People who like to call themselves "tech enthusiasts" often express their disdain for regulators who are "trying to prevent progress." The fact is that regulations only hurt the obscenely rich, and when I say "hurt," I mean "annoy slightly." Regulations, by and large, protect the interests of the public at the expense of that billionaire who has more money than millions of people but still thinks it's not enough.
Regulations don't prevent progress, they actually promote progress by forcing companies who would otherwise not give a flying fuck if their "advanced tech" kills you to give a fuck, meaning they will have to solve the actually important and difficult problems of making something like autonomous vehicles safe, predictable and actually working, rather than just something that makes your car move by itself and allows the CEO to impress investors and then sell his shares for billions of dollars on the backs of those investors.
When I worked for the Israeli telecommunications company, we had to deal with regulators a lot. On the face of it, it sucked, because they forced us to do work we would have preferred not to do. There was no doubt, however, that that work benefited the public, and forced us to improve our systems. And the company continued to bring in crates of money, as we like to say in Israel.
If you're against regulations because you bought five shares of Tesla for $300, thinking they'd some day be worth $300,000, don't worry. Regulations aren't the reason that's not going to happen. Let me reiterate, regulations don't prevent anyone from getting rich. No obscenely rich meme lord has ever stopped being an obscenely rich meme lord because of regulations.
Let's imagine a scenario where autonomous vehicles are not allowed on the roads without—at the very least—passing the same driving tests that a human does. Could something like that work? With current AV technology, the answer is definitely "no," but it is possible.
So instead of what we have today, imagine this:
- AV software must implement a standardized API against which extensive regulatory tests can be automated. These tests verify, among other things, the software correctly interprets local traffic laws.
- AVs must support voice commands such as "take the next right, take a left on Main Street, stop, wait for the intersection to clear, park between the two cars on the right." This capability should not be GPS-dependent.
- AVs must also demonstrate an ability to receive a destination, calculate a route, cache that route offline, and make that drive with no further inputs.
The voice command thing will not be easy, as it brings its own set of challenges. Like only accepting commands from the driver. Properly recognizing speech. Properly interpreting commands within the context of the car's surroundings. Only executing commands when it is safe to do so, etc. If you can successfully implement that, however, you've really done something incredible, and this is another example of how forcing starry-eyed CEOs to do real work can actually induce progress rather than hinder it. Yes, you may need to wait a bit more for your share value to explode, but the truth is you were going to wait a long time anyway.
So What Am I Proposing?
- All AVs must have three levels of control: fully manual driving, voice command driving, and fully autonomous driving.
- All autonomous vehicles must have software with a standard API whose specification will jointly be created by a consortium comprised of regulators and car manufacturers. If you're worried because you believe only you know how to do things correctly, you're wrong.
- Every software version must pass automated tests, a voice-based driving test, and fully-autonomous driving test. No more stealth software updates. Fuck your progress. Owner must be able to disable non-critical software updates, forever, without affecting the car's driveability.
- AV computers must be completely separate from infotainment system computers. The infotainment system cannot brick the car, and cannot provide a backdoor for remotely controlling the car.
- Safety-critical controls such as hazard light toggles must have hardwired, physical buttons, and cannot be affected by infotainment system software updates, which can be made without having to go through the same AV-software tests. They can't affect the car's driveability, so whatever.
- Legal culpability must be clearly established. Investigations cannot depend on asking the manufacturer to look at the logs and hoping to hear back the truth. A standardized "black box" must be inside every vehicle.
I'm sure people much smarter than me can—and probably already have—design better ways to verify and certify AV technology. Give me an AV that conforms with the above, though, and I'll gladly drive it. Until then, I'm not gambling with my life, and the lives of others. Take these death machines off the roads.