江西应用技术职业学院 徐晓宇,邱志卓,刘秋生
近年来,随着远程通信技术和汽车网络技术的发展,智能网联汽车获取信息的边界得到了极大的扩展,汽车与X(车、路、行人、云等)之间的信息交换更加畅通,信息共享更加便捷。智能网联汽车具有复杂的环境感知系统、智能的决策系统及协同的网络控制等功能,实现车辆安全、高效、舒适、节能行驶,最终替代人进行驾驶,使交通更加便捷高效。
智能网联汽车具备的常见功能主要有:循迹功能,即通过录制定位地图,利用组合导航系统完成自动循迹功能;路径规划功能,即通过分析障碍物等信息,给出起点终点后,自动驾驶处理器给出控制策略并决策行驶轨迹;停障避障功能,即根据障碍物所在位置和车辆行驶状态,当遇到障碍物时,智能网联汽车利用双目摄像头和超声波雷达进行自动停障和避障,当前方出现可以绕行的障碍物时,车辆通过自动驾驶处理器自主规划避障策略,绕开障碍物再返回原车道中心继续行驶,当车辆感知到前方障碍物不可绕行时,自动驾驶处理器规划停障策略,障碍物离开后再继续行驶;交通信号灯识别功能,即利用V2X通讯保证车路协同,识别交通信号灯并执行自动启停功能。
在分析智能网联汽车故障时可以按照分析传统汽车故障的方法,通过诊断CAN总线读取故障代码确定故障模块,在分析具体故障时,还需要考虑软件故障和网络通信故障,如智能传感器的软件配置问题、自动驾驶处理器调用是否正常等,此外传感器的标定错误也会导致智能网联汽车无法正常行驶。智能网联汽车常见的故障现象有无法正确识别交通信号灯、无法正常躲避路障、无法正常躲避行人、无法正常行驶、遇到障碍物无法提前减速等。
在排查智能网联汽车相关故障时,不仅要通过CAN总线读取数据,还需通过主机读取联网设备信息和网络数据,这是因为很多重要传感器(如激光雷达)的数据传输是通过网线传输,需要通过软件排查相关故障,因此本文提出采用软件和硬件相结合的方式对智能网联汽车的常见故障进行诊断,有助于提高故障诊断的效率和准确性。硬件故障包括传感器本体故障、线束故障、控制器故障,其中以线束故障最为常见。本文基于百度Apollo系统,软件故障包含自动驾驶处理器调用传感器数据和发送指令时出现的文件丢失或文件内容错误等故障,因为Apollo系统是基于Linux系统运行,所以需要进一步了解Linux系统的工作原理,熟悉其指令系统,从而便于解决软件故障。
当智能网联汽车出现无法避障或冲撞行人时,可能是激光雷达出现故障,需对激光雷达的硬件和软件进行故障排除。
通过CAN总线读取激光雷达数据,若提示传感器未连接,需检查激光雷达相关线束,如激光雷达控制盒的供电线路、激光雷达网线,若是线束故障,则更换线束,若不是线束故障则有可能是激光雷达损坏(此时还需要考虑激光雷达软件配置是否出现问题);若激光雷达检测范围出现问题,需调整激光雷达感知距离的参数到合理范围,具体标定参数根据不同车型和激光雷达的安装位置来确定,激光雷达的另外一个重要参数是最大仰角与最小俯角,若设置不合理也会出现感知故障,调整到合理范围后激光雷达才能正常工作。
激光雷达主要是通过点云数据感知周围事物,硬件设备安装好之后还需对其进行标定和配置,激光雷达才可以发挥作用。在Linux系统下,使用ctrl+alt+t打开终端,输入/apollo/docker/scripts/dev_into.sh进入docker环境,在docker环境中输入cd/home/tmp/ros/share/lslidar_c16_decoder/launch,进入/home/tmp/ros/share/lslidar_c16_decoder/launch路径之下,在命令行执行vimlslidar_c16.launch,打开lslidar_c16.launch文件,此时需要对激光雷达的四元数进行正确的标定和配置,否则会出现激光雷达感知数据不准确,从而影响其正常工作,输入的四元数值需要根据激光雷达的安装位置和安装角度进行调整。
组合导航系统主要起到车辆定位和定向作用。当智能网联汽车出现车辆在起始位置停止不动时,可能是组合导航系统出现了故障,需对组合导航系统的硬件和软件进行故障排除。
组合导航系统的主要硬件是GPS接收机和天线、组合导航模块,检查GPS接收机和天线的本体是否存在故障、GPS接收机和天线的线束是否存在故障、组合导航模块本体是否存在故障等。此外,组合导航系统需要联网才能工作,需要用网络测试仪检测组合导航系统连接到路由器的网线是否损坏,也可用万用表对网线进行逐一检测。
首先检查RTK账号是否为有效账号,在/home/apollo-arm目录下打开命令行,进入组合导航设置界面,确定购买的RTK账号有效,打开RTK设置界面,即/apollo/modules/drivers/gnss/conf/文件夹进行查看,此外杆臂值(主机和天线处在正确位置时,天线到主机的距离)输入错误也会导致组合导航系统不能正常工作。此外,IP地址配置错误也会导致组合导航系统不能正常工作,因此排查到组合导航模块故障时不应忽视软件配置错误导致的一系列问题。
双目摄像头在晴天时较为准确,当遇到大雨或雾天时需要结合其他传感器来共同作用,当智能网联汽车出现无法避障或不能准确识别交通信号灯时,可能是双目摄像头存在故障,需对双目摄像头的硬件和软件进行故障排除。
双目摄像头采用12 V直流供电和网线通讯,首先排查双目摄像头的供电线束和电源是否存在故障,然后检查双目摄像头传输网线是否存在故障,若前2项检查均无故障,则检查双目摄像头是否存在本体故障。
排除硬件故障后,再进行软件故障排查。检查双目摄像头软件标定过程中是否存在参数输入错误,包括标定双目摄像头时车辆的摆放位置、车道线的长度是否符合标准;由于双目摄像头数据通过网络传输到自动驾驶处理器,还需要检查双目摄像头的IP地址;此外由于不同车型双目摄像头的安装位置不同,需要按照实际数据将双目摄像头位置的相对坐标进行准确测量,然后输入到双目摄像头的标定软件中。排除软件和硬件故障后,可通过Apollo系统界面打开dreamview中的camera、perception按钮即可出现障碍物信息,若不能出现障碍物信息,则继续检查配置文件是否出现相关故障。
当智能网联汽车遇到障碍物停止前进或不能正常躲避障碍物时,可能是毫米波雷达出现了故障,此时需要立即关闭自动驾驶模式,对毫米波雷达的硬件和软件进行故障排除。
毫米波雷达普遍采用12 V直流供电和CAN总线通信接口。排除毫米波雷达硬件故障时,先检查毫米波雷达的供电线束是否存在故障,若正常则继续检查毫米波雷达CAN总线是否存在故障,若正常则继续检查毫米波雷达本体是否存在故障。
毫米波雷达硬件故障排除后,将毫米波雷达安装好,打开百度Apollo系统,输入指令ctrl+alt+t打开终端,输入candump can指令查看毫米波雷达的CAN总线数据信息,若正常输出毫米波雷达数据,则毫米波雷达软件硬件故障均已排除。
当智能网联汽车附近存在障碍物时,车辆立即停止,不能正常避障行驶,此时需对超声波雷达的硬件和软件进行故障排除。
超声波雷达的距离参数是智能网联汽车行驶过程中触发近距离紧急制动的关键参数,超声波雷达普遍采用12 V直流供电和CAN总线接口。检查超声波雷达硬件故障时,先检查超声波雷达的供电线束是否存在故障,若正常则继续检查超声波雷达CAN总线是否存在故障,若正常则继续检查超声波雷达模块是否存在故障,若正常则检查超声波雷达本体是否存在故障。
超声波雷达硬件故障排除后,将超声波雷达安装好,打开百度Apollo系统,使用ctrl+alt+t打开终端,输入candump can指令,查看超声波雷达CAN总线数据是否正常输出。此外,还需注意超声波雷达软件配置中检测范围参数是否合理,一般超声波雷达的检测范围为0.25 m~5 m,检测范围设置太小会导致超声波雷达检测不灵敏,检测范围设置过大则会导致车辆异常停障。
当出现智能网联汽车无法正常自动行驶时,排除了相关传感器故障后,需要进一步排查所有传感器的相关信号是否及时准确地传送到自动驾驶处理器,需对自动驾驶处理器的硬件和软件进行故障排除。
自动驾驶处理器接收相关传感器的各种信息(包括双目摄像头的图像信息,以及超声波雷达、毫米波雷达和激光雷达扫描到的障碍物信息),根据自动驾驶处理器的算法,做出分析并进行决策,执行相应的驾驶操作,其中有一部分信息是由底盘CAN总线进行信息传输,因此在分析故障时需要考虑多方面的因素和参数影响。首先检查自动驾驶处理器网线、CAN总线是否存在故障,最后排查自动驾驶处理器本体是否存在故障。
自动驾驶处理器正常工作需要通过指令检查地图制作并将地图数据都布置完成后,将车辆开至起点位置,使车辆朝向行驶方向,在Dreamview 界面依次启动相关传感器、模块及自动驾驶功能。若某个模块不能正常启动,需先排查相关传感器及线束是否存在故障,再检查自动驾驶相关文件内部配置是否正确、是否存在缺失。
本文在智能网联汽车故障诊断过程中忽略了传统汽车的相关故障,有时底盘故障也会导致上述故障现象的发生,此外同一故障现象也可能是由单个或多个传感器故障导致,这将进一步增加故障诊断的难度。因此,诊断者除了需要具备传统汽车的相关知识,还需要掌握智能网联汽车及Apollo系统的工作原理,才能提升故障诊断的效率和准确性。