kalman滤波在雷达目标跟踪中的应用_简述Automotive radar中的多目标跟踪处理

005badc4139310a9969cf69583d0f33f.png
毫米波雷达在目前的先进辅助驾驶(ADAS)中的应用主要体现在自适应巡航控制(Adaptive Cruise Control,ACC),预碰撞(PreCrash),泊车辅助(Parking Aid),变道辅助(Lane Change Assistant)等。 相比于其他的几种传感器,毫米波雷达在各种天气环境下具有突出的优势。

对于多目标的跟踪是毫米波雷达系统中的一个主要研究方向,不同的场景,场景中目标的出现和消失,以及目标在毫米波雷达FOV视野内被其他物体或目标遮挡的问题,都无疑是多目标跟踪中的一些问题和难点。另外的一个难点就是根据距离维和多普勒维的轮廓扩展实现目标的区分和衡量。通过实验可以发现一些有趣的现象,前方向前行驶的车辆在距离维上具有扩展的轮廓,而多普勒维上则为点状的速度轮廓。当行驶的前方出现正在横跨马路的行人,此时可以发现距离维上存在为点状的轮廓,而多普勒维度上则存在扩展的轮廓,这是由于行人在横跨马路的运动状态中,手臂和身体以及腿等部位存在不同的运动速度。这种特征的分析即为毫米波雷达的行人检测(pedestrian recognition)的基础。

目标跟踪主要是利用一些数据关联策略算法和Kalman滤波来估计运动物体的状态变化。由于数据关联策略的多样性,可以得到不同的跟踪算法。完成了数据关联的策略判断后,线性或者扩展Kalman滤波则进一步的提升目标的位置和速度状态估计。

下面给出了一个毫米波雷达数据处理的框架。

在信号处理后,此时已经得到了目标的距离

equation?tex=r ,相对速度
equation?tex=v_%7Br%7D 和方位角
equation?tex=%5Cphi 。首先需要进行的处理是将每个时刻
equation?tex=t的运动目标从杂波中分离开,这一步的处理主要是根据目标的相对速度进行分离,相对速度较小的目标或者静态的物体将会被分离出去。

数据关联的第一个策略是对探测到的多个目标属于同一物体的进行聚类,然后取聚类后的目标同已有的轨迹进行关联,目标关联轨迹采用最简单的邻近原则。如果目标不属于已有的任何一条轨迹,则对目标设置新的轨迹。这一步的处理后会得到一些轨迹,这些轨迹中包含着有效的轨迹和无效的轨迹,只有实际有效的轨迹才会进行后续的Kalman滤波状态估计等处理。

Kalman滤波的输入是目标在笛卡尔坐标系中的距离和方位角信息。Kalman滤波在跟踪处理中的目的是提供在当前时刻

equation?tex=t 时的系统状态估计,当前时刻状态的估计是基于前一时刻
equation?tex=t-1 下的预测,即这种滤波计算是通过一种递归的方式进行计算的。

当前时刻$t$时的系统状态包含了笛卡尔坐标系下的目标位置和速度信息,表示为

equation?tex=X%3D%5Bx+%5C+%5C+y+%5C+%5C+v_%7Bx%7D+%5C+%5C+v_%7By%7D%5D%5E%7B%27%7D

对一个匀速的运动模型,所以根据前一时刻对当前时刻$t$的状态预测可以写成

equation?tex=X_%7Bt%7D%3DA%5Ccdot+X_%7Bt-1%7D%2BW_%7Bt-1%7D

上式等效于

equation?tex=+%5Cbegin%7Bbmatrix%7D+x+%5C%5C+y+%5C%5C+v_%7Bx%7D+%5C%5C+v_%7By%7D+%5C%5C+%5Cend%7Bbmatrix%7D_%7Bt%7D+%3D+%5Cbegin%7Bbmatrix%7D+1+%26+0+%26+T+%26+0+%5C%5C+0+%26+1+%26+0+%26+T+%5C%5C+0+%26+0+%26+1+%26+0+%5C%5C+0+%26+0+%26+0+%26+1+%5C%5C+%5Cend%7Bbmatrix%7D+%5Cbegin%7Bbmatrix%7D+x+%5C%5C+y+%5C%5C+v_%7Bx%7D+%5C%5C+v_%7By%7D+%5C%5C+%5Cend%7Bbmatrix%7D_%7Bt-1%7D+%2B+%5Cbegin%7Bbmatrix%7D+0+%5C%5C+0+%5C%5C+w_%7Bx%7D+%5C%5C+w_%7By%7D+%5C%5C+%5Cend%7Bbmatrix%7D_%7Bt-1%7D

其中

equation?tex=W_%7Bt-1%7D是协方差矩阵为
equation?tex=E_%7Bx%7D 的高斯白噪声向量。A为状态转移矩阵,T为测量周期。

下面的问题主要考虑了目标的位置估计,因此测量矩阵只包含了位置测量:

equation?tex=H%3D+%5Cbegin%7Bbmatrix%7D+1+%26+0+%26+0+%26+0+%5C%5C+0+%26+1+%26+0+%26+0%5C%5C+%5Cend%7Bbmatrix%7D

测量等式可以被写为

equation?tex=Z_%7Bt%7D%3DH+%5Ccdot+X_%7Bt%7D%2Bn_%7Bt%7D

其中n为零均值的高斯白噪声,协方差矩阵为

equation?tex=E_%7Bz%7D

关于Kalman的相关等式中描述预测当前状态和状态估计更新的等式可以表示为

equation?tex=%5Coverline%7BX_%7Bt%7D%7D%3DA%5Ccdot+X_%7Bt-1%7D

equation?tex=%5Coverline%7BP_%7Bt%7D%7D%3DA%5Ccdot+P_%7Bt-1%7D%5Ccdot+A%5E%7BT%7D%2BE_%7Bx%7D

equation?tex=K_%7Bt%7D%3D%5Coverline%7BP_%7Bt%7D%7D%5Ccdot+H%5E%7BT%7D%5Ccdot%28H%5Ccdot+%5Coverline%7BP_%7Bt%7D%7D%2BE_%7Bz%7D%29%5E%7B-1%7D

equation?tex=X_%7Bt%7D%3D%5Coverline%7BX_%7Bt%7D%7D%2BK_%7Bt%7D%5Ccdot%28Z_%7Bt%7D-H%5Ccdot+%5Coverline%7BX_%7Bt%7D%7D%29

equation?tex=P_%7Bt%7D%3D%28I-K_%7Bt%7D%5Ccdot+H%29%5Ccdot+%5Coverline%7BP_%7Bt%7D%7D

其中K为kalman增益,

equation?tex=%5Coverline%7BP%7D 为误差的协方差矩阵。P为状态估计误差的协方差矩阵。

对于测量噪声和状态误差估计协方差矩阵

equation?tex=E_%7Bz%7D
equation?tex=E_%7Bx%7D ,由于测量很容易受到噪声的影响,我们将
equation?tex=E_%7Bz%7D 的值增大,为了使得模型更加准确,因此协方差矩阵
equation?tex=E_%7Bx%7D 会设置的较小。

题图:Quangpraha,from Pixabay.

另外,如果对此感兴趣,欢迎关注公众号:雷达说感谢~

3e0e2775f3dcc571dc58a5854b439459.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle 拼接多个列_ORACLE实现类似mysql的find_in_set

在程序开发的过程中有很多的场景都会使用一个字段保存多个信息并且使用符号分隔,比如写一篇文章,保存了所有赞赏人员的ID。在一般的应用中除了保存外,还需要对此字段进行一些搜索,如站点中搜索所有我赞赏的文章。下面我们就来讲一…

放大缩小保证div对齐_NFS Write IO 不对齐深度分析

导读:NFSClient 对大多数的应用写入没有做对齐优化,本文根据 IO 不对齐的原因给出了若干实践建议。作者 | 裴晓辉背景最近团队小伙伴弗曼统计了线上用户数据写入对齐情况,通过统计数据发现了一个有趣的现象: 用户写入请求中近 70% 的数据块 4…

MySQL+for+Mac下载_MySQL For mac

MySQL For Mac官方版是一款可以在苹果电脑MAC OS平台上使用的多线程的、结构化查询语言(SQL)数据库服务器,SQL在世界上是最流行的数据库语言,MySQL For Mac最新版的执行性能非常高,运行速度非常快,并且MySQL For Mac非常容易使用。MySQL For …

石头剪刀布程序流程图_石头剪刀布!我要与电脑决战到天明!(14天)

1、学习心得原来一直以为,学了这个600集视频,应该就能自己做点啥了,比如我的最终目的:爬学区房。但是我今天学的时候,隐隐觉得,好像不大现实。毕竟,这都到了200多集,我依然还是个纯粹…

python做地图导航_「Python」利用高德地图做你想做之事

玩grasshopper基本上都知道OpenStreetMap 这个地图网站,毕竟有一个好用的地图插件,可以在Rhino中绘制出所需,但是一个不好的地方就在于国内的数据量太少,无法满足我们的需求。此次所讲的高德地图基本上可以解决我们的痛点&#xf…

elementui分页组件按钮样式修改_Vue使用Elementui修改默认最快方法!

相信大家都需要过,在Vue中使用Elementui的时候,遇到最多也最蛋疼的问题就是修改默认样式,接下来直奔主题;// template :text-inside"true" :stroke- :percentage"70" >-progress>默认样式方法…

mybatis字符串转成数字_计算机储存数字和字符的方法你了解多少?

前语:不要为了读文章而读文章,一定要带着问题来读文章,勤思考。本文链接: http://1t.click/J7E前言最近在学习中涉及到计算机储存、传输数字和字符等操作,由于对字节、2进制、10进制、16进制、ASCII码的概念以及它们之…

usb连接不上 艾德克斯电源_艾德克斯HT3150联机和IT6720校准联机记

大概2年前,坛里入了一台设置电压比输出电压高几伏的IT6720电源,到手发现,里面被修得惨不忍睹。到手的时候是110V的,没想到这种型号,跳线要改焊控制变压器和高压部分两个跳线,只修改了控制变压器跳线&#x…

使用java向ftp上传多张图片_ftp免费空间,利用ftp工具定时连接ftp免费空间教程及java配置...

IIS7服务器管理工具这款ftp客户端软件,可以批量管理ftp站点,还可以实现ftp定时上传、定时下载,定时备份、自动更新等功能。关于ftp客户端功能,它主要实现以下四点功能:1、ftp 批量操作2、ftp 定时同步(上传…

损失函数的意义和作用_损失函数的可视化:浅论模型的参数空间与正则

点击蓝字关注我们作者丨土豆知乎来源丨https://zhuanlan.zhihu.com/p/158857128本文已获授权,不得二次转载前言在深度学习中,我们总是不可避免会碰到各种各样的损失函数。通常来说,损失函数都是高维的函数,难以可视化为人类可以分…

postgres 把一个表的值转成另一个表的字段名_用LUT来做一个可动态配置的卷积核...

引言由于卷积核数据在计算过程中保持不变,更新较慢。这样就可以利用LUT来存储权重并同时进行乘法运算。LUT乘法器的实现很早就已经研究过,本论文正是在此基础上,提出了用于实现可配置的卷积实现方法。基于LUT的乘法器不会受到FPGA中DSP资源的…

mysql储存过程把集合并_MySQL 多日志表结果集合拼接存储过程

通常MySQL单天的日志 只记录当天的日志信息,如果需要查看一月内的日志信息需要对每天的日志表结果集合进行拼接,通常用到 union通常MySQL单天的日志 只记录当天的日志信息,如果需要查看一月内的日志信息需要对每天的日志表结果集合进行拼接,通常用到 uni…

对于一个指针可以多次使用delete_【C++札记】new和delete

malloc,free和new,delete区别:a.malloc,free是C/C的标准库函数。new,delete是c的操作符。b.malloc申请的是内存,严格意义不是“对象”,new申请的可以理解为“对象”,new 时会调用构造函数,返回指向该对象的指针。c.对于…

java循环队列_Java 循环队列的实现

队列概念队列(Queue)是限定只能在一端插入、另一端删除的线性表。允许删除的一端叫做队头(front),允许插入的一端叫做队尾(rear),没有元素的队列称为“空队列”。队列具有先进先出(FIFO)的特性。普通顺序队列存在的问题在普通顺序队列中,入队的操作就是先将尾指针re…

java new 多线程_Java多线程实现(四种方法)

1.继承Thread类,重写run方法(其实Thread类本身也实现了Runnable接口)2.实现Runnable接口,重写run方法3.实现Callable接口,重写call方法(有返回值)4.使用线程池(有返回值)1.继承Thread类,重写run方法每次创建一个新的线程&#xff…

oracle删除唯一索引sql语句_高级SQL之在选择语句中使用更新和删除

点击蓝字关注我吧【本文详细介绍了数据库中在选择语句中使用更新和删除的方法,欢迎读者朋友们阅读、转发和收藏!】1 基本概念1.1 SQL UPDATE 语句Update 语句Update 语句用于修改表中的数据。语法:UPDATE 表名称 SET 列名称 新值 WHERE 列名…

java 多层异常_Java多层嵌套异常处理的基本流程

异常是程序中的一些错误,但并不是所有的错误都是异常,错误有时候是可以避免的。异常的对象有两个来源,一是Java运行时环境自动抛出系统生成的异常,而不管你是否愿意捕获和处理,它总要被抛出!比如除数为0的异…

java 获取子线程_Java 主线程获取子线程返回结果

1.自定义package com.jgyang.com;public class MySyncThreadTest {public static void main(String[] args) throws Exception {CustomRunnable cRunnacle new CustomRunnable();Thread thread new Thread(cRunnacle,"子线程");thread.start(); //子线程执行System…

串口工具securecrt_SecureCRT配置华为交换机部分命令

点上方蓝字“工控先生”免费快速关注本文由“135编辑由于工作需要,昨天临时需要从华为的光电交换机上面的console口查看一些端口的状态等,现整理如下,有需要的可以参考一下:硬件准备串口线,华为交换机连接将RJ45连接到…

java 跳转虚拟目录_java tomcat虚拟目录的深入了解

我们知道,Web网站中的内容(包括网页,图片,音频文件等)一般都存放在App的目录下。但随着网站内容的不断丰富,用户需要把不同层次的内容组织成网站的子目录。我们通常的做法是在网站主目录下新建子目录,并把相关的内容放…