When Ashok says that setting a max speed is an anti-pattern, what does he mean?
In programming, an anti-pattern is a common, appealing, but ultimately counter productive response to a recurring problem.
For users who are not experts in designing self-driving systems, it seems like such a great solution. My car is driving too fast or too slow for my liking… just let me set the speed myself, and that would solve everything! But ultimately this is counter productive and actually makes the system less safe.
Deciding what speed to drive is a challenging problem. You need to look at the road, traffic, road conditions, weather, the speed limit, the speed of other traffic, and incorporate all of that into picking the right speed.
Humans do it so seamlessly that it seems easy, but it’s actually quite a complex problem. To make things even worse, it’s not just about picking a safe speed.. you need to pick a speed that’s safe, thats not too fast or too slow for the current flow of traffic, reflects local cultural norms and traffic enforcement patterns, and matches user preferences! Ask 10 people how fast they would go and you may very well get 10 different answers.
When the car comes up with an answer to the speed problem you don’t like, it’s frustrating. Hey, don’t go that fast you’re going to get me pulled over! Hey, don’t go that slow, everyone is honking at me! It is really tempting to avoid solving the problem and just let a human set the speed. But that doesn’t actually solve the problem of autonomous cars choosing the correct speed. It just sidesteps it.
Now, you are no longer getting a truly safe autonomous system with no human in the loop. You have a human involved in the driving task, and all the human error that comes with it.
Suppose you’re on a Texas highway with an 80 mph speed limit and the user slides the speed down to 5 mph. Or even 60 mph. Do you slow down or stop in the middle of the highway because the user asked you to? What if they knocked the speed control by accident? What if they did it on purpose because they wanted to hurt someone?
Will the media blame the human driver for setting the speed incorrectly when that causes a crash? Or will they blame Tesla? Look at the recent case where a user held down the accelerator pedal and flew into a home in Texas to find the answer.
On the other hand, suppose there are scenarios where the model wants to drive too fast at an unsafe speed. 99% of the time attentive humans lower the speed to a safe speed manually, and the car doesn’t crash. But if 1% of the time the human forgets to lower to a safe speed, or if you’re in a driverless setting with no human at all, you might see a crash due to unsafe speed that flies under the radar because human supervisors were papering over it. Also not good, and again Tesla will be blamed.
You’re not going to solve autonomy by working around these problems. You need to actually SOLVE the problem to deliver generalized autonomy. If some users are extremely frustrated and complain, that’s GOOD. It forces the team to solve the problem so their customers stop bitching. Customers may be happy short term setting their own speed, but truly SOLVING the problem — not working around it — is what makes customers happy long term.
We are in the unsupervised FSD era now. We are shipping cars with no controls. How the fuck are you going to fiddle with the speed in a cybercab?
I’m sorry to inform you that you are all wrong on this one. It’s not popular to say, but it’s the truth.
Show more