Driving Intermediate Layer

From comma wiki
Jump to: navigation, search
  • 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


Brainstorming:

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