Google has been running self-driving cars in San Francisco's Bay Area for some time now, and big car manufacturers are starting to make noises about self-driving cars too; which seems to be leading some people to assume they're coming in the next year or two.
But there are actually quite a lot of big problems to overcome first, so I think they're still many years away.
Among the current problems are:
Navigation. Current sat nav systems are very poor at navigating to anything that isn't a precisely defined street address. I once asked Apple Maps for a route to Edinburgh, and it advised me to abandon my car on Waverley Bridge (which does not have street parking) and proceed on foot to the middle of Princes Street Gardens since that's where it believed the exact location of "Edinburgh" was.
Some current examples of Google making similar blunders can be found on Exploring Local.
Lack of up-to-date data. Google has long been interested in sourcing road data through multiple routes such as GPS tracks, its streetview camera cars, by acquiring Waze, and by quietly tracking Android phones. Apple also tracks iOS users and has launched a streetview-like programme too. Crowdsourcing certainly seems the way to go, here - Toyota looks likely to be getting on this bandwagon according to GeoAwesomeness. But even if more car makers join in over the next few years, it will be years before there are enough contributing cars to make a difference outside the big cities.
It's worth noting that because of Silicon Valley, the Bay Area is probably the best-mapped urban area in the world - ideal for Google's self-driving car experiments but not typical, even of US cities. I live in a city, but Google hasn't updated its aerial imagery or sent its street view car back here for over 7 years now, and many roads are missing.
Difficulty of behaving predictably. Google's self-driving cars are having twice as many accidents than average, and the reason seems to be that they follow the law more rigidly than other US drivers expect. A key part of driving safely is to be predictable: this is why cars have indicators, but there are also a wealth of social conventions which extend and in some cases override the laws of the road. If someone hand-waves at me at a junction, they are expecting me to move even if they technically have right of way. If I judge the speed of other cars in the distance to be safe for me to go in that situation, then I go. Conversely, if I see someone approach a junction, but I don't see the driver turn their head to look in my direction, I hold back even if I have right of way in case they pull out without looking (this has happened to me). And there's also flashing headlights to tell another driver "you go first", which is very common and useful but not what the law says flashing is for ("I am here, in case you haven't seen me").
Dealing with failure of infrastructure. What should a self-driving car do when a set of traffic lights has failed? I meet this situation from time to time, and what drivers do is look carefully at each others' faces and proceed when they can see that the other driver has seen them and has stopped to allow them to go. Facial recognition is nowhere near being able to do this yet.
Dealing with lose-lose situations. It's been understood for a while that drivers sometimes have to deal with situations where an accident is inevitable, and the only choice is to decide who gets injured. If a child steps out into the road in front of me, and there's a car coming the other way, I would most likely swerve onto the far side of the road, choosing to hit the driver armoured inside his car rather than kill the child. The other driver will quite likely accept my judgement that my action was the only way to avoid killing the child, but if that decision was made by software, people (especially in the litigious USA) will sue the software developer, who will have no way of proving that the judgement was right. I think this issue alone will likely stall the development of self-driving cars.
the solution: networking
It seems to me that a partial solution to many of these problems would be for cars to be able to talk to other cars, so as to make collective decisions. This is much more like how humans drive cars. Of course, it would need car manufacturers to design and adopt a new global car-to-car communication standard, but there is lots of prior art it the networking arena, so if the will was there, this could be done in just a few years.
As well as the problems above, such a system could massively reduce road congestion. If I have an accident, my car can tell neighbouring cars that its airbags deployed, which could tell the network and thereby all the cars which know they are going to be passing by my location in the future. On a motorway, this could result in cars 1km behind me cutting their speed by 50%, at 3km by 25%, at 5km by 10% or something like that - eliminating the wave harmonic effect of traffic jams behind accidents. Cars sufficiently far away could simply change their route (automatically, for self-driving cars, or in an advisory capacity for those with traditional sat navs).
Given the political will, such systems could easily be made mandatory for all cars, since a box that sits on top of the dashboard could easily be fitted to let the driver know about a temporary, situational speed limit. To avoid people ignoring the box, it would only need to record what messages had been received, in a form readable by the police in the event of that car being in an accident. Insurance companies would love this too - if they stopped paying out in the event of an accident after a speed limit message was displayed to the driver, I bet that would largely eliminate speeding from our roads!
Network infrastructure would probably need improving to avoid the risk of dead spots of the sort that cellular networks often have. I believe that rather than specialised roadside infrastructure, governments would prefer to simply contract cellular phone companies to ensure complete coverage of major roads, since this would benefit the public in other ways as well. However, special speed-limit transmitters could be placed around schools and wherever cyclists or pedestrians should have priority, to enforce lower speed limits in those zones.
The network and legislative advances described above would benefit society at large (through fewer road deaths and lower congestion) as well as making self-driving cars possible. But the presence of network equipment in all cars would also make true road pricing possible for major roads.
In the UK and other countries, road use is taxed via a tax on motor vehicles and on fuel. The tax on vehicles is widely seen as unfair, since light users pay the same amount as heavy users for the same type of car. London already has a road use charge, implemented via registration plate recognition, and many other cities are considering something similar. The presence of a transmitter in every car would make road pricing easy, charging more for peak routes, peak time use, and perhaps even for use of the fast lane on motorways. People who don't travel often, or who use public transport, would thus pay less even if they kept a car for occasional use.
(The transmitter wouldn't even need to transmit the vehicle's identity - though that would be the simplest way - it could use a challenge/response system, where the roadside equipment could say this route costs £10 and the car could respond OK, I have deducted £10 from this car's pre-paid account - perhaps using blockchain technology to verify that the car had sufficient credit.)
I've thought for many years that road pricing is inevitable: under capitalism, the normal way we ration scarce resources is by charging money for them. In the 30 years since I learnt to drive, space on Britain's roads has become massively more scarce, but at the same time, cars have become much more affordable so far more people own them.
To summarise: the communication protocols and the infrastructure needed to make self-driving cars a realistic proposition would also reduce road traffic accidents, reduce congestion and make fairer road pricing feasible.
Given all that, I think the whole lot is inevitable - but developing the protocols, designing the legislation and building the infrastructure will all take years. I can't see it all getting done by the end of this decade. (Outside of the Bay Area, anyway.)
Cover photo credit: edandeddie on flickr