鉴源实验室|自动驾驶仿真测试技术分析

news2024/11/15 8:00:46

01

引言

随着科技的不断发展,自动驾驶技术逐渐成为汽车行业的热门话题。然而,要将自动驾驶车辆投放到真实道路上之前,必须进行广泛的测试,以确保其在各种情况下都能安全可靠地运行。自动驾驶车辆的测试是一个复杂而昂贵的过程。在真实道路上进行测试存在许多挑战,包括安全性、成本和时间。为了克服这些问题,仿真测试技术不失为一种有效的解决方法。

自动驾驶仿真测试是通过虚拟环境来模拟各种驾驶场景,以评估自动驾驶系统的性能。自动驾驶汽车的仿真测试的核心技术点主要可以分为虚拟场景仿真、感知系统仿真、车辆动力学仿真以及云加速仿真[1]。

02

虚拟场景仿真

自动驾驶汽车的仿真测试,首先需要模拟构建出一个逼真的虚拟场景,而场景的构建可以分为静态场景构建和动态场景构建两个层面[2]。

2.1 静态场景构建

静态场景主要用于模拟出与车辆行驶相关的静态元素,其中包含的静态元素有道路、建筑、交通标志等。构建静态场景的方法可以采用基于高精度地图及三维重建技术[3]。基于高精度地图及三维重建技术来构建场景,首先需要采集点云、全景图、测绘矢量等非结构化的测绘数据,并将测绘数据结构化,构建厘米级的高精度地图,其中包含路面、道路标线、交通标识等信息,之后以此为基础,使用三维建模软件建立基础设施与周边环境的可视化数字模型。

图1 静态场景(来源于Carsim的demo)

2.2 动态场景构建

动态场景包括天气变化(雨、雪、雾等天气状况)、时间变化(不同时间和季节的光照条件等)、交通流(交通参与者的行为,例如机动车行为、非机动车行为、行人行为)等动态要素。动态场景的构建是在静态场景的基础上,还原出场景中的动态元素,并且使得这些元素的动作及其产生的影响严格遵循现实世界的物理规律以及行为逻辑。动态场景的构建,可以借助物理引擎、AI Agent 等来实现。

物理引擎可以模拟出物体在真实世界中的物理规律,赋予真实的物理属性的方式来计算运动和碰撞行为等。物理引擎可以模拟刚体(硬物体)和软体(如布料、液体等)的运动和变形,从而更全面地模拟多样化的物体行为。

AI Agent (人工智能体)是一种能够感知环境、进行决策和执行动作的智能实体。在虚拟场景中,AI Agent 可以做出决策,选择合适的行为,并规划最优路径以实现目标;可以模拟对环境的感知能力,例如通过传感器获取周围物体的信息,以便做出合适的决策;可以模拟智能体之间的协作行为,例如避让、跟随、协同工作等。此外,Agent AI还具备学习能力,能够根据经验调整其行为。

03

感知系统仿真

自动驾驶车辆依赖于各种传感器,如摄像头、雷达和激光雷达等。仿真测试技术需要能够准确模拟这些传感器的输入,以确保自动驾驶系统在虚拟环境中能够正确地感知和理解周围的环境。传感器仿真指的是数学模型和计算机算法来模拟和重现真实世界中传感器所能感知的物理现象的过程[4]。它可以在虚拟环境中重现传感器的工作情况,从而在没有实际硬件的情况下评估和测试传感器的性能。

3.1 摄像头仿真

摄像头仿真的一般方法是基于环境物体的几何空间信息构建对象的三维模型。根据物体的真实材质与纹理,并通过计算机图形学对三维模型添加颜色与光学属性等,来模拟实现图像合成。摄像头仿真通过坐标系转换的方法,将三维空间中的点通过透视关系变换为图像上的点。

3.2 毫米波雷达仿真

雷达(无线电探测与测距)仿真是一种模拟雷达系统操作的过程,它可以重现雷达波的传播、目标的检测和回波的分析。雷达仿真一般会根据配置的视场角和分辨率信息,向不同方向发射一系列虚拟连续调频毫米波,并接收目标的反射信号。不同车辆的雷达回波强度可使用微表面模型能量辐射计算方式,由车辆模型以及车辆朝向、材质等计算。

3.3 激光雷达仿真

激光雷达(或LiDAR,Light Detection and Ranging)仿真则是模拟使用激光扫描来构建物体或环境的三维图像的过程。激光雷达传感器仿真,需要准确模拟出发射激光束并测量其反射,生成点云数据。生成模拟的激光雷达点云数据,其中包含了周围环境中的物体位置和形状信息。

04

车辆动力学仿真

自动驾驶汽车在仿真测试中,需要借助车辆动力学模型来模拟车辆的横向和纵向运动控制,还原出车辆在真实道路上各种物理条件下的行为[5]。复杂的车辆动力学模型,可以保证车辆有良好的仿真精度,使仿真车辆的行驶反应更贴近真实行为。因此,车辆动力学仿真,可以逼真地模拟出车辆的运动、碰撞检测和处理,以及不同路面条件对车辆行驶的影响等等。

车辆动力学模型包含了车体、悬架系统、转向系统、制动系统、动力系统、 传动系统等多个部分的模型,通过将车辆动力学模型实例参数化之后,就可以实现对仿真车辆模型的转向、加速、制动等行为的模拟和控制。

借助专业的车辆动力学仿真软件可以模拟出高精度的车辆动力学模型,同时,一些强大的车辆动力学仿真软件还可以提供车辆可视化和驾驶场景搭建功能。目前,专业的车辆动力学仿真软件,有 CarSim、Prescan、CarMaker、VI-Grade、VeDYNA 和 PanoSim 等,仿真平台可以接入这些成熟的车辆动力学模型,以获得比较逼真的行驶控制仿真效果。

图2 车辆动力学模型(来源于Carsim的demo)

05

云加速仿真

自动驾驶仿真测试系统在进行仿真任务时需要访问大量采集或者生成的数据,并根据生成的数据利用 CPU 和 GPU 资源对数据进行再处理并还原,或者对已经结构化的数据进行 GPU 渲染再现。这些仿真任务都需要依赖强大的计算和存储能力,而借助云加速仿真的技术,可以高效执行大规模的仿真任务。

云加速仿真是指利用云计算平台的强大计算和存储能力,通过将仿真任务迁移到云端来加速仿真过程。这种方法可以显著提高仿真效率,减少仿真时间,同时降低了对本地硬件资源的依赖。同时,云加速仿真可以通过并行化和分布式计算来加速任务的执行。云平台提供了强大的计算资源,可以同时处理多个任务或者将一个大任务分解成多个子任务并行执行,从而提高仿真效率。

06

小结

自动驾驶仿真测试技术在推动自动驾驶技术的发展中发挥着重要作用。通过在虚拟环境中模拟各种复杂情景,该技术降低了测试成本、提高了安全性,并加速了自动驾驶系统的迭代和创新。然而,仍然有一些挑战需要克服,如提升虚拟场景的逼真度、提高传感器模拟精度等。未来,随着技术的不断发展,自动驾驶仿真测试技术将继续演进,为自动驾驶技术的商业化和普及做出更大的贡献。

参考文献:

[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]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.

[5]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.

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

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

相关文章

Flink Kubernetes Operator 介绍

一、简介 Flink Kubernetes Operator是针对在Kubernetes上运行Apache Flink应用程序而设计的工具。它充分利用了Kubernetes的优势,实现了对Flink集群的弹性管理和自动化操作,通过扩展Kubernetes API的方式,提供了管理和操作Flink部署的功能。…

C语言——详解字符函数和字符串函数(上)

目录 一、strlen的使用和模拟实现 1.strlen()函数的介绍 2.strlen()函数的具体使用 3.strlen函数的注意事项 4.strlen函数的模拟实现 二、strcpy的使用和模拟实现 1.strcpy()函数的介绍 2.strcpy()函数的具体使用 3.strcpy()函数的注意事项 4.strcpy函数的模拟实现 …

【MySQL自身的性能优化】InnoDB 的 Buffer Pool

这里写目录标题 一、引入缓存的重要性二、InnoDB 的 Buffer Pool1. Buffer Pool 内部组成2. free 链表管理空闲页3. flush 链表管理脏页4. LRU 链表提高缓存命中那咱需要咋地解决预读问题呢?那咱需要咋地解决 Buffer Pool 污染问题呢? 5. 脏页什么时候被…

Spring Cloud可视化智慧工地大数据云平台源码(人、机、料、法、环五大维度)

智慧工地平台是依托物联网、互联网、AI、可视化建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度,以及施工过程管理的进度、质量、安全三…

鸿蒙harmony--数据库sqlite详解

今天是1月20号星期六,早安,岁末大寒至,静后春归来。愿他乡故人,漂泊有归宿,前程有奔赴,愿人间不寒,温暖常伴,诸事顺利,喜乐长安。 目录 一,定义 二&#xff…

Python seaborn库的边框设置(Seaborn篇-02)

Python seaborn库的边框设置(Seaborn篇-02)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔…

Swin版VMamba来了!精度再度提升,VMamba-S达成83.5%,超越Swin-S,已开源!

本文首发:AIWalker 就在昨日,华科王兴刚团队公开了Mamba在ViT的入局Vim,取得了更高精度、更快速度、更低显存占用。相关信息可参考: 入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更…

钡铼 楼宇暖通网关之 BACnet网关在空气源热泵智能控制系统中的应用介绍

前言 在刚刚过去的2023年,空气源热泵市场依然火爆,全线市场销量递增,各种新品层出不穷,市场认可度持续攀升,在整个采暖市场,空气源热泵已然成为当红明星。 热泵组管道比较复杂,传感器分布比较分…

vue2 使用pdf.js 实现pdf预览,并可复制文本

需求:pdf预览,并且可以选中pdf的内容进行复制。 在ruoyi的vue前端项目中用到,参考了网上不少文章,因为大部分没给具体的pdf.js版本,导致运行过程中报各种api 错误,经过尝试以下版本可用&#xff0c…

Linux中的新建用户、切换用户

目录 一、Linux系统中有哪些用户 二、新建普通用户 三、root账号与普通账号的切换 一、Linux系统中有哪些用户 1.root 超级管理员(不受权限约束) 2.其他用户 普通用户(受到权限约束) 二、新建普通用户 创建新用户 sudo user…

HarmonyOS鸿蒙学习基础篇 - 项目目录和文件介绍

vue_basic├── hvigor //存储购置信息的文件,主要用于发布打包 ├── idea //开发工具相关配置可忽略 ├── AppScope //工程目录 全局公共资源存放路径 │ └── resources │ │ └── base │ │ │ └── element //常亮存放 │ │ …

2023年中国互联网测试开发大会(MTSC2023上海站):核心内容与学习收获(附大会核心PPT下载)

在当今快速发展的互联网时代,软件质量与用户体验的保障离不开测试开发工程师的辛勤付出。本次峰会正是在这样的背景下应运而生,旨在汇聚业界精英,共同探讨测试开发的最新技术与实践。本文将深入剖析大会的核心内容,以及参与者从中…

零日漏洞:威胁与应对

一、引言 随着信息技术的迅猛发展,网络安全问题日益凸显。其中,零日漏洞已成为当今网络安全领域最受关注的问题之一。本文将深入探讨零日漏洞的威胁、产生原因以及应对策略,以期提高人们对这一问题的认识和防范意识。 二、零日漏洞的威胁 …

elementUI+el-upload 上传、下载、删除文件以及文件展示列表自定义为表格展示

Upload 上传组件的使用 官方文档链接使用el-upload组件上传文件 具体参数说明,如何实现上传、下载、删除等功能获取文件列表进行file-list格式匹配代码 文件展示列表自定义为表格展示 使用的具体参数说明文件大小展示问题(KB/MB)文件下载代码…

Ubuntu中查看IP地址的常用命令及使用方法

在Ubuntu操作系统中,了解和查看IP地址是进行网络配置、故障排除以及连接其他设备的重要一步。 以下是几个常用的命令来查看IP地址: 一、ifconfig命令 输入ifconfig 输出如图所示,即为ip地址 如若提示没有ifconfig命令,则可以使用…

node.js(expree.js )模拟手机验证码功能及登录功能

dbconfig.js const mysql require(mysql) module.exports {// 数据库配置config: {host: localhost, // 连接地址port: 3306, //端口号user: root, //用户名password: wei630229, //密码database: exapp2, //数据库名}, // 连接数据库,使用mysql的连接池连接方式…

力扣36. 有效的数独

模拟 思路: 使用三个哈希表来存储数字个数 row[r][val] 用于存储第 r 行 val 1 的个数;column[c][val] 用于存储第 c 列 val 1 的个数; subboxes[i][j][val] 用于存储第 i 行、第 j 列个小九宫格 val 1 的个数,其中&#xff1…

原生微信小程AR序实现模型动画播放只播放一次,且停留在最后一秒

1.效果展示 0868d9b9f56517a9a07dfc180cddecb2 2.微信小程序AR是2023年初发布,还有很多问提(比如glb模型不能直接播放最后一帧;AR识别不了金属、玻璃材质的模型等…有问题解决了的小伙伴记得告诉我一声) 微信官方文档地址 3.代码…

HashMap 的底层实现#JDK1.8 之前

最近很多同学问我有没有java学习资料,我根据我从小白到架构师多年的学习经验整理出来了一份50W字面试解析文档、简历模板、学习路线图、java必看学习书籍 、 需要的小伙伴 可以关注我公众号:“ Tom聊架构 ”, 回复暗号:“ 578”即…

递归、搜索与回溯算法(专题一:递归)

往期文章(希望小伙伴们在看这篇文章之前,看一下往期文章) (1)递归、搜索与回溯算法(专题零:解释回溯算法中涉及到的名词)【回溯算法入门必看】-CSDN博客 接下来我会用几道题&#…