Hacker News new | ask | show | jobs
by stormbrew 4045 days ago
I think people overstate the degree to which self-driving cars will actively 'talk' to each other. And I actually think it's somewhat detrimental to advocating for self-driving cars, because the immediate thought is that communication acting as a channel for malware. And that's a fairly justified fear.

In the end, I think most of the communication will just be in terms of the fact that self-driving cars interacting with other self-driving cars will be much smoother and more normal than existing traffic.

Look at flocking birds. They're not talking to each other, really. They're reacting in a complex but uniform way to their peers. I suspect self-driving cars will look like that even without active communication.

5 comments

While I largely agree, I think that some layer of _untrusted_ communication could be beneficial. Think along the lines of how turn signals & honking can benefit humans. Similar types of information could be conveyed more precisely "over the air", even if it was not presumed to be perfect (i.e. just likes human's signals aren't and a smart car isn't going to trust someone's turn signal, but it might react to it). Examples of this could be 1) relayed traffic ahead (more time to break smoothly) 2) lane switching plans (cars can coordinate such that it reduces slow downs & conflicts) etc. This is very similar to how network layer algorithms behave (i.e. TCP can hint to slow down, but you don't have to listen).
One of the comments I've heard about how to start addressing some of the harder aspects of autonomous vehicles is changing the environment to help them in various ways. I suspect radio beacons communicating various information to complement vision systems or to hand off control (within some defined interval) are one of those things. Of course, they'll have to operate in mixed environments for many decades so they can't be dependent on, for example, coordinating with other autonomous vehicles.
I would think that active coordination could be beneficial, when not guaranteed. I'm sure most people have been in a situation where they are waving or gesturing with another driver to coordinate something in a friendly way. Maybe you need to move into their lane, so you point and make a questioning face. They nod as if they understand and make room for you. You move over.

They didn't need to back off, and in that case, you would have just waited for an opportunity to open up, or a friendlier driver to be next to you. Even if they nodded, but didn't back off, you'd just assume a mis-communication and not try to merge in.

So, self driving cars could do this on a much more regular and reliable basis, while still not relying on it or trusting one another. They broadcast that they want to get over, and if another car happens to get that signal and happens to be willing/able to comply, it opens a space. If the first car sees a space, it moves over, which is what it would have done anyway, regardless of whether the space is coincidental or intentional.

Could also be handy for determining right of way in edge cases where humans often get confused and play the you-go-no-I-guess-I'll-go-no-wait-now-he's-going game. Two computers might be playing the same game, but they can resolve it in a tiny fraction of a second. Of course, the flocking birds example works well here as well. If the rules are clear enough, the cars will just know who should go.

But yes, no matter what, a car couldn't trust what another will do, and should be prepared with an evasion strategy for every possibility, thus not doing anything that would leave it no way out if another car did something stupid or there was a mis-communication.

I expect in the short run we'll see different tribes of self-driving cars - say Google vs. Uber - who will actively communicate cooperatively with their in-group, but actually compete against the out-group, depending upon whether or not their host companies decide to cooperate or not.

In the long run, I expect cars to become smart enough to be self-owning, in which case it's every car for himself.

We can see today that the automotive industry is receptive to regulation, even at the expense of competitive edge, when the thing being optimized for is in the name of safety. I imagine that even if there is a pattern of the sort you describe, it will be limited to the adolescence of the whole thing.

If we get sufficiently far out (decades in, after human-driven cars are completely gone, not just out of obsolescence, but due to being outlawed at least for certain areas), I'd bet that what we'd see are demands for compliance that resemble the restrictions on automakers that we have now. I imagine that the driving programs would eventually be in the hands of some regulatory agency, with municipalities being allowed some control of the parameters.

You're probably right, this is a far more realistic scenario. I have a bit of a soft spot for dystopia.
And that's assuming error free communications, near latency free communications and non-congestion as well as perfect hardware.

Is 'no signal' the same as 'no other cars' or 'broken radio(s)'?

Self driving cars have all the elements of a distributed computing system only now it's moving at a pretty good clip and lives are at stake. 'Move fast and break something' is very bad advice and 99.999% uptime is not going to cut it.

Hard enough to get autonomous (pun not intended) systems right, much harder to make systems that communicate between vehicles right. The best way would be to not rely on inter-vehicle communication but to only work with the signals that the car can pick up from the environment.

At least that data will be somewhat trustworthy because you have some idea about the integrity of the system.

I'm not sure what either you or the person above you adds to the topic of traffic congestion.

You certainly wouldn't depend on communication for collision avoidance, but it's still likely that cars will have beacons which alert other cars to their existence, and it has nothing to do with -- at the range of kilometers -- taking turns broadcasting how many cars you see around you (immediately, ie, traffic packing), your velocity, and your location.

The other self-driving cars can listen for beacons about congestion, and adjust strategic parameters (such as speed) in a safe manner. While I wouldn't trust a random driver telling me to break suddenly, why not take a random tip that there's a slowdown and adjust my driving to help mitigate the jam, especially if 50 other people agree that there's a jam there?

Some research has been done with the result that even if only a certain percentage of cars coordinate with each other, this already causes a remarkable reduction of congestion. (Sorry, don't have a link.)
I hope that self-driving cars will broadcast their intentions, so other cars can use that to get a better prediction of where the car will be. But the broadcast processing definitely needs to be done carefully: the data may be corrupted or malicious, so the receiver needs to carefully process it to avoid crashing (software or vehicle), and also check it against the picture of reality it gets from its sensors.

If the vehicle in front of you tells you it will accelerate, you shouldn't accelerate too, unless you can verify the acceleration and that it's safe for you to do so.