博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从零开始的无人驾驶 2
阅读量:5945 次
发布时间:2019-06-19

本文共 1624 字,大约阅读时间需要 5 分钟。

Sensor

对于无人驾驶系统而言,多传感器已经是默认配置

Kalman Filter 卡尔曼滤波

Kalman Filter 经常运用于无人驾驶系统中感知模块,用于目标状态估计。用人话说,就是物体追踪。

简单来说,有个运动的小车,用来测量小车运动的传感器其实有测量噪声 (Measurement Noise),所以得到的结果是个高斯分布
如果我们用带误差的测量值来预测下一时刻的位置,由于加入了速度估计噪声,所以不确定性更大了
于是用传感器再做一次测量,新的测量依然带有误差(还是个高斯分布)
将得到的两个高斯分布加权取平均,得到新的高斯分布(绿)
这步操作中使用到的加权数值叫做卡尔曼增益,决定了我们对当前测量的信任程度。新得到的绿色高斯分布,拥有比前两次测量值更小的方差。说明卡尔曼滤波从两个不确定较高的分布,得到了一个相对确定的分布。并且新的高斯分布可以作为下次预测的初始值(卡尔曼滤波假设本次测量只和上次测量有关),所以卡尔曼滤波可以迭代。

多传感融合 Lidar and Radar Fusion

一个简单的感知反馈模型其实只有两步:状态预测测量更新

在多传感器条件下,各传感器之间想要同步反馈速度其实并无必要。每个传感器异步地参与感知反馈
在任何时间,只要收到传感器的数据,就会触发一次测量更新
这个过程中,会一直使用KF预测和KF更新

状态预测 State Prediction

线性模型假设,物体在运动时,每段时间间隔中速度恒定。实际上,每次测量时间之间的间隔是不定的,物体的加速也是不定的

时间和加速度的不确定性决定了过程噪声process Noise

下图引入了状态转移矩阵

过程协方差矩阵 Process Covariance Matrix

由于状态向量只包含位置和速度信息,实际上加速度在模型中是作为随机噪声的

由于加速度不确定,所以直接当成随机成分。然后对上面的式子求导,就得到下面的随机加速向量v
v是服从于N(0, Q)分布
再把v分解成两个矩阵。一个4x2的矩阵G,其中不包含随机变量。一个2x1的矩阵a,包含随机加速项。
根据定义,协方差矩阵Q又是v乘上v的转置的数学期望。由于G不包含随机项,所以移到了数学期望的外面
剩下的就是ax的方差,ay的方差,ax和ay的协方差。由于ax和ay不相关,所以协方差是0. 前前后后放到一起,就是下面这玩意儿

激光检测 Laser Measurement

使用激光传感器,获取点云数据,探测物体。利用卡尔曼滤波进行转台预测

预测效果如下

选取近似直线部分放大,发现预测跟实际物体运行高度吻合
选取转向部分放大,预测偏离实际运行轨迹。因为在每个小的时间间隔中,我们一直假设方向不变

雷达检测 Radar Measurement

激光可以获得车辆的位置信息,要完成传感融合还需要从雷达获取速度信息

clipboard.png

雷达信息包含了三个变量:Range范围(与路人的距离); Bearing方位(从x轴开始逆时针转向路人方向的角度); Radial Velocity是车速在行人方向上的速度分量,也叫range rate

clipboard.png

测量函数h(x')会将测量空间投射到预测空间

clipboard.png

Extended Kalman Filter 扩展卡尔曼滤波

EKF(Extended Kalman Filter)是卡尔曼滤波的非线性版本

clipboard.png
原本的卡尔曼滤波假设被Prediction(Estimate)服从高斯分布,且Measurement(Noisy)也服从高斯分布。但是现实状态中,基本都是非线性变换(简单说就是因为现实中被测物体多半处于受力状态,比如摩擦力)。

clipboard.png

所以EKF利用一阶泰勒展开,用局部的线性系统接近整个非线性系统。

clipboard.png

新的结果依旧服从高斯分布

clipboard.png

雅可比矩阵 Jacobian Matrix

做泰勒展开的时候,需要对x求偏导,得到雅可比矩阵。

clipboard.png
x是由4部分组成的
clipboard.png
最后会得到一个3X4的矩阵
clipboard.png

EKF 算法总结

clipboard.png

转载地址:http://ckzxx.baihongyu.com/

你可能感兴趣的文章
js /jquery停止事件冒泡和阻止浏览器默认事件
查看>>
线程的一些解释
查看>>
mysql+keepalived搭建高可用环境
查看>>
java实现插入排序
查看>>
Linux下php连接sql server 2008
查看>>
python字符串格式化
查看>>
关于html和CSS的几个基本知识点
查看>>
Fiddler (三) Composer创建和发送HTTP Request
查看>>
C语言 多维数组和指针
查看>>
DotNetBar的使用—(界面风格)
查看>>
2.3系列系统中不支持SimpleDateFormat作字段被序列化
查看>>
DJANGO MODEL FORMSETS IN DETAIL AND THEIR ADVANCED USAGE
查看>>
ADO.NET复习——自己编写SqlHelper类
查看>>
库函数strlen源码重现及注意问题
查看>>
《实例化需求》读书笔记
查看>>
常用Java8语法小结
查看>>
ZJOI2019 Day2 游记
查看>>
ccf题库中2015年12月2号消除类游戏
查看>>
WinForm窗体间如何传值
查看>>
Ado.Net 连接数据库
查看>>