Just over ten years ago, on April 5th, 2012 to be precise, I took my first ride in a self-driving car, from Google X, in a research unit that has now become Waymo. There was someone sitting in the driver seat, but he had his feet and hands off the controls. We left Google and went for a drive on a couple of freeways around Mountain View in California. It was daytime, sunny, and easy.
The general zeitgeist at the time was that self driving cars, with no steering wheels installed and with no human safety driver, were just around the corner. [BTW, that was 25 years after the first autonomous vehicles drove on a public freeway, in traffic with ordinary cars with unsuspecting human drivers, just outside Munich.]
Back then, and for the next few years, most car companies were saying that they would have fully driverless software on regular consumer cars well before 2020. You may have noticed that that did not happen.
Along with that optimism was the expectation that by around now ride services companies (e.g., Uber, Lyft, and new entrants) would no longer have to rely on human drivers, but instead the ride share vehicles would drive themselves. See this report from 2019: “Uber thought it would have 75,000 autonomous vehicles on the roads this year and be operating driverless taxi services in 13 cities by 2022.”. You may have noticed that that did not happen either, not for Uber, or any other company.
The CEO of Tesla predicted in 2019 that there would be a million self-driving Tesla taxis on the road by the end of 2020. You may have noticed that the actual number was zero. And still is.
I was always skeptical about the timelines and wrote about that skepticism multiple times on this blog, here, here, and here. I was less skeptical about driverless cars eventually arriving, though I have always been of the opinion that changing our infrastructure just a little would make the transition happen much faster.
I’ve lived in San Francisco for the last four years, and the most notable thing I can say about that experience compared to any other city which I have ever visited, apart from the hills and the magnificent vistas, is that the roads, everywhere I go, but especially at night, have been thick with sensor rich vehicles from Cruise, Waymo, and Zoox. Thick. Overwhelmingly thick. Always with someone in the driver seat, and often someone additional in the front passenger seat. Here is a picture I tweeted out on Friday September 27th, 2019, of Cruise vehicles that I came across at my local Safeway taking a break. The drivers of the driverless cars were having a meetup.
Now finally there is some visible movement towards the driverless goals, in a densely packed city, for the first time.
Recently, just after 10:30pm on Thursday May 26th, I took my first rides, three of them over a 90 minute period, in Cruise vehicles, with no front seat occupants, summoning the cars on an Uber-like app, and going over a fairly wide ranging area of San Francisco. The vehicles that I rode in looked just like those above.
My conclusion from the experience is that Cruise has put together an MVP, a “Minimal Viable Product”, the lynchpin of successful tech, and is letting the public (me!) sign up to test the product for market fit. We would expect nothing different for any new product category.
BUT, please don’t make the mistake of thinking that an MVP means that mass adoption is just around the corner. We have a ways to go yet, and mass adoption might not be in the form of one-for-one replacement of human driving that has driven this dream for the last decade or more.
A Note About disclosures in This Post
I signed up to be allowed to download a phone app where I can call a Cruise vehicle and go to a destination that I choose, just as one does with Uber or Lyft.
I signed some waivers for Cruise as I most likely did when I signed up for Uber and Lyft (I frankly don’t remember, but since every single app for anything makes you sign a waiver I’m pretty sure that I must have done so for Uber and Lyft).
I agreed not to reveal any of their technology or trade secrets. I don’t believe I know any of their technology or trade secrets. All I know is the experience that I had and I will describe that. I did not take any photos or make any recordings during the rides. The photos I show below were taken before getting into the car; they are photos that anyone on the street could have taken.
I will state correlations that I noticed. Remember, correlations are not the same as causations.
But First, My Conclusions
I do not know the economics of Cruise being ably to profitably deliver a driverless ride hailing service with their current implementation. But from a customer experience viewpoint it seems to me that their current MVP is good enough to be deployed in certain circumstances. And certainly if existing nationwide voice communication systems like OnStar (see below) were used for any anomaly handling that would make the economics more attractive for localized deployments.
It seems to me that in a fairly big circumscribed community (I recall where my in-laws lived in a membership retirement community that spanned two golf courses with other recreational facilities and members only restaurants, in southern Florida as being such a place; there were no gates or entrance controls but it was clear where the boundaries were) the current MVP could provide more than adequate driverless transportation services within the community. It would be able to operate 24 hours, and would not have to restrict itself to low traffic areas, as all areas would be low traffic. The mechanics of pick up and drop off are quite smooth for anyone who has used a ride hailing app before. If temporary changes due to construction or maintenance activities (see ride 3 below) could be added to the maps that the system used that would increase reliability. I think the current system would be safe and easy to use.
From my experience in one of my three rides, Cruise driving is not always as smooth as one would expect from a human driver in heavier traffic situations.
I am positive about my experience, but I do not expect to use it in lieu of Uber, here in San Francisco, despite the zero cost. The locations that the service works in avoid many of the restaurant, museum, and hotel areas of the city. Most of my trips (and I take Uber a few times per week) either start or end at one of these sorts of locations. On top of that the hours of operation are very sparse. But mostly, the zero cost is not worth a trip potentially taking twice as long with this service. As I write this at 6pm on a Sunday, a fairly peak usage time, Uber promises a travel time of half what the first ride took on Thursday evening at 10:30pm.
THE DETAILS; A Long read
Here I go through the details of my experience which lead to the conclusions above. This is excruciatingly detailed, and I don’t expect many people will read it all.
The setup
The service operates from 10:30pm to 5:00am according to the app. That correlates with less busy roads in San Francisco in my experience. And some nights the service is not available due to weather. I have noticed that when I can hear San Francisco’s fog horns sounding multiple times per minute the service is not available.
The rides on my app must originate and terminate in San Francisco. San Francisco covers roughly 49 square miles. Some areas of the map are greyed out in the app and one can neither pickup or drop off in those areas. But it looks like well over half of the city is served, a few tens of square miles. The correlation that I notice is that the busy areas of the city with lots of pedestrian traffic are not covered, e.g., China Town, The Tenderloin, anywhere south of Market, and some other patches.
The rides are free.
The experience
On Thursday night, May 26th, my friend and Robust.AI co-founder Mohamed Amer and I took three rides, one after the other. We started at my house in west Cow Hollow and went to the corner of Castro Street and Market. Then from there we took a second ride to the edge of Russian Hill at Union and Polk. We walked south on Polk to between Broadway and Pacific, and from there went back to my house. I hailed the first and third rides, and Mohamed hailed the second.
Ride 1: 23.5 minutes, 4.80 miles. Chorizo.
My house is on a block with a 23% grade, the street is not particularly wide, and one side has 90 degree parking and the other side has parallel parking. Very rarely are cars going opposite directions able to pass each other, and one has to pull over into a gap in parking to let the other direction pass. Worse, because of the steepness, turning onto or off of my street at the intersection above my house puts the driver in a situation where they are blind, unable to see either the road they are going onto or the intersection they are entering. There are a bunch of these “scary” intersections, with a steep road and 90 degree parking in my neighborhood. Despite seeing Waymo and Cruise vehicles all the time, I have never seen one drive on one of these “scary” blocks.
Uber picks me up right outside my house but I did not expect a driverless car to be able to do so, and indeed the app told me to meet my car around the corner on another street.
The Cruise vehicle named Chorizo showed up and this is me about to get into it.
There was no human in the car. I used the app to unlock the car and got in, followed my Mohamed. The car talked to us, saying exactly the same things on all three rides; telling us to buckle up, keep our arms inside whenever someone cracked a window open, and to gather up our things and get out on the passenger side at the end.
From the pickup it was two blocks to Divisadero which goes due south and turns into Castro; our destination was Castro and Market, 2.5 miles away by the most direct route. The routing that Chorizo followed was 4.8 miles and took us a block past Divisadero to Scott, a much less busy street, then down to Pine, west to Masonic, and south on that. That was the only part of the route where we encountered any traffic, and there were two lanes of traffic until we crossed the panhandle. Soon after that we went further west on Waller, then south on Cole through Cole Valley, eventually getting onto Roosevelt Way going back east, crossing the end of Masonic (which we had gotten off of to go a half dozen blocks further west), then between Buena Vista Park and Corona Heights Park, on Roosevelt Way to Castro Street. We had gone an extra block east, then 11 blocks west and come 10 blocks back east, some of it on winding roads.
I noticed that there was almost no traffic anywhere on our very elongated route except a little on Pine and more on Masonic. If you wanted to avoid traffic at the expense of a much longer ride the route was a good choice.
On Masonic when there were two lanes of traffic I was reminded of my experiences of two decades ago when I taught my four kids to drive. There was quite a bit of heavy braking, and at one point a car behind us also had to brake heavily to avoid hitting us. We were in the left lane of two lanes of traffic. The correlation I noticed was that when a car or bus passed us on the right the brakes came on strongly, even though there was plenty of space ahead of us in our lane.
Chorizo pulled over to the curb with cars parked a little in front and a little behind to let us out.
While we were riding we tried to see if there was any person listening to what we said in the car, but there was no response. Mohamed had taken a ride by himself three days before, and the car had gotten stuck at an intersection, and people had to come to rescue it. At that time Mohamed was contacted by voice within the car, but it was over the regular GM OnStar (recently sunset) system. That approach seems like a good step to me, integrating with existing voice communication systems that many cars already have.
Ride 2; 26.7 minutes, 4.57 miles. Chorizo.
We stood around for a bit then called another car. There only seemed to be a handful of cars available, but it was Chorizo who came back for us, on a route that involved a lot of right turns to get to us.
Our destination was firmly north and east, but Chorizo took as west again, and then we headed north on Roosevelt Way over quite a length of it that we had traversed in the same direction as we had travelled on it to get to where we were now coming from. When we got to Masonic we headed north, then east on Hayes, north on Steiner, and east on Vallejo to Polk. There was almost no traffic at all on any of these streets. If the second northbound segment had been two blocks to the west the car would have encountered a “scary” block on Vallejo, between Scott and Pierce.
At our destination the street was lined with cars and Chorizo let us out next to parked cars, just as a taxi or Uber would.
I noticed that when we stopped at a traffic light at a four way crossing the car was quite fast off the mark when the light turned green, except when there were pedestrians around. Then it would wait a bit before taking off. Note, all I have here is correlation. I do not know if there was any causation. But if I were to design the behaviors (and I have been designing behaviors of mobile robots for forty years now) then most likely my system would evidence a similar correlation.
Ride 3; 9.2 minutes, 1.65 miles. Brownie.
Our last ride was short, and mostly on Vallejo until Chorizo headed north right when it reached the “scary” block at Pierce.
However the pick up showed up a real deficit, with some safety implications, compared to what one would experience with an Uber or Lyft.
When I called for a car, and this time we got Brownie, we were on the side walk on the west side of Polk. Brownie headed south on Polk towards us but turned left (we could see it) at Broadway then three rights at Larkin, Pacific, and Polk, and so was on the east side of the street.
This was consistent with where the app told us it was going to pick us up. The problem was that there was construction happening right there. Instead of a side walk there was a temporary pedestrian walkway constructed from scaffolding and wooden structures in the parking lane, and no way to get out to the road from there. Brownie stopped in the traffic lane waiting for us. We had been in an empty parking spot about 30 feet north of there, and waved to Brownie as one would with an Uber to get it to come pick you up. Brownie did not respond, so we had to walk along the active traffic lane, admittedly with Brownie blocking it, to get to Brownie. This was a mistake that even the most taciturn taxi driver would not make.
The drop off was uneventful, again not at my house, but around a corner in a different location than the original pick up.
On the first two rides we had noticed as we walked away from the car that it said something inside, before pulling away. Strange, as no one was there inside the car to listen to it. This time we were on a much quieter street and we tarried next to the car to listen. “Data uploaded.”
Extremely helpful, thank you. I agree with you re the inevitability of AV – and the delay in that inevitability. But along the way we have an interesting development: will AV “robotaxis” work mostly because they just are careful? Waymo’s backcast simulation of fatalities in Phoenix seemed to boil down to (my words, not theirs) “Our AVs would have avoid all these fatalities by keeping to the speed limit, obeying stop signs, and driving carefully.” Your experience seemed similar: your rides seemed to “try” (sorry about imputing agency here) to be safe by avoiding tricky situations. It would be underwhelming that if all AVs delivered to us was confirmation of the already-known fact that we can cut fatalities in the USA by obeying traffic laws, driving cautiously, not drinking, etc. Of course ANY fatality avoided is a good thing… but it is a little underwhelming (from the perspective of a fan of all things sci-fi) that we may avoid them not because some sentient AI detected via satellite imagery a hurtling SUV 3 blocks away and calculated its trajectory in real time to induce in Chorizo a spectacular life-saving 3-point turn… Rather, that just making sure Chorizo stopped at the stop sign and “looked both ways” may be all that we needed. Ah, well.
I’ve been watching the Cruise, Waymo, and Zoox vehicles drive around the SF streets for ages and have lately latched onto the belief that we’re at the threshold of the mass adoption phase.
The trick to it is that a safe-but-slow level 4 driving capability is sufficient to enable completely different categories of vehicles, which will get the economic gears turning on deployment. Once you have a taxi, you can scale the vehicle down or up quite a bit and give it any cargo, given well-defined routes and destinations; you aren’t starting over just because the body changed. Given a sufficiently differentiated fleet, you’re never moving around unused capacity. Right now most cars run mostly-empty most of the time. Parking is the obvious example, but even on the highways that’s true – so there’s a very concrete savings to be had beyond removing the driver by diversifying the fleet to use two-seaters, shuttles, trucks, etc. as needed. Every optimization in that realm lets you save energy costs and reduce on-road footprint. Cost-sensitive users can make different kinds of trips if they’re able to rent the capacity needed at any time, and this will make them loyal users even if the savings isn’t spectacular. The industry can undercut early on, focus on network expansion, and then let induced demand effects take over the rest to drive market share. From there, even if AI progress stagnates and the vehicles remain about as capable as Chorizo, further optimization can be had by lobbying for it.
And that’s the worst case. If we get hockey-stick AI improvements, it’s all over for the human drivers within a decade or so.
Zoox currently has other forms of vehicles under development, though we haven’t yet seen them on SF streets. For those who don’t yet have alternate forms already in prototype it is going to be quite a few years for getting to scale with new ones.