Abstract
Contextual Sampling is a adaptive data selection strategy for Data-driven Predictive Control (DPC) that selects the most relevant trajectories given the current state and reference. By shrinking the working set while preserving representativeness, it improves conditioning and reduces solve time, enabling real-time control on nonlinear robotic platforms.
Experiments on a scaled autonomous vehicle and a quadrotor show that Contextual Sampling achieves comparable or better tracking than Random Sampling and Select-DPC at lower computational cost.
Vehicle Experiments — Side-by-Side by Trajectory Count
Compare Contextual, Select-DPC, and Random for the same number of trajectories on the vehicle platform.
Trajectories = 30
Contextual
Select-DPC
Random
Trajectories = 60
Contextual
Select-DPC
Random
Trajectories = 90
Contextual
Select-DPC
Random
Drone Experiments — Side-by-Side by Trajectory Count
Compare Contextual, Select-DPC, and Random for the same number of trajectories.
Trajectories = 40
Contextual (traj40, seed1)
Select-DPC (traj40, seed3)
Random (traj40, seed0)
Trajectories = 70
Contextual (traj70, seed1)
Select-DPC (traj70, seed3)
Random (traj70, seed1)
Trajectories = 100
Contextual (traj100, seed2)
Select-DPC (traj100, seed0)
Random (traj100, seed4)
Scaled Vehicle Demo
Watch the demonstration of Contextual Sampling applied to a scaled autonomous vehicle.
Code
The research code for Contextual Sampling, including all experiments for the paper, is publicly available on GitHub: