从系列:理解模型预测控制
梅尔达·乌卢索伊,马修斯
为了成功地使用MPC控制器控制系统,你需要仔细选择它的设计参数。本视频提供了选择控制器样本时间、预测和控制范围、约束和权重的建议。
在本视频中,我们将讨论MPC设计参数。为这些参数选择合适的值非常重要,因为它们不仅会影响控制器性能,还会影响MPC算法的计算复杂度,该算法在每个时间步都能解决在线优化问题。在这里,我们将为您提供一些关于如何选择参数的建议控制器采样时间、预测和控制范围、约束和权重。通过选择采样时间,我们确定控制器执行控制算法的速率。如果采样时间太大,当出现干扰时,控制器将无法对干扰做出足够快的反应。相反,如果采样时间s太小,控制器对干扰和设定点变化的反应会快得多,但这会导致计算量过大。为了在性能和计算量之间找到正确的平衡,建议在开环系统响应的上升时间内拟合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控制器通过调整油门来控制这辆车的速度。因为对输入有物理限制如果油门踏板可以移动多少,我们希望有一个硬约束,使油门踏板位置保持在此范围内。我们还可能希望强制速度保持在特定值之间。但是,对输入和输出都有硬约束不是一个好主意,因为这些约束可能相互冲突,导致unf优化问题的可行解决方案。下面是一个演示这种情况的场景。假设汽车在高速公路上以每小时50英里的速度行驶,速度限制如图所示。当汽车开始爬山时,其速度将降低。控制器将应用更多的油门来提高速度。但是由于车辆顶部的重载对于汽车来说,即使控制器开足油门,速度也会持续下降。因此,如果速度约束很难,优化器将无法找到同时满足输入和输出约束的可行解决方案。但是,如果速度约束很软,控制器将允许违反该约束,直到汽车克服坡道和障碍冲突不会发生。请注意,为了保持对软约束的违反较小,通过优化问题将其最小化。建议将输出约束设置为软约束,并避免对输入和输入的变化率都有硬约束。
我们生活中有多个目标。其中一些可能是睡觉、吃饭、和朋友出去玩以及挣钱。你如何管理你的时间来完成所有这些目标?你可以分配体重。例如,如果睡觉对你来说比吃饭更重要,那么你会把睡觉和吃饭放在更高的位置。同样,MPC也有多个目标目标。我们希望输出尽可能接近其设定点,但同时我们希望控制动作平稳,以避免激进的控制动作。在这些相互竞争的目标之间实现平衡性能的方法是相互权衡输入速率和输出。我们不仅权衡这两组相互关联,但我们也调整组内的相对权重。例如,如果在这个2x2系统中,对第一个输出执行参考跟踪比对第二个输出执行参考跟踪更为关键,则我们为第一个输出分配更大的权重,且输出之间的比率大于1。
在这个视频中,我们已经解释了设计MPC控制器需要选择的参数。欲了解更多信息,请查看Bemporad教授关于如何设计模型预测控制器的视频,以及视频描述中给出的链接。在下一个视频中,我们将讨论当你处理非线性问题时可以使用的方法不管是在工厂还是约束条件,以及成本函数。
您还可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。