正文
我亲爱的看官,今天的主题是利用李雅普诺夫方法设计控制器,以进行车速跟踪。如果你要做课程设计,或者毕业设计中有相关内容,那么,你来对了哟。
仿真,无时无地(但电脑必备)不能进行。这里,各位参看余志生老师汽车理论第一章那条汽车行驶方程式,一切故事,从这里开始.....
(我们就在平地上进行跟车哈,正余弦分别为0和1)
将上式转化为状态空间的形式,并令状态变量为
,那么我们的加速度可以表示为
。状态空间表达如下:
这里,有些看官可能会不知道这个1.6319怎么来的,下面列一下:
1.6319=21.15/(3.6^2)。 因为我们的单位发生了变化
假设我们的目标车速是
,我们定义误差为
然后我们根据李雅普诺夫稳定性理论进行控制器的设计,进行车速跟踪:
针对我们的问题,简要概述一下:
李雅普诺夫稳定性理论认为,找到一个以包含误差e的正定的李雅普诺夫函数V,
并且能够满足该函数对时间的导数dV/dt是负定的:即当e不等于零时,V>0,dV/dt<0
恒成立,那么状态e最终将会收敛于零,也即渐进稳定。
这里我们取
,可知,当e不为零时,V恒大于零,满足正定条件。
由前述的状态方程,上式可以转化为:
我们要让dV/dt负定,一个非常直观的方法就是,我们如果令上式的括号内的部分等于
,
那么我们可以得到
,其中k为正数。
那么很明显,在e不为零的点,上式的导数恒小于零,即上式负定,则,最终我们的误差会收敛到零。
最终我们得到
而,进一步思考,我们所谓的车速跟踪,在当前的模型与问题下,是通过调节我们的驱动力矩来进行车速控制,于是,我们的目的开始明了,我们需要把这个未知的
用系统中的已知量进行表达:
同时施加该力矩,也即控制率到我们的系统中,仿真结果如下(跟踪车速为12km/h,图示单位为m/s)
其中同时改变k的值,可以影响稳定所需的时间,当前k=1.随着k值的增大,收敛所需时间变短,但控制率将增大,即我们的所需的发动机转矩也将增大。控制中也需要考虑能耗问题,因此实际中需要慎重选取合适的k值。
以下附上模型与参数:
m = 3880;
r = 0.367;
eta = 0.85;
f = 0.013;
g = 9.8;
CdA = 2.77;
i0 = 5.83;
ig = 5.56;
k = 1;
delta = 1.1;