APP下载

ATS算法在四轮独立转向的时间同步研究 *

2022-02-10肖广兵

关键词:非对称报文偏差

肖广兵,季 淦,孙 宁,张 涌,陈 勇

(1. 南京林业大学 汽车与交通工程学院,江苏 南京 210037;2. 南京林业大学 机械与电子工程学院,江苏 南京 210037)

0 引 言

四轮独立转向作为分布式汽车控制的核心技术之一,可提高汽车高速操纵稳定性和低速机动性,是未来智能汽车领域的重要发展方向。通常情况下,四轮独立转向系统由车轮转角传感器、车载电子控制单元(electronic control unit, ECU)和4个独立转向轮构成。ECU用于计算独立轮状态并通过国际标准化的串行通信协议控制器局域网络(controller area network, CAN)传输转向指令[1]。由于每个独立转向车轮配有独立驱动系统,车轮之间没有机械连接,车辆可实现对每个车轮运动状态的独立控制。具体而言,在驾驶员通过操纵方向盘做出转向动作后,ECU决策输出4个控制信号,通过CAN分别传送给4个转向电机,从而实现对车辆的转向控制。转向过程中,4个转向轮需要协同合作完成车辆转向操作。然而在分布式CAN网络中,每个轮毂电机的本地时间受温度、噪声、电源等环境条件影响,往往存在一定偏差,存在对ECU控制信号响应不同步的问题,这将会导致车辆产生转向偏差,甚至引发严重的交通安全事故。

为实现四轮独立转向的时间同步,通常将每个转向轮分别与ECU进行同步,但由于控制指令在CAN网络中存在着优先等级划分,高优先级指令会先于低优先级指令进行传输,这使得四轮独立转向指令在传输过程中产生了非对称延时,该方案可能使得每个转向轮本地时间振荡发散,即某一转向轮同步后的时间(T1)与另一转向轮同步后的时间(T2)不相等;且在多轮通信过后,两者差值越来越大,未能从根本上解决独立同步转向中节点的时间同步问题。

笔者以四轮独立转向时车载CAN网络时间同步过程为应用背景,对现有主流时间同步方法,即平均时间同步法(average timeSynch, ATS)[2]在分布式轮毂电机时间同步过程中的性能进行评估。从数学角度对ATS算法的收敛过程进行推演,证明了在车载CAN网络中使用ATS算法会使得分布式转向轮毂电机时间同步失效,阐明了ATS算法在具有非对称延时的车载CAN网络中的发散特性[2]。此外,为抑制四轮独立转向过程中时间同步的发散性,笔者对造成ATS算法在非对称时间延迟下的发散因子进行分析,在不改变原有算法思路前提下对发散因子所对应参数进行修正,通过公式推导、仿真和实车试验对结果进行验证,为ATS算法在四轮独立转向系统中的时间同步提供思路。

1 研究进展

为使执行器在车载CAN网络中保持一致运动,学界对CAN网络时间同步进行了很多研究[3-9],例如:G. R. BOSCH[10]认为在CAN协议规范中,CAN协议支持错误检测机制,当检测到报文传输失败时会将报文进行重新传输;K. TINDELL等[11]分析了CAN网络响应时间,评估了消息最坏情况下的响应时间,从而使得消息具有实时性,但该方法只解决了报文在离开时间到期之前失效问题,保证了报文在一定时间内不会被丢失,而时间同步的问题仍没得到有效解决。

硬件集成也是目前CAN常用的一种时间同步方式,其实质是将多个设备集成到一个CAN中进行监视和调整执行器本地时钟。例如:G. RODRGUEZ-NAVAS等[12]开发了一种用于CAN时间同步的正交硬件,可提供一种时钟同步服务,通过对分布式系统中当前实时的两种范式比较,实现高精度时间同步;G. BREABAN等[13]提出了CAN基于GALS的MPSoC时钟同步方法,它包含了用于CAN控制器的HW/SW混合设计以实现同步;G. RODRGUEZ-NAVAS等[14]通过OCS-CAN使用改进的CAN控制器对每帧的特定位置执行信号处理,以实现节点之间的精确偏移,从而消除了因网络抖动和消息处理抖动引起的不确定性影响。

目前亟需解决硬件同步的高成本和需要支持的嵌入式软件的问题,故基于软件的时间同步算法成为当下的研究热点。JIAO Ji[15]针对CAN提出了一种非主从时钟同步算法,该算法为使信号传输不受网络信息影响,将传输的同步信号放在单独的信道中;I. BROSTER等[16]提出了一种基于CAN的协议,该协议牺牲了错误消息而不具有及时性,它通过指示丢失非致命错误消息来证明CAN时间同步方法的可行性,且系统可继续正常运行而不会出现错误消息;杨福宇[17]提出了一种为CAN设计的新时钟同步算法,该算法减少了同步期间发送的消息,选取同步需要的若干个节点,实现微秒级数量的同步精度和准确性。但当前软件同步均没考虑存在非对称时间延迟的网络情况。

2 数学建模

考虑一个四轮独立转向系统G={N,E},其中:节点集合N={ni,i≤5,i∈Z+}表示挂载在CAN网络上的通信节点,包含一个ECU单元和4个轮毂电机控制单元;边缘集合E表示节点之间在CAN网络中的通信链路。ECU通过周期性发送报文与4个轮毂电机交互。报文包含了车辆转向过程中相关控制信息,如车辆转向控制信息、转向角度等,同时还包含了发送节点本地时间以保证挂载在CAN网络上所有节点能对时间进行同步,实现车辆协同转向。从车载电子控制单元ECU发送消息到前后转向轮示意如图1。

图1 从车载电子控制单元ECU发送消息到前后转向轮Fig. 1 Sending a message from the in-vehicle electronic control unitto the front and rear steering wheels

(1)

每个节点周期性地广播报文与其他节点进行信息交互,并根据接收到其他节点的本地时间读数对自身本地时间进行估计、调整,并与其他节点进行时间同步。对于节点ni有式(2):

(2)

对于任意ε>0,且两个节点i、j满足式(3)时,则认为CAN网络完成了时间同步:

(3)

3 ATS算法推算演化

3.1 ATS算法时间同步

图2 ATS算法Fig. 2 ATS algorithm

3.2 非对称时间延迟下时间同步发散

考虑收发器对信号响应、信号优先级及信号在通信介质上的传输时间等原因,节点之间的报文传输存在一定时间延迟。由于报文交互过程中数据冲突、优先级等原因,ECU到4个轮毂电机控制单元的通信延迟并不是完全一致。笔者通过反证法证明了在非对称时间延迟条件下,时钟同步过程中的发散特性。

(4)

(5)

式中:P和Q分别为不同的2×2矩阵。

(6)

(7)

假设同步过程中,节点ni在第k+1轮里率先更新成为参考节点,则在式(6)、式(7)中应当用Pα(k+1)和Qα(k+1)来表示,由此可得:

Qα(k+1)=

经整理可得式(8):

(8)

为方便观察,用B(k+1)表示式(8)中的[K+1]Pα(k+1)+Qα(k+1)-P[K],则有式(9):

(9)

证明中需用到的两个定理。

(10)

(11)

(12)

上述计算过程只纯粹涉及到ATS算法的推导,时间是否同步不得而知,对此应增添新的假设情况。

由此可得结论:随时间推移,传统ATS算法在四轮独立转向系统CAN网络中无法达到收敛结果。

3.3 时间同步发散因子

1929年施蛰存在中国第一次运用心理分析创作小说《鸠摩罗什》、《将军底头》而成为中国现代小说的奠基人之一。1930年他主编的《现代》杂志,引进现代主义思潮,推崇现代意识的文学创作,在当时影响广泛。抗日战争爆发后,他曾先后执教于云南大学、厦门大学、暨南大学和光华大学。1952年以后他任教于上海华东师范大学中文系。20世纪80年代,由于现代主义思潮的重新涌入中国,他的文学创作才又重新开始受到重视。

4 模拟仿真

4.1 仿真设置

为衡量网络中ATS算法的时间同步质量,定义3个指标:时间偏差d、时间偏差均值Rk和时间偏差方差Dk。

4.1.1 定义1

(13)

定义1的时间偏差d与式(3)ATS算法的目标函数相近,通过观察每轮循环后d值绝对值大小,可直观地得出ATS算法时间同步的质量。也就是说,当d的绝对值随着时间推移越来越小,即证明ATS算法时间同步质量好,反之则差。

4.1.2 定义2

(14)

时间偏差均值Rk得到了每个时刻节点的估计时间与绝对时间的偏差,该数值大小反应了两个节点通过ATS算法调整后整体估计时间较真实时间的快慢,Rk越大代表调整过后两个节点较真实时间越快,反之则越小。

4.1.3 定义3

(15)

时间偏差方差Dk可用来观察两个节点较真实时间的变化规律。当Dk随绝对时间变化越来越大,表示两个节点估计时间与真实时间偏差的变化率越来越大,即该时刻下节点估计时间的调整越大,变相验证了Rk变化的正确性。

4.2 仿真验证

设置漂移速度和初始偏移量都不相同的两个节点ni和nj,其中节点ni的本地时间漂移速度αi=1,初始漂移量βi=0.1;节点nj本地时间漂移速度αj=0.998 9,初始偏移量βj=0.3。在仿真中增加不存在非对称通信延迟情况,对提出的3个指标在存在非对称通信延迟情况下进行实验。图3、图4描述了两个节点进行2 000次通信的时间同步质量,横坐标代表同步进行的循环次数。图3和图4(a)纵坐标表示两节点时间偏差d,单位:s;图4(b)纵坐标表示时间偏差均值R,单位:s;图4(c)纵坐标表示时间偏差方差D,单位:s2。

图3 两节点在没有非对称延迟下使用ATS算法进行2 000次通信后的时间差值Fig. 3 The time difference between two nodes using the ATSalgorithm for communicating 2 000 times without asymmetric delay

从图4可知:在初始时间偏差为βj-βi=0.2,且不存在非对称通信延迟情况下,使用ATS算法能在9个通信轮次内使两个节点的时间偏差缩小至0.001 5 s,从而实现同步;存在非对称通信延迟且在(0, 0.01)随机数情况下,随着迭代轮次增加,节点间的时间偏差d整体上以0为震荡中心呈发散的趋势越来越大。

以本次仿真为例,当迭代轮次进行到第1 930次时,两节点时间偏差值d最大,dmax=6.43 s。不仅如此,平均每个节点估计时间与真实时间差值整体上也以震荡发散的形式越来越大。由图4(b)可发现:震荡幅度迭代在第1 995~2 000次时达到最大,幅值为3.42 s。而时间偏差均值R在仿真的第1 989次迭代轮次下数值最大,误差为56 s。由图4(c)中时间偏差方差D不断扩大也印证该现象。同样,D值整体呈震荡发散形式不断增大,在第1 811次迭代时达到最大值Dmax=0.006 249 s2。

两节点使用改变权重系数ρη的ATS算法在非对称时延下进行2 000次通信后的时间差值如图5。

图4 两节点在ATS算法下进行2 000次通信的数值Fig. 4 The value of the two nodes communicating 2 000 times under the ATS algorithm

图5 两节点使用改变权重系数ρη的ATS算法在非对称时延下进行2 000次通信后的时间差值Fig. 5 The time difference between two nodes using the ATS algorithmwith the changed weight coefficient ρη communicating 2 000 times withasymmetric delay

从图5可发现:在对权重系数ρη修改后,使用ATS算法使得原本发散的状况变成了收敛,但不同于无非对称的时延的状况。在无非对称时延状况下,两节点间使用ATS算法在实现同步后,后续在时间偏差上没有产生幅值变化。以本次仿真为例,在第9轮将时间偏差控制在0.001 5 s后,直至2 000个迭代轮次里一直维持在这个数值,而在图5中存在非对称时延的状况下,从最终稳定时间偏差数值0.001 45 s来看,两节点间不仅同步所需轮次变多,在第49次迭代才近乎平稳,且后续同步中依旧存在部分幅值波动,幅值波动在0.000 1 s以内。

4.3 多点通信ATS算法验证

所描述系统为四轮独立转向系统,故选取多节点通信中任意5个节点进行ATS算法同步模拟。参照两节间时间同步指标,有多节点时间偏差d′、多节点时间均值R′和多节点参考时间偏差方差D′。

4.3.1 定义4

(16)

式中:x,y∈{i,j,h,r,z},且x≠y。

4.3.2 定义5

(17)

4.3.3 定义6

(18)

根据上述定义对模型进行仿真,横坐标代表迭代次数,即绝对时间t。图6和图7(a)纵坐标表示5个节点时间偏差d′,单位:s;图7(b)纵坐标表示多节点时间偏差均值R′,单位:s;图7(c)纵坐标代表多节点参考时间偏差方差D′,单位:s2。分别设置5个初始偏移量不同、漂移斜率不同节点,具体参数为:ni本地时间漂移速度αi=0.999 9,初始漂移量βi=0.1;nj的本地时间漂移速度αj=1,初始偏移量βj=0.2;nh本地时间漂移速度αh=1.000 1,初始偏移量βh=0.3;nr本地时间漂移速度αr=0.999 8,初始偏移量βr=0.4;nz本地时间漂移速度αz=0.999 7,初始偏移量βz=0.5。

图6 5个节点在没有非对称延迟下使用ATS算法进行2 000次通信后的时间差值Fig. 6 The time difference between five nodes using the ATSalgorithm for communicating 2 000 times without asymmetric delay

从仿真结果来看:5个节点的情况较2个节点发散幅度不尽相同。图6在不存在非对称延迟情况下,5个节点在第38次迭代的时间偏差d′趋近收敛,达到0.00 319 986 s,而后续通过算法依旧存在较小的偏差波动,其分别第43、319、591、1 137、1 409、1 682、1 955次时有了10-9s的时间偏差调整,整体较两节点间同步迭代,在趋近收敛所需轮次上多进行了34轮的通信。在存在非对称通信延时〔图7(a)〕情况下,多个节点之间同样存在估计时间偏差越来越大情况,当跌倒进行到第1 832次轮次时,5个节点间的时间偏差达到了5.068 s。

图7 5个节点在ATS算法下进行2 000次通信的数值Fig. 7 The value of the five nodes communicating 2 000 times under the ATS algorithm

另外将图7(a)与图4(a)发散状况合并,与图8进行对比可知:整体而言,5个节点发散幅度小于2个节点,考虑到节点数量变多,根据时间偏差d′的定义,推测这可能是由于节点间估计时间差值有正负之分,在计算过程中相互抵消缘故。

5个节点使用ATS算法进行同步情况下,平均每个节点与真实时钟偏差与2个节点情况相似,同样呈震荡形式增加,且发散幅值不断扩大。以图7(b)为例,在迭代第1 990~2 000次之间时,震荡幅值最大,达到2.9 s,而整体R′值变化在迭代第1 995次时达到最大,为65.2 s。

修改ρη值后的ATS算法同样适用于多节点状况。图9反映了5个节点使用修改ρη值的ATS算法在存在非对称时间延迟情况下的时间偏差状况。相较于没有延迟在第49次收敛情况,其收敛所需的轮次增多了。以本次仿真数据为例,在第500次才达到近乎收敛结果,此时时间偏差d=0.000 31 s,最终迭代在第2 000次时d收敛于0.000 317 s。

图8 2个节点和5个节点在2 000次通信下的时间偏差和时间偏差均值Fig. 8 The time deviation and time deviation mean between two nodes and five nodes after communicating 2 000 times

图9 5个节点使用改变权重系数的ATS算法在非对称时延下进行2 000次通信后的时间差值Fig. 9 The time difference between five nodes using the ATS algorithmwith the changed weight coefficient after communicating 2 000 timeswith asymmetric delay

5 结 语

笔者研究了对于存在通信延时情况下,ATS算法在车辆四轮独立转向中的运用状况。证明了在存在非对称有界通信延时情况下,多个节点无法在有限时间内将时间偏移速度和时间偏移量估计值控制于一个有界范围内,这标志着ATS算法在存在非对称通信时延的CAN网络中无法实现时间同步。

为研究影响其发散状况因素,笔者定义了时间偏差、时间偏差均值及时间偏差方差这3个指标,并在2个节点和5个节点状况下分别进行仿真试验,得出节点越多节点间时间发散越快的结论。对于拥有更多车轮车辆,对应于网络中拥有更多节点状态下,利用 ATS算法会呈现发散速度更快状况,并在之后通过相关实车试验验证了该结论正确性。

此外,笔者分析了影响ATS算法发散的因素,并通过理论推导、仿真与实车试验验证了该方法的可行性,通过对发散因子修正实现ATS算法在四轮独立转向CAN网络中的时钟同步。目前ATS时间同步算法不适用于四轮独立转向,且随着车辆轮数增多,其时间发散速度也越快,但经过对ATS算法中相关权重系数修改可实现在四轮独立转向中的时间同步。

猜你喜欢

非对称报文偏差
基于J1939 协议多包报文的时序研究及应用
后发技术非对称赶超策略及其情境依赖机制研究
以太网QoS技术研究及实践
避开“暴力”计算 优化解题过程——例析解析几何中“非对称”问题的处理策略
非对称腹板束设计方法在地铁大跨变宽变高连续梁中的应用
50种认知性偏差
基于Python的汽车CAN总线报文格式转换系统的设计与实现
基于报文类型的限速值动态调整
交错群与旗传递点本原非对称2(v,k,4)-设计
加固轰炸机