Can we talk about self-driving cars again? Oh, good. Thanks.
It occurred to me the other day that the public press (as opposed to the technical press) isn’t paying much attention to one particular aspect of autonomous vehicles: interoperation.
Every article I’ve seen that touches on the subject makes mention of emerging standards and the need for inter-vehicle communication, but they all seem to assume that having standards is the solution to all the potential problems.
Believe me, it ain’t. For one thing, there’s the ever-popular catchphrase “the great thing about standards is that there are so many of them”. Just because a car implements a particular standard, that doesn’t mean it implements every standard. And which version of the standard? They do evolve as the technology changes. Will a car that’s compliant with version 1.2 of the car standard for signaling a left turn recognize the intention of the oncoming truck that’s still using version 1.1 of the truck standard?
Lest you think I’m exaggerating the problem, consider the rules (not a standard, but similar in intent and function) for the noise-making apparatus in electric vehicles. (I talked about it several years ago.) That one document runs to 370 pages. Do you really think there are no errors that will require updates? Or a significant amendment to cover cars made in other countries? Or a missing subsection for retrofitting the technology to older electric cars released before the rules were finalized?
And, speaking of those 370 pages, that brings us to the second problem. Even assuming the best will in the world, no spec is ever totally unambiguous. Consider web browsers. Remember back around the turn of the century, when we had Internet Explorer, Netscape, and AOL’s customized versions of IE? All theoretically compliant with web standards, all delivering different user experiences–rendering pages slightly–or extremely–differently.
Nor do they do anything to prevent developers from introducing non-standard extensions. Do we really want some latter-day Netscape-wannabe from coming up with an automotive blink tag while their competitors over at Microsoft-like Motors are pushing their equivalent of the scrolling marquee tag?
But I digress slightly.
What started this train of thought was wondering how autonomous vehicle developers are going to handle weird, one-off situations. We know some of them are working up plans for turning control over to remote drivers (like OnStar on steroids). But how well is that going to work at 60 MPH?
Case in point: The Richmond-San Rafael has a part-time lane. For most of the day, it’s actually the shoulder on the eastbound part of the bridge. But during the afternoon rush hour, it becomes a traffic lane. There are lights to signal when it’s open to traffic–and the open hours are scheduled–but it can be taken out of service when necessary. That means developers can’t count on programming open times. Cars may or may not be able to read the signal lights. Maybe there’s a standard compliant (for some standard or other) radio signal as well.
But the critical point here is that the lane markings are, well, weird. There’s a diagonal stripe that cuts across the lane; when the lane is open, drivers are expected to ignore the line, but at other times, they’re supposed to follow it in merging into the next lane over.
How is the car supposed to know when to follow the line? (Come to think of it, how do current lane assist technologies handle that stretch of road?) How are the programmers prioritizing lane markings versus other signals?
Maybe, I thought, in ambiguous situations, the rule could be “follow the car in front of you”. That could work. Sooner or later, the chain of cars deferring to the next one forward will reach a human-driven car which can resolve the conflict. Hopefully that driver is experienced enough to get it right and neither drunk nor distracted by their cell phone.
But how are the cars going to know if the car in front of them is trustworthy–i.e. is following the same “follow the car in front of me” rule? Is your Toyota going to trust that Ford in front of it? Or will it only follow other Japanese manufactured vehicles? Maybe the standard can include a “I’m following the car in front of me” signal. But what if the signal changes in version 2.2a of the specification?
There’s a classic short story* in which cars and trucks have evolved from trains. Each manufacturer’s vehicles require a different shape of track and a different width between tracks. Some are nearly compatible, able to use a competitor’s tracks under certain special circumstances. As you might imagine, the roads are a mess, with multiple tracks on every street, except where a city has signed an exclusive deal with one manufacturer.
* Whose title and author currently escape me, darn it. If you recognize it, please let me know in the comments.
The story is an allegory on the early personal computer industry with its plethora of competing standards and almost-compatible hardware, but I can’t help wondering if we’re about to see it play out in real life on our roads.