自动驾驶仿真测试介绍

news2024/10/2 12:28:17

作者 | 楼泽如 上海控安可信软件创新研究院研发工程师

来源 | 鉴源实验室

01 

引 言

自动驾驶汽车的兴起,正在重新定义汽车行业。随着自动驾驶技术的发展,自动驾驶汽车将会大大提升交通安全、减少事故发生、减少交通拥堵、提高公路容量等等,为人类带来前所未有的便利。然而,由于自动驾驶汽车需要面对复杂的交通环境和意外事件,使得自动驾驶汽车的开发和测试颇具挑战性。

传统的自动驾驶测试方法包括在实际道路上进行封闭场地和公共道路测试,但这些方法都存在很大的安全风险和高成本。因此,自动驾驶仿真测试逐渐成为了自动驾驶汽车开发过程中必不可少的一部分,对于提高自动驾驶汽车的安全性、可靠性、精度和性能等方面都有着重要的意义。仿真测试不仅可以在更加安全、低成本的环境下进行测试,而且可以提供更多的测试数据和测试情况,加速自动驾驶汽车的开发和实际应用。

02 

自动驾驶仿真测试的重要性

自动驾驶仿真测试是一种通过仿真技术来模拟测试自动驾驶汽车的功能和性能的方法,以评估自动驾驶汽车的可靠性、安全性和适应性等,便于优化自动驾驶汽车的功能、性能和行驶体验。

自动驾驶仿真测试凭借其测试场景丰富、计算速度快、测试效率高、资源消耗低、可重复性好、可嵌入汽车开发的各个环节等原因,能够很好地在实际路面行驶之前,对车辆进行全面、安全的测试。这种测试方法可以提高自动驾驶系统的安全性和可靠性,并减少实际测试的风险和成本,加速自动驾驶技术的发展和应用。仿真测试在自动驾驶技术开发中具有以下几个重要性和必要性:

(1)安全性保障:自动驾驶汽车具有高度的复杂性和安全性要求,直接进行实地测试会存在很高的风险。仿真测试可以在虚拟环境中模拟各种复杂的路况和交通情况,对自动驾驶汽车的各项功能进行测试,从而发现潜在的安全隐患,保障自动驾驶汽车的安全性。

(2)成本效益:自动驾驶汽车的研发需要大量的测试,如果全部在实际道路上进行测试,将会耗费大量的时间和金钱。仿真测试可以在虚拟环境中快速、精准地模拟各种场景和情况,有效地降低测试成本,缩短研发周期,提高测试效率。

(3)多样化的测试场景:仿真测试可以模拟各种复杂的路况、天气状况、道路建设和交通情况等,进行多种不同情况下的测试,以确保自动驾驶汽车的安全性和可靠性。

(4)提高测试覆盖率:仿真测试可以模拟大量测试场景,提高测试的覆盖率和深度,从而更好地发现和解决潜在的问题。

(5)系统性的测试:自动驾驶汽车涉及到多个系统的协同作用,仿真测试可以对整个系统进行系统性的测试,确保系统各个部分的配合协调性。

03 

自动驾驶仿真测试的类型

自动驾驶仿真测试作为一种高效、安全、低成本的测试方法,会针对自动驾驶系统的功能和性能、安全性、可靠性等,进行全面、充分的测试,以保证自动驾驶汽车能够达到路面行驶的要求。自动驾驶汽车的功能测试是测试自动驾驶汽车是否能够按照预期执行各种功能,例如遵守交通规则、感知道路标志和障碍物等。Huang等[3]将功能测试分为:

(1)感知层功能测试:感知测试主要用于测试自动驾驶汽车的感知能力,包括车道线和道路标志的检测、障碍物识别和检测、行人检测和识别等。感知测试的目的是检查自动驾驶汽车的感知系统在不同的情况下的准确性和稳定性。

(2)决策层功能测试:决策测试主要用于测试自动驾驶汽车的决策能力,包括行驶路径规划、车辆间的跟车和超车等情况。决策测试的目的是检查自动驾驶汽车的决策系统在不同的情况下的正确性和合理性。

(3)控制层功能测试:控制测试主要用于测试自动驾驶汽车的控制能力,包括加速、制动、转向等控制。控制测试的目的是检查自动驾驶汽车的控制系统在不同情况下的稳定性和精度。

除了功能测试以外,还有一些其他的测试类型也被广泛应用于自动驾驶仿真测试中,比如安全测试、性能测试等。安全测试主要用于测试自动驾驶汽车在紧急情况下的反应能力和安全性。安全测试的目的是检查自动驾驶汽车的安全性,例如急刹车或避让等威胁场景中自动驾驶汽车是否能安全应对。而性能测试主要用于测试自动驾驶汽车的性能表现,例如加速、最高速度、燃油效率等。性能测试的目的是检查自动驾驶汽车的性能表现是否符合设计要求。

需要注意的是,自动驾驶汽车的测试不仅仅是仿真测试,还需要在实际路况下进行测试。实际测试可以验证仿真测试的结果,同时也可以发现一些仿真测试无法模拟的特殊情况。因此,自动驾驶汽车的测试需要结合仿真测试和实际测试,以保证测试结果的准确性和可靠性。

04 

自动驾驶仿真测试的方式

汽车的V字开发流程是一种经典的产品开发流程,它将整个产品开发过程划分为左侧的需求分析、设计、开发等阶段,以及右侧的系统测试、集成测试等阶段,形成一个“V”字形状,因此被称为“V字开发流程”。

图1 汽车的V字开发流程[3]

针对自动驾驶的仿真测试同样也必须满足汽车的 V 字开发流程,具备覆盖 SIL(软件在环)、HIL(硬件在环)、VIL(车辆在环)全流程验证的能力。

(1)软件在环测试(Software-in-the-Loop,SIL)

软件在环测试是在开发的早期,将被测试的软件系统结合到仿真环境中进行测试。在SIL测试中,采用仿真环境来执行软件,而不是将软件实际加载到目标硬件中执行。在SIL测试中,可以对软件的算法和逻辑进行测试和验证,以检查其是否符合规格和设计要求。SIL测试可以在早期发现软件问题,这样可以更快地纠正错误,降低软件开发成本,并加快产品上市时间。

(2)硬件在环测试(Hardware-in-the-Loop,HIL)

硬件在环测试是指将真实的汽车硬件设备与模拟的系统环境相结合,通过模拟各种实际的驾驶场景和条件,对硬件进行测试和验证。在 HIL 测试中,真实的硬件设备(如控制器、传感器、执行器等)被连接到模拟的虚拟系统环境中。整个虚拟的系统环境向硬件设备发送模拟信号,从而模拟出真实的自动驾驶场景。例如,在对ECU进行测试时,ECU会接收到仿真环境发出的各种信号和数据,车速、转速、油门踏板信号、刹车信号等。通过这些信号和数据,ECU可以模拟不同的驾驶场景,例如加速、制动、转弯、变道等。

(3)车辆在环测试(Vehicle-in-the-Loop,VIL)

车辆在环测试是指将实际车辆放置在测试环境中进行测试的方法。在VIL测试中,车辆被连接到仿真系统,仿真系统提供了场景和其他车辆的虚拟信息,通过控制车辆的行为,进行测试和验证。汽车通过实际的控制系统与仿真环境进行交互,例如汽车的传感器(如雷达、摄像头)可以接收来自仿真环境的虚拟信息,汽车的控制系统也可以将车辆的实际状态(如速度、转向、制动)反馈给仿真环境。

05 

小 结

在未来的自动驾驶汽车研发中,自动驾驶仿真测试将继续发挥重要的作用,在保证安全的前提下,大幅降低测试成本,并且覆盖更广泛的测试场景。同时,自动驾驶仿真测试也需要不断发展和改进,加强模拟环境的复杂性,提高数据的准确性和可靠性,提升模拟场景与真实场景的一致性,从而更好地满足自动驾驶汽车的测试需求,促进自动驾驶技术的发展。

参考文献:

[1]中国电动汽车百人会. 中国自动驾驶仿真蓝皮书 [R]. (2020) .

[2]朱冰,张培兴,赵健,陈虹,徐志刚,赵祥模,邓伟文.基于场景的自动驾驶汽车虚拟测试研究进展[J].中国公路学报,2019,32(06):1-19.DOI:10.19721/j.cnki.1001-7372.2019.06.001.

[3]Huang W L, Wang K, Lv Y, et al. Autonomous vehicles testing methods review[C]//2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC). IEEE, 2016: 163-168.

[4]Schöner H P. Simulation in development and testing of autonomous vehicles[C]//18. Internationales Stuttgarter Symposium: Automobil-und Motorentechnik. Springer Fachmedien Wiesbaden, 2018: 1083-1095.

[5]Rosique F, Navarro P J, Fernández C, et al. A systematic review of perception system and simulators for autonomous vehicles research[J]. Sensors, 2019, 19(3): 648.

 

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

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

相关文章

我这样实现Promise

一、剖析Promise的基础框架 要实现Promise原理,肯定得先明白其原理。Promsie的基础框架如下: // 挂在原型上的方法,实例对象可以访问并且使用 MyPromise.prototype.then function(onResolved, onRejected) {//.then接收两个函数类型的形参…

Elasticsearch7.8.0版本进阶——文档分析 分析器

目录一、文档分析过程二、分析器三、内置分析器3.1、标准分析器3.2、简单分析器3.3、空格分析器3.4、语言分析器四、分析器使用场景五、分析器的测试示例一、文档分析过程 将一块文本分成适合于倒排索引的独立的词条。将这些词条统一化为标准格式以提高它们的“可搜索性”&…

RFID在产线上的作用

RFID在产线上的作用RFID技术应用于产线监控,可以实现产线的自动控制和检测。RFID读写器每识别一个产品标签,就可以将数据传输到电脑程序中,记录每1件产品的原料和来源、生产线位置、生产过程和库存状况等信息,为企业更好地管理生产…

实现基于国密SM3的密钥派生(KDF)功能

实现基于国密SM3的密钥派生(KDF)前言KDF 标准基于SM3的kdf实现前言 密钥派生函数(KDF):密钥派生函数是指从一个共享的秘密比特串中派生密钥数据,在密钥协商过程中,密钥派生函数作用在密钥交换所…

davis2016评估教程

DAVIS 2016是VOS任务中的一个经典的benchmark,但是一些VOT的算法有时候也可以预测mask,所以也会在上面测一测性能,本次就随手记录一下自己评测的过程,有需要的小伙伴可以往下看。 DAVIS 2016数据集官方项目网站:https:…

【微信小程序】-- 常用的基础内容组件介绍 -- text rich-text progress icon(七)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#…

获取Windows11开发环境及VirtualBox配置指南

今天我们来讲一讲Windows11开发环境的快速搭建,主要是通过Virtualbox虚拟机安装微软官方预先配置好的Windows11环境包,配置简单,开箱即用。 获取虚拟机打包镜像 微软官方提供了多个系统平台的Windows11虚拟机镜打包镜像,只需要导…

维格云社区版APItable

目录 ✨ 快速开始 🔥 功能特性 💥 应用场景 💞 面向 API 💝 嵌入友好 安装 🧑‍💻 贡献 开发环境 Git 工作流基础 工作约定

[零刻] SER5 Pro 迷你主机:从开箱到安装ESXi+虚拟机

开箱先上图: SER5Pro这个小主机采用了AMD580H的处理器,性能相当强悍,用来做All in one主机非常合适,特别是独有的背面散热系统,可以同时给内存和硬盘散热,在长期运行下散热完全不用担心稳定性,放…

揭穿数据分析的六大谎言

目前许多企业在决策时仍沿用以往的个人经验,没有用数据说话,这在实际决策运行时会出现很多问题。在数据分析行业发展成熟的国家,90%的市场决策和经营决策都是通过数据分析研究确定的。用数据说话,重视定量分析,也逐渐成…

十年测试大佬教你如何从零到一落地接口自动化测试?

目录 为什么要做接口测试 理解接口和接口测试 如何落地接口自动化测试 总结 重点:配套学习资料和视频教学 为什么要做接口测试 测试理念的演变 早些时候,软件研发交付流程大多遵循V型或W型的瀑布模式,这种模式下只有开发编码完成才会提测…

学生白嫖阿里服务器

测试答案,直接CtrlF查找即可 WEB2.0时代黑客攻击的主要目标集中在(A) A. 互联网应用 B. 穿透防火墙 C. 破坏操作系统 D. 计算机硬件 以下常见的通讯协议中,不属于应用层协议的有(B) A. FTP B. TCP/IP C. HT…

腾讯云服务器部署onnxruntime-gpu经验总结

前言 有项目需要用onnxruntime-gpu进行推理,原以为像windows一样在已经有cuda的情况下直接安装onnxruntime-gpu即可,却没想到这么麻烦,故分享此文帮助后来者。 环境 gpu计算型英伟达v100云服务器。 在选择安装系统时已经选择了最高版本如下…

嵌入式 STM32 实现STemwin移植+修改其配置文件,驱动LCD显示文本 (含源码,建议收藏)

目录 一、STemwin 简介 二、源码下载 1、在移植STemwin源码之前,需要一个已经具备LCD读写,填充指定颜色等函数功能的一个工程; 2、STemwin 3、源码下载 三、STemwin移植 1、解压源码路径 2、STemwin文件介绍 四、修改配置文件&…

【PyTorch】教程:DCGAN

DCGAN 本教程将通过一个示例来介绍 DCGAN。 我将训练一个生成对抗网络 (GAN) ,在向其展示许多真实名人的照片后生成新的名人。这里大部分代码来自于 pytorch/examples 。本文档针对这些实现进行全面解释,并阐述该模型的工作方式和…

在windows搭建Redis集群并整合入Springboot项目

搭建集群配置规划Redis集群编写bat来启动每个redis服务安装Ruby安装Redis的Ruby驱动出现错误镜像过期SSL证书过期安装集群脚本redis-trib启动每个节点并执行集群构建脚本测试搭建是否成功配置springboot项目中配置规划Redis集群 我们搭建三个节点的集群,每个节点有…

骨传导耳机推荐哪款好,列举几款是市面上热销的骨传导耳机

​骨传导耳机是一种新型的耳机类型,通过震动和声音将振动传到了耳道外,对耳道不会产生损伤,能够保护听力。相比于传统耳机的优势有很多,比如运动时佩戴更加稳固,也可以在听歌时与人交谈。但在市面上的骨传导耳机款式可…

无重叠区间-力扣435-java贪心策略

一、题目描述给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。示例 1:输入: intervals [[1,2],[2,3],[3,4],[1,3]]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。…

Spring MVC 源码- HandlerAdapter 组件(四)之 HandlerMethodReturnValueHandler

HandlerAdapter 组件HandlerAdapter 组件,处理器的适配器。因为处理器 handler 的类型是 Object 类型,需要有一个调用者来实现 handler 是怎么被执行。Spring 中的处理器的实现多变,比如用户的处理器可以实现 Controller 接口或者 HttpReques…

服务器部署—XShell连接阿里云服务器,linux系统里面数据库访问乱码怎么办?

我是用的xshell连接的云服务器,今天想在服务器上面部署一个项目,但是当我在数据库里面安装mysql之后,通过select的sql语句查询数据,在表里面的中文出现乱码,给我直接干懵了,这个怎么办?而且还有…