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

2024-01-20 07:12

本文主要是介绍鉴源实验室|自动驾驶仿真测试技术分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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.chinasem.cn/article/625187

相关文章

关于MyISAM和InnoDB对比分析

《关于MyISAM和InnoDB对比分析》:本文主要介绍关于MyISAM和InnoDB对比分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录开篇:从交通规则看存储引擎选择理解存储引擎的基本概念技术原理对比1. 事务支持:ACID的守护者2. 锁机制:并发控制的艺

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性