DUST: A Framework for Data-Driven Density Steering
<|reference_start|>DUST: A Framework for Data-Driven Density Steering: We consider the problem of data-driven stochastic optimal control of an unknown LTI dynamical system. Assuming the process noise is normally distributed, we pose the problem of steering the state's mean and covariance to a target normal distribution, under noisy data collected from the underlying system, a problem commonly referred to as covariance steering (CS). A novel framework for Data-driven Uncertainty quantification and density STeering (DUST) is presented that simultaneously characterizes the noise affecting the measured data and designs an optimal affine-feedback controller to steer the density of the state to a prescribed terminal value. We use both indirect and direct data-driven design approaches based on the notions of persistency of excitation and subspace predictors to exactly represent the mean and covariance dynamics of the state in terms of the data and noise realizations. Since both the mean and the covariance steering sub-problems are plagued with distributional uncertainty arising from noisy data collection, we first estimate the noise realization from this dataset and subsequently compute tractable upper bounds on the estimation errors. The moment steering problems are then solved to optimality using techniques from robust control and robust optimization. Lastly, we present an alternative control design approach based on the certainty equivalence principle and interpret the problem as one of CS under multiplicative uncertainties. We analyze the performance and efficacy of each of these data-driven approaches using a case study and compare them with their model-based counterparts.<|reference_end|>
@article{pilipovsky2024dust:,
    title={DUST: A Framework for Data-Driven Density Steering},
    author={Joshua Pilipovsky and Panagiotis Tsiotras},
    journal={arXiv preprint arXiv:2408.02777},
    year={2024},
    archivePrefix={arXiv},
    eprint={2408.02777},
    primaryClass={eess.SY cs.SY math.OC}
}