Pylot: A Modular Platform for Exploring Latency-Accuracy Tradeoffs in Autonomous Vehicles

From AcaWiki
Jump to: navigation, search

Citation: Ionel Gog, Sukrit Kalra, Peter Schafhalter, Matthew A. Wright, Joseph E. Gonzalez, Ion Stoica (2021/04/16) Pylot: A Modular Platform for Exploring Latency-Accuracy Tradeoffs in Autonomous Vehicles. arXiv cs.RO (RSS)
Internet Archive Scholar (search for fulltext): Pylot: A Modular Platform for Exploring Latency-Accuracy Tradeoffs in Autonomous Vehicles
Download: https://arxiv.org/pdf/2104.07830.pdf
Tagged: Computer Science (RSS) computer systems (RSS), robotics (RSS)

Summary

Placeholder


Elsewhere

Problem

  • People building self-driving cars test components in isolation, but they need to test them in the context of the system.
    • There is a latency-accuracy tradeoff that you can explore, but only if you have the whole system (how much does a decrease in accuracy or an increase in latency actually matter)?

Solution: Pylot

  • Open-source
    • State-of-the-art reference implementation of each component
    • Ground-truth implementations of each component (they provide the same interface as the real component, but ask the simulator for ground-truth).
    • Interface that allows "seamless transfer between simulation and a real vehicle."
    • Based on ERDOS, a dataflow stream-processing framework.
      • Application structured as producer-consumer pairs.
      • Computation can be "replayed" if you capture the input stream, output stream, and compute time.
  • Uses CARLA simulator.
    • The compute of the vehicle's pipeline is normal, but the environment doesn't respond instantly; that has to be computed as well. This takes so long that the simulation result is affected.
    • Instead use a "fake time". Delay the vehicle pipeline's control commands until the environment has been simulated for an equal duration.
  • Metrics:
    • For some accuracy metric, M, and predictor, p(t), with runtime dt, and actual value h(t), M-accuracy means M(p(t) - h(t)), but timely M-accuracy means M(p(t) - h(t + dt)). By the time you get a predicted value, the actual thing you are predicting has changed. The system-level simulation of Pylot is able to measure timely accuracy instead of just accuracy.
    • Timely intersection-over-union
    • Timely average precision (at IoU = 50%)