使用MPCDesigner应用程序设计MPC控制器时,要先提供系统模型。尽管一个MPC控制器能调节非线性系统,但控制器内部的模型必须是线性的。也就是说,控制器使用了非线性系统的线性近似模型。而且这个近似模型的精度对控制器的效果有很重要的影响。松洋变频供水设备厂为了获得这样的线性近似模型,可以在某个指定的工作点线性化非线性模型。使用MPCDesigner应用程序线性化Simulink模型,必须从有一个MPCController的Simulink模型启动这个应用程序。
由于整个履带车辆系统是非线性的,要设计预测控制器,也要线性化整个模型。启动MPCDesigner应用程序后,例如可以指定在车辆速度v=9m/s的工作点线性化模型,然后就可以对这个线性系统来设计预测控制器。这个模型也就是控制器内部的预测模型。
MPC控制器用一个离散时间,没有延迟,输入和输出变量是无量纲的状态空间系统进行所有的估计和优化计算。因此,当在MPC控制器里指定了一个系统模型,如果需要的话,软件会执行以下动作:
(1)转换成状态空间模型。ss函数将提供的模型转换成LTI状态空间模型。
(2)离散化或重新采样。如果系统是连续的,c2d函数用控制器的采样时间将其转换为离散时间的LTI对象。因此,线性化后的系统模型是一个离散的状态空间模型。
表1:不同采样时间下转向角速度的响应
采样时间r(s) | 角速度(rad/s) | 响应时间(s) |
0.001 | 0.09747 | 1.72 |
0.002 | 0.09915 | 1.62 |
0.005 | 0.09958 | 1.35 |
0.01 | 0.09951 | 1.191 |
0.02 | 0.08517 | 2.701 |
当控制变量数多于输出量数时,默认的MPC控制器设置能保证没有误差的跟踪给定的输出值。然而,控制变量的值可能漂移。可以通过设置控制变量的目标值来阻止其漂移。如果有N个多的控制变量,为了经济或操作原因保持他们在目标值,其余的控制变量达到要求的值来减少输出值的稳态误差。
模型预测控制器用线性模型来控制线性系统和工作在某局部范围内的非线性系统,如果对象是非线性的,设计来在某个目标区域内工作的控制器或许在其他区域里控制效果就会很差。而履带车辆正好是一个非线性很强的系统,不同的工作点得到的线性化模型不一样,当工作点偏离设计时的工作点较大时,根据原来的预测模型预测的输出值就会有较大的误差,所以控制器也就控不准了。
1、切换机制
履带车辆在低速段是调节变频水泵排量,在高速段调节变量马达排量,从控制泵排量到控制马达排量的变化过程中需要控制器的切换;另一方面,由于系统非线性的影响,在不同的工作区间内需要控制器的切换。本文根据两侧履带相对于地面的实际速度来确定切换信号。
2、多控制器的设计
通过仿真,最终设计了5个MPC控制器,可以使履带车辆在整个行驶速度范围内均能快速准确的实现给定的转向指令,系统响应良好。