新闻中心

EEPW首页 > 物联网与传感器 > 设计应用 > Cyber15队智能汽车竞赛技术报告(节选)

Cyber15队智能汽车竞赛技术报告(节选)

作者:吕修文,金至卓,吕哲鸣 时间:2012-12-20 来源:电子产品世界 收藏

  然后,将卡尔曼滤波矩阵形式转化为方程形式:
       
  这里,X01即为我们需要的角度卡尔曼滤波值。

本文引用地址:https://www.eepw.com.cn/article/140283.htm

  可以看到的是,卡尔曼滤波方程形式共有14个公式,同时很多参数的运算涉及浮点数,这对于单片机的高效运行时极为不利的,因此我们需要通过一些方法对卡尔曼滤波的公式进行化简,从而在不失精度的情况下,尽可能减小运算量。

  需要注意的是,Q,R两个参数是关于和系统的方差,他们随着系统的工作状况不同而会产生相应变化,对应到我们的系统,在车模运行状态不同(倾角不同,PWM不同)情况下,Q,R都是不同的。

  根据相关参考文献,Q,R虽然都是关于时间的变量,但是由于卡尔曼滤波有很好的收敛性,所以可以将Q,R都取比较极端的参数。用常量来定义。然后再看图3,注意方框中的公式,根据我们的观察,不难发现,整个方框中都是为了获得卡尔曼增益(矩阵Kg),我们设想,能否使用一个常数来等效替代卡尔曼增益那?根据我们在实验中的观察,卡尔曼增益是一个收敛的变量,并且针对到我们的这个系统,他的值非常小,直立状态下趋近于一个常数。(所有这些工作都在MATLAB下完成)

  所以,我们将方框中的所有公式完全省略,通过实验整定,选取一个近似Kg来替代方框中的所有运算。同时,通过NATLAB观测各变量的变化趋势,我们尝试让Kg2=0(Kg1,Kg2本身就是非常小的变量,所以可以让其等于0)。并发现Kg2对于整个卡尔曼滤波的影响非常有限。所以将Kg2设定为0。

  以下就是我们组程序中卡尔曼滤波的简化算法实现
         

  X1=X0+gyro*dt;
  X0=X1+(acc-X1)*kg;
  化简后的卡尔曼滤波框图如图4。

  卡尔曼滤波参数整定

  化简后的卡尔曼滤波主要是对dt以及Kg两个参数进行整定。需要特别指出的是,这里的dt并不只是一个采样间隔。由于的输出和加速度计输出的量纲并不相同,所以采样值*dt并不直接反应一个角度,而是与实际角度相差一个系数。因此此处的dt可以等效理解为dt=采样间隔*比例系数。

  dt越大,积分速度越快,卡尔曼输出追随实际角度的情况越好(当然不能太大,不然可能会出现超前相位)。但是dt越大,漂移造成的影响也就越大。

  Kg决定了加速度计的权重。Kg越大,实际输出的漂移就越小,但是滤波效果的噪声也就越大。

  所以dt和kg是一对矛盾,不能太过于极端。

  首先是静态整定。

  将车模保持在稳定直立状态,让车轮以恒定PWM(80%以上)转动,然后调节参数。



评论


相关推荐

技术专区

关闭