Self-driving is not the solution and will show its crack in the future, the solution is probably a cloud service administrate by the city that feed direction to the cars and rules (that reduce or increment the degree of freedom of choices), do optimization and sort many other things, cars probably will still need cameras to take small decisions, but this can be made optional.