Implementation and Analysis of Nonlinear Model Predictive Controller on Embedded Systems for Real-Time Applications
Résumé
Today, various nonlinear programming problem (NLP) solvers and C/C++ code generation frameworks are available as open source for solving nonlinear model predictive control (NMPC). Almost all the solvers are written in C/C++ code which are more compatible for the PC-based simulation environment. These codes are not directly compatible for embedded implementation and real-time control. An attempt has been made to address this shortcoming by creating a customized framework on top of the C code generated from ACADO Toolkit to make it directly compatible with ARM based embedded platforms. The study also analyzes the embedded implementation aspects using C code generated for qpOASES, qpDUNES, and HPMPC solvers from ACADO Toolkit. We show the results of hardware-in-loop (HIL) simulations with detailed analysis and comparison of memory requirement and achievable sampling time for three benchmark dynamical systems on different embedded platforms viz ARM Cortex M3, PYNQ FPGA and Raspberry Pi. The results show that qpOASES outperforms as compared to the other two solvers when the computational time is of prime importance for small prediction horizon. Similarly, when there are limited on-chip memory resources, qpDUNES can prove beneficial.
Origine | Fichiers produits par l'(les) auteur(s) |
---|