Safe and Fast Tracking on a Robot Manipulator: Robust MPC and Neural Network Control
2020
Article
am
ics
Fast feedback control and safety guarantees are essential in modern robotics. We present an approach that achieves both by combining novel robust model predictive control (MPC) with function approximation via (deep) neural networks (NNs). The result is a new approach for complex tasks with nonlinear, uncertain, and constrained dynamics as are common in robotics. Specifically, we leverage recent results in MPC research to propose a new robust setpoint tracking MPC algorithm, which achieves reliable and safe tracking of a dynamic setpoint while guaranteeing stability and constraint satisfaction. The presented robust MPC scheme constitutes a one-layer approach that unifies the often separated planning and control layers, by directly computing the control command based on a reference and possibly obstacle positions. As a separate contribution, we show how the computation time of the MPC can be drastically reduced by approximating the MPC law with a NN controller. The NN is trained and validated from offline samples of the MPC, yielding statistical guarantees, and used in lieu thereof at run time. Our experiments on a state-of-the-art robot manipulator are the first to show that both the proposed robust and approximate MPC schemes scale to real-world robotic systems.
Author(s): | Julian Nubert and Johannes Koehler and Vincent Berenz and Frank Allgower and Sebastian Trimpe |
Journal: | IEEE Robotics and Automation Letters |
Volume: | 5 |
Number (issue): | 2 |
Pages: | 3050--3057 |
Year: | 2020 |
Department(s): | Autonomous Motion, Intelligent Control Systems |
Bibtex Type: | Article (article) |
Paper Type: | Journal |
DOI: | 10.1109/LRA.2020.2975727 |
State: | Published |
Links: |
arXiv
|
BibTex @article{nubert2020safe, title = {Safe and Fast Tracking on a Robot Manipulator: Robust MPC and Neural Network Control}, author = {Nubert, Julian and Koehler, Johannes and Berenz, Vincent and Allgower, Frank and Trimpe, Sebastian}, journal = {IEEE Robotics and Automation Letters}, volume = {5}, number = {2}, pages = {3050--3057}, year = {2020}, doi = {10.1109/LRA.2020.2975727} } |