We coupled the learned risk-biased forecasting model with a model-based trajectory optimization algorithm to demonstrate the online performance of the overall prediction-planning pipeline. The cross entropy method (CEM) is employed as the underlying optimization algorithm. The robot (i.e., the ego car) is modeled as a deterministic double integrator system. The online planner first draws a batch of N prediction samples from the predictor once, and uses this prediction to locally optimize the longitudinal acceleration plan for the robot. The planner's objective is a sum of the collision risk term and the standard, quadratic trajectory tracking term:
where y_robot is the robot trajectory and Y is the stochastic human trajectory, approximated with the N samples drawn from the predictor. The reference trajectory y_ref is a constant velocity trajectory, so that the robot is encouraged to proceed at a constant speed when the collision risk is deemed negligible.
Shown on the left is the average run-time of this planner, as a function of the number of prediction samples N. The asymptotic complexity is O(N). We ran the planner on an Intel(R) Xeon(R) W-3345 CPU @ 3.00GHz. Leveraging GPU parallelization would reduce the run-time, but it will come at the cost of GPU memory consumption and could be non-ideal if other modules (such as perception) in the autonomy stack required a heavy GPU usage.
Below we present a particular episode where we ran the combination of the unbiased, risk-neutral predictor and the risk-neutral planner (in which the collision risk term is replaced by the expectation). Here we drew N = 1 sample. As can be seen, the robot almost collides into the pedestrian near the end of the episode.
The combination of the unbiased predictor and the risk-neutral planner almost hits the pedestrian at around 4 (s).
What if we replace the risk-neutral planner with a risk-sensitive planner while keeping the predictor unbiased? Shown below is the resulting robot trajectory from the same episode as above. We used CVaR with risk-level 0.95 as the risk measure for the risk-sensitive planner. Unfortunately, the prediction-planning pipeline still yielded a near miss, owing to N = 1 being too small for endowing risk-awareness to the robot.
The combination of the unbiased predictor and the risk-sensitive planner optimizes the CVaR at risk-level 0.95, but almost hits the pedestrian at around 4 (s).
Finally, what if we instead use the proposed risk-biased predictor? Note that we will use the risk-neutral planner, in this case, because the risk is taken into account within the predictor now.
The combination of the risk-biased predictor and the risk-neutral planner optimizes the CVaR at risk-level 0.95, and successfully slows down the robot to avoid a near collision.
As can be seen, the robot slowed down a bit at around 3 (s) to keep more safety margin from the pedestrian near the end of the episode. Note that only N = 1 prediction sample is given to the planner as in the previous two cases. The results above suggest that our proposed risk-biased forecasting model benefits safe online planning even when the computation budget for the planner is severely limited.