The big problem is scale. You can replicate the capacity of a smaller bus route with efficient self-driving cars, but bigger routes and higher-capacity transit move tens and hundreds of thousands of people per day to a destination, and loading/unloading capacity near those destinations is just not going to fit.
Demand is already centralized both geographically and time-wise, with business districts, downtowns, rush/peak hour. Self-driving cars might replace feeder networks but they'll only strengthen the case for high-capacity trunk transit.
Some numbers for context because I was thinking about it. Let's say it takes a person five seconds to get in a robocar at an organized terminal area (car pulls up with door already open, people are lined up - getting in on the street in front of a building would be slower). Let's say you can weave five terminal lanes into one traffic lane, so cars can leave the terminal at about 1 car per second per lane. In five minutes you can ship out about 300 people per lane.
In those same five minutes, a Calgary C-Train would have pulled in, loaded, and departed with capacity of about 700 people. Or three Skytrain trains, each with capacity of about 500 people. Or two Victoria Line trains, each with capacity of about 1000 people (non-crush load). Or two double-decker RER trains, capacity over 2000 people each. You'd need a lot of robocar terminals...
Demand is already centralized both geographically and time-wise, with business districts, downtowns, rush/peak hour. Self-driving cars might replace feeder networks but they'll only strengthen the case for high-capacity trunk transit.