理解模型预测控制,第4部分:自适应,增益调度和非线性MPC
从系列中:理解模型预测控制
Melda Ulusoy, MathWorks
本视频将根据您的工厂模型、约束条件和成本函数解释您可以使用的MPC控制器类型。可用的选项包括线性时不变、自适应、增益调度和非线性MPC。
如果你有一个线性工厂模型,你的MPC问题有线性约束和线性代价函数,那么你可以使用线性时不变MPC来控制你的系统。具有这些性质的优化问题是凸问题,你可以使用许多类型的数值方法和软件来解决它。如果你的系统是非线性的,但它可以在感兴趣的工作点上用线性模型近似,那么你可以使用自适应或增益计划MPC。在自适应MPC中,线性模型是随着运行条件的变化而动态计算的。在增益计划MPC中,线性化在感兴趣的工作点离线执行。
如果您的工厂是高度非线性的,这些选项可能不会提供令人满意的性能。在这种情况下,您可以使用非线性MPC。此外,如果你有一个线性的工厂模型,但约束或成本函数或两者都是非线性的,你可以使用非线性。
线性和非线性模型预测控制器
您想用MPC控制器控制系统,但不确定哪些方法可用?继续看,因为我会给你一些食谱。我将从一些煎饼食谱开始。如果你能容忍我的话,你会看到它和MPC的联系。这是食谱。如果你有面粉、鸡蛋和牛奶,你可以做煎饼。很多人以前都尝试过这个食谱;这很简单,你不会出错的。类似地,如果你有一个线性系统,由线性工厂模型表示,你有线性约束和二次成本函数,那么你可以使用线性时不变MPC来控制你的系统。具有这些良好性质的MPC问题产生了一个凸优化问题,其中代价函数有一个全局最优值,优化的目标是找到这个最优值。 This is a well-studied problem, and you can use many types of numerical methods and software to solve it.
回到我们的煎饼:如果你用杏仁粉代替面粉呢?你还会做煎饼吗?是的,你可以!类似地,如果你处理的系统不是线性的而是非线性的,你可以使用线性MPC,并且仍然受益于凸优化问题的良好性质。在这种情况下,可用的方法是自适应和增益调度MPC控制器。这些控制器处理非线性系统的方法是基于线性化的。例如,我们看一下这个非线性函数。我们可以在一个工作点线性化它,这就给出了一个线性函数,很好地逼近了工作点附近的非线性系统。然而,在这个区域之外,我们发现的线性函数就不能很好地工作了。因此,我们通常对寻找多个线性化模型感兴趣,每个模型都很好地代表了非线性函数在其工作点附近。 This is the regular MPC control diagram that we discussed previously which uses an internal plant model and an optimizer to compute the control action. In adaptive MPC, a linear model is computed on the fly as the operating conditions change. And at each time step, you update the internal plant model used by the MPC controller with this linear model. Note that in adaptive MPC, the structure of the optimization problem remains the same across different operating points. This means that the number of states, and number of constraints don’t change for different operating conditions over the prediction horizon. However, if they do change, then you should use gain-scheduled MPC. In gain-scheduled MPC, you linearize offline at the operating points of interest and for each operating point, you design a linear MPC controller. Each controller is independent from each other and therefore may have a different number of states, and different number of constraints. Note that in this approach you also need to design an algorithm that will switch between the predefined MPC controllers for different operating conditions. Although having independent controllers is an advantage of gain-scheduled MPC, it uses more memory than adaptive MPC. Therefore, the recommendation is to use adaptive MPC if a linear plant model can be found at run-time and the structure of the optimization problem remains fixed across different operating conditions. And if they change, then you can use gain-scheduled MPC, where you can design independent MPC controllers for the changing operating conditions.
现在回到煎饼。比如说你没有你通常烘焙用的常规材料,而是一些你甚至不熟悉的非常独特的材料。用这些材料做煎饼真的很有挑战性,但一旦你弄明白了,它们将是有史以来最美味的煎饼。如果你有一个非线性系统,不能很好地用线性模型近似,那么你可以使用非线性MPC。这种方法是最强大的一种,因为它使用了最准确的植物表示,即非线性植物模型。因此,控制器做出的预测更准确,这也导致更好的控制行动。然而,这也是实时解决最具挑战性的问题,因为当你有非线性约束和非线性代价函数时,优化问题就变成了非凸问题。代价函数可能有多个局部最优值,而找到全局最优值可能很困难。解决需要大量计算的非凸优化问题的效率取决于你拥有的非线性求解器。
总之,如果您正在处理的设备是非线性的,但可以通过线性模型近似,您可以使用自适应和增益调度MPC控制器。如果优化问题的结构在不同的运行条件下没有变化,则使用自适应MPC。然而,如果是这样,那么你可以使用增益计划MPC。如果这些都不起作用,因为你有一个高度非线性的系统,不能很好地通过线性化来逼近,那么你可以使用非线性MPC。
在下一个视频中,我们将讨论更快地运行模型预测控制器的实现技巧。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。