odysseus2000 wrote:No one knows if robotic driving is possible...
They do, and it is
All the components (individually) now exist for a perfectly feasible, practical system to be built. The race is now on to get them developed far enough to put to market.
Waymo has already done 10 million mile of real world autonomous driving.
I look at the building blocks like this (overly simplified, but gives the idea_... if I were to be developing an AD vehicle...
1. Foundation Layer - Simple collision avoidanceWithout reference to lanes, maps, navigation, human made rules, etc, this layer's responsibility is to avoid a collision on the basis of simple physics.
That simply means don't drive into something stationary. And don't move into the path of something else.
Obviously there are trade offs here. If you can see someone crossing the road 2 miles away, you don't stop immediately now. You make it sensible - ensure you can stop (with a margin) in the distance left between you and the obstruction.
Likewise for moving into the path of another vehicle.
This can generally be done with Lidar / Radar.
Both now relatively proven technologies.
2. Drive-able Area - PhysicalOK, avoiding a collision with an object is handled above, but where can you drive. What road surfaces, curbs, etc.
There are now proven visual (computer) systems which can establish driveable area e.g. (quick random google search
https://www.youtube.com/watch?v=OJPxgALx5eA I've seen a better example than this one previously, but can't re-find it now )
Irrespective of lanes, rules, etc, this in combination with layer 1 above (simplistically) should be enough to ensure a car only drives where it is able, and doesn't hit anything it shouldn't.
Now you can build the more complex parts on top of these layers..
3. Driveable Area - LanesThere's plenty of research into lane identification. Some I've seen in the past I'm a little concerned by, and hope they aren't how real world cars will actually do it. But there are also plenty of examples o functioning systems.
My only concern is how they'd cope when the lanes are virtually gone. There's certainly some on my commute that drivers can no longer see because they are so worn... but then that's why everything is built on layers 1 and 2... those layers should act as a fall back to prevent collisions, and ensure the car doesn't drive somewhere it isn't physically able.
4. Traffic FeaturesThe next level is detecting road signs, traffic lights, and other features.
This and the layers above are what has been impossible for the most part until the past 5 years or so.
But that has all changed with the development of convolutional neural networks / deep learning. These are now able to recognise features in image in some cases
better than humans. (In case you're wondering ... someone takes a picture of something they know and labels it... that picture is then presented to computers and different humans without the label, and they see who can work out what the label should be).
This technology can now easily identify road signs, traffic lights, pedestrian crossings, etc. And a central controller (standard software engineering) amalgamates these into a single model of the world around the car.
And certainly for straight forward sighs - like speed limits, this is absolutely feasible now. Some speed limit warning systems in cars actually use a camera monitoring for, and reading, speed limit signs to warn you if you are speeding.
This is all now proven technology.
5. Local Awareness - The RestUsing the same CNN / Deep learning technology, you can then decide just how fancy you want to make your system
Google / Waymo has done some development in identifying a police man directing traffic, and recognising the had signals.
There's also development aimed at recognising known hazards.. .like children, dogs, adults, cyclists, etc, and using the same CNNs / Deep Learning to identify these and to also recognise the potential risk.... just like a human driver will recognise that a child is likely to run into the road, etc.
This is all work in progress, and there are already proven working examples. It's no longer a question of will it work. It's now a question of how far to develop it before permitting it to be used for real.
The only bit that might be a little unproven, is the ability to read complex signs, written in English. But generally these aren't a critical feature. Road builders realise than sometimes holiday makers in hire cars will be driving, so rarely will you encounter a situation where you will need to read and understand complex English sentences while driving.
Simply sign understanding, is already feasible. I'm talking in the previous paragraph about extended English sentences.
6. The RulesThis is a little more difficult, but if you recognise this as a the final layer, built on the other layers, you can see how much of the risk is mitigated.
The above layers feed into a local world model. The model identifies the key features relevant for driving (from the inputs from the above layers) - road features like lanes, traffic lights, road cones, road works, etc, and hazards that the developers feel are particularly necessary to model ... like children, animals, other vehicles, etc. (Remember layer 1 should avoid collisions with objects where no special case has been made)
This layer is going to be more traditional software engineering. You
wouldn't rely on a CNN / Deep learning network to assimilate the rules.
You may use on in part to 'smooth over' areas in the model where things are ambiguous, unclear, etc.
But you wouldn't use CNN / DL for handling rules like always staying in the left most lane in the UK, ete, or right turn on red (like in the US).
So, e.g, the speed sign detection CNN, bystander detection CNN, traffic light detection CNN, etc, all input into the model, and indicate where these specific features are in the world around the car.
There needs to be a more traditional approach to implementing the rules- they are then implement on this centralised model.
But these only build upon the other layers... so if the rules layer says turn right, and the bottom layer, layer 1, says there's an obstruction, the car won't turn right. Those bottom layers (1 & 2) act as safety fail safes.
Summary...
All the technology needed to produce an AD car now exists, and has been proven to a degree.
The challenge now is pulling it all together into the most appropriate complete system.
It's no longer "if" but "when".
(lunch break over, no time to proof read and this has been hastily typed without any real plan, so apologies for all the likely typos, etc, and poor structure, etc … would have liked to put links to example of the above, but haven't had time...)