Driving Intermediate Layer
From comma wiki
- Nav systems have lists of instructions for people. What would a list of instructions look like for self driving cars?
- Goal is to define a language of instructions that the car can follow
- Each instruction should be executable in < 5 seconds
- Default instruction is to go "straight"
- More info on twitter https://twitter.com/comma_ai/status/1044308604210167808
HD Maps = This is precisely where you are, including inside lane. DIL = I want to take the next exit in the road in 300 ft Openpilot = I am centered in the lane, the right line has disappeared but the DIL told me to go right so I’m going to *prefer* the right line (edited)
- The DIL is like the conscious mind of the driver.
- Subconscious/Openpilot deals with <5 second events
What the DIL sends to Openpilot:
- L/R lane "weights" - Weights beyond a certain threshold (>1?) requires a lane change/intervention - As the vehicle approaches a decision point (e.g. freeway exit), the weight increases until it hits a threshold. - If in the desired lane already, this provides context clues to Openpilot to take the exit (line splits, follow the right line) - If NOT in the desired lane, lane change is required before exit (Weight increases until resolved or decision point passes criticality.)
- **Lane weights work with intersection turns if we assume that Openpilot can make a 90 degree path turn and remain in the same lane.
- Longitudinal dynamic response - "Traffic jam aware" openpilot. A value that tells openpilot to be more conservative longitudinally and respond faster to frontal targets if they stop.
Check out how apollo solve this problem via planning:
Given localization, vehicle status (position, velocity, acceleration, chassis), map, routing, perception and prediction, planning will compute a trajectory that is safe and comfortable for controller to execute. https://github.com/ApolloAuto/apollo/tree/master/modules/planning