{"title":"Quadratic programming implementations of model predictive control on arduino for BLDC speed control","authors":"A. S. Rohman, Hanif F. Prasetyo","doi":"10.1109/ICSENGT.2017.8123448","DOIUrl":null,"url":null,"abstract":"Many physical process systems have performance limitation regardless the input. This limitation usually occurs in the form of input saturation of actuator as the constraint of the system. To overcome this problem, Model Predictive Control (MPC) may be used due to its capability to compute optimal control signal in the presence of input saturation. The optimal control signal is obtained by solving a quadratic programming (QP) problem with variables' constraints at each time instants. QP problem with lower and upper constraint is known to be equivalent to an algebraic loop involving diagonal upper and lower saturation. Hence, QP can be iteratively computed until its solution converges. A slow computation of QP, however, limits its applications for fast systems with simple digital processor. Therefore, in order to be able to be implemented in real-time embedded applications, a fast algorithm of QP solver is in need. In this paper, a comparison study of two QP implementation, i.e. Projected Gauss Seidel (PGS) and so called Algorithm-2, using Arduino Mega 2560 is presented. In this case, MPC with QP solver using both algorithms is implemented to control the speed of lightly loaded BLDC motor. Before implementation, system modeling, controller designing, and simulation are undertaken. The performance of both iterative algorithms are then compared in terms of average computation time in the simulation and implementation. It can be observed from the results that Algorithm-2 gives a bit faster computation than PGS under same conditions.","PeriodicalId":350572,"journal":{"name":"2017 7th IEEE International Conference on System Engineering and Technology (ICSET)","volume":"41 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 7th IEEE International Conference on System Engineering and Technology (ICSET)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSENGT.2017.8123448","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Many physical process systems have performance limitation regardless the input. This limitation usually occurs in the form of input saturation of actuator as the constraint of the system. To overcome this problem, Model Predictive Control (MPC) may be used due to its capability to compute optimal control signal in the presence of input saturation. The optimal control signal is obtained by solving a quadratic programming (QP) problem with variables' constraints at each time instants. QP problem with lower and upper constraint is known to be equivalent to an algebraic loop involving diagonal upper and lower saturation. Hence, QP can be iteratively computed until its solution converges. A slow computation of QP, however, limits its applications for fast systems with simple digital processor. Therefore, in order to be able to be implemented in real-time embedded applications, a fast algorithm of QP solver is in need. In this paper, a comparison study of two QP implementation, i.e. Projected Gauss Seidel (PGS) and so called Algorithm-2, using Arduino Mega 2560 is presented. In this case, MPC with QP solver using both algorithms is implemented to control the speed of lightly loaded BLDC motor. Before implementation, system modeling, controller designing, and simulation are undertaken. The performance of both iterative algorithms are then compared in terms of average computation time in the simulation and implementation. It can be observed from the results that Algorithm-2 gives a bit faster computation than PGS under same conditions.
无论输入是什么,许多物理进程系统都有性能限制。这种限制通常以执行器输入饱和的形式出现,作为系统的约束。为了克服这个问题,模型预测控制(MPC)可以在输入饱和的情况下计算出最优的控制信号。通过求解具有变量约束的二次规划(QP)问题,得到各时刻的最优控制信号。已知具有上下约束的QP问题等价于一个包含对角上下饱和的代数环。因此,QP可以迭代计算,直到其解收敛为止。然而,由于QP的计算速度较慢,限制了它在具有简单数字处理器的快速系统中的应用。因此,为了能够在实时嵌入式应用中实现,需要一种快速的QP求解算法。本文对使用Arduino Mega 2560的两种QP实现,即投影高斯塞德尔(PGS)和所谓的Algorithm-2进行了比较研究。在这种情况下,实现MPC与QP求解器同时使用这两种算法来控制轻载无刷直流电机的速度。在实现之前,进行了系统建模、控制器设计和仿真。然后比较了两种迭代算法在仿真和实现中的平均计算时间。从结果可以看出,在相同条件下,算法-2的计算速度比PGS略快。