Automatic Software and Computing Hardware Co-design for Predictive Control
For control engineers, this automates the tedious manual tuning of MPC implementations, potentially reducing design time and improving efficiency.
This paper proposes an automated co-design framework for MPC software and hardware, using multi-objective optimization to trade off resource usage and performance. Experiments show the optimization-based design outperforms Latin Hypercube Sampling in CPU and FPGA implementations.
Model Predictive Control (MPC) is a computationally demanding control technique that allows dealing with multiple-input and multiple-output systems, while handling constraints in a systematic way. The necessity of solving an optimization problem at every sampling instant often (i) limits the application scope to slow dynamical systems and/or (ii) results in expensive computational hardware implementations. Traditional MPC design is based on manual tuning of software and computational hardware design parameters, which leads to suboptimal implementations. This paper proposes a framework for automating the MPC software and computational hardware co-design, while achieving the optimal trade-off between computational resource usage and controller performance. The proposed approach is based on using a multi-objective optimization algorithm, namely BiMADS. Two test studies are considered: Central Processing Unit (CPU) and Field-Programmable Gate Array (FPGA) implementations of fast gradient-based MPC. Numerical experiments show that optimization-based design outperforms Latin Hypercube Sampling (LHS), a statistical sampling-based design exploration technique.