面向远程驾驶的数据通讯交互时延分析
2021-03-07王锐松吴晓东
王锐松 吴晓东
(上海交通大学机械与动力工程学院 上海市 200240)
1 引言
随着自动泊车、自适应巡航等技术应用于民用车辆上,自动驾驶的相关话题也不断被提及。然而,安全事故频发、各大企业研发速度减缓、传感器硬件成本难以下降等一系列自动驾驶汽车存在的问题,都表明自动驾驶相关技术目前无法满足公共商业部署的可靠性和成本效率标准[1]。在自动驾驶无法满足场景需求的时候,远程驾驶的意义便凸显出来。以Phantom Auto为代表的公司已经提供专门的纯人工远程驾驶服务并商用化[3]。此外,当车辆在极端环境下行驶(驾驶员安全无法得到保障),又或是驾驶员的状态不适合驾驶(疲劳、醉酒等)时,远程接管车辆不失为明智之举[4]。其中,日产与美国国家航空航天局(NASA)合作研发的“无缝自动出行”(SAM, Seamless Autonomous Mobility)系统便是一个典型[5]。
虽然远程驾驶的落地更加容易,但其中同样有一些亟待解决的技术问题。车载摄像头所拍摄的流媒体视频作为驾驶员对车辆周围环境感知的主要信息源,其视野范围和传输带宽之间的关系始终难以平衡[6],多个高清摄像头叠加而来的广角视野往往消耗着较高的传输带宽[7]。Bećirbašić等[7]针对5G网络环境提出了一种根据网络环境调整视频传输方式的多摄像头画面传输方案。在车辆的控制方面,李冀辰等提出一种基于CAN总线的智能车伺服控制系统,实现了对智能车运动状态的全方位监控[8]。对于远程驾驶中的延迟问题,Chucholowski等[9]提出并比较了三种在无延迟情况下估算车辆实际位置的方法,并通过图像叠加的方式,驾驶员以近似“第三人称”的方式操作车辆,改善了驾驶感受。与此同时,基于5G的业务标准正在走向商业部署,远程驾驶急需解决的高延迟和高丢包率问题也逐步得到解决。可以预见,远程驾驶将极大提升操作效率,并在未来大有可为[10]。
2 远程驾驶系统特性
2.1 远程驾驶框架
作为自动驾驶的补充,远程驾驶主要实现了驾驶员远程监测车辆状态、远程操控车辆行驶等功能。其系统架构主要包括三大部分:车端控制器、云平台以及远程驾驶舱。
其中,车端控制器的核心功用为获取车辆状态信息以及控制车辆状态。为此,需要车端控制器与车辆CAN总线上的控制帧和状态帧产生信息交互。即车端控制器通过杜邦线与车辆CAN总线相连后,通过读取车辆CAN总线上的状态帧以获取车辆信息数据、通过向控制帧上发送信息以实现控车。同时,车端控制器需要与云平台建立连接,因此当受控车辆在没有WiFi覆盖的区域行驶时,需要加装CPE以实时通过移动数据进行信息交互。综合考虑,本文采用Nvidia TX2作为控制器的硬件设备。
云平台主要起到信息中转的作用。借由云服务器具有的固定IP地址和端口号,控制器设备得以便捷地与其建立连接并保持通讯。考虑到WAN传输时延特性,本文实验用云服务器定于上海地区。
远程驾驶舱主要功能为驾驶员提供驾驶环境、收集驾驶模拟器信息(转向盘转角/踏板/档位等)并发送至云服务器。此外,还接受云服务器发送来的车端状态信息及车辆环境的视频信息,并将其实时地显示在远程控制器的显示屏上。其主要由驾驶模拟设备、远程控制器及显示屏构成。远程驾驶系统结构图如图1所示。
图1:远程驾驶系统结构图
2.2 远程驾驶信息传输
对于远程驾驶而言,除了选择合理的信息传递方式,远程驾驶中控制信息的到达与执行顺序对于汽车控制至关重要。延迟过高,车辆当下所处的环境也会与发送的操纵指令要面临的环境大相径庭;丢包率高,会使得汽车控制的指令失序和控制不当[8]。可见,在保证传输延迟在较低水平的同时,针对传输的报文内容,除了必要的控制信息,还需要增添报文编号和时间戳信息以保证车辆合理地执行控制指令。
为了实现远程信息的传输交互,根据控制信息与视频信息的传输需求与特性,分别建立TCP通讯传递控制信息与车辆状态信息、UDP通讯传递视频流信息。考虑到远程控制器发送控制信息时,发送报文周期时间可能会高于ACK报文的发送时间,而此时流量控制和拥塞控制将不起作用而近似退化为UDP,因此,在后续的实验中,将UDP作为TCP时延测试的对照组。
2.3 远程驾驶通讯时延
远程驾驶中传输时延会较大程度地影响驾驶员操控远程车辆的即时性和准确性。若要对120km/h车速下行进的远程驾驶车辆进行制动操作,每100ms的时延都会使车辆的制动距离增加3m以上。可见,分析并尽可能地缩短远程驾驶中的传输链路时延显得格外重要。
链路中的时延主要分为视频与控制信息两部分。其中,视频时延是指,车端摄像头获取的视频流信息通过链路设备进行推拉流后,显示在远程驾驶舱的显示屏上时,在传输链路中所消耗的时间。
控制信息时延是指,驾驶员在远程驾驶舱内操作控车设备时,车辆响应其控制指令所消耗的时间。其中包含多个环节:远程驾驶舱收集驾驶控制器信息、远程驾驶舱与云平台交互、云平台与车端控制器交互、车端控制器与车辆CAN总线交互。与此同时,还需考虑各控制器执行相应程序所需时长。
3 通讯时延对远程驾驶的影响
假设当驾驶员在t0时刻通过操作驾驶模拟设备控制远程车辆时,远程控制器会获取驾驶模拟设备的状态信息并将其量化为控制报文并发送,该报文经由云服务器中转被发送至车端控制器上。车端控制器收到此条报文后,将其中控制信息转化为CAN帧发送至车辆CAN总线上。随后,车辆受控响应该条控制报文。与此同时,远程驾驶员可通过摄像头时刻观察车辆的响应动作,但受网络和编解码导致的时延影响,驾驶员观测到车辆响应控制信息会略迟于真实驾驶车辆。如图2所示。
图2:远程驾驶信息传递链路
其中:Δtc表示控制信号在链路中的传输时间。
Δtr表示车辆接受控制信息至车辆响应控制指令所需的时间。
Δtv表示视频信息传输所需要的时间。
控制信息在经过Δtc被发送至车端控制器上,然后经过Δtr该转向信息转化成CAN帧信息并实现控车。因此,在车辆速度为v0的情况下,车辆转向延迟响应距离x1:
当车端响应控制指令时,至驾驶员观察时,车辆的行驶距离x2:
可以看出,相比于传统驾驶方式,远程驾驶对于车辆的影响主要取决与控制信号与视频信息的时延值以及当前车速。因此,车辆从驾驶员发出控车指令,到观察到车辆响应控制指令行驶的距离s1为:
与此同时,若考虑驾驶员的反应时间Δtp,则全链路响应距离s2:
4 远程驾驶时延测试及性能分析
如上文所述,远程驾驶主要受传输链路的时延影响。因此,有必要分别测试视频信息及控制信息的时延并加以分析。根据上文提出的远程驾驶框架,连接相关硬件设备并分别在云平台、远程驾驶舱和车端控制器内编程实现相应功能以完成远程驾驶平台的搭建。为了尽可能缩短程序执行所消耗的时间,选用执行速度较快C++作为编程语言。
考虑到不同测试时间的网络状态可能存在差异:当网络处于较为拥塞的状态时,数据传输的速率和稳定性较低;反之在网络环境较好时,数据传输速率和稳定性较高。因此,为得到不同网络环境状态对信息传输的影响,在一天内的每个整点进行测试,继而统计采集到的24组数据。其中,若时延均值与方差较低,则表示该组数据测试时刻的网络状态较好;反之则表示网络处于相对拥塞的状态。
4.1 视频信息的时延测试
为尽可能精确地测得视频时延大小,李庆伟等提出多种方案测试并比较视频传输的时延[11]。考虑到视频信息在远程驾驶中的传输特性,本次实验测试方案为:在远程驾驶舱内显示器中开启一个精确到毫秒的计时器,将与车端控制器相连的车载摄像头对准显示器,并运行程序把视频流通推送到服务器。与此同时,远程驾驶舱内拉取视频流信息并在显示屏上播放,以此在远程驾驶舱的显示屏内,有两个实时播放的计时器。通过屏幕截屏或相机拍摄的方式,记录同一时刻源计时器中显示的数字以及播放视频内计时器显示的数字。此时,图片内两个计时器的时间差值即为视频传输时延。
在一天内的每个整点各拍摄1000张图片,并统计视频传输时延均值与方差。表1为用网高峰期(网络最为拥塞,时延最高的一组数据)与低谷期(时延最低的一组数据)的时延测试结果。其中车端控制器的网络环境为5G移动数据,远程控制端处于校园5G Wi-Fi的环境下,摄像头型号为IMX290,编解码方式为H.264/AVC。
表1:视频时延测试统计表
对于分辨率为720p的视频流,在用网高峰期时段测试视频时延不仅增加70余毫秒,同时时延传输方差提升到用网低谷时间的五倍。可见在远程驾驶的环境中,视频信息的传输受网络影响波动的影响较大。同时,测试环境难以满足1080p视频流信息的传输,在用网高峰期视频时延均值甚至超过了半秒,方差过大已不具备参考意义。与此同时,考虑到编解码方式和硬件设备均对视频传输时延有较大影响,本文不对视频传输方式做过多比较和分析。
4.2 控制信息的时延测试
4.2.1 控制信息网络传输时延
为测得控制信息全链路时延,首先要保证测试结果数据的准确性。因此。将控制端、车端控制器与服务器通过NTP(Network Time Protocol)实现时间同步化,使三端的时间差精度在100微秒以内。
远程驾驶舱将1000组长度为214字节的控车报文以及时间戳信息发送至受控车辆。车端控制器将接收到此信息时刻的时间戳与报文内发送时刻的时间戳相减,即可得到单条报文的传输时延。统计所有报文传输时延数据,即可获取控制信息传输的平均时延与方差。
为了使车辆正常接收控制信息、防止网络拥塞,发送频率不宜过高。但与此同时,发送周期直接影响车辆收到控制指令的时间差,若时差过大可能存在部分控制状态信息被忽略、转向和加速不平顺等问题。综合考虑,选择TCP发送报文的间隔分别为:10毫秒、15毫秒、20毫秒、25毫秒和30毫秒。远程控制端与车端控制器通过为校园网5G Wi-Fi联网。测试结果统计如图3所示。
图3:控制信号延迟特性随发送周期变化图
从测试结果可以看出,当发送周期在20至30毫秒范围内时,丢包率均为0。虽然发送周期为10毫秒时有较好的传输速度和稳定性,但丢包率过大。这是由于发送周期过小,链路上队列阻塞导致的。通过比对不难看出,当发送周期为20毫秒时,该段报文从发送到车端控制器接收平均不到10毫秒的时间,同时稳定性和丢包率也能维持在较高水平。
为了模拟更加真实的远程驾驶环境(车辆的行驶环境一般不在Wi-Fi信号覆盖范围内),控制端依旧通过校园网5G Wi-Fi联网,此时车端控制器通过CPE接收与发送5G移动信号,发送周期选择更适合控制信息传递的20毫秒。在一天内的每个整点发送1000条测试数据进行测试,并对24个处理得到的数据进行统计,表2为用网高峰期(网络最为拥塞,时延最高的一组数据)与低谷期(时延最低的一组数据)的测试结果。
表2:控制信息时延测试统计表
对照图3与表2可知,相比较于网络环境为校园网5G Wi-Fi,使用移动数据不仅会使时延增大20毫秒左右,同时会使信息传输更加不稳定,丢包率也有所提升。这是由于测试场地内5G移动信号受建筑物遮挡且信号强度较为不稳定造成的,因此全链路的时延均值高于采用稳定校园网5G Wi-Fi的传输方式。
在用网高峰期时段,不仅时延均值收到接近20毫秒的影响,同时时延传输方差提升到用网低谷时间的3倍,丢包率也由0.2%提升至1.7%。可见在远程驾驶的环境中,控制信息的传输受网络影响较为明显。
4.2.2 控制信息传输各环节耗时
控制信息全链路时长定义为:驾驶员操控驾驶模拟器至车辆响应驾驶员控制指令的总时长。因此,为获得车端响应控制指令的时刻值,通过传统的手动计时方式则显得精度过低。因此,需要借助车辆CAN总线的相关机制来完成时间的测定。车辆CAN总线上的CAN帧分为控制帧和状态帧。控制设备通过向CAN总线上发送控制帧会根据固定频率刷新车辆状态信息,控制设备通过读取CAN总线上的状态帧,即可获取车辆相关状态信息。因此,当一条控制指令经由链路发送至车辆CAN线的控制帧上,车辆CAN线上状态帧相应信息受控制信号影响发生改变的时刻,即可认定当前时刻为车辆响应控制指令的时刻。打印相关时间戳log日志,即可得到车端响应控制信息的时刻,与发送时刻的时间戳相减,即可得到全链路传输总时长。
测试系统各环节中控制信息处理逻辑如图4所示。分别在各环节的开始与结束时刻记录当下时刻的时间戳,即可得到控制信息传输中各环节所耗时长。在用网低谷期对1000组用例进行测试,数据统计结果如表3所示。
图4:链路设备传递处理控制信息流程图
表3:控制信息全链路传输各环节耗时统计表
4.2.3 编程方式与传输策略的影响
为便于统计不同编程方式以及信息传输方式对于控制信息传输的影响,进行多组实验,分别为采用多线程编程方式的UDP传输策略以及采用单线程编程方式的TCP传输策略。多线程编程中,车端控制器中的主线与云端设备进行信息交互,子线程与车辆CAN总线进行交互;远程驾驶舱中主线程与云平台交互,子线程与驾驶模拟器设备交互。而单线程编程中,双端控制器仅通过主线程完成上述交互工作。车端控制器通过CPE连接移动网络,远程控制器通过校园5G Wi-Fi联网,测试时间为用网低谷期,发送周期均为20ms。
从表4中可以看出,相较于单线程的编程方式,采用多线程丢包率有所提升,但时延均值和方差有所降低。与此同时,在TCP的传输方式下,控制信息的全链路传递时长降低了14.1%,这对远程驾驶中提高控制精度有所帮助。而UDP相较于TCP而言,虽然会使时延均值和方差有所下降,但是其可靠性则难以保证,尤其在用网高峰期,丢包率达到3.6%,这是远程驾驶中所不能容忍的。
表4:控制信息测试统计对照表
4.3 传输时延对车辆的影响
由第2章相关结论可知,车辆的延迟响应距离与信息传输时延、车速呈正相关。为得到信息传输对于远程车辆的影响,可以假设驾驶员在远程驾驶时,通过显示器实时观察车辆并输入相关控制指令。因此,从驾驶员观察到显示器中景象,到车辆响应控制指令的全链路响应距离为x1,以及由传输时延导致的响应距离为x2,x1与x2的长度即可表示信息传输时延对车辆的影响。根据上文获得测试数据与公式(4),经计算得到x1与x2随车速增加的变化规律如表5所示。
表5:延迟响应行驶距离与车速对照表
其中,根据查询相关资料及上文的实验结果,假设驾驶员的反应时间为0.3s,控制信息全链路低谷期时延为70ms、高峰期为90ms,视频信息时延低谷期为180ms、高峰期为260ms。
可见在网络状况相对良好的环境下,由于信息传输延迟导致的响应距离延长在车辆维持相对低速的条件下的距离是可以被接受的。不过随着车速的提高和网络环境的变差,信息传输时延所带来的弊端也越来越明显。在用网高峰期车速达到90km/h,由于时延导致延长的响应距离接近9m。可见,目前5G移动网络可以支持低速行驶在良好网络环境中的车辆,但对于高速行驶或周围网络环境状况一般的远程驾驶车辆,仍需提高技术手段以保证车辆行驶的安全性。
5 结论
本文针对远程驾驶中的时延问题,首先搭建了远程驾驶平台,继而通过测试得到了不同编程方式、网络环境和传输协议下,传输链路中各环节所耗时间及全链路时延,最后分析了时延对远程驾驶的影响。由实验结果可知,在网络环境良好的情况下,控制信息传输的时延均值可达到28ms左右、车辆响应控制信息的全链路时长低于70ms,远程驾驶信息传输总时延低于250ms。因此,当车速较低且网络状态良好时,信息传输时延的影响可以被接受。但车速较高或车辆周围环境较为复杂时,由于视频信息的时延较大,受控车辆发生事故的风险可能会增加。不过,随着基站数量的增加,5G信号趋于稳定且覆盖区域不断扩大,信息传输时延必将不断缩短。