-
激光成像雷达在无人驾驶、机载避障方面有广泛应用,伴随着对雷达成像品质的追求,多线、高空间分辨率激光雷达已成为国内外众多厂商的发展方向之一。目前,Velodyne、IOBE、禾赛科技等已有64线甚至更多线雷达产品[1],其中Velodyne的64线产品HDL-64E[2],可探测两次回波,在200 m范围内,测距精度达到2 cm,其单回波数据点率达到1300 K点/s。
毋庸置疑,多线及高空间分辨率伴随处理数据量及计算复杂度的提高,而对实时性要求较高的激光雷达,信息处理系统的设计是其成败的关键一环。雷达信息处理系统完成雷达的回波数据采集、处理以及雷达控制,其设计多基于FPGA+ARM/LabVIEW/DSP等方式[1-3],FPGA与其他器件通过外部总线进行数据交互,不仅电路面积较大,且速率也受到外部时钟、PCB布局布线、电磁兼容等因素限制,单个处理器对大数据量处理速率又受限于器件主频[4],某些多核器件,如TI 的TMS320C6678,集成八核[5],处理能力大大加强,但成本功耗上又与激光雷达低成本、低功耗的发展方向背道而驰。文中设计选用的Zynq器件是XILINX公司近年推出的,内部集成了双ARM核处理器和FPGA[6],两者数据传输通过内部高速总线完成,器件体积基本不变,且成本和功耗都较低。考虑雷达实时性要求以及嵌入式操作系统不开源等因素,双核处理器没有采用SMP方式,而是分别运行裸机程序[7-10],充分挖掘其计算处理潜力。
对于激光雷达的强度和距离校正国内外有较多研究[11-14],文中提出的校正模型(算法)是基于全波采样和TDC测距结合方式[15]数据融合计算的结果,可覆盖较大动态范围,并且研究基于自研的激光雷达,除了探讨强度和距离对距离强度校正的影响,还引入了工程应用中遇到的温度、各像元特性差异因素。
文中针对多线激光雷达大数据量、实时处理要求,提出了一种应用于多线激光雷达的信息处理设计,硬件以Zynq器件为核心,搭建通用可靠的处理架构,软件设计调用双核协同处理,完成全波采样与TDC测距数据融合及距离强度校正算法,最后进行实验验证。
-
文中采用的雷达由4对16元激光器线列、探测器线列组成,安装在雷达的扫描机构上,随着旋转电机的转动,可实现高低25°、水平360°范围内目标的探测,10 Hz转速下水平角分辨率达0.1°。雷达信息处理系统完成激光器、探测器、扫描机构、供电模块的控制和监测、接受上位机的指令、接入GPS等定位授时信息 ,采集激光回波,经过目标提取,完成距离和回波强度探测,最终生成雷达成像所需的点云数据。
-
信息处理系统硬件框图如图1所示,设计以Zynq为核心,所选型号内部集成了双 ARM Cortex-A9 处理器(又称PS端)以及Kintex-7 的可编程逻辑(又称PL端),处理器最高运行主频1 GHz,处理器和逻辑通过高带宽AXI4总线互联,总线支持PS端和PL端的高速数据传输。Zynq外接1GB DDR3,用于每个核的独享和共享内存。
雷达探测器的输出分成两路,其一与设定的阈值比较生成回波脉冲进入Zynq (简称阈值比较通道),其二是采用1GSPS采样率 ADC进行全波采样,经JESD204B接口进入Zynq(简称AD通道)。 激光器以重复频率40 kHz工作,雷达每个时刻有4元激光器同时出光,对应的4元探测器同时接收回波,系统中的高速模拟开关支持探测器单元分时工作;Zynq例化AXI IIC IP实现IIC 接口外接高精度低干扰的LTC2991获取激光器和探测器温度,用以确定探测器工作点;通过例化AXI UART16550 IP 设计RS422、RS232接口,Zynq完成扫描机构电机和电源模块的控制及状态监测;安装在扫描机构上的光电码盘输出A、B、Z的三相脉冲送到Zynq,PL端解算后实现激光指向角度的辨识。外部GPS信号及板载的RTC时钟通过RS232、PPS秒脉冲以及IIC接口输入到Zynq中,通过与激光控制脉冲时序对齐计算出激光出光的准确时间。Zynq的XADC模块实时监测系统上的关键电源点的电压,结合保护电路保证各电源可靠稳定工作。信息处理系统生成的探测距离和强度数据以及状态信息通过千兆网口上传至车载计算机中。
-
信息处理系统的软件按模块化思想设计,主要可分为串行口通信软件模块、IIC接口通信模块、网口通讯模块、数据计算处理模块。串行口通讯模块按各个接口协议发出控制命令,接收状态数据报,设计采用环形缓存方式处理接收的串行数据,具有较强的稳定性和可靠性。IIC接口通信模块完成系统的温度监控等。网口通讯模块实现信息处理系统与车载计算机的通讯,包括TCP协议实现控制命令交互、UDP协议实现点云数据上传。
-
数据计算处理模块包括阈值比较通道及AD通道多回波强度距离角度解析计算、强度和距离校正计算两部分。
-
PS端快速读取PL端的AD通道数据和阈值比较通道数据,AD数据包含三次回波的距离和强度数据,一次数据包为16 kB,阈值比较通道的TDC数据包含三次回波的距离,脉宽数据,激光出光时刻计数以及码盘脉冲计数数据等,一次数据包为64 kB。由于两种计数数据不同步及回波个数不定等引起包内几种数据的排列无规律,软件需要识别数据类型并自建数据结构,对激光回波的解析工作流程如图2所示。
PS端首先判断数据类型,如果是码盘脉冲计数,先初步计算,其结果存入粗角度表;如果是激光出光时刻数据,则遍历粗角度表,寻出激光单元出光对应的粗角度和相位,再进一步计算出准确的角度,对各次回波的AD及阈值比较通道数据依据强度、脉宽等融合生成强度数据,之后按激光单元号、回波序号索引到距离数据,后经强度、距离校正计算,会同对应角度写入UDP协议数据包中,激光脉冲数满1024个后,上传数据包到车载计算机。
-
(1) 影响测距结果的因素
大量雷达测试数据表明激光回波强度、内部温度及不同探测器的工作响应曲线是影响全波采样波形匹配和TDC结合测距结果的重要因素。当目标位置固定的情况下,雷达回波信号强度由饱和到过饱和变化时,其回波波形变化会导致计算的距离值变化,图3(a)为同一个像元回波强度从饱和到过饱和的过程中,计算的距离值逐渐减小;而雷达内部温度逐渐上升至热平衡的过程中,计算的距离值会逐渐增加。图3(b)截取了从35~65 ℃下6个单元的测距结果;不同的探测器单元对激光回波的响应曲线不同会引起计算的距离值不同,图3(c)为3个不同单元的不同响应曲线。
(2) 距离和强度校正模型(算法)
距离校正由
$ {D}_{i}={D}_{ret,i}+{D}_{error,i} $ 表示,其中Dret,i为第i单元返回的距离数值; Derror,i为第i单元的非线性距离校正值,而 Derror,i=H(Dret,i ,Ii ,T ) ,其中,Ii 为第i单元的激光回波强度,T为探测器实时的工作温度。在此,距离和强度的校正依据AD通道及TDC通道数据融合后的距离和强度数据进行,与各影响因素的关系曲线的拟合基于最小二乘方法。校正参数确定的具体步骤如下。步骤1:在雷达回波强度最强处放置平面靶板(标准漫反射灰板),距离准确值由TOPCON公司GPT-7002L全站仪(以下同)测定。控制探测器入射回波强度由弱到强。采集数据拟合回波强度I与距离值变化量的曲线。
步骤2:雷达处于室温时,在距离雷达固定距离放置平面靶板(标准漫反射灰板),距离准确值由全站仪测定。在雷达温度敏感区间内温度每上升一度,采集一次数据,直到雷达内部温度达到热平衡状态。拟合温度T与距离值变化量的曲线。
步骤3:平面靶板(标准漫反射灰板)放置在雷达近处进行实验,距离准确值由全站仪测定,确保激光单元出光方向与靶面垂直。移动靶板位置,采集数据。拟合探测距离Dret,i 与距离校正值Derror,i 的曲线。
依据上述三条曲线,最终求出距离校正值与回波强度、系统温度、探测距离值三个因素的校正公式。
强度校正依据雷达对同一反射率目标测量时,回波强度随探测距离(校正后)以及温度的变化曲线,采取与距离校正类似的方法拟合出校正公式。校正过程中,阈值比较通道回波宽度及AD通道获得的强度数据需映射到同一量化框架下的强度值。
距离和强度的校正公式以分段多项式形式表示,包含二阶及倒数运算,校正计算系数矩阵存放在板载FLASH中,每次上电即读入使用。
-
按照与上位机约定的发送格式,1~64激光单元的数据,按4列存放成一组,每一列前有本列首个出光单元出光时刻的角度字节,每个单元数据由2字节的距离和1字节强度组成,整个UDP包由6个组构成,每个包包含64×6 =384个激光脉冲的回波数据,外加设备状态数据,一个UDP包总长为帧头 + 帧尾 +各脉冲的强度距离数据+状态 = 1446 个字节。
雷达包括64元激光器,激光器以40 kHz 重复频率工作,每个时刻有4元激光同时工作,雷达的激光点率fsys 为
${f}_{sys}={f}_{unit}*N=40*64=2\;560\;{\rm{kHz }}$ 。式中:funit 为单个单元的重复频率; N 为并行工作的单元数。单回波模式下,设处理包含1024个脉冲的单个BRAM(块存储)的时间为一处理周期T,显然处理完毕后需要发送UDP数据包数为1024/384=2.67,实际为3个,考虑千兆网络70%~80%实际效率,发送一帧1446字节的帧,需要20~30 μs,按30 μs计算,每个处理周期需发送3个UDP包,发送占用时间90 μs ,暂不考虑强度和距离校正算法,使用SDK自带的XTime_GetTime()测试多回波强度距离角度解析计算执行时间约为280 μs,总时间(90+280=370 μs)已经接近处理周期(400 μs),考虑多回波更多UDP包以及距离和强度校正后,单个核无法在处理周期内完成数据的实时处理。 -
Zynq器件的双核ARM,可独立运行操作系统或者裸机程序,具有共享片内存储器(OCM)和片外DDR3,考虑到激光雷达极高的实时性要求,依托硬件架构特点,设计A、B两核采用AMP方式,均运行裸机程序,A核为主核,完成数据处理的时序控制,除数据计算外实现PL端数据读入以及处理结果的上传,B核为从核,协同运算并完成系统任务 。
如图4所示,PL端将数据交替写满up或down BRAM后,向A核发送数据准备好中断,A核采用DMA方式通过高速AXI 总线将数据读取至DDR3的up、down两区域,分别由A、B核计算,单个核的可用处理周期扩展到原来的2倍;同时,除DMA中断外,系统的其他中断响应方式都改写为查询响应方式,保证周期上传的数据优先接入不被覆盖改写;把网络口通讯模块所需的复杂的任务流程切割成短小的处理时间片,并按实际调用频次,插入处理周期中,保持每个处理周期的裕度且不受中断阻塞。
-
由于连续的up BARM、down BRAM的首尾数据存在时间连续性,分拆到两核分别计算时存在数据依赖,即B核down包前端的激光发射角度的计算要依赖A核up 包的尾部码盘脉冲计时结果,反之亦然,任一个核的运算超过处理周期(400 μs)就会打乱另一个核的距离强度角度解析计算。设计两核的角度计算均采用预处理方式,即把64 kB TDC数据中零散的角度计算相关数据提取出来先计算,建立角度参数表存放在共享片内存储器OCM中供另一个核使用,并用状态标志Flag互锁确保两核读写数据正确。
使用XTime_GetTime()函数测试角度预处理计算的时间小于170 μs,显然,预处理结果总能在下一个处理周期到来前更新到OCM中,保证解析计算准确,如图5所示。
-
除了数据采集处理、通讯、PS端与PL端的数据交互外,信息处理系统还需监控雷达的状态,包括系统温湿度、探测器温度、状态,扫描机构速度、状态等,软件设计考虑了状态量的特性、刷新率、采集用时等要素,把系统任务在Zynq的两核中均衡分配,两核各自获取的状态数据放在OCM中供双核共享,保证每个核正常计算组包。
-
实验在室外进行,测试中产生三次回波的三个目标分别为激光出射方向上距离20 m处1 m×1 m的20%漫反射靶板,以及距离10 m和15 m处放置的网孔为2.5 mm的金属网。经雷达探测处理后其成像效果图如图6所示。
由图可见3次激光回波均在图像中清晰、稳定显现,无丢失、错位情形。
-
图7为激光雷达对办公楼内约70 m长直走廊成像效果测试图,从图中可以看出长直走廊的弯曲变笔直了,以雷达近处最为明显,图像整体更接近走廊的实际情况。
-
图8(a) 为雷达对办公楼内走廊的靶板成像,在走廊中竖立的平板反射率分别为60%和5%,校正前后成像如图8(b)、图8(c)所示,由图可见,校正后60%的靶板回波强度(橙色)强于5%的靶板回波强度(红色),且同一靶板获取的强度值趋于一致,更客观的反映目标的反射率信息。
-
试验以竖立在距雷达10 m、50 m和120 m处的靶板为目标,靶板的反射率为60%,重复测量200次,距离R由全站仪标定,取200次测量结果Di,后求平均测距精度
$\sum\nolimits_{i = 1}^{200} {\left| {Di - R} \right|} /200 $ ,结果如表1所示。由表1可知,在120 m范围内测距精度优于1.5 cm。
表 1 精度实测试验结果
Table 1. Measurement results of range accuracy experiments
Range Range accuracy 10.005 m 0.76 cm 50.015 m 1.24 cm 120.878 m 1.12 cm -
雷达上电以单回波方式工作,使用NVIDIA Jetson AGX Xavier板卡模拟车载计算机与雷达连接,板卡运行Linux操作系统,使用Wireshark软件截取雷达上传的UDP包并统计,如图9所示,每秒的数据包数为7496.8包,考虑统计细微误差,数据包数应为7500包,如前所述,1024个激光脉冲回波距离和强度分3个包上传,数据点率应为7500*1024/3=2 560 K点/s 。
-
文中提出了一种应用于多线激光雷达的信息处理设计,硬件围绕Zynq器件紧凑搭建,软件设计采用灵活的裸机程序,通过双核协同优化、复杂任务分拆、任务均衡、中断管理等方法实现了AD通道和阈值比较通道数据融合计算以及距离强度校正,除了距离强度的相互影响,校正还引入了温度及探测单元差异因素,最终提高了雷达的处理速度以及探测精度。实验表明:64线激光雷达可探测处理3次回波,并且在120 m范围内的测距精度优于1.5 cm,雷达强度数据更加客观反映探测目标的特性,单回波数据点率达到2 560 K点/s。文中的硬件、软件设计方法可借鉴应用于其他多线雷达的研制中。今后,信息处理将在工作方式、处理算法、算法工程实现等方面继续改进和摸索,进一步提高雷达测距距离和精度。
Design and application of high-speed and high-precision information processing of multi-line lidar
-
摘要: 为满足多线、高空间分辨率激光雷达大数据量、高实时性、高可靠性要求,研究设计了一种基于Zynq-7000器件的激光雷达信息处理系统。硬件设计充分利用Zynq内部资源配置了多个、多种接口,外接简易电路即实现多个外设控制和状态监控。不同于常用的SMP (Symmetrical Multiprocessing)方式,Zynq内双ARM核处理器的软件设计采用更灵活的AMP (Asymmetric Multiprocessing)方式,两核一主一从独立运行裸机程序,其中主核完成数据处理的时序调度,并与从核以乒乓方式交替计算,双核协同优化改进,在完成了AD全波形匹配法与TDC相结合的高精度测距基础上,进一步设计并实现了实时的距离和强度校正算法,算法不仅研究了校正量与距离和强度的关系,还引入了温度和探测单元差异影响因素。经测试,64线激光雷达可探测处理三次回波,在120 m范围内的测距精度优于1.5 cm,强度数据更客观反映探测目标的特性,雷达单回波数据点率达到2 560 K点/s。Abstract: In order to meet the demand for large-volume data, high real-time and high-reliability of multi-line, high spatial-resolution lidar, an information processing system based on Zynq-7000 was designed. In terms of hardware design, internal resources of Zynq were fully utilized to configure multiple interfaces connecting external simple circuit merely which implement controlling and status monitoring of many peripheral devices. In terms of software design, more flexible AMP mode was adopted, not popular SMP, that each processor, a master and a slave, ran bare-metal program independently, in which a master processor controls time sequencing of data conduct of system and computes alternately with slave processor in ping-pang scheme. Cooperation between processors was optimized and improved. Distance and intensity correction algorithm was proposed and realized further on the basis of high-accuracy combination method of full waveform matching of AD and TDC upon that system, which not only investigate the relationship between correction quantity and distance and intensity, but also study influence of temperature and difference among detectors. In experiments 64-lines lidar has ability of detecting and processing three echoes, distance accuracy of which was better than 1.5 cm within 120 m. Intensity data of lidar expressed target characteristics more objectively and data rate of single echo reached 2 560 K points per second.
-
Key words:
- high-speed and high-precision /
- multi-line /
- lidar /
- AMP /
- distance and intensity correction algorithm
-
表 1 精度实测试验结果
Table 1. Measurement results of range accuracy experiments
Range Range accuracy 10.005 m 0.76 cm 50.015 m 1.24 cm 120.878 m 1.12 cm -
[1] Liu Ruqing, Jiang Yan, Li Feng, et al. Design of multi-channel data acquisition system for real-time perception lidar [J]. Infrared and Laser Engineering, 2021, 50(5): 20200291. (in Chinese) doi: 10.3788/IRLA20200291 [2] Li Xiaolu, Zeng Jingjing, Wang Hao, et al. Design and real-time imaging technology of three-dimensional scanning LiDAR [J]. Infrared and Laser Engineering, 2019, 48(5): 0503004. (in Chinese) [3] Cheng Guimei, Liu Tao, Rong Peng, et al. Design of multi-detector data control and processing system. [J]. Infrared and Laser Engineering, 2016, 45(4): 0420002. (in Chinese) doi: 10.3788/irla201645.0420002 [4] Zhou Nan, Hu Juan, Hu Haiming. Development trend and Key techniques of multi-core processor [J]. Computer Engineering and Design, 2018, 39(2): 393-467. (in Chinese) [5] Tms320C6678 multicore fixed and floating-point digital signal processor SPRS691E[Z].Texas Instruments, 2014. [6] Zynq-7000 SoC data sheet overview[Z]. XILINX, 2018. [7] 何实. Xilinx all programmable Zynq-7000 SoC 设计指南[M]. 北京: 清华大学出版社, 2013. [8] Simple AMP: bare-metal system running on both Cortex-A9 processors [Z]. XILINX, 2014. [9] Xing Yanfang, Zhu Jinfu, Zhou Xiaomei. Design of muti-core processing based on ZYNQ [J]. Computer Technology and Development, 2018, 28(3): 60-66. (in Chinese) [10] Wang Xin, Qiu Xin, Mu Fuqi, et al. Study of MCAPI-compliant communication mechanism in embedded muti-core system[J]. Microelectronics & Computer, 2017, 34(11): 85-88. (in Chinese) [11] Tan Kai, Cheng Xiaojun. TLS laser intensity correction based on polynomial model[J]. Chinese Journal of Lasers, 2015, 42(3): 0314002. (in Chinese) [12] Cheng Xiaolong, Cheng Xiaojun, Li Quan, et al. Laser intensity correction of terrestrial 3D laser scanning based on sectional polynomial model [J]. Laser & Optoelectronics Progress, 2017, 54(11): 112802. (in Chinese) [13] Yang Shujuan, Zhang Keshu, Shao Yongshe. Ranging calibration model of terrestrial laser scanner based on gray level priority[J]. Infrared and Laser Engineering, 2019, 48(1): 0106007. (in Chinese) [14] Sun Xiaoli, James B Abshire, Adrian A Borsa, et al. ICESAT/GLAS altimetry measurements: received signal dynamic range and saturation correction[J]. IEEE Transactions on Geoscience and Remote Sensing, 2017, 55(10): 5440-5454. [15] Bai Yang, Tang Wei, Xu Shiyue, et al. Real-time and high-precision ranging method for large dynamic range of imaging lidar [J]. Infrared and Laser Engineering, 2020, 49(S2): 20200179. (in Chinese) -