Automatic LQR Tuning Based on Gaussian Process Optimization: Early Experimental Results

2015

Conference Paper

am

ei

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. Preliminary results of a low-dimensional tuning problem highlight the method’s potential for automatic controller tuning on robotic platforms.

Author(s): Alonso Marco and Philipp Hennig and Jeannette Bohg and Stefan Schaal and Sebastian Trimpe
Book Title: Machine Learning in Planning and Control of Robot Motion Workshop at the IEEE/RSJ International Conference on Intelligent Robots and Systems
Year: 2015
Month: September

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

State: Published
Attachments: PDF

BibTex

@conference{marcoMLPC15,
  title = {Automatic LQR Tuning Based on Gaussian Process Optimization: Early Experimental Results},
  author = {Marco, Alonso and Hennig, Philipp and Bohg, Jeannette and Schaal, Stefan and Trimpe, Sebastian},
  booktitle = {Machine Learning in Planning and Control of Robot Motion Workshop at the IEEE/RSJ International Conference on Intelligent Robots and Systems},
  month = sep,
  year = {2015},
  month_numeric = {9}
}