天天看点

状态估计公开课--基于卡尔曼滤波的应用(多传感器数据融合)

其实状态估计包含两个部分:

姿态估计

位置估计

姿态指某一物体的在三维空间的方向指向,位置是指GPS坐标系或者NED坐标系下的位移。一个无人系统,不管是无人车、无人机、无人船或是机器人等,要在三维空间自由运作,该系统的姿态估计和位置估计都必须非常准确。就像人脑可以用眼睛和大脑辨别方位一样,假如蒙住双眼,我们走路都走不出直线。同理如果无人系统的姿态估计和位置估计不准确,那么无人系统在三维空间是没办法自由工作的。

所以,在无人系统中非常重要一部分工作就是:完成准确的姿态估计和位置估计,这两部分是无人系统的基石。姿态估计有问题,多旋翼无人机将飞行不稳定,影响姿态控制。位置估计有问题,多旋翼无人机将不知道当前准确的位置,影响位移精度,或者把地面当作天空而坠毁。在无人车系统中位置估计不准确,将没办法避开障碍物。

状态估计的真实值和估计值

真实值的定义:

搜索了一下,官方解答就是:指被测物质的真实量,严格地说,任何物质的真实含量是不可知的,但人们可采用各种可靠的分析方法,经过不同实验室、不同人员反复进行测定,用数理统计方法,最后得出公认的测量值,该值便可用以代表被测物的真实值。由以上的定义貌似看出,人们通过各种方法去追求的真实值,其实只是最接近真实状态的一个近似真实值。现实生活中,我们为了简单方便,大多数是根据少量的测量值或者以往的经验,对某个物质的真实状态进行估计。

而估计的定义:

wiki的解释是“Estimation theory is a branch of statistics that deals with estimating the values of parameters based on measured empirical data that has a random component. ”。用谷歌翻译成中文的是“估算理论是统计学的一个分支,它处理基于具有随机分量的测量经验数据估计参数值”。而最优估计,是指在某种特定的准则下达到最优;状态估计,既是对动态随机系统的估计。综合起来,最优状态估计,根据某种特定的估计准则对真实的状态估计达到最优。

说了这么多废话,那么状态估计在自动控制,航空航天,通讯和工业生产,SLAM中的具体作用是什么呢?他到底有多大的魔力呢?他又会涉及到哪些方方面面的理论知识呢?

我还是首先说一下他会涉及到的有哪些理论知识吧,当然是离不开我们从小学到大的数学知识,矩阵运算,概率运算。

首先是在20世纪30年代,随着随机过程的估计问题展开,美国学者维纳提出的在频域中设计统计最优滤波器的方法,该方法被称为维纳滤波。但是该方法局限于处理平稳的随机过程,并且只能提供稳态的最优估值,因此在实际工程的应用中受到了很多局限。在20世纪60年代,美国学者卡尔曼和布西提出了最优递推滤波方法,这一方法,被称为kalman滤波。卡尔曼滤波考虑了被估量和观测量的统计特性,适用于平稳随机过程和非平稳随机过程,并且可用数字计算机来实现,因此,kalman滤波方法得到了广泛的应用。

Kalman的应用,最引以为豪的是卡尔曼在一次访问NASA埃姆斯研究中心时,发现kalman滤波能帮助解决阿波罗计划的轨道预测问题,后来NASA在阿波罗飞船的导航系统中确实也用到了该滤波器。最终,飞船正确驶向月球,完成了人类历史上的第一次登月。

当然,现在卡尔曼滤波的应用不仅停留在阿波罗登月上,在电力系统中,由于可再生能源输出功率、负荷变化以及其他随机过程的存在,使得系统状态参数中往往混杂着噪声,因此有必要采取适当的方法,从随机干扰的观测信号中提取有效的系统状态参数。卡尔曼滤波及其扩展形式在电力系统短期负荷预测、动态状态估计、电能质量分析、继电保护、风电场风速预测、电机状态和参数估计等方面的应用。

无人驾驶汽车对道路环境与车体状态的感知一般通过GPRS、雷达、摄像机、陀螺仪等获得,测量过程往往带有噪声。Kalman滤波进行车道线的预测跟踪,通过对当前图像预测估计下一时刻车道线的位置信息,并且能识别判断出车道线的走向(左转或右转),提取有效的道路信息进行车道线的跟踪。带有Kalman滤波的最优预测控制器,与不考虑噪声干扰的最优预测控制器相比,会产生比较平滑的控制序列,能够减少了机械损耗。

在无人机中的应用,如目前开源的PX4/ecl库的EKF,具有24维状态,其优点有:

1>对测量数据通过buffer进行存储处理,将具有不同时延和数据速率不同的传感器的数据在数学上达到同一时刻,则提高了状态的估计精度。

2>可以同时融合不同的传感器数据,如GPS,IMU数据,超声波/毫米波数据,气压计高度,地磁数据,RTK航向等。

3>在对数据进行融合的过程中,根据统计数据的显著不一致性,报告传感器数据的错误,诊断出传感器故障。

4>在固定翼中,可以不需要风速计估计出风速,以延长GPS在飞行过程中丢失时的航位推算时间。

5>估计3轴加速度计偏差,这提高了TailSitter和其他飞行器在飞行阶段之间经历大姿态变化的精度并且修正传感器的bias。

6>联合姿态与位置/速度估计姿态,提高了姿态估计精度和提升了其鲁棒性。

对于卡尔曼滤波,我们几乎可以下这么一个定论:

只要是存在不确定信息的动态系统,卡尔曼滤波就可以对系统下一步要做什么做出有根据的推测。即便有噪声信息干扰,卡尔曼滤波通常也能很好的弄清楚究竟发生了什么,找出现象间不易察觉的相关性。

因此卡尔曼滤波非常适合不断变化的系统,它的优点还有内存占用较小(只需保留前一个状态)、速度快,是实时问题和嵌入式系统的理想选择。

为了大家可以深入了解基于卡尔曼滤波的状态估计,我们特别开设了本次的状态估计公开课。

注:关注微信公众号:阿木实验室,回复【状态估计公开课】即可免费领取视频课程

继续阅读