基于Matlab的汽车安全应用轨道融合仿真(附源码)

news/2024/5/20 3:39:34 标签: matlab, 轨道融合仿真, 汽车安全, 仿真

此示例演示如何融合两辆车的履带,以提供比每辆车更全面的环境估计。该示例演示如何使用轨道级融合器和对象轨道数据格式。在此示例中,将使用“自动驾驶工具箱”中的驾驶场景和视觉检测生成器、“雷达工具箱”中的雷达数据生成器以及“传感器融合和™跟踪工具箱”中的™跟踪和跟踪融合模型。

与文章《基于Simulink 的汽车安全应用轨道到仿真>轨道融合仿真》不同之处,本文基于Matlab m文件实现汽车安全应用轨道到仿真>轨道融合仿真,而文章《基于Simulink 的汽车安全应用轨道到仿真>轨道融合仿真》基于Simulink实现汽车安全应用轨道到仿真>轨道融合仿真

一、目的

汽车安全应用依赖于来自安装在车辆上的不同传感器系统的数据融合。通过使用集中式跟踪器或采用更分散的方法并融合单个传感器产生的轨道,单个车辆融合传感器检测。除了车内数据融合之外,来自多辆车的数据融合还提供了额外的好处,包括更好的覆盖范围、态势感知和安全性。这种车间带传感器融合方法利用了各种传感器的优势,并为每辆车提供了更好的覆盖范围,因为它使用了由该地区其他车辆上的传感器更新的数据。政府和汽车制造商早就认识到需要在车辆之间共享信息,以提高汽车安全性。例如,V2X协议和蜂窝通信链路正在开发中。

虽然在多辆车上进行传感器融合是有益的,但即使只有内部传感器可用,大多数车辆也需要满足某些安全要求。因此,车辆很可能配备跟踪器,轨道融合器或两者兼而有之。这些跟踪算法在单个车辆级别提供态势感知。因此,此示例中的假设是,车辆通过广播轨道和执行轨道到轨道融合来共享态势感知。

此示例演示了将两辆车的履带融合在一起以提高态势感知和安全性的好处。此示例不模拟通信系统。相反,该示例假设通信系统提供在两辆车之间传输轨道所需的带宽。

二、轨道到轨道架构

以下框图描述了两辆车的主要功能,其中:

  • 车辆1有两个传感器,每个传感器都为本地车辆跟踪器提供检测。跟踪器使用来自本地传感器的检测来跟踪物体,并将这些本地轨迹输出到车辆轨道融合器。

  • 车辆2具有单个传感器,即跟踪雷达。跟踪雷达输出跟踪并用作车辆2的本地跟踪器。来自跟踪雷达的轨道是车辆2上车辆轨道定影器的输入。

  • 每辆车上的履带定影器将本地车辆履带与从另一辆车的履带式热熔器接收的履带融合器。每次更新后,每辆车上的履带融合器都会广播其融合的履带,这些履带会馈送到另一辆车上履带式热熔器的下一次更新中。

 在此示例中,使用跟踪器JPDA(传感器融合和跟踪工具箱)对象来定义车辆 1 跟踪器。在此架构中,来自一辆车的融合轨道会更新另一辆车上的融合轨道。然后,这些融合的轨道被广播回第一辆车。为避免谣言传播,请注意来自另一辆车的履带如何更新履带热熔器。

考虑以下传播示例:在某个更新步骤中,车辆1使用其内部传感器跟踪物体。然后,车辆1融合物体轨道并将其传输到车辆2,车辆2现在将轨道与自己的轨道融合并意识到物体。到目前为止,这正是轨道到轨道融合的目标:利用来自车辆 1 的信息增强车辆 2 的态势感知能力。由于车辆2现在知道该物体,因此它也开始广播轨道,也许是为了另一辆车的利益(示例中未显示)。

然而,车辆 1 现在从车辆 2 接收有关只有车辆 1 实际跟踪的对象的跟踪信息。因此,车辆1上的履带融合器必须意识到,它从车辆2获得的该物体的履带实际上不包含任何由独立来源更新的新信息。要区分包含新信息的轨道和仅重复信息的轨道,必须将车辆 2 定义为车辆 1 上轨道融合器的外部源。类似地,车辆1必须定义为车辆2上轨道热熔器的外部源。此外,需要仅将轨道融合器根据来自内部源的信息更新的轨道定义为自报告轨道。通过这样做,每辆车中的履带融合器都会忽略履带的更新,这些履带在履带融合器之间来回反弹,而其中没有任何新信息。

每辆车的本地跟踪器相对于车辆参考系跟踪物体,称为自我坐标系。轨道到轨道融合在场景帧(即全局级帧)上完成。帮助程序函数将轨迹从自我帧转换为方案帧。同样,该函数将轨道从场景帧转换为任何自我帧。这两种转换都依赖于对象跟踪(传感器融合和跟踪工具箱)对象的属性。当对象计算场景帧中中心轨迹到任何帧中的本地轨迹的距离时,它将使用本地轨迹执行坐标变换。

三、定义方案

以下场景显示了两辆车在街道上行驶。车辆1是主要车辆,并配备了两个前视传感器:短程雷达传感器和视觉传感器。车辆2,在车辆1后面10米处行驶,装有远程雷达。街道的右侧包含停放的车辆。行人站在车辆之间。该行人在大约 X = 60 米处显示为一个点。

由于车辆2和车辆1之间的距离较短,车辆2雷达传感器覆盖的大部分被车辆1遮挡。结果,车辆 2 上的履带融合器维护的大多数轨道首先由车辆 1 广播的轨道初始化。

下面的追逐情节是从第二辆车的角度来看的。箭头表示行人的位置几乎完全被停放的车辆和第一辆车遮挡。

 四、运行模拟

 该图显示了场景结束时的场景和跟踪结果。此示例的后续部分在关键时间分析跟踪结果。

4.1 在仿真开始时分析跟踪

当模拟开始时,车辆1检测到停在街道右侧的车辆。然后,车辆1跟踪器确认与停放的车辆相关联的轨迹。此时,车辆2跟踪器检测到并跟踪的唯一对象是车辆1,其就在其前方。一旦车辆 1 履带式热熔器确认轨道,它就会广播它们,车辆 2 履带式热熔器会融合它们。结果,车辆2在自行检测到停放的车辆之前就意识到了它们。

 4.2 分析街道边行人的跟踪

随着仿真的继续,车辆2也能够检测和跟踪停放在侧面的车辆,并将它们与来自车辆1的轨道融合在一起。车辆2能够在模拟中检测和跟踪行人约4秒,并且车辆2在模拟中约4.4秒内将与行人相关联的轨道融合到模拟中(参见快照2)。然而,车辆2需要大约两秒钟的时间才能通过自己的传感器检测和跟踪行人(见快照3)。提前两秒钟检测街道上的行人可以显着提高安全性。

 4.3 避免谣言传播

当两辆车相互通信轨道时,它们可能会继续通过重复另一辆车所传达的内容来传达它们不再检测到的物体的信息。这种情况称为谣言传播。

当车辆通过物体时,这些物体会离开其视野,与这些物体关联的融合轨道将被两个跟踪器丢弃(参见快照4)。丢弃轨道表明,在两辆车之间来回广播的融合轨道不用于传播谣言。

 五、总结

在此示例中,了解了轨道到轨道融合如何增强汽车应用中的态势感知并提高安全性。了解了如何设置 来执行跟踪到跟踪融合,以及如何使用对象将源定义为内部或外部源。通过这样做,可以避免谣言传播,并仅保留每辆车真正观察到的融合轨道进行维护。

六、程序

使用Matlab R2021a版本,点击打开。

 打开下面的“TracktoTrackFusion...Example.mlx”文件,点击运行,就可以看到上述效果。 

关注下面公众号,后台回复关键词:汽车安全应用仿真>轨道融合仿真,发送源码链接。


http://www.niftyadmin.cn/n/455.html

相关文章

论文笔记系列:经典主干网络(一)-- VGG

✨写在前面:强烈推荐给大家一个优秀的人工智能学习网站,内容包括人工智能基础、机器学习、深度学习神经网络等,详细介绍各部分概念及实战教程,通俗易懂,非常适合人工智能领域初学者及研究者学习。➡️点击跳转到网站。…

linux Shell入门

文章目录 一、初始shell (1)什么是shell? (2)什么是变量? (3)程序和进程的区别? 二、语言 (1)计算能理解的语言是什么呢 ? &…

【附源码】计算机毕业设计SSM西安凯特物流订单管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

数据结构 | 时间复杂度与空间复杂度

… 🌳🌲🌱本文已收录至:数据结构 | C语言 更多知识尽在此专栏中! 🎉🎉🎉欢迎点赞、收藏、关注 🎉🎉🎉文章目录🌳前言🌳正…

將 python 上傳 streamlit cloud 執行

1.將相關程式上傳到 github 上 1.1 申請帳號 ​​​​​​​ ... 設定好之後 ​​​​​​​1.2 解決token問題 ​​​​​​​用 cmd 登入出現,Support for password authentication was removed ..​​​​​​​ ​​​​​​​解決方法: ​​​​​​​設…

【算法基础】1.1 快速排序

文章目录快速排序题目描述解法讲解第k个数(快速选择)题目描述解法讲解本文主要讲解快速排序及其思路的相关应用。 快速排序 题目描述 给定你一个长度为 n 的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出…

算法 - 数字反转打印

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 小华是个对数字很敏感的小朋友,他觉得数字的不同排列方式有特殊美感。 某天,小华突发奇想,如果数字多行排列,第一行1个数,第二行2个&#x…

C语言学习之路(基础篇)笔记 01

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 第一个C语言程序 Visual Studio新建项目 源文件—添加—新建项 通过Visual Studio运行 通过gcc编译后运行 C语言编译过程 C语言编译步骤 1&a…