MEMS/传感技术
随着智能驾驶领域的快速发展与普及,激光雷达的轻量化、电子化和芯片化也逐渐成为趋势。由于激光雷达不受光线影响、分辨力高、支持3D立体,点云还支持AI算法训练等优点,一些主流车型在L3级别的智驾功能应用上搭载了激光雷达,从而完成更可靠和准确的目标探测。
在L2+或L3级以上的智驾功能应用中,激光雷达可提供更高精度的融合定位和目标识别能力,也可基于丰富的点云信息完成高精地图的绘制。激光雷达发送和反射的追踪光线可通过不同材质的反射率可以识别到更加丰富的目标类型。 但是,在实验室环境下的智能驾驶HiL仿真测试阶段,采用真实激光雷达无法获取动态的环境信息,需要通过场景软件来进行动态场景仿真,从而完成周边感知环境信息的构建,此时需要进行激光雷达模型搭建和点云仿真。本文将介绍激光雷达的基础原理及仿真测试流程,希望能帮助应用者更好的理解激光点云的仿真过程。
01 什么是激光雷达
在讨论所有问题之前,需先了解激光雷达的基本组成结构,激光雷达主要由激光发射器、激光接收器以及激光计算单元组成。激光雷达的分类很多。常见的有机械旋转式、MEMS、转镜式、Flash等等。 以机械式激光雷达来简要说明其工作原理。激光雷达通过激光发射器将生成的激光光束向外发出,通过伺服电机与反光镜后,激光光束将被反射到各个方向,反射到周围环境中的激光会一直往前飞行,当激光在飞行途中与障碍物相交时,会触发激光产生折射或反射等现象,而反射的部分激光会原路返回至雷达的激光接收模块,最后通过计算单元解析生成点云数据。
图 1激光雷达工作基本原理图 在智能驾驶辅助车辆广泛应用毫米波和超声波雷达等传感器进行目标感知的前提下,为什么还要使用激光雷达呢?
激光雷达的广泛应用
(1)对于其他传感器来说,由于激光的传播速度为光速,因此这让激光雷达有很好的静态和动态探测能力。 (2)其丰富的点云信息可勾勒出目标轮廓,也可用于目标距离、方位、高度、速度和姿态信息的探测。相比于其他传感器,激光雷达探测精度和抗干扰能力更好,且能够比传统毫米波多探测一个高度的信息。 (3)在日益复杂和多元化的交通环境下,需要用到多传感器融合来感知自驾车辆周边环境,激光雷达可与其他传感器(如摄像头、毫米波雷达等)进行融合定位以提供更精确的环境感知。 (4)在一些L3级智驾功能策略及应用场景上,激光雷达目标设备优先级比较高,如Camera识别到目标但Lidar没识别到,感知算法融合后会判定没有目标,此时会极大影响后续的规划控制算法,从而影响智驾功能。
所以,在车辆高速环境下对静态物体的识别、远距离场景对行人及其他交通环境目标的识别,需要更加准确和类别化,激光雷达在高级智能驾驶的应用变得尤为重要。 在当前L2+ 和L3及以上智驾场景中,激光雷达由于产品芯片量产和技术的提高,价格也逐渐亲民化,因此在一些典型的中高端车型中逐渐趋向量产化。
02 激光雷达如何仿真 了解了激光雷达的基本工作原理后,可按照此原理来对激光雷达进行仿真,真实的激光雷达光线其实是从传感器发出到最后返回到传感器。那么在实际工程实践中,有没有一种方法来实现光线发射及反射来回过程的仿真呢?其实是有的——光线追踪(Optix)。
光线追踪
什么是光线追踪?在现实生活中,看到物体的完整光路历程如下图2所示。首先光源发出光线,光线在飞行过程中遇到障碍物后发生反射,反射的部分光线被人眼接收,最后在视网膜上生成图像。而光线追踪就是将这个过程反过来,光线由眼睛发出,最后通过复杂的光路历程回到光源处,这就是光线追踪。
光线追踪步骤
1、创建从环境到传感器光路的相反路径。 2、光线击中目标对象。 3、计算光线属性。 4、将光线属性写入缓存。
图 2光线追踪原理图 使用NVIDIA的OptiX API来完成上述工作,OptiX是一个在GPU上实现高性能光线追踪的应用程序框架,它提供了一套完整灵活的光线追踪算法。
图 3 Optix处理的基本逻辑 如图3,在知道基本的仿真逻辑以及明确了仿真数据之后,就可以编译相应的激光雷达模型了,编写完之后的激光雷达模型将会同仿真一起完成一系列复杂的计算过程,经过创建及配置光线、运算光线追踪算法和数据处理,最终输出需要的点云数据。
点云数据
想要知道点云数据具体包含的内容,首先需要解释一下点云是什么。点云就是某个坐标系下所有点的数据集群。而点云数据就是表示包含三维坐标XYZ、颜色、强度值等的数据集群。既然点云数据包含的点是三维坐标,然么激光雷达光线的出射方向该如何实现仿真呢? 为了使仿真的激光雷达光线的出射方向与真实激光雷达保持一致,需要将真实的激光雷达光线的出射角度转换成三维方向坐标后打包生成dat数据文件,在编译激光雷达模型时引入此dat文件作为入参,即可实现非均匀打点方式的仿真了。
通过对OptiX过程以及点云数据的理解,可以根据实际需求来仿真激光雷达,编辑相关的激光雷达仿真模型。最后,通过Optix支持对光线缓存结构的数据写入与传出支持。在激光点云仿真过程中,可以编辑光线缓存结构来定义需要的点云数据。
03 点云数据处理
了解了点云数据之后,通过搭建仿真场景以及加载编译好的激光雷达模型,就可以进行点云数据的处理了。 点云数据的处理是根据不同激光雷达产品的通信协议来说的,如图5为一个简单的示例。
图 5简易的雷达协议结构 不同的激光雷达产品可能在通信协议或组包结构上都各不相同,需要依据实际情况对点云数据进行重构组包。为了更方便的处理这些点云数据以及后期整体工程的管理,在后续工作中使用CANoe来完成组包的工作。 激光雷达的雷达协议大致包含包头信息、设备信息、时间戳,测距信息等等。有关包头、设备信息等信息,可通过产品说明书对其进行确定。而测距信息里面存放的就是仿真的点云数据,一般激光雷达协议中的点云数据有固定的排列方式,这部分就需要按照不同激光雷达产品的通信协议来确定。 由于点云数据量庞大,对点云数据的处理组包,可以通过CANoe的总线仿真功能来完成这部分工作。CANoe支持多种数据的解析,可以使用其内置的函数对来完成点云数据组包工作。 CANoe提供了良好的管理平台和丰富的内置函数来辅助完成这部分工作:
1.首先,在CANoe中建立接收的套接字和发送的套接字,此时可以拿到仿真的点云数据,并对数据进行解析以进一步进行后处理。
2.在解析完点云数据之后,可按照真实激光雷达的UDP组包协议来将解析完成的点云数据填充至相应的UDP结构内,同时将部分信息保存至系统变量,以便后期实现传感器数据相关的故障仿真等等。
3.最后,在将一帧的完整点云数据组包完成之后,通过建立的套接字来将数据发送至目标IP或激光雷达的上位机进行验证。
至此,即可完成激光雷达的基本仿真流程。
在智驾HiL应用阶段,激光点云数据在实现L2+或L3级功能测试的过程中尤为重要,在获取到激光雷达仿真的点云数据后,可使用CANoe进行智驾域控制器的闭环验证。
1.比如获取仿真的激光雷达点云数据、毫米波数据和视频流数据等,验证域控制器的感知融合算法;
2.使用激光雷达点云数据与其他仿真数据,通过CANoe将不同的总线协议信号一起注入给智驾域控制器,实现ACC、AEB等规控功能的验证;
3.通过CANoe直接处理的点云数据,也可实现对激光雷达进行通道故障、点云丢失、帧数据不同步等仿真,从而验证域控制器的功能安全机制。
04 总结
至此,激光雷达基础介绍与仿真测试流程到这里就正式结束了。北汇信息作为Vector的技术合作伙伴,覆盖智能驾驶系统MiL/HiL/ViL测试、车联网测试,传感感知测试等,为客户提供优质的智驾测试解决方案、测试集成系统和服务,助力智能驾驶仿真测试系统的快速验证和测试。 如果您有这方面的需求,可以直接关注北汇公众号,期待您的持续关注。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !