从系列:了解模型预测控制
Melda Ulusoy, MathWorks
为了成功地使用MPC控制器控制系统,你需要仔细选择它的设计参数。本视频提供了选择控制器样本时间、预测和控制范围、约束和权重的建议。
在这个视频中,我们将讨论MPC的设计参数。为这些参数选择合适的值是很重要的,因为它们不仅影响控制器的性能,而且还影响MPC算法的计算复杂度,MPC算法在每个时间步长的在线优化问题。在这里,我们将为您提供一些关于如何选择控制器样本时间、预测和控制范围、约束条件和权重的建议。通过选择采样时间,我们确定控制器执行控制算法的速率。如果它太大,当干扰进来时,控制器将不能对干扰做出足够快的反应。相反,如果采样时间过小,控制器对扰动和设定值变化的反应会快得多,但这导致了过多的计算负载。为了在性能和计算工作量之间找到正确的平衡,建议在开环系统响应的上升时间内拟合10到20个样本。
正如我们之前讨论过的,在每个时间步骤中,MPC控制器对未来工厂的产量进行预测,而优化器找到最优的控制输入序列,使预测的工厂产量尽可能接近设定值。预测未来时间步长的数量称为预测视界,显示控制器预测未来的距离。如果太短会发生什么?想想下面的例子。当以每小时50英里的速度行驶时,你知道如果你按下刹车踏板,你的车需要5秒钟才能停下来。如果你的预测范围是2秒,当你看到交通灯的时候,就太晚了。汽车只有在过了红绿灯后才能停车。因此,我们应该选择一个涵盖系统重要动态的预测视界。那么,我们为什么不选择一个更长的预测范围呢?假设你预测了未来的速度,以便准时到达目的地。 Unexpected things can happen, such as boxes falling from the back of a truck, pedestrians crossing the road, or a change in the road profile; these all may affect your speed and you may need to throw away a significant part of your planning, wasting your computations. Assuming the sample time is chosen based on what we’ve discussed before, the recommendation for choosing the prediction horizon is to have 20 to 30 samples covering the open-loop transient system response.
另一个设计参数是控制水平。如果这是导致这个预测的工厂输出的未来控制动作的集合,控制动作移动到时间步长m的次数称为控制水平。其余的输入保持不变。在控制范围内的每个控制动作都可以被认为是一个自由变量,需要由优化器计算。所以,控制范围越小,计算就越少。为什么我们不总是选择控制视界为1呢?可以,但这可能不是最好的策略。通过增加控制范围,我们可以得到更好的预测,但以增加复杂性为代价。我们甚至可以选择使控制视界与预测视界相同。然而,请注意,通常只有前两个控制动作对预测的输出行为有显著影响,而其余动作只有很小的影响。 Therefore, choosing a really large control horizon only increases computational complexity. A good rule of thumb for choosing the control horizon is setting it to 10 to 20% of the prediction horizon and having minimum 2-3 steps.
MPC可以包含对输入、输入变化率和输出的约束。这些约束可以是软约束也可以是硬约束。硬约束不能被违背,而软约束可以被违背。我们假设MPC控制器通过调节油门踏板来控制汽车的速度。由于油门踏板可以移动多少是有物理限制的,我们希望有一个严格的限制,以便油门踏板的位置保持在这个范围内。我们可能还想强制速度保持在特定值之间。然而,同时对输入和输出施加硬约束并不是一个好主意,因为这些约束可能会相互冲突,导致优化问题的解不可行。这里有一个场景来演示这种情况。假设汽车在高速公路上以每小时50英里的速度行驶,限速如图所示。当汽车开始爬山时,它的速度就会下降。 The controller will apply more throttle to increase the speed. But due to the heavy load on top of the car, the speed will keep decreasing even though the controller applies full throttle. So, if the speed constraint is hard, the optimizer won’t be able to find a feasible solution that meets both input and output constraints. However, if the speed constraint is soft, the controller will allow violating it until the car overcomes the hill and the conflict won’t occur. Note that to keep the violation of the soft constraint small, it is being minimized by the optimization problem. The recommendation is to set output constraints as soft and avoid having hard constraints both on the inputs and the rate of change of the inputs.
我们在生活中有多个目标。有些人可能在睡觉、吃饭、和朋友出去玩、赚钱。你将如何管理你的时间来完成所有这些目标?你可以分配权重。例如,如果对你来说,睡觉比吃饭更重要,那么你就会把睡觉看得比吃饭重。同样,MPC也有多个目标。我们希望输出尽可能接近它们的设定值,但同时我们希望有平稳的控制动作,以避免激进的控制机动。在这些相互竞争的目标之间实现平衡性能的方法是权衡相对于彼此的输入率和输出。我们不仅要权衡这两个组之间的相对权重,而且还要调整组内的相对权重。例如,在这个2x2系统中,如果对第一个输出执行参考跟踪比对第二个输出执行参考跟踪更重要,我们就为第一个输出分配一个更大的权值,并且输出之间的比值大于1。
在此视频中,我们解释了用于设计MPC控制器的需要选择的参数。有关更多信息,您可以查看Bemporad教授的视频,了解如何设计模型预测控制器和视频描述中给出的链接。在下一个视频中,我们将讨论在植物或约束中处理非线性时可以使用的方法和成本函数。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。