  Evaluating and improving planning for autonomous vehicles requires scalable
generation of long-tail traffic scenarios. To be useful, these scenarios must
be realistic and challenging, but not impossible to drive through safely. In
this work, we introduce STRIVE, a method to automatically generate challenging
scenarios that cause a given planner to produce undesirable behavior, like
collisions. To maintain scenario plausibility, the key idea is to leverage a
learned model of traffic motion in the form of a graph-based conditional VAE.
Scenario generation is formulated as an optimization in the latent space of
this traffic model, perturbing an initial real-world scene to produce
trajectories that collide with a given planner. A subsequent optimization is
used to find a "solution" to the scenario, ensuring it is useful to improve the
given planner. Further analysis clusters generated scenarios based on collision
type. We attack two planners and show that STRIVE successfully generates
realistic, challenging scenarios in both cases. We additionally "close the
loop" and use these scenarios to optimize hyperparameters of a rule-based
planner.
