目录
此示例演示如何融合两辆车的履带,以提供比每辆车更全面的环境估计。该示例演示如何使用轨道级融合器和对象轨道数据格式。在此示例中,将使用“自动驾驶工具箱”中的驾驶场景和视觉检测生成器、“雷达工具箱”中的雷达数据生成器以及“传感器融合和™跟踪工具箱”中的™跟踪和跟踪融合模型。
与文章《基于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 广播的轨道初始化。
下面的追逐情节是从第二辆车的角度来看的。箭头表示行人的位置几乎完全被停放的车辆和第一辆车遮挡。

四、运行模拟

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

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

4.3 避免谣言传播当两辆车相互通信轨道时,它们可能会继续通过重复另一辆车所传达的内容来传达它们不再检测到的物体的信息。这种情况称为谣言传播。
当车辆通过物体时,这些物体会离开其视野,与这些物体关联的融合轨道将被两个跟踪器丢弃(参见快照4)。丢弃轨道表明,在两辆车之间来回广播的融合轨道不用于传播谣言。

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

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

程序下载链接:https://download.csdn.net/download/weixin_45770896/87429091
对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R
在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?
是否可以在应用程序中包含的gem代码中知道应用程序的Rails文件系统根目录?这是gem来源的示例:moduleMyGemdefself.included(base)putsRails.root#returnnilendendActionController::Base.send:include,MyGem谢谢,抱歉我的英语不好 最佳答案 我发现解决类似问题的解决方案是使用railtie初始化程序包含我的模块。所以,在你的/lib/mygem/railtie.rbmoduleMyGemclassRailtie使用此代码,您的模块将在
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵