Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Wiki Tracking FSD Feature Complete

This site may earn commission on affiliate links.
This varies per country and even roundabout. The Netherlands has only been changed relatively recently from defaulting to "oncoming traffic has right of way" to rebuilding all roundabouts to "traffic on roundabout itself has right of way". It's been a mixed bag most of the time.
The features I've listed is really for US - some of those rules will change for other countries for sure (like whether to drive on the left or right).
 
This is what he means by "March of the 9s". As they get deeper into edge cases and hit 6 9s (in terms of crashes per million miles), its better than average human.

Sure, this is obvious. Let me rephrase. Do they have to create point solutions for every single edge case? Or will edge cases be handled "naturally" as a consequence of incorporating enough point solutions? This is the central question. During the autonomy day presentation, all I could think was - this process of picking off single edge cases is not scale-able. But I'm not sure if that's correct or not.

First start thinking about your daily drive and see all the major things the car needs to do to accomplish that drive. That's the feature list you need.

It's not clear to me anyone can say for sure exactly what functions are required for save operation of a car - this feels to me to be a dramatic over-simplification. At a simple level, all you need to do is follow the lane lines, change lanes when required, stop/go when required, and turn when required. But the truth is that I am constantly processing substantial amounts of information, and making probabilistic assessments of the world around me, which may or may not translate to control inputs. I am detecting objects and making judgments about what they are and what they will do. I am looking at the general flow of traffic far ahead to assess what may happen several seconds in the future. Some of my assessments could be noise ("there's a hooptie BMW a few lanes over that is more likely to weave and cause an accident"), but some could be signal ("this person merging is not paying attention and the guy in front of me is going to have to slam on his brakes"). Sometimes there are somewhat social decisions to be made - there is a street by my house that is 3.5 cars wide, and people park on both sides, so you are reduced to one-lane traffic, and often you and the person oncoming have to mutually decide who will pull over and who will go. And if an accident is imminent, then you have to make consequential decisions - (my car is sliding and I am going to crash, do I am for the bushes head on or try and hit the wall at an oblique angle).

What is the feature list required to execute the above? What's "good enough"? Clearly there is a heck of a lot more nuance than go/stop/turn - the devil will all be in the 9s. But how to address the 9s? The technique they are currently employing is tedious and not probabilistic - is that OK? Is that the only way? Does the control system need to be probabilistic? Does the forecast of movement (pedestrian, other cars, etc.) need to be probabilistic?
 
Do they have to create point solutions for every single edge case? Or will edge cases be handled "naturally" as a consequence of incorporating enough point solutions? This is the central question. During the autonomy day presentation, all I could think was - this process of picking off single edge cases is not scale-able. But I'm not sure if that's correct or not.
Think about it this way. How does a person learn to drive.

A person learns to drive by learning some basic driving "features" and some basic rules like don't hit anything. I'm thinking about an AV in a similar way. Tesla already knows not to hit anything. They are incrementally improving the ability to anticipate movement of other objects on the road to stop crashes. This is an ongoing thing. But, Tesla doesn't know some of the basic "features" needed for FSD yet. That is what I'm trying to track here.

Sometimes there are somewhat social decisions to be made - there is a street by my house that is 3.5 cars wide, and people park on both sides, so you are reduced to one-lane traffic, and often you and the person oncoming have to mutually decide who will pull over and who will go. And if an accident is imminent, then you have to make consequential decisions - (my car is sliding and I am going to crash, do I am for the bushes head on or try and hit the wall at an oblique angle).
Yes, these are all the edge case/scenarios Tesla needs to handle. I think they need to be handled one by one. They may need to have a "when others" clause where the car goes to the side and stops.

There was quite a bit of discussion on how long handling these edge cases may take, how much improvement in crashes/million miles should we expect etc in the Market thread.

Tesla, TSLA & the Investment World: the 2019 Investors' Roundtable
 
Do we think there's any chance of entire edge-cases being learned by the neural network?

Going back to the "how do humans learn to drive" question, I don't think I was ever taught how to respond to a single-lane bridge (e.g. FSD Use Case 1 - Single Lane Bridge). I just slowed down, observed what other people did in that scenario, and quickly learned you take turns.

With fleet learning, could the neural network learn entire scenarios? If the network has seen how human drivers respond to seeing a yield sign and a narrowing of the road-space, could it perform an entire maneuver when confronted with a similar situation? Or will the neural network always just be relegated to parsing what the cameras see, with traditional software doing the responding?
 
Do we think there's any chance of entire edge-cases being learned by the neural network?

Going back to the "how do humans learn to drive" question, I don't think I was ever taught how to respond to a single-lane bridge (e.g. FSD Use Case 1 - Single Lane Bridge). I just slowed down, observed what other people did in that scenario, and quickly learned you take turns.
Well, human NN is very quick at learning - and it does so with very few examples. But then, there is 15 years of "general intelligence" training already in place that gets used.

With fleet learning, could the neural network learn entire scenarios? If the network has seen how human drivers respond to seeing a yield sign and a narrowing of the road-space, could it perform an entire maneuver when confronted with a similar situation? Or will the neural network always just be relegated to parsing what the cameras see, with traditional software doing the responding?
I think they are taking both approaches. In the autonomy day they talked about how you can predict the driving path using NN. They want to move more things to NN from heuristics - but some things are easier with heuristics. NN may be used to predict what each object on the road may do next, for eg. - but heuristics will decide what action to take based on those inputs.

BTW, I should say what people sometime think as unique and difficult cases in the US are extremely simple compared to what AVs will have to do in a city like Calcutta.
 
  • Helpful
Reactions: willow_hiller
Do we think there's any chance of entire edge-cases being learned by the neural network?

Going back to the "how do humans learn to drive" question, I don't think I was ever taught how to respond to a single-lane bridge (e.g. FSD Use Case 1 - Single Lane Bridge). I just slowed down, observed what other people did in that scenario, and quickly learned you take turns.

With fleet learning, could the neural network learn entire scenarios? If the network has seen how human drivers respond to seeing a yield sign and a narrowing of the road-space, could it perform an entire maneuver when confronted with a similar situation? Or will the neural network always just be relegated to parsing what the cameras see, with traditional software doing the responding?
Based on current state of the art, no. I do deployments of ML software, including many NN-based applications, to enterprise. I've never seen anything but theory on this topic.

As you point out, machine vision is only one half of the equation. You need to feed the context into a control system to actually make a decision and take action. The control system for lane keeping in AP looks like a simplistic PID right now. I dont think a simple heuristic based control system is scalable or flexible enough to respond to novel situations. Theoretically there are several actions that can be taken based on the environmental context identified by the vision system. And si ideally they would optimize the action (what and how much) via some sort of learning like RL, but I saw no discussion of that. RL is extremely difficult to implement, and would likely require many many more entire models to make work.

This is of course approaching discussion of artificial general intelligence. And again I dont know if AGI is required, or if the sum of far lesser point solutions is adequate.

Andrej talked about using human inputs as a solution when he discussed cut ins (which reminds me of AlviNN), but again that is not scalable and only works for point solutions.

Also agree that in other countries this will be a real mess. I lived for years in Brazil and Argentina, and have visited and driven in Indonesia. Good luck with those.
 
  • Informative
Reactions: willow_hiller
Andrej talked about using human inputs as a solution when he discussed cut ins (which reminds me of AlviNN), but again that is not scalable and only works for point solutions.
What do you mean by scalable ?

My guess is, if they can pick and fix the top N scenarios every quarter with fixed resources, it becomes practical. Solving top N scenarios will make the system exponentially more accurate, making the March of 9s possible. See post #23 above for my link to the posts on this.
 
What do you mean by scalable ?

My guess is, if they can pick and fix the top N scenarios every quarter with fixed resources, it becomes practical. Solving top N scenarios will make the system exponentially more accurate, making the March of 9s possible. See post #23 above for my link to the posts on this.
Scalable means that as they add new features or tackle new scenarios, they don't have to do the same amount of work every single time.

From autonomy day it did seem as though each new scenario required significant manual work. So right now it would seem that the path to true self driving would either be 1) a ton of painstaking one-by-one scenario development (March of 9s), or 2) a breakthrough in technology.
 
Scalable means that as they add new features or tackle new scenarios, they don't have to do the same amount of work every single time.

From autonomy day it did seem as though each new scenario required significant manual work. So right now it would seem that the path to true self driving would either be 1) a ton of painstaking one-by-one scenario development (March of 9s), or 2) a breakthrough in technology.
The important metric for FSD is # of crashes / Million Miles or expressed as a percentage of crash free operation, (1- # of crashes / Million Miles). This comes out to 99.9994 % for avg human driving in the US (4.2 crashes / MM). To make FSD feasible, Tesla needs to be able to do this "march of nines" in a definite amount of time, on fixed budget. That is what I'd call scalable. So, they don't need to solve more scenarios for the same resources, but gain more accuracy for the same resources. This is where Musk's claim about getting "exponentially" better comes. I was trying to examine weather that is possible.

It seems to me by solving fixed number of scenarios per unit of time, you do get exponentially better over time.
I think we are saying Tesla can solve x number of scenarios per year, on flat budget. May be more than x (say 2x) - but not 10x.
So, what does that mean in terms of march of 9s ? It depends on the distribution of edge cases by their probability of occuring. In one case this leads to exponentially better FSD, in others not.
Assuming Tesla can solve 100 scenarios in a year, in this ideal case - it takes 100 scenarios to go from 90% quality to 99%, as each of them have 0.09% of occurring. Next year, again Tesla solves 100 scenarios which have 0.009% probability of (i.e. 1/10 the 1st year scenarios). So FSD goes from 99% to 99.9%.
View attachment 403804
But if the edge cases are such that the second year ones have 0.005% probability of occurring, FSD only goes from 99% to 99.5%. So, as I said whether solving a certain number of edge cases a year results in exponentially better quality or not depends on the probability distribution.
View attachment 403822
BUT, since we are talking about the long tail and the total of all probabilities need to be 100, it is somewhat reasonable to assume that the probability goes down exponentially i.e. asymptotically approaches zero. So, Tesla FSD can get exponentially better if
- Tesla figures out a way to solve the most probable edge cases first i.e. prioritization is very important
- Tesla doesn't start running out of enough training data / NN nodes
 
The important metric for FSD is # of crashes / Million Miles or expressed as a percentage of crash free operation, (1- # of crashes / Million Miles). This comes out to 99.9994 % for avg human driving in the US (4.2 crashes / MM). To make FSD feasible, Tesla needs to be able to do this "march of nines" in a definite amount of time, on fixed budget. That is what I'd call scalable. So, they don't need to solve more scenarios for the same resources, but gain more accuracy for the same resources. This is where Musk's claim about getting "exponentially" better comes. I was trying to examine weather that is possible.

It seems to me by solving fixed number of scenarios per unit of time, you do get exponentially better over time.

It seems a case of diminishing returns (which is the polar opposite of exponentially better). The additional scenarios have a smaller and smaller impact on the performance as you tackle the low hanging fruit first.

The second issue is they'll be cursed with the need for driver attention at all times until they reach a threshold the regulators say the driver can disengage from driving. The less likely the system requires intervention the more you need to do to ensure the drivers will be ready to intervene. This is the whole nags issue and a source of much frustration but in reality whats being expected is a system of car and driver that is 99.9994% or better, and if the car can only achieve 99.2% (even if a transitional period of time while the features are developed), Tesla can't afford for the drivers not to bridge the gap. The current performance of AP is not twice that of humans (I can debunk it on the grounds of its use being on significantly safer roads for one) but irrespective, its the combination of AP and the driver that is delivering that performance. The car on AP be a better judge than you at maintaining a gap to the car in front, but the driver still steps in on many occasions when AP runs out of ideas. Humans will naturally get bored and complacent.

If you assume level 4 will proceed level 5 automation, then only pick scenarios that support your chosen level 4 situation - freeways/motorways/autobahn being both the easiest and potentially the highest utility to the driver is obvious. I'd happily drive past schools without AP but that 2 hour boring drive across country I'd want the car to do it all. We're pretty close to having this, put all your resources into completing it AND getting regulator approval for a level 4 situation where the car is allowed to be in charge
 
  • Like
Reactions: kbM3
It seems a case of diminishing returns (which is the polar opposite of exponentially better). The additional scenarios have a smaller and smaller impact on the performance as you tackle the low hanging fruit first.

Did you see my post - the assumptions I made, the calculations etc ? Can you directly refute it ? What do you think is the probability distribution of scenarios in the long tail of edge cases - how will that affect accuracy of driving etc. ? I'm not saying this rhetorically - I'm looking for ideas.

The second issue is they'll be cursed with the need for driver attention at all times until they reach a threshold the regulators say the driver can disengage from driving.
This is an oft repeated old idea. Florida legislature has already legalized robotaxis - unanimously in both chambers. US regulators are lazy, so they will just let companies take the risk and liability.

Humans will naturally get bored and complacent.
True - that is with or without AP. Research by Lex Fridman says people actually pay more attention with AP on average.


If you assume level 4 will proceed level 5 automation, then only pick scenarios that support your chosen level 4 situation - freeways/motorways/autobahn being both the easiest and potentially the highest utility to the driver is obvious. I'd happily drive past schools without AP but that 2 hour boring drive across country I'd want the car to do it all. We're pretty close to having this, put all your resources into completing it AND getting regulator approval for a level 4 situation where the car is allowed to be in charge
There is a reason this thread is in investment sub-forum. Getting better at NOA on the freeway may be your personal preference but does nothing to the stock price.
 
Exponential change generally means something that grows/improves faster and faster over time, I'm saying the opposite is true - I'm refuting Musks notion that this thing gets exponentially better. My car can drive 50 miles without incident on a freeway. To be able to drive 50.1 miles and navigate the exit is much harder. To be able to drive 50.11 miles and make the junction after the slip road is harder still.

I'm not aware of any publically available car that you can buy that gives true level 4 autonomy such that you can get out your laptop and start work while your car drives you. Being able to do that would cause the share price to rocket. I'm not talking about NOA, I'm talking at freeway FULL autonomy.

Which would have the bigger impact on the share price. A car that can drive 100% of the time on 50% of the roads which are well defined, allows long trips and with the driver disengaged, or a car that drive 80% of the time on 100% of the roads but the driver still needs to be totally alert? My argument is the former is the game changer, and then you work on improving the 50% of the roads to 55% then 60%. Forget driving past a school or stop signs or let turns across traffic for now, really nail the implications of full control and how you hand control back to the driver.
 
  • Like
Reactions: willw64 and OPRCE
My argument is the former is the game changer, and then you work on improving the 50% of the roads to 55% then 60%.
Game changer for the SP ? Could be. Until the first fatal crash.

But I think NOA on city will also be a game changer and easier to get to with lower risks.

Exponential change in this case happens because of long tail. The top n scenarios account for exponentially more driving miles than next n scenarios etc.

Anyway, we are quite OT at this point.
 
  • Like
Reactions: Kant.Ing
What about road hazard detection and avoidance as a feature? This is a huge missing piece right now.

I guess you’re just lumping it with the obvious driveable space and object avoidance that goes without saying?

The features I've listed is really for US - some of those rules will change for other countries for sure (like whether to drive on the left or right).
 
Another way of looking at this is to compare it to AP1


- Pull out of parking - AP1 has this
- Drive recognizing the speed limit - AP1 has a better version as it doesn't rely only on maps, it can read road signage
- Change lane - done
- Obey street signs - done if we're talking speed limits
- Obey traffic signals - as above
- Turn based on navigation details - no and won't
- Park (done) - done

I've increasingly thought that Tesla might be better focusing on driving 100% of the time on 60% of the roads rather than driving 60% of the time on 100% of the roads. By that I mean I would much prefer the car to be reliably left to drive on good quality freeways with low complexity and push for full autonomy on those conditions and take on the regulators to get permission to have the car responsible so I can work in the car and not need to concentrate, than have the car trying to drive in city areas and turn in junctions and stop at stop signs etc. The benefit for me on a 3 hour drive to let the car do ALL the driving for 2 hours of that journey would be amazing even if I had to drive the remaining hour without any aid and much better than having to pay attention for all 3 hours.

That's how Cadillac's Super Cruise is implemented. Works perfectly on roads that they have mapped.
 
I want to just list what features we should expect in FSD feature complete and track when they get released in this thread.

@EVNow Great thread! I just rewatched the recent FSD demo video, and I saw 1 unprotected left turn and several unprotected right turns. Before I edit the wiki post, I just wanted to make sure we are all using the same terminology. Do you agree that an unprotected turn means any turn where you have to potentially wait for cross traffic to clear (without a traffic signal telling you when it's clear)?

In the video, there actually wasn't much cross traffic, so this wasn't a good test of the capability, but it did stop at stop signs and then make turns into POTENTIAL traffic. So I would argue that the feature was demonstrated, even if we have no idea about the reliability. Maybe some of the word-of-mouth interviews with people who did test drives could help slightly with that. I remember hearing about 1 with 1 intervention and another with 0 interventions, and there was some speculation that they did the same route as the video. Sorry I don't have the links on hand.
 
Do you agree that an unprotected turn means any turn where you have to potentially wait for cross traffic to clear (without a traffic signal telling you when it's clear)?
I rewatched the video - and yes there is one unprotected left turn and a few right turns. I realized there are two left turn cases - one where you just have the perpendicular lane (T-junction) and a cross junction. Usually people talk about the cross junction as the unprotected left turn case (see Cruise's video) and the one in Tesla demo is a T junction.
 
  • Helpful
Reactions: NateB
I rewatched the video - and yes there is one unprotected left turn and a few right turns. I realized there are two left turn cases - one where you just have the perpendicular lane (T-junction) and a cross junction. Usually people talk about the cross junction as the unprotected left turn case (see Cruise's video) and the one in Tesla demo is a T junction.

Thanks for updating! I have one more suggestion. In their autonomy day, Tesla (Karpathy) said that Tesla's current strategy is not to explicitly recognize turn signals, but instead to holistically recognize "intent to turn". This is because sometimes people don't use the turn signal and sometimes people leave it on. So far they have implemented this for "cut-ins", or cars that are about to change into your Lane in front of you. So maybe it makes sense to replace turn signal recognition with "intent to change lanes" and "intent to turn". The first has already been implemented on ap2.

In fact, maybe there should be an entire section on "predict other drivers' behavior". This could include the above, plus the likelihood that stopped traffic at a crossroads will pull out in front of you (including 4-way stop signs), and also the intent to "let you in" on a lane change or "let you go first" on a narrow 2-way road or bridge that can only accommodate 1 car. I'm sure there are more examples that could be added.

Luckily, even though I think it will take years to get all of these pieces working well, I think that the problem of predicting other drivers' behaviors is actually quite tractable using the roadmap that Tesla already followed for detecting cut-ins:

Step 1. Identify cases where another car DOES an action of interest (e.g. pull in front of you). No need for Autopilot to be activated.
Step 2. Send back the preceding 10 s of video to Tesla.
Step 3. (My guess). Also ask for a bunch of video data from the fleet that look similar to the Step 2 data in some way, but do NOT result in action of interest.
Step 4. Train a NN to predict the action of interest from analysis of step 2-3 video frames.
Step 5. Implement the prediction in "shadow mode" to look for false positives (there should be a lot at this stage) and false negatives, and send lots of video data back from those (as well as some data where the NN "gets it right" for regression testing).
Repeat steps 4 and 5 until false positives and negatives fall beneath an acceptable threshold.

This is the kind of stuff that excites me regarding Tesla's unique potential to learn from their largish "real-world" fleet. Even if the scale of the self-driving problem is much bigger than Elon implies.
 
  • Like
Reactions: adiggs and JusRelax