Tesla autopilot planning

Hierarchical architecture (2021)

  • more unstructured scenario
    • MCTS: vision + features → trajectory distribution
      • argmax sampling → significantly reduce search space
      • metric → safety, comfort, efficiency, how close to expert
  • explicit planning and control: vision → motor control
    • planner (coarse search): vision → convex corridor (that is possible for the car navigation)
      • more likely to avoid local optima
      • trim down possibilities because it’s coarse
      • make decisions based on others movement - plan jointly: apply autopilot planner for other objects
    • control (continuous optimization): corridor → motor control
      • optimize over high-dim space

MCTS problem formulation and setups (2022)

  • Pre-processing
    • Occupancy network
      • Multi-camera videos
      • Predicts the full physical occupancy of the world
        • pedestrians and their motions
    • semantic layers
      • detect lanes and objects
      • use some NLP techniques to deal with connectivity
  • planning
    • challenges: e.g. turning left
      • multiple lanes
      • yield pedestrians(might not follow rules)
      • yield crossing cars from both sides
      • identify pedestrians that are just at the side walks
    • cannot just consider position, cause it will miss out a lot of opportunities →
      • optimization should consider second or even third derivatives
      • multi-agent: ego vs other
        • high dim: in worst (crowded) situation, >20 agents and > 100 interraction possibilities
    • needs to be planned fast
    • tree search over maneuver trajectories:
      • states: lanes / all agent’s states (occupancy) / moving objects
      • action: maneuver traj. Candidates
        • interaction decisions
        • incremental goals
      • process
        • goal candidates g: pick path from lanes (lane network) or a path learned from human demo
        • seed trajectories tao: derive path using trajectory optimization or nn
          • trajectory optimization methods like the ones in the last section
      • choose the methods that are fast!
        • branch to get critical states:
          • simulate each seed trajectories and get the critical state when there are interactions or reaching subgoal
          • score the state
            • collision, comfort analysis, intervention likelihood, human-like discriminator (how close is the predicted action to a demo)
          • e.g. the state that car is crossing right in front of a pedestrian is bad
        • move to the prefer states!
      • features
        • constraints are added incrementally: trajectory generation → scoring → branching on interactions or subgoals
        • use critical state to prune trees (less time and more simulation)
        • blend between
          • data-driven approach (in trajectory generation)
          • physics-based checks (in scoring seed trajectories)
        • can handle occlusions -