远程操纵驾驶传输协议设计

2020-02-02 03:36崔平汤鸿剑
电子技术与软件工程 2020年16期
关键词:消息报报文序号

崔平 汤鸿剑

(徐州工程学院信息工程学院(大数据学院) 江苏省徐州市 221018)

1 引言

我国已度过5G 商用元年,从汽车产业角度看来,5G 在数据传输速度提升和延时降低方面,将升级到一个新的高度,它会对交通和汽车行业的转型发展将产生深刻影响。对于未来中国智能交通而言,车载智能应用与车联网是一片蓝海,会成为未来国际竞争和资本涌入的焦点。为了衔接即将到来的自动驾驶技术,助力中国汽车产业智能化布局。在现有自动驾驶尚未成熟的情况下,远程驾驶技术成为了人们开启智能交通不可缺少的一环。

在出行方面,远程驾驶有望成为普罗大众经济适用的出行技术,由于可以共享汽车、共享远程驾驶员,一定程度上减轻设备维护成本,节省人力资源。在远程驾驶车辆上人们可以休息、娱乐,极大的解放了生产力,对于整个社会而言都是一次效率革命。未来自动驾驶普及之后,远程驾驶员可以为自动驾驶车辆保驾护航,在极端情况下可以帮助管控自动驾驶车辆,以避免交通事故,让人代替计算机做出合理决策,从而让自动驾驶技术避免“新电车难题”等伦理问题。远程操纵驾驶相对比无人自动驾驶,具有更高的安全性与可操作性,对于一些危险环境下的细致操作,可带来更大的效益,同时一个驾驶员可以负责多个车载终端。

远程操纵驾驶依赖于通信网络基础设施,在远程车辆和远程驾驶员之间的连通性方面,在延迟和性能方面都提出了许多挑战。远程操纵驾驶系统可以视为一个毫秒级的实时系统,其协议不应当丢包重传,且传输的延迟和丢包率要尽可能低。

2 设计思路

在实时传输中,要保证传输过程尽力可靠,在UDP 协议基础上实施设计是一个较为合理的选项,只需在UDP 上做一层降低时延和控制拥塞的机制,实时性和时延效果会比TCP 好很多。由于废弃了重传机制,协议应该主动冗余报文,即同一个报文发送多次,以达到“即使有报文丢失,也能有报文到达”的效果。主动丢弃过期报文,可保证阻塞或冗余的报文延迟到达后不扰乱正常指令控制。协议的拥塞机制,基于BBR 对拥塞的定义,即当网络链路上的报文数量大于BDP 时,就认为出现拥塞。采用BDP 作为“虚拟”发送窗口大小,以调整发送报文的周期PacingRate 以避免拥塞,且用以计算报文冗余数量redundancy 来保证不丢包。

3 过期报文丢弃

控制信息的传递需要保证当前车辆接收的指令是最新的,否则远程车辆的驾驶行为与当前驾驶路况不匹配,将会出现严重的问题,因此报文应当具备时效性。

图1:主动冗余流程图

借鉴Time Out 思想,为保证每个报文尽量实时到达,不仅需要发送冗余报文,还需要为每个待接收报文设定生命周期。若报文生命周期结束,则该报文指令失效。在控制端为每一个报文编号,设1 到65535 为报文序号,当序号用完,自动重置为1。车载端每接收到一个报文后,会为下一个待接收报文设置计时器,假设生命周期为50ms。若在生命周期内,未收到待接收报文,则转为接收下一个报文,并将计时器归零。比如1 号报文到达,车载端计时器开始计时,如果2 号报文在50ms 内没有到达,就放弃接收2 号报文,转而为3 号报文计时。当然,这里的50ms 是当前网络能达到的时延,根据具体网络传输能力而定。

4 主动冗余报文

由于远程操纵对实时的敏感性,重传反而容易带来过期数据,因此丢包时不应重传,控制端会同时发送两个以上相同的报文。这样即便部分丢失其他报文也可按时到达。

如何确定发送冗余报文数量redundancy。一种可靠的冗余度调整方法是,假设相同报文为一组,接收方在10s 内,记录各个报文组丢包事件的次数,并取最小值反馈给发送端。

式中:i 表示为10s 内不同报文组的序号(单位:个)。

主动冗余流程图如图1所示。

5 拥塞控制

车载端写入测试信息并发送消息报文,通知控制端开始探测网络参数。控制端发送测试报文,并等待对方报文,收到报文后,按默认参数redundancy=1 和PacingRate=20ms 发送报文确认,连续发送三组。同时,车载端异步地根据接收的消息报文,计算redundancy,转发最后一个报文,都通过反馈报文发送给控制端。

为了防止网络因大规模的通信负载而瘫痪,或因控制端和车载端网络通信能力不对等而丢包严重,同时要能计算出redundancy 和PacingRate,需要网络拥塞识别和发送控制机制,及时控制网络上下行速率。

将拥塞与丢包解耦,采用对拥塞现象的新定义:只有当网络上的报文数量大于BDP 时,系统才认为当前网络链路出现了拥塞。为保证实时性的同时做到尽量可靠传输,采用BDP 作为发送窗口大小,调整发送报文的周期PacingRate 以避免发送过程拥塞。

由于要对网络环境实时监控才能计算其BDP,首先关心的参数是RtProp(Round-trip Propagation,物理链路时延)。真实的RtProp 是难以计算的,可以通过RTT(Round Trip Time,往返时延)求得其近似值。由于发送端并发发送多个相同报文时,可以视为同时在t0 时刻发送,并为该组报文打上时间戳。假定同时发送的报文,沿同一链路发送,则在理想情况下报文同时发送,也应同时收到,但现实并非如此,原因是OtherDelay,即报文发送时延、排队时延、处理时延等因素。接收端收到第一个报文,开始计时,收到第二个报文后,计时结束得到td,数值近似于OtherDelay。若未收到第二个,却收到了第i 个报文,则以此类推。

在上课之前,教师要制定合理的教学计划,结合教材内容解读教学目标,最好是提前一周就制定好教学方案.在集体备课之前,备课组长要规定教师个人准备的内容.

式中,OtherDelay 表示其他时延,(单位:ms);

td 表示接收端收到第一个报文与后一个报文的时间间隔(单位:ms);

每次接收到一组新报文,就更新OtherDelay。每过一定时间,接收端收到该组最后一个冗余报文后,分别将OtherDelay、redundancy 与最后一个报文,转发给发送端。发送端收到立即记下时间t1,并识别该报文,得到OtherDelay 与t0。RtProp 需要减去发送周期PacingRate 与OtherDelay,才是真实的网络往返时间,于是得出RTT 与RtProp。

图2:反馈报文结构

图3:消息报文结构

由于发送端已知发送的相同报文数量PacketNum 和报文长度PacketSize,但这样算出的带宽并不准确。同一时间的Bandwidth和RTT 不可同时测出,要得到时延的准确数据,就必须排空网络链路缓存区,其他链路的流量尽量少,但因此带宽会变低。要取得准确的带宽大小,就需要不断发送报文占满整个链路的缓存区,这种状态下时延又会偏大。在此处采用修正参数AdjustSize,用以增大带宽估计值,进而得到接近当前网络状态的发送窗口大小。AdjustSize 参数初值为1,每次对AdjustSize 的修正都会保留,若本次时延高于上次,则AdjustSize 扩大为原来的4 倍;若本次时延低于上次,则AdjustSize 缩小为原来的0.88 倍,不难得出带宽时延乘积BDP。

式中,BW——表示Bandwidth,带宽,(单位:Mbps);

为了得到PacingRate,需要知道发送窗口的大小CWND。

不需要ACK 报文,发送端计算出发送窗口大小后,得到PacingRate。

综上所述,通过redundancy 和PacingRate 的计算过程确认报文的冗余数量和发送频率,首次使用时将redundancy 初始化为1,PacingRate 初始化为20ms,控制端与车载端相互配合。

6 协议字段设计

基于前文的传输机制,反馈报文设计格式如下:

反馈报文总长度为5 字节;序号为16 位,将无符号整数0x0000 视为反馈报文的标识序号;冗余报文数量为8 位无符号整数,范围在0~255,在默认为1 个报文基础上增加,即可发送1~256 个相同报文。每10s 后,得出该时间段内的最小redundancy(与报文组大小偏移量数据机制一致);其他时延为2 字节双精度浮点数,附带最新的OtherDelay。反馈报文结构如图2所示。

消息报文设计格式如下:

消息报文长度为521 字节;报文序号为16 位,为无符号整数,范围在1~65535;同组序号一致,且一组报文发送完毕后,自动递增,序号到达65535 时重置;报文组大小偏移量为1 字节无符号整数,范围在0~255,在默认为1 个报文基础上增加,即可发送1~256 个相同报文;组内序号同为无符号整数,1 字节大小,范围在0~255;显然,同一组内,报文按发送顺序编号,组内最多有256 个不同序号(0~255)。时间戳长达16 位,能满足到毫秒级。报文内容大小最大为518 字节,实际大小根据传输UDP 套接字时根据数据大小设置,消息报文结构如图3所示。

7 网络预警

网络预警本质是在协议层获取报文的数据,计算时延与丢包,这对两个终端的用户极为重要。有了上面算法的基础,预警策略就不再困难。对于车载端而言,它只需要在收到报文计算反馈报文的过程中,获取前后两个包的间隔时间、已经丢失报文数目。而对于控制端而言,它通过车载端发送的反馈报文和转发报文,计算报文发送频率和报文冗余度,在此过程中就已包含了RTT 和丢包数量的计算。两个终端通信开始时设置参数,用户按对网络的需求,规定两报文以多大间隔发送,有多少丢包数目才构成网络问题,向终端用户预警即可。

8 结论

本文讲述了远程操纵驾驶系统传输协议设计,一方面,远程驾驶协议弥补了远程驾驶控制传输协议的空白,以期达到了高频率、低时延传输的要求,在另一方面,它解释并控制网络的状态,降低链路往返时延,提高网络稳定性,自动调整发送频率。

猜你喜欢
消息报报文序号
基于J1939 协议多包报文的时序研究及应用
2019年俄罗斯媒体中的中国形象分析
对河
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
总理为正面报道 “收买”报纸
ATS与列车通信报文分析