从系列中:理解模型预测控制
Melda Ulusoy, MathWorks
要成功地使用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国家站点没有针对您所在位置的访问进行优化。