Tesla won the self-driving car war, it just isn't telling us
There was a time when I could figure something out, just plain figure it out of raw data, then blurt my conclusions out to the world through this rag just to see what would happen. And what would inevitably happen was a thousand experts would pipe up just to tell me to pipe down, saying that I was too frigging stupid to read, much less write. Except occasionally I got it right (pure luck) so, damn it, they had to keep reading my work. Well I’m back to try again and here it comes: When the history of autonomous cars is written, the winner will be Tesla. Heck, I think it’s already won.
Autonomous cars are like the graphical user interface, object-oriented programming, the Internet, or yet another K-pop boy band: you can know in advance they are coming and will define the future, you just can’t be quite certain when they will arrive or exactly what they will look like. We all now know there will come a time when most cars will be electric and they will be able to drive themselves. The only question is when will this finally happen?
IF this transition is indeed inevitable, whoever does it first without killing a bunch of folks is going to be hugely successful — Microsoft, Google, Apple-type successful. And I think that winning company will be Elon Musk’s Tesla Motors, and the point of this column is to explain exactly why I believe this, because it’s based pretty much on logic, not knowledge, which is to say I might again be too frigging stupid to read, much less write.
Before we go down this logical rabbit hole, let me blame it on my friend Jerry Kew, who lives in Cornwall in the United Kingdom. Jerry started this the other day when we were talking on the phone. Jerry’s the smart one. I’m just pretty.
So I’ve been reading auto industry reports like this one from the University of Michigan, trying to bend my punditry to understand autonomous cars. Most of the rest of this column has to do with this paper, so I’ll wait if you want to go read it…
I found the paper very interesting, but it also reminded me A LOT of the atmosphere surrounding video compression software 40+ years ago when I was working in that field at the Stanford Artificial Intelligence Laboratory. Back then it was all sampling and algorithms and when will Moore’s Law get us to the point where we can compress and decompress video in real time? The version of that here is when will we be able to autonomously drive within an acceptable budget measured in both dollars and watts?
But I’m not sure that’s the right question to ask, because I think that autonomous cars 10 years from now won’t even work the way this paper suggests.
The solution they describe in the paper is too hard. Forty-one terabytes of map data may be nothing a decade from now, but do we really even need it? Will we really need to have a map of every mailbox and manhole cover in America just to leave our homes? I don’t need that to drive today. Why should my autonomous car need a zillion times more data than I need as a human driver?
Then there’s the processing, which I think they have backwards or maybe inside-out. They seem to anticipate a driving universe where I’d be looking for a driving experience.
I have a teenage son who has had his drivers license for less than a month and he just got back from a driving trip by himself to Santa Barbara and back. How could he possibly do that without killing someone? True, he drove as a passenger with me for tens of thousands of miles and probably picked-up some driving knowledge as well as swear words, but what made him ready for this trip? Was he just lucky? No, he followed the rules, completing a tightly defined task. US 101 is less than a mile from our house and less than a mile from his destination in Santa Barbara, making the longish drive actually pretty simple: get on the freeway and head south.
Now think about Tesla. Tesla has more than a million data-gathering devices on the roads. We call them cars. Tesla cars have no LIDAR but they have eight cameras and RADAR. Every night all those cars wirelessly report their driving data back to Tesla. I would love to know how Tesla decided what to put in those reports. Given the limited bandwidth LTE connection involved, it can’t be a complete data dump. It has to pick and choose what to report.
And what does Tesla do with the reports? I think it comes down to algorithms, mapping, and exceptions. It is logically trying to improve its algorithms, improve its maps, but mainly — after having already parsed billions of miles of driving data — it is looking for exceptional events that are testing its algorithms in ways never seen before. It’s not just three cars approaching a four-way stop, it’s three cars approaching a four-way stop with one driver drunk, another having an argument and — by the way — there’s an earthquake. You can’t make up this stuff — it has to really happen.
Let’s contrast Tesla and Waymo, Google’s autonomous car operation. Waymo came first and it has had cars driving around Mountain View for more than a decade, but most of Waymo’s algorithm development has been based on computer simulations, not actual driving. Waymo has driven millions of miles, sure, but it has simulated driving billions of miles. The only problem with this — basing algorithms on simulations — is that real life isn’t a simulation and it brings unexpected conditions — those exceptions I referred to above — that a designer might never think of. That’s where Tesla, with hundreds of thousands of cars out on the road every day, driving half-a-billion miles-per-week, has a huge advantage.
Going back to the video compression analogy, it’s like the difference between lossless and lossy compression. The systems described in this research paper are trying to do lossless, which is to say coming to a definitive answer every 100 milliseconds. Lossy, which requires two orders of magnitude less bandwidth, defines success as being good enough that humans can’t easily tell the difference.
My son driving to Santa Barbara was lossy, not lossless. But the other definition of lossy here is the kid made it back home and nobody was hurt.
A very simple way to do video compression is by defining a dictionary of video elements. Parse the data, detect elements that are already in the dictionary, transmit those as simple catalog numbers, then use the rest of the bandwidth for transmitting elements NOT (yet) in the dictionary. Every night Tesla is improving its driving dictionary, improving the fleet’s ability to function and survive in a lower bandwidth environment.
One state of autonomous driving is NOT driving, remember. Worst case, the car can’t solve the problem so it parks. That, all by itself, probably cuts the processing load by 10. We have a car, a dictionary of driving experiences, a relatively simple set of algorithms for combining those experiences with the mission plan, and the ability to say “hell no” if it all gets too hard.
That’s my guess how autonomous driving will actually work. WHEN it will work is the big question, but I have an idea about that, too.
Tesla has a dual processor system in its cars — two completely distinct computers. Why? It really makes no sense. If it was really a matter of redundancy there would be three computers, not two, so they could vote on every decision, rejecting the vote of the processor gone insane. Two processors don’t offer a good argument over just adding cores, either. Why go to the bother of total hardware duplication?
Because every night is an A-B test for Tesla — a test that is running on your car. One processor is driving the car (or following the driver’s actions if Autopilot isn’t being used, which is most of the time) with production software while the second processor is running beta software, simulating the drive, and noting discrepancies between the two software versions. Multiply this times a million cars per night.
Whether Autopilot is used or not doesn’t matter: the evolution of the software continues. And it’s finished when the beta software stops improving and the outcome shows the only difference between human and Autopilot driving is that Autopilot does it better. Continue for another month or year or decade just to confirm your results, then announce that full autonomous mode is available. That is exactly where I believe Tesla has been heading for as long as those two-processor cars have been on the road.
Tesla’s autonomous driving software could be ready right now for all we know. Elon certainly hints at this from time to time in his tweets. And THAT’s why I believe Tesla has already won the autonomous driving war, because it has real cars facing real exceptions that you won’t find in a simulation, and its dual processor system knows what it knows.
Yes, I reached out to Tesla about this last week. It still hasn’t replied.