康谋分享 | 直面AD/ADAS快速开发挑战:IVEX自动驾驶场景管理及分析平台!
过去十年,自动驾驶和高级驾驶辅助系统 (AD/ADAS) 软件和硬件的开发成为了各大汽车公司的主要投资目标之一。各大汽车公司对 AD/ADAS 持续不断的投资加快了 AD/ADAS 组件的开发周期,但也揭示了目前需要解决的重大挑战——如何快速了解开发 AD/ADAS 组件中的车辆行为,以便进行改进!
一、方案背景
由于 AD/ADAS 的运行环境很复杂,从仿真到真实驾驶,任何 AD/ADAS 组件的每次更改都需要根据大量场景进行验证。然而,场景数量庞大且每天都在增长,传统的机器人开发支持工具(如 RVIZ)无法满足我们的需求。例如,RVIZ只允许我们实时检查车辆的行为,很难快速跳转到任何特定事件。
为此,康谋推出IVEX自动驾驶场景管理及分析平台来克服这一难题。IVEX是一个基于云的平台,包含许多功能来支持 AD/ADAS 的验证和开发。
下文康谋将为您分享在AD/ADAS开发中使用IVEX的经验。
二、康谋方案——IVEX自动驾驶场景管理及分析平台

图1 IVEX页面
1、数据输入
我们通过将原始数据转换为所需的格式,然后将转换后的数据上传到基于云的服务器来与安全分析平台进行交互。平台的输入数据以 Protobuf 消息格式定义,包括执行期间有关环境和AD/ADAS 行为的信息,例如:
a.自车状态变量,例如位姿、速度、加速度和转向角;
b. 自我车辆规划轨迹;
c.障碍物信息,如位姿、边界框、速度和类型;
d.上下文图像;
e.标记事件,其中每个事件由一个标签和相应的时间戳组成;
2、场景执行结果
(1)格式
IVEX清晰且定义良好的输入格式有助于无缝处理不同的数据格式。由于场景来自不同的来源,因此场景执行结果具有不同的格式,例如 Autoware ROS2 Bags、Apollo Cyber Records、Carla Simulator 日志格式和其他商业模拟器日志格式。
对于每种数据格式,我们都有一个适配器(通常只是一个 Python 脚本),用于将数据转换为安全分析的 Protobuf 输入格式。Protobuf 是大多数工程师都熟悉的格式。通常只需几个小时即可开发一个适配器,将新的数据格式转换为安全分析的 Protobuf 输入格式。
(2)上传

图2 将数据上传到IVEX的命令行界面
通过命令行界面将场景执行结果上传到IVEX 平台。数据转换和数据上传都集成到 CI/CD 流程中。同时每位工程师都可以执行任何特定场景并将结果上传到 IVEX 平台。这种灵活性使我们能够快速试验AD/ADAS开发中的每项更改。
(3)检查
在 IVEX 的 Web 界面上检查场景执行结果。我们可以根据不同的元数据(例如执行日期、软件版本或场景名称)搜索、过滤和选择相关场景。

图3 IVEX的搜索功能示例
a.快速概览
由于场景验证通常是大量的,因此快速概览结果十分重要。使用 IVEX 的聚合视图可以实现快速概览。在筛选和选择感兴趣的场景后,可以访问聚合视图,该视图可快速提供有关所有标记事件的信息,这些事件按不同的操作设计域进行分类。标记的事件可以包含在要上传到 IVEX 的输入数据中,从而能够标记与验证任务相关的任何类型的事件。IVEX 还会自动标记几个标准事件,例如紧急刹车、关键碰撞时间等。
例如,当在IVEX中开发一项新功能并想要比较自主车辆以不同速度行驶时的结果时,启用聚合视图来显示按不同速度范围分类的信息,如下图所示。

图4 IVEX的聚合视图
b.快速导航
除了概览场景执行结果中发生的事件之外,我们还需要能够快速导航到特定事件以检查车辆的行为。从聚合视图可以直接跳转到任何感兴趣的事件。
例如,如果想检查当自车行驶速度超过 30 公里/小时时发生的紧急刹车事件,可以点击与该事件和速度相对应的框。事件的分布和特定时间戳的列表与上下文图像一起显示。点击任何一张卡片都会来到数据日志视图,该视图提供在特定时间戳发生的详细信息。

图5 聚合视图中事件选择示例

图6 在数据日志视图中检查急刹车事件
在数据日志视图中,可以详细检查事件。该视图具有详细的可视化功能,可显示当时的所有信息,包括自车的状态、地图、障碍物及其相关信息,例如速度、类型和与自车的距离。我们还可以从场景列表直接跳转到数据日志视图。

图7 数据日志视图的可视化
数据日志视图还帮助我们重播并查看场景中发生的情况。只需点击几下,我们就可以在每个时间戳之间来回切换。我们还可以看到所有标记的事件并导航到其中任何一个。使用此视图,可以快速评估和了解任何情况。

图8 跨时间观察障碍物

图9 快速导航至特定事件或时间戳
c. 团队共享
一旦发现需要进一步检查的事件,我们就可以与其他同事分享完全相同的视图,然后同事就可以随时检查该事件。在团队工作时,共享此类信息可以大大促进我们的沟通,并帮助我们专注于正确的方向。
三、结论
IVEX大大推动了AD/ADAS的开发工作:
a.轻松集成驾驶数据到平台
b.快速了解车辆行为
c.快速导航感兴趣事件
d.访问所有有价值的可视化信息了解情况
e.团队共享信息
我是分享自动驾驶技术的康谋,关注我,了解更多信息!
康谋分享 | 直面AD/ADAS快速开发挑战:IVEX自动驾驶场景管理及分析平台!的更多相关文章
- TOP100summit:【分享实录-WalmartLabs】利用开源大数据技术构建WMX广告效益分析平台
本篇文章内容来自2016年TOP100summitWalmartLabs实验室广告平台首席工程师.架构师粟迪夫的案例分享. 编辑:Cynthia 粟迪夫:WalmartLabs实验室广告平台首席工程师 ...
- [分享]我的LABVIEW快速开发串口测试软件实例
LABVIEW是美国国家仪器公司(National Instruments,简称NI)的创新产品,它允许编程人员使用图形方式来进行编程,摒弃了艰涩难懂的代码,只需要拖动相应图形控件然后连线,进行简单的 ...
- 痞子衡嵌入式:在IAR开发环境下RT-Thread工程函数重定向失效分析
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下RT-Thread工程函数重定向失效分析. 痞子衡旧文 <在IAR下将关键函数重定向到RAM中执行的方法> ...
- 【Bugly安卓开发干货分享】Android APP 快速 Pad 化实现
项目背景 采用最新版本手机 APP(之后称为 MyApp)代码,实现其 Pad 化,为平板和大屏手机用户提供更好的体验.为实现 MyApp 的 Pad 化工作,需要我们首先来了解一下 MyApp 项目 ...
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 几十套业务系统集中统一授权管理实现经验分享
由于这几年互联网电商的快速发展,快递公司也进入了快速发展的绝好快速成长期.随着社会的强劲需求公司的业绩年年攀新高.快速发展的公司都需要有强大的IT信息系统,硬件设备基本上款到了货也可以到了,但是软件系 ...
- 快速开发平台分享-UCML快速开发七种武器
传统的快速开发平台强调的是组件重用.构件重用,主要解决功能重用层面,一般提供了软件开发最常用的功能:表单设计.BPM(业务流程管理).报表.组织机构及权限等功能.但只有功能重用,没有过程重用,要么只能 ...
- 分享一个全开源的ASP.NET快速开发平台,能快速开发OA CRM ERP 等系统
bingo炸了 2017/3/30 16:28:14 阅读(870) 评论(0) 公司业务量比较大,接了很多项目,为了缩短开发周期老板让我牵头搭建了一个快速开发平台. 我们主要的业务是做OA.CRM. ...
- 快速开发Grunt插件----压缩js模板
前言 Grunt是一款前端构建工具,帮助我们自动化搭建前端工程.它可以实现自动对js.css.html文件的合并.压缩等一些列操作.Grunt有很多插件,每一款插件实现某个功能,你可以通过npm命名去 ...
- winform快速开发平台 -> 通用权限管理之动态菜单
这几个月一直忙APP的项目,没来得及更新项目,想想该抽出时间整理一下开发思路,跟大家分享,同时也希望得到宝贵的建议. 先说一下我们的权限管理的的设计思路,首先一个企业信息化管理系统一定会用到权限管理, ...
- 使用GizwitsOpenAPI,快速开发轻应用
导读:使用机智云提供的Open API(Http / WebSocket),可以快速开发网页或微信应用等基于html的轻应用,用于管理和控制智能设备.机智云 Open API 主要帮助开发者通过 HT ...
随机推荐
- MongoDB:数据库操作
- Kotlin:【初始化】延时初始化、惰性初始化、初始化的三个陷阱
- VulNyx - Ceres 靶机
有80端口 访问看看 他这个挺奇葩的看了wp才知道 file.php的参数是file 他会自动给你加上php 也就是说file=secret.php读不到数据要file=secret才能读到数据 伪协 ...
- 一、CAN协议基础知识
一.CAN总线基础知识 注:参考江科大教程,瑞萨电子<CAN入门教程>. CAN (Controller Area Network),是ISO国际标准化的串行通信协议.CAN协议经过ISO ...
- 在SOUI4中工作线程如果与UI线程交互
在SOUI4中工作线程如果与UI线程交互 很多时候程序的耗时过程需要在工作线程执行,执行过程中可能需要通过UI线程来展示运行状态及结果,这就涉及到工作线程与UI线程交互的问题. SOUI的UI框架本身 ...
- 浅谈基于SASE的安全云服务
本文分享自天翼云开发者社区<浅谈基于SASE的安全云服务>,作者:姚****亮 SASE(secure access service edge安全访问服务边缘):是一种安全框架,结合了软件 ...
- Docker安装教程
这里介绍两种安装方法:centsOS安装和Ubuntu安装 CentOS安装 linux内核版本建议3.8以上,作者本人使用的是3.10:查看内核版本命令:uname -r 一般CentOS7以上都可 ...
- nginx失效 nginx不起作用
nginx失效的原因 今天大晚上的,服务器更新了,重启了,然后我重新开一下后端,nginx. 奇了个怪,一直给我报404,而且不是nginx给我报的啊,就是普通的404,完全404了. 我看nginx ...
- Flink学习(十) Sink到Redis
添加依赖 <dependency> <groupId>org.apache.bahir</groupId> <artifactId>flink-conn ...
- web站点常见漏洞及解决方法
1.PHP Web表单哈希冲突拒绝服务漏洞 漏洞分析:PHP 5.3.9之前版本在计算表单参数哈希值的实现上存在拒绝服务漏洞,该漏洞源于未提前限制哈希冲突.攻击者可利用该漏洞通过发送小量的特制webf ...