A robo taxi is not a magic carpet with a lidar dome. It is a software stack making thousands of small predictions while sharing the road with distracted drivers, delivery vans, cyclists, pedestrians, and road workers. I care less about the launch video than the awkward left turn at 4:17 p.m. when the curb is hidden by a parked truck. That is where the homework gets graded.
This is how I evaluate an autonomous ride: repeatable route, timestamped observations, severity score, and no credit for a clean trip that cannot be reproduced. The goal is not to declare that a robo taxi is safe or unsafe from one ride. The goal is to identify what the system understands, where it hesitates, and which failures deserve engineering attention.
The test starts before the car moves
A useful test begins with a fixed route and a fixed question. My route template includes a protected left turn, an unprotected left turn, a temporary lane closure, a four-way stop, a cyclist interaction, and a pickup at a busy curb. Weather, traffic density, time of day, and construction status go into the log. Without that context, a ride report becomes an anecdote with a battery percentage.
I record what the vehicle announced, what it perceived, and what it actually did. A route planner might say the vehicle is yielding to a pedestrian, while the motion shows a creeping advance that forces the pedestrian to stop. Those are not equivalent outcomes. A robo taxi should communicate its intent clearly enough that nearby road users can predict it, not merely avoid it.
My severity scale runs from one to five. A one is an awkward but harmless hesitation. A three changes the expected behavior of another road user. A five is a collision, near collision, or intervention that prevents one. The rating is about the observable event, not how impressive the rest of the ride felt.

What the system should do at the curb
Pickup and drop-off behavior exposes more than most highway demonstrations. The vehicle has to localize near a curb, understand parking restrictions, avoid blocking a bike lane, and choose a safe door-opening position. It also has to handle the human part: a passenger standing several feet from the requested pin, a stroller in the loading zone, or another car occupying the exact space.
In one repeatable scenario, I place the pickup near a row of legally parked vehicles and a narrow sidewalk. The expected behavior is simple: stop without entering the sidewalk, leave enough room for a passenger to exit, and avoid forcing traffic around an unnecessary obstruction. If the vehicle circles twice because the map pin is ambiguous, that is a planning failure even if nobody is endangered. Time and predictability are part of the product.
A good robo taxi also needs a clear remote-assistance boundary. “An operator may help” is not a test result. I want to know whether the vehicle stops safely, how long it waits, what information the operator receives, and whether the system resumes with a defensible plan. A remote suggestion should not become a hidden substitute for local driving competence.
The hard cases are ordinary, not exotic
The most informative failures usually involve normal American road clutter. A temporary sign partially covering a lane arrow can confuse map-based behavior. A garbage truck can create a perception gap between a stationary obstacle and a vehicle preparing to merge. A pedestrian stepping out from behind an SUV tests occlusion handling, braking policy, and prediction confidence at the same time.
For each event, I write three sentences: Here is what happened. Here is what it should have done. Here is the gap. Then I attach video, location, speed, and the relevant signal phase. That structure prevents a common mistake in autonomy reporting: describing an outcome without preserving the conditions that produced it.
I also repeat the scenario. I ran a construction-zone approach three times and got three different answers: a cautious stop, a wide detour, and a late lane change. That variation is more interesting than any single result. A deterministic-looking driving decision can still be generated by a system whose inputs are changing around a threshold. If the threshold is unstable, the rider experiences the instability as hesitation or surprise.

How I compare a robo taxi with a human driver
The comparison is not “human bad, machine good.” Human drivers make serious mistakes, and an autonomous system should eventually outperform them in measurable categories. But the baseline must be explicit. I compare stopping distance, time to commit, lane position, following gap, and intervention frequency on the same route. I also record errors a human passenger would notice immediately, such as unnecessary braking or stopping in a travel lane.
A robo taxi that avoids every difficult maneuver by refusing service has not solved the transportation problem. Nor has one that completes the route by taking aggressive gaps. The useful scorecard combines safety, legality, comfort, route completion, and consistency. A system that scores well on four categories and fails one repeatedly needs a targeted fix, not a glossy average.
Brand comparisons require the same restraint. Waymo, Zoox, and other developers use different operating domains, vehicle platforms, maps, remote-support procedures, and release schedules. A result from a geofenced service cannot be generalized to every autonomous vehicle. Tesla’s driver-assistance products also should not be casually treated as equivalent to a commercially operated robo taxi; supervision, responsibility, and operating design differ.
What riders should inspect before booking
A passenger does not need a robotics degree to collect useful evidence. Note the service area, vehicle name, pickup instructions, weather, and whether the trip includes unusual road geometry. Save the trip receipt and write down every intervention, abrupt stop, missed turn, blocked curb, and confusing passenger prompt while the memory is fresh.
Pay attention to the handoff between mapping and driving. Does the car announce a detour before turning? Does it explain why it is waiting? When it encounters a police officer, flagger, or temporary sign, does it behave conservatively without freezing? These details reveal whether the system is handling uncertainty or merely following a route until its assumptions break.
Do not treat a smooth ride as proof of broad capability. A quiet, sunny trip on a mapped arterial proves that the system handled that slice of the operating domain. It does not answer how the robo taxi behaves in snow, heavy rain, unusual construction, or a road closure. The honest report keeps those questions open.
The score that matters after the novelty wears off
My final score is not a single star rating. I separate route completion from behavior quality, then attach severity to each defect. A five-mile ride with no intervention but three level-three interactions is not cleaner than a ride with one harmless level-one hesitation. The raw event record tells readers what the summary hides.
The practical question is whether each software update reduces repeated failures without creating new ones. That requires rerunning the same suite after an over-the-air release, preserving old logs, and comparing distributions rather than cherry-picking a best run. If a robo taxi improves unprotected turns but becomes less stable around cyclists, the change deserves that uncomfortable conclusion.
Your car talks. I check his homework. For autonomous rides, that means less attention to “the future” and more attention to the exact curb, lane, timestamp, and decision that happened in front of me. The vehicle does not get credit for intentions. It gets credit for what it did, under conditions another tester can reproduce.