Anguelov mentioned two technical problems Waymo is particularly focused on. One is the transition from perception to prediction, Waymo has a good way of representing perception but they are looking for better ways to represent perception to make prediction better and more efficient. The other problem is merging prediction and planning. He points out that prediction and planning are a closed loop. You need to predict the behavior of other road users in order to plan the right path. But the path you take will change the behavior of other road users thus affecting your prediction.
More generally, I think the main problems are proving safety, and prediction and planning.
1) Safety
Waymo released a safety report on 6M autonomous miles in Chandler awhile back. The report showed that the Waymo was safer than humans in some areas but not necessarily safer than humans in other areas. The Waymo does not get into single vehicle accidents like humans do. Waymo does not drive distracted, tired or drunk. Waymo always follows the speed limit and trafic riles so it does not cause accidents caused by speeding or running red lights or stop signs like humans sometimes do. Those are positive factors for safety. The negative factors for safety is that the Waymo is not always able to avoid accidents caused by other drivers when it could (this is a prediction/planning issue). The report showed that a lot of the accidents were caused by bad human drivers. Waymo got rear ended a bunch of times. Some of the rear ends were the fault of the human driver who was not paying attention. But some of the rear ends where the Waymo did not behave in a way that human drivers expect. For example, Waymo may sometimes slow down unexpectedly or stop when it is not sure what to do. There can be situations that are easy for human drivers but are confusing for autonomous cars. We have to remember that computers are basically "dumb", they simply follow rules, perhaps complex rules but still rules. They can't actually "think" on their own.
The big question is, when do you know that your AV is safe enough? The AV might be really good in a lot of situations but how do you know that it can handle what you don't know. I think this is the main reason Cruise and Waymo have not scaled yet. Yes, their AVs can handle a lot of situations but can the AVs really be trusted in all situations? What about situations or edge cases the AVs have not seen yet? You will never see all edge cases, but when do you know that you've seen enough edge cases that your AV is "good enough? One approach is to do a lot of driving so that you have a lot of safety data. But this approach requires billions of miles of real world driving to get statistically accurate safety data. Getting billions of miles of driving takes time and a large fleet. Plus, you have to do all those billions of miles with a safety driver to make sure the AV is safe while testing. Another approach is to use simulations to try to test in situations you haven't seen in the real world yet. But this requires a hyper realistic simulation that is extremely close to the real world, not just physically but also in the behavior of other road users. You can also build safety cases where you test you AV in lots of safety critical scenarios to make sure it can handle those cases. This is essential to make sure you've covered the essentials of safety but this won't cover all edge cases. Another approach is to try to program your AV to be prudent and defensive when it is uncertain. That way, you don't need to test for every single edge case which is not possible but you can be reasonably confident that when your AV encounters something new, it will at least behave in a cautious way that should probably be safe. Cruise talked about this in their Under the Hood presentation.
2) Prediction/Planning
If humans always followed road rules and always behaved in logical, predictable ways, solving autonomous driving would be a lot easier. You would be able to predict behavior better and program good driving behavior for the AV. Unfortunately, as we all know, humans don't always follow road rules and don't always act in logical ways. Humans can be unpredictable on the road. How do you program the AV to handle situations where other road users might behave in unpredictable ways? Unpredictable behavior like a pedestrian suddenly deciding to jay walk, a car deciding to run a red light, a motorcyclist deciding to split lanes, is what causes many accidents. An AV needs to be able to drive defensively and anticipate possible behaviors. Currently, companies like Waymo and Cruise have NN that creates probabilities on different possible paths. So it might predict a car has a 10% chance of going left, 20% of going straight, 40% of going right etc... Based on those probabilities, the AV can pick a path that is prudent and will avoid a collision. The AV also needs good planning so that it drives in a smooth way. You don't want the AV to drive "robotically" as that confuses other human drivers. Also, robotaxis need to offer comfortable rides to their customers. So you don't want the AV to phantom brake or swerve when it is gets surprised by that unpredictable behavior of other road users. There are also some situations like construction zones where the normal lane lines don't apply that can be confusing for AVs.
Put simply, the challenge is making AVs smarter where they can drive in a smooth and defensive way, anticipate behavior of other road users and not get confused when road rules change.
Anguelov says that perception is mostly solved at this point. Of course, there are still some rare edge cases that still need to be solved. Perception is not the main challenge. The main problem is making smart driving decisions based on what perception sees.
I would recommend these two videos with Anguelov.
The first video is a recent keynote. Anguelov gives an excellent overview of how the Waymo Driver works (perception, prediction and planning), shares some interesting edge cases and discusses current research:
The second video is an interview. Anguelov discusses some problems Waymo is working on and looks to the some future research ideas:
By the way, thanks for starting this thread. I love people who are genuinely interested about autonomous driving and want to learn and don't want to just spout talking points. And it gives me an opportunity to share what I think I know which I love to do.