0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从记录的传感器数据中获取驾驶场景

MATLAB 来源:MATLAB 2024-01-18 11:05 次阅读

作者:来自安波福的 Krishna Koravadi 和来自 MathWorks 的 Seo-Wook Park

此工作流使用 MATLAB 和 RoadRunner 产品完成,它提供了一种结构化的方法来创建虚拟场景,使安波福的工程师能够通过仿真严格验证 ADAS/AD 闭环算法

对于开发下一代汽车的工程师,具备在逼真的驾驶场景下测试高级驾驶辅助系统 (ADAS) 和自动驾驶 (AD) 系统算法的能力至关重要。但是,在真实交通中测试新开发算法的性能和稳健性是不切实际的。理想的替代方案是根据实际道路测试期间所捕获的传感器数据生成虚拟场景。这些场景随后可以经济高效的方式,在虚拟环境中安全、可重复地测试和微调 ADAS/AD 算法。

安波福的工程师通过我们实现的工作流从记录的车辆数据中获取驾驶场景。此工作流是使用 MATLAB 和 RoadRunner 产品分三步完成的。

第一步是,基于来自车载 GPS、惯性测量单元 (IMU)、相机和地图数据的输入,重建自主车辆的轨迹。

第二步是,使用雷达数据和非因果联合集成概率数据关联 (JIPDA) 跟踪算法重建非自主车辆的轨迹,以创建周围交通的动态表示。

最后一步是,使用 RoadRunner 生成场景,根据需要进行编辑,并将其导出为 ASAM OpenSCENARIO 格式,该格式可用于其他场景编辑和可视化工具。此工作流是使用 MATLAB 和 RoadRunner 产品完成的,它提供了一种结构化的方法来创建虚拟场景,使 安波福的工程师能够通过仿真严格验证 ADAS/AD 闭环算法(图 1)。

wKgaomWoliOAGwNhAAEU1AJ2Tk8859.jpg

图 1. 从传感器数据中获取场景的工作流。

重建自主车辆的轨迹

在工作流的第一阶段,我们会创建一个虚拟道路场景,并添加一个自主车辆,其轨迹是根据记录的传感器数据重建的。

为了创建虚拟场景,我们使用 RoadRunner Scene Builder 从导入的高清地图创建三维道路模型,该地图以通过 GPS 获得的车辆位置为中心。我们从地图上删除不需要的道路并保存场景(图 2)。

wKgZomWoliOAdwMUAADhkwfcRAI764.jpg

图 2. 使用 RoadRunner Scene Builder 从高清地图生成场景。

此时,我们可以使用 GPS 数据在地图上叠加自主车辆的轨迹。然而,完全依赖 GPS 输入进行自主车辆跟踪是有问题的,原因有如下几个:确定车辆行驶在哪个车道通常不够准确;GPS 信号可能会临时丢失;其采样时间(通常为数百毫秒)相对较长。为了弥补这些缺陷,我们使用 Navigation Toolbox 中的 insfilterAsync 对象,将 GPS 数据与来自 IMU 的加速度计和陀螺仪数据融合在一起。IMU 数据每 10 毫秒采样一次。通过融合该数据,我们能够更精确地估计自主车辆的轨迹(图 3)。

wKgaomWoliOAcp1WAADU6GRUraY639.jpg

图 3. 根据单独的 GPS 数据(蓝色)和融合的 GPS 和 IMU 数据(红色)估计的自主车辆轨迹。

尽管 GPS 和 IMU 数据融合提高了准确度,但结果仍不足以可靠地确定自主车辆行驶在哪个车道上。为了提高准确度,我们利用相机数据跟踪自主车辆及其相邻车道的车道标线检测情况。然后,我们校正自主车辆轨迹,使基于高清地图计算的车道数和偏移量与基于车道检测计算的车道数和偏移量相符(图 4)。

wKgZomWoliOAczM7AAE6B43Nvm8771.jpg

图 4. 通过车道检测定位之前(蓝色)和之后(红色)的自主车辆轨迹。

这样,我们就有了车道级别准确度的自主车辆轨迹,该轨迹可导出到逗号分隔值 (CSV) 文件。

然后,我们可将该 CSV 文件导入 RoadRunner Scenario 以创建一个场景,以供我们可以用来运行自主车辆的仿真(图 5)。

wKgZomWoliOAWemKAAEw1HcLeJs075.jpg

图 5. 通过车道检测定位之前(白色)和之后(蓝色),在 RoadRunner Scenario 中运行的自主车辆仿真。

重建非自主车辆的轨迹

工作流中的第二步是将非自主车辆的轨迹添加到场景中。在此步骤中,我们评估了几种不同方法,包括使用雷达、激光雷达以及雷达和相机的组合。最终,我们决定继续使用基于雷达的方法,因为我们记录的大多数车辆数据都包括雷达测量值,而激光雷达数据只能从专门安装仪器的车辆获得。

为了准备用于跟踪的雷达数据,我们需要运行一系列信号处理操作来区分静态检测(如护栏)和动态检测(如其他车辆),以及过滤由多径反射引起的重影。然后,我们应用基于密度的含噪空间聚类 (DBSCAN) 算法来生成目标级检测结果。

接下来,我们将目标级检测结果馈送到非因果联合集成概率数据关联 (JIPDA) 跟踪器。这种跟踪算法是非因果的,因为在每个时间步,它都使用该时间步之前和之后直到记录数据结束的所有检测结果。在线多目标跟踪算法(例如,在行驶的车辆中运行的算法)只能依赖过去和当前的测量值,而非因果算法可以离线运行,并使用从场景开始到结束的所有雷达测量值。由于事先获得了这些测量值,离线 JIPDA 跟踪算法可比在线跟踪算法更准确地解决数据关联中的多义性(这种多义性会导致轨迹切换、分段和错误轨迹)问题。

为了实现这种改进的性能,JIPDA 算法会运行迭代数据关联(图 6)。在每个时间步,它都使用截至时间步 k-1 的测量值执行前向跟踪,然后使用从时间步 k+1 到 N 的测量值执行后向跟踪。该算法将这两项操作的融合预测与检测相关联,并移至下一个时间步。最后,该算法会执行 Rauch-Tung-Striebel 平滑处理。虽然该算法本身可能看似很复杂,但在 MATLAB 中实现它只需使用 Sensor Fusion and Tracking Toolbox 中的 smootherJIPDA 对象编写几行代码即可。

wKgaomWoliOAGOjkAACnQ8cQbEg144.jpg

图 6. JIPDA 算法的图形化表示。

使用 JIPDA 算法计算每个非自主车辆的轨迹后,我们将雷达跟踪结果与相机的视图进行比较(图 7)。

wKgZomWoliOAfcLZAAC6bRlWHUo490.jpg

图 7. 雷达跟踪结果与同步相机视图。

场景生成和验证

作为工作流的第三步也是最后一步,我们将非自主车辆轨迹与自主车辆轨迹相结合来完成场景的创建。为此,我们使用 Automated Driving Toolbox 中的 actorprops 函数将非自主车辆轨迹变换为世界坐标系。

完成这些操作后,我们将非自主车辆轨迹导出到 CSV 文件,并将该文件导入 RoadRunner Scenario,以将这些轨迹添加到场景中。然后,我们运行仿真来检查结果。

我们可以使用 RoadRunner Scenario 编辑该场景或将其导出为 ASAM OpenSCENARIO 格式。该场景随后可用于任何兼容 ASAM OpenSCENARIO 的仿真器和播放器,包括 esmini。

作为最后的验证步骤,我们将获得的场景与挡风玻璃相机的视图进行比较,以确认车道变更、车辆超车和其他事件的匹配情况。

一旦此工作流得到验证,我们就会应用它从更多的记录传感器数据集自动生成虚拟场景。这些虚拟场景随后用于测试 ADAS/AD 算法,作为我们仿真工作流的一部分。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2551

    文章

    51099

    浏览量

    753570
  • matlab
    +关注

    关注

    185

    文章

    2976

    浏览量

    230474
  • adas
    +关注

    关注

    309

    文章

    2184

    浏览量

    208650
  • 自动驾驶
    +关注

    关注

    784

    文章

    13812

    浏览量

    166457

原文标题:安波福:从记录的传感器数据中获取驾驶场景

文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    未来已来,多传感器融合感知是自动驾驶破局的关键

    巨大的进展;自动驾驶开始摒弃手动编码规则和机器学习模型的方法,转向全面采用端到端的神经网络AI系统,它能模仿学习人类司机的驾驶,遇到场景直接输入传感器
    发表于 04-11 10:26

    无人驾驶电子与安全

    认为:“无人驾驶目前的两种技术路线,传统汽车厂商更趋向于通过技术的不断积累,场景的不断丰富,逐步辅助驾驶过渡到半自动驾驶,进而最终实现无人
    发表于 02-22 16:07

    汽车ADAS系统传感器

    来观察同一场景。所有传感器技术都有其固有的限制因素和优势。不同的传感器技术可以被组合在一起,将来自同一场景下的不同传感器
    发表于 09-11 14:04

    如何在ardupilot获取传感器数据和发送传感器数据

    请问有人知道在ardupilot源码GPS数据是怎么获取或发送出去的吗?其他传感器又是怎样呢?
    发表于 07-15 03:15

    自动驾驶汽车传感器的分析

    特斯拉在五月份发生的自动驾驶事故,和最近在Defcon上演示的如何干扰传感器,都充分说明了传感器在自动驾驶的重要性:环境感知是自动
    发表于 05-14 07:34

    这些自动驾驶传感器,你了解多少?

    传感器技术发展本身来说,要在接下来十年里保证自动驾驶车安全地上路,硬件性能与背后的软件算法,以及不同传感器之间的数据融合,都是需要提升的地
    发表于 05-18 06:11

    辅助驾驶到自动驾驶: 感知型车辆建立在底层高质量的传感器数据基础之上

    这就好比是我们时代的登月计划。传感器到人工智能(AI),经典的电子供应链已经形成了一个协作矩阵,致力于实现自动驾驶车辆的安全性。为此,还需进行大量硬件和软件开发工作,以确保驾驶员、乘
    发表于 06-16 18:53

    在ADAS应用程序中使用MIPI CSI-2端口复制记录传感器数据的方法

    随着高级驾驶员辅助系统(ADAS)促成自动驾驶,对机器视觉、查看、并行处理和数据记录的聚合视频传感器数据
    发表于 08-21 07:31

    构建一个无线传感器记录驾驶情况

    描述RejsaRubberTrac - - v1.1记录和查看比赛和赛道日赛车的轮胎温度每个车轮大约 100 美元,您就可以构建自己的无线传感器记录您的驾驶情况。然后,您会很容易地看
    发表于 09-13 06:02

    传感器数据采集/总线数据采集记录知识分享

    数据采集及为何要做数据采集★ 什么是传感器数据采集(测试与测量)数据采集数据采集的含义很广。又称数据
    发表于 09-26 16:25

    怎样使用BSP_MOTION_SENSOR_GetAxes函数传感器套件获取数据

    请问怎样使用BSP_MOTION_SENSOR_GetAxes函数传感器套件获取数据(陀螺仪+加速)呢?
    发表于 12-13 08:24

    USB传感器与存储数据记录的应用

    USB传感器与存储数据记录的应用 目前市场上有很多种数据采集设备可用于在PC上
    发表于 04-22 18:32 503次阅读

    如何在 ADAS 应用中使用 MIPI CSI-2 端口复制记录传感器数据

    如何在ADAS应用程序中使用MIPICSI-2端口复制记录传感器数据 由于高级驾驶员辅助系统(ADAS)促成自动驾驶,机器视觉、查看、并行处
    发表于 04-26 14:16 1225次阅读
    如何在 ADAS 应用中使用 MIPI CSI-2 端口复制<b class='flag-5'>记录</b><b class='flag-5'>传感器</b><b class='flag-5'>数据</b>

    如何各种传感器获取数据并将其记录在SD卡上

    此代码每5秒将当前传感器数据转储到.txt文件。您可以根据需要更改转储之间的等待时间。
    的头像 发表于 11-20 10:50 4606次阅读

    如何您喜爱的传感器获取数据

    对于上述所有传感器,模拟信号可能会有所不同。一些传感器,如pH/化学传感器,提供高阻抗输出。许多其他器件提供非常小/低电平的信号,很难从中提取噪声的真实信息。其他的,如热电偶,产生非线性信号,每种类型的热电偶都不同。让我们考虑每
    的头像 发表于 01-05 14:52 1790次阅读
    如何<b class='flag-5'>从</b>您喜爱的<b class='flag-5'>传感器</b><b class='flag-5'>中</b><b class='flag-5'>获取</b><b class='flag-5'>数据</b>