Journal Home > Volume 5 , Issue 2
Purpose

The purpose of this paper is to reduce the difficulty of model predictive control (MPC) deployment on FPGA so that researchers can make better use of FPGA technology for academic research.

Design/methodology/approach

In this paper, the MPC algorithm is written into FPGA by combining hardware with software. Experiments have verified this method.

Findings

This paper implements a ZYNQ-based design method, which could significantly reduce the difficulty of development. The comparison with the CPU solution results proves that FPGA has a significant acceleration effect on the solution of MPC through the method.

Research limitations implications

Due to the limitation of practical conditions, this paper cannot carry out a hardware-in-the-loop experiment for the time being, instead of an open-loop experiment.

Originality value

This paper proposes a new design method to deploy the MPC algorithm to the FPGA, reducing the development difficulty of the algorithm implementation on FPGA. It greatly facilitates researchers in the field of autonomous driving to carry out FPGA algorithm hardware acceleration research.


menu
Abstract
Full text
Outline
About this article

FPGA accelerated model predictive control for autonomous driving

Show Author's information Yunfei Li1Shengbo Eben Li2( )Xingheng Jia3Shulin Zeng3Yu Wang3
Tsinghua University, Beijing, China and Chongqing University, Chongqing, China
Department of Automotive Engineering, Tsinghua University, Beijing, China
Tsinghua University, Beijing, China

Abstract

Purpose

The purpose of this paper is to reduce the difficulty of model predictive control (MPC) deployment on FPGA so that researchers can make better use of FPGA technology for academic research.

Design/methodology/approach

In this paper, the MPC algorithm is written into FPGA by combining hardware with software. Experiments have verified this method.

Findings

This paper implements a ZYNQ-based design method, which could significantly reduce the difficulty of development. The comparison with the CPU solution results proves that FPGA has a significant acceleration effect on the solution of MPC through the method.

Research limitations implications

Due to the limitation of practical conditions, this paper cannot carry out a hardware-in-the-loop experiment for the time being, instead of an open-loop experiment.

Originality value

This paper proposes a new design method to deploy the MPC algorithm to the FPGA, reducing the development difficulty of the algorithm implementation on FPGA. It greatly facilitates researchers in the field of autonomous driving to carry out FPGA algorithm hardware acceleration research.

Keywords: Autonomous driving, FPGA, Model predictive control, ZYNQ

References(30)

Al Housani, B., Mutrib, B. and Jaradi, H. (2009), “The linux review-Ubuntu desktop edition-version 8.10”, 2009 International Conference on the Current Trends in Information Technology (CTIT), December, IEEE, pp. 1-6.
DOI

Bevly, D.M., Ryu, J. and Gerdes, J.C. (2006), “Integrating INS sensors with GPS measurements for continuous estimation of vehicle sideslip, roll, and tire cornering stiffness”, IEEE Transactions on Intelligent Transportation Systems, Vol. 7 No. 4, pp. 483-493.

Brandao, A.S.M., Lima, D.M., DA Costa Filho, M.V.A. and Rico, J.E.N. (2019), “A comparative study on embedded MPC for industrial processes”, Congresso Brasileiro de Automática-CBA, Vol. 1 No. 1.

Crockett, L.H., Elliot, R., Enderwitz, M. and Stewart, R. (2014), The Zynq Book: Embedded Processing with the Arm Cortex-A9 on the Xilinx Zynq-7000 All Programmable Soc, Strathclyde Academic Media.

Di Gaspero, L. (2007), “Quadprog++: a c++ library implementing the algorithm of Goldfarb and Idnani for the solution of a (convex) quadratic programming problem by means of an active-set dual method”.

Falsafi, B., Dally, B., Singh, D., Chiou, D., Joshua, J.Y. and Sendag, R. (2017), “FPGAs versus GPUs in data centers”, IEEE Micro, Vol. 37 No. 1, pp. 60-72.

Fernandez-Camacho, E. and Bordons-Alba, C. (1995), “Introduction to model based predictive control”, Model Predictive Control in the Process Industry, Springer, London, pp. 1-8.
DOI

Goldfarb, D. and Idnani, A. (1983), “A numerically stable dual method for solving strictly convex quadratic programs”, Mathematical Programming, Vol. 27 No. 1, pp. 1-33.

Goli, M. and Eskandarian, A. (2019), “MPC-based lateral controller with look-ahead design for autonomous multi-vehicle merging into platoon”, 2019 American Control Conference (ACC), July, IEEE, pp. 5284-5291.
DOI
He, M. and Ling, K.V. (2005), “Model predictive control on a chip”, 2005 International Conference on Control and Automation, June, IEEE, Vol. 1, pp. 528-532.

Horowitz, B. and Afonso, S.M. (2002), “Quadratic programming solver for structural optimisation using SQP algorithm”, Advances in Engineering Software, Vol. 33 Nos 7/10, pp. 669-674.

Jerez, J.L., Ling, K.V., Constantinides, G.A. and Kerrigan, E.C. (2012), “Model predictive control for deeply pipelined field-programmable gate array implementation: algorithms and circuitry”, IET Control Theory & Applications, Vol. 6 No. 8, pp. 1029-1041.

Jerez, J.L., Goulart, P.J., Richter, S., Constantinides, G.A., Kerrigan, E.C. and Morari, M. (2014), “Embedded online optimization for model predictive control at megahertz rates”, IEEE Transactions on Automatic Control, Vol. 59 No. 12, pp. 3238-3251.

Jones, D.H., Powell, A., Bouganis, C.S. and Cheung, P.Y. (2010), “GPU versus FPGA for high productivity computing”, 2010 International Conference on Field Programmable Logic and Applications, August, IEEE, pp. 119-124.
DOI

Keskin, M.F., Peng, B., Kulcsar, B. and Wymeersch, H. (2020), “Altruistic control of connected automated vehicles in mixed-autonomy multi-lane highway traffic”, IFAC-PapersOnLine, Vol. 53 No. 2, pp. 14966-14971.

Kestur, S., Davis, J.D. and Williams, O. (2010), “Blas comparison on FPGA, CPU and GPU”, 2010 IEEE Computer Society Annual Symposium on VLSI, July, IEEE, pp. 288-293.
DOI

Kuon, I. and Rose, J. (2007), “Measuring the gap between FPGAs and ASICs”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 26 No. 2, pp. 203-215.

Li, S., Li, K., Rajamani, R. and Wang, J. (2010), “Model predictive multi-objective vehicular adaptive cruise control”, IEEE Transactions on Control Systems Technology, Vol. 19 No. 3, pp. 556-566.

Lucia, S., Navarro, D., Lucia, O., Zometa, P. and Findeisen, R. (2017), “Optimized FPGA implementation of model predictive control for embedded systems using high-level synthesis tool”, IEEE Transactions on Industrial Informatics, Vol. 14 No. 1, pp. 137-145.

Martin, G. and Smith, G. (2009), “High-level synthesis: past, present, and future”, IEEE Design & Test of Computers, Vol. 26 No. 4, pp. 18-25.

Mattingley, J. and Boyd, S. (2012), “CVXGEN: a code generator for embedded convex optimization”, Optimization and Engineering, Vol. 13 No. 1, pp. 1-27.

Nocedal, J. and Wright, S. (2006), Numerical Optimization. Springer Science & Business Media.
Nurvitadhi, E., Sim, J., Sheffield, D., Mishra, A., Krishnan, S. and Marr, D. (2016), “Accelerating recurrent neural networks in analytics servers: comparison of FPGA, CPU, GPU, and ASIC”, 2016 26th International Conference on Field Programmable Logic and Applications (FPL), August, IEEE, pp. 1-4.
DOI
Qasaimeh, M., Denolf, K., Lo, J., Vissers, K., Zambreno, J. and Jones, P.H. (2019), “Comparing energy efficiency of CPU, GPU and FPGA implementations for vision kernels”, 2019 IEEE International Conference on Embedded Software and Systems (ICESS), June, IEEE, pp. 1-8.
DOI
Quan, Y.S. and Chung, C.C. (2019), “Approximate model predictive control with recurrent neural network for autonomous driving vehicles”, 2019 58th Annual Conference of the Society of Instrument and Control Engineers of Japan (SICE), September, IEEE, pp. 1076-1081.
DOI
Russo, L.M., Pedrino, E.C., Kato, E. and Roda, V.O. (2012), “Image convolution processing: a GPU versus FPGA comparison”, 2012 VIII Southern Conference on Programmable Logic, March, IEEE, pp. 1-6.
DOI

Schmid, C. and Biegler, L.T. (1994), “Quadratic programming methods for reduced hessian SQP”, Computers & Chemical Engineering, Vol. 18 No. 9, pp. 817-832.

Winterstein, F., Bayliss, S. and Constantinides, G.A. (2013), “High-level synthesis of dynamic data structures: a case study using vivado HLS”, 2013 International Conference on Field-Programmable Technology (FPT), December, IEEE, pp. 362-365.
DOI

Xu, F., Chen, H., Gong, X. and Mei, Q. (2015), “Fast nonlinear model predictive control on FPGA using particle swarm optimization”, IEEE Transactions on Industrial Electronics, Vol. 63 No. 1, pp. 310-321.

Yu-Geng, X.I., De-Wei, L. and Shu, L. (2013), “Model predictive control – status and challenges”, Acta Automatica Sinica, Vol. 39 No. 3, pp. 222-236.

Publication history
Copyright
Rights and permissions

Publication history

Received: 10 March 2021
Revised: 04 February 2022
Accepted: 09 February 2022
Published: 28 March 2022
Issue date: May 2022

Copyright

© 2022 Yunfei Li, Shengbo Eben Li, Xingheng Jia, Shulin Zeng and Yu Wang Published in Journal of Intelligent and Connected Vehicles. Published by Emerald Publishing Limited.

Rights and permissions

This article is published under the Creative Commons Attribution (CC BY 4.0) licence. Anyone may reproduce, distribute, translate and create derivative works of this article (for both commercial and non-commercial purposes), subject to full attribution to the original publication and authors. The full terms of this licence maybe seen at http://creativecommons.org/licences/by/4.0/legalcode.

Return