Autonomous Motion
Note: This department has relocated.

Data-efficient Autotuning with Bayesian Optimization: An Industrial Control Study

2020

Article

ics


Bayesian optimization is proposed for automatic learning of optimal controller parameters from experimental data. A probabilistic description (a Gaussian process) is used to model the unknown function from controller parameters to a user-defined cost. The probabilistic model is updated with data, which is obtained by testing a set of parameters on the physical system and evaluating the cost. In order to learn fast, the Bayesian optimization algorithm selects the next parameters to evaluate in a systematic way, for example, by maximizing information gain about the optimum. The algorithm thus iteratively finds the globally optimal parameters with only few experiments. Taking throttle valve control as a representative industrial control example, the proposed auto-tuning method is shown to outperform manual calibration: it consistently achieves better performance with a low number of experiments. The proposed auto-tuning framework is flexible and can handle different control structures and objectives.

Author(s): Matthias Neumann-Brosig and Alonso Marco and Dieter Schwarzmann and Sebastian Trimpe
Journal: IEEE Transactions on Control Systems Technology
Volume: 28
Number (issue): 3
Pages: 730--740
Year: 2020
Month: May

Department(s): Intelligent Control Systems
Research Project(s): Controller Learning using Bayesian Optimization
Bibtex Type: Article (article)
Paper Type: Journal

DOI: 10.1109/TCST.2018.2886159
State: Published

Links: arXiv (PDF)

BibTex

@article{NeuMarSchTri18,
  title = {Data-efficient Autotuning with Bayesian Optimization: An Industrial Control Study},
  author = {Neumann-Brosig, Matthias and Marco, Alonso and Schwarzmann, Dieter and Trimpe, Sebastian},
  journal = {IEEE Transactions on Control Systems Technology},
  volume = {28},
  number = {3},
  pages = {730--740},
  month = may,
  year = {2020},
  doi = {10.1109/TCST.2018.2886159},
  month_numeric = {5}
}