Header logo is am

Automatic LQR Tuning Based on Gaussian Process Global Optimization

2016

Conference Paper

am

pn


This paper proposes an automatic controller tuning framework based on linear optimal control combined with Bayesian optimization. With this framework, an initial set of controller gains is automatically improved according to a pre-defined performance objective evaluated from experimental data. The underlying Bayesian optimization algorithm is Entropy Search, which represents the latent objective as a Gaussian process and constructs an explicit belief over the location of the objective minimum. This is used to maximize the information gain from each experimental evaluation. Thus, this framework shall yield improved controllers with fewer evaluations compared to alternative approaches. A seven-degree- of-freedom robot arm balancing an inverted pole is used as the experimental demonstrator. Results of a two- and four- dimensional tuning problems highlight the method’s potential for automatic controller tuning on robotic platforms.

Author(s): Marco, Alonso and Hennig, Philipp and Bohg, Jeannette and Schaal, Stefan and Trimpe, Sebastian
Book Title: Proceedings of the IEEE International Conference on Robotics and Automation (ICRA)
Year: 2016
Month: May
Day: 16-21

Department(s): Autonomous Motion, Probabilistic Numerics
Research Project(s): Automatic Controller Tuning using Bayesian Optimization
Bayesian Optimization
Bibtex Type: Conference Paper (inproceedings)
Paper Type: Conference

DOI: 10.1109/ICRA.2016.7487144
Event Name: IEEE International Conference on Robotics and Automation
Event Place: Stockholm, Sweden
State: Published

Links: Video
PDF
Video:

BibTex

@inproceedings{marco_ICRA_2016,
  title = {Automatic {LQR} Tuning Based on {G}aussian Process Global Optimization},
  author = {Marco, Alonso and Hennig, Philipp and Bohg, Jeannette and Schaal, Stefan and Trimpe, Sebastian},
  booktitle = {Proceedings of the IEEE International Conference on Robotics and Automation (ICRA)},
  month = may,
  year = {2016},
  month_numeric = {5}
}