陈丽华
(广州市机电技师学院,广州 510000)
自动驾驶车作为智慧交通发展的重要组成,已成为智能网联汽车发展的必然趋势。目前,我国自动驾驶已进入落地关键期,技术在全球占有重要地位,但量产依旧难以实现,除了不能上牌、法律政策等因素外,造车成本昂贵也是原因之一。激光雷达作为自动驾驶车的重要感知元件,有调查显示,国外高端、价格昂贵的激光雷达品牌依旧占据我国较大的市场份额,为此提高国产品牌在自动驾驶车上的应用比例,是降低我国造车成本,促进自动驾驶车实现量产的有效途径。
本文所涉及的Apollo自动驾驶竞赛教学套件,原先配备的激光雷达是由美国Velodyne公司出品的VLP-16,为降低成本,助力国产品牌的发展,拟替换为国产品牌Robosense生产的RS-LiDAR-16,并完成其在自动驾驶竞赛教学套件上的适配探究。
智能网联汽车是将车联网与智能车进行有机联合,搭载先进的车载传感器、控制器和执行器等,融合现代通信与网络技术,实现车、人、路及后台等信息共享和协同控制,使车辆能够安全、舒适、节能、高效行驶,并最终可替代人的操作的新一代无人驾驶汽车。
本文探究的自动驾驶竞赛教学套件是由百度Apollo公司生产的,面向智能网联汽车技能竞赛或教学的自动驾驶开发平台,如图1所示。该套件采用纯线控底盘,搭载了自动驾驶计算平台以及激光雷达、毫米波、超声波和摄像头等多种传感器和GPS/IMU设备,能够实现循迹自动驾驶、基于激光雷达的封闭园区自动驾驶以及基于摄像头的封闭园区自动驾驶等功能。
图1 Apollo自动驾驶竞赛教学套件
激光雷达是以发射激光束探测目标的位置、速度等特征量的雷达系统。激光雷达向目标物体发射激光,根据接收-反射的时间间隔及激光发射的角度,通过计算确定物体的位置、大小及外部形貌等。激光雷达在智能网联汽车中相当于人的“眼睛”,能够根据扫描到的点云数据快速绘制3D全景地图,在智能网联汽车中主要应用于障碍物分类、障碍物跟踪、路沿可行驶区域检测和高精度定位等。
RS-LiDAR-16出厂默认接驳Interface BOX,具有电源指示灯及各类的接口,可接驳电源输入、网线及GPS输入线,如图2所示。
图2 Interface BOX
RS-LiDAR-16通过网口与工控机(电脑主机)相连,向电脑主机发送数据,通过SH1.0母座与GPS设备相连,实现PPS授时,如图3所示。
图3 Interface BOX连接示意图
激光雷达RS-LiDAR-16与工控机之间采用以太网通信,为了确保工控机能够正常读取激光雷达数据,工控机的IP地址应与激光雷达的目标IP地址相一致。RS-LiDAR-16出厂默认的IP地址是192.168.1.200,目标IP地址是192.168.1.102。如果激光雷达的出厂设置已变更,可以连接工控机,使用Wireshark软件抓取设备输出包进行分析,获取IP地址信息,如图4所示。
图4 使用软件Wireshark获取数据
通过以上数据,可以判断激光雷达的IP地址为192.168.1.123,目标IP地址为192.168.1.200。如果工控机的IP地址与激光雷达目标IP地址不一致,可通过更改激光雷达目标IP地址或工控机IP地址解决。完成IP地址配置后,使用sudo tcpdump命令可以查看工控机能否正常接收激光雷达发送的点云数据。
环境感知是自动驾驶的重要环节,目前环境感知的主流元件包括摄像头、激光雷达和毫米波雷达等。单一传感元件都有其自身的优点和局限性,为给车辆行驶提供可靠、全面的环境信息,目前智能网联汽车大多采用多传感器融合的感知技术方案。多传感器融合技术的核心在于高精度的时间以及空间同步。为此,自动驾驶汽车中的激光雷达必须支持与主机或其他传感器的时钟同步,同步精度通常要达到毫秒级。
在激光雷达输出的点云中,每个点除了(x,y,z)坐标之外,还有一个重要的字段就是时间戳。激光雷达的发射组件旋转的同时发射高频率激光束对外界环境进行持续性的扫描,经过算法推导出三维空间的点云数据。相对于高速扫描设备,激光雷达旋转速度相对较慢,每一帧点云中不同点的时间戳不一样,以10帧每秒的激光雷达为例,完成每帧点云需要100 ms,那么每帧点云中的第一个点和最后一个点之间相差约100 ms。在扫描高速运动的物体时,这个时间差会导致原始点云“变形”,利用时间同步技术对点云进行校正可以纠正点云“变形”,恢复被扫描物体的本来面貌。
目前主流的激光雷达时间同步技术有2种,一种是基于GPS的“PPS+NMEA”时钟同步,另一种是基于以太网的时钟同步协议。
本文探究的是基于GPS的“PPS+NMEA”的时钟同步,激光雷达与GPS实现高精度的时钟同步之后,会基于这个时钟为每个激光点生成一个时间戳。GPS作为组合导航系统的重要组成部分,基于GPS的“PPS+NMEA”的时钟同步依赖于组合导航系统的数据输出。本文涉及的自动驾驶竞赛教学套件采用的是由上海华测导航技术股份有限公司推出的CGI-410组合导航系统。CGI-410是将卫星定位与惯性测量相结合,采用高精度定位定向技术,内置高精度陀螺和加速度计,支持外接里程计信息进行辅助,借助新一代多传感器数据融合技术,能够提供多种导航参数的厘米级组合导航系统。
CGI-410组合导航系统采用19PIN航空接插件与设备实现数据交换。19PIN数据线包括3个RS232,1个RJ45网口,1个CAN,1个SMA,1个电源口,如图5所示。
图5 19PIN数据线
19PIN航空接插件的部分数据线接口定义见表1,其中A_RS232通过网页配置,可给激光雷达提供5 Hz的GPRMC数据,GPRMC数据包括UTC时间、定位状态、纬度、经度、地面速率、地面航向和UTC日期等;SMA可给激光雷达提供PPS授时信号。
表1 DB9接口的针脚定义
由图2和图3可知,激光雷达RS-LiDAR-16是通过SH1.0母座与GPS设备相连,实现数据交互和PPS授时,激光雷达SH1.0的部分针脚定义见表2。
表2 SH1.0的针脚定义
综上所述,CGI-410组合导航提供的接头是DB9和SMA端子,与RS-LiDAR-16的SH1.0母座不匹配,为此,可以设计一个转换模块来实现两者之间的连接,设计的转接板图纸如图6所示,激光雷达与惯导连接定义见表3。综上所述,解决了RS-LiDAR-16与CGI-410组合导航系统在端口上的匹配问题。
表3 激光雷达与惯导连接定义
图6 激光雷达与惯导转接板图纸
完成RS-LiDAR-16的安装与网络配置,可以通过工控机接收激光雷达点云数据,但能否正常启动Lidar感知模块(Perception),DreamView上能否显示出正确的障碍物运动方向、颜色以及速度信息,还与系统的配置文件有关。
在工控机上打开新终端,输入/apollo/docker/scripts/dev_into.sh进入docker环境,利用命令cyber_monitor查询到与激光雷达相关的通道路径如下:
(1)/apollo/sensor/rs16/PointCloud2
(2)/apollo/sensor/rs16/Scan
(3)/apollo/sensor/rs16/compensator/PointCloud2
以上通道路径与感知模块中设置的并不一致,查看激光雷达相关配置文件rs16.pb.txt、rs16_compensato r.pb.txt。将rs16.pb.txt中pointcloud_channel路径修改为/apollo/sensor/lidar16/PointCloud2,scan_channel的路径修改为/apollo/sensor/lidar16/Scan。将rs16_compens ator.pb.txt中out_channel的路径修改为/apollo/sensor/lidar16/compensator/PointCloud2。同时打开与DreamView调用Lidar感知模块相关的配置文件dev_kit_close_loop.pb.txt,将dag_files的路径修改为apollo/modules/drivers/lidar/robosense/dag/rs16.dag。
适配完成后,进入docker环境,利用命令cyber_monitor检查各channel信息,确认各channel输出正常后,在DreamView上启动激光雷达和Lidar感知模块(Perception),查看障碍物运动方向、颜色以及速度信息,显示正常,如图7所示。在封闭园区进行道路测试,自动驾驶套件能够通过激光雷达正确识别障碍物,提取动态障碍物信息,并将信息输出给规划决策控制模块,实现自动驾驶车辆基于激光雷达的封闭园区自动驾驶。
图7 感知模块已正常启动
Robosense激光雷达在Apollo自动驾驶竞赛教学套件上的适配主要包括了IP地址的配置、激光雷达与组合导航系统的接口匹配以及系统配置文件的修改。Robosense生产的RS-LiDAR-16是目前国产品牌中市场占有率较高的产品,具有成本较低、测距精度高等优点,能够稳定输出障碍物信息,为定位、导航和避障等提供有力的保障。