本技术涉及自动驾驶,尤其涉及一种自动驾驶车辆的摇摆检测方法、系统及介质。
背景技术:
1、随着自动驾驶技术的发展,自动驾驶过程中车辆的安全保护变得越来越重要。
2、在自动驾驶过程中,自动驾驶系统定位错误或底盘出现故障,均可能会导致车辆左右摇摆(俗称画龙)。如果车辆在驾驶过程中出现左右摇摆的问题,需要及时对车辆进行减速、报警等降级处理,从而确保车辆的安全行驶,避免行车风险。
3、然而,相关技术中并没有能够准确地检测自动驾驶车辆在行驶过程中是否发生左右摇摆的技术方案。
技术实现思路
1、本技术实施例提供一种自动驾驶车辆的摇摆检测方法、系统及介质,能够准确地检测自动驾驶车辆在行驶过程中是否发生左右摇摆。
2、第一方面,本技术实施例提供一种自动驾驶车辆的摇摆检测方法,包括:
3、获取车辆自动驾驶过程中产生的航向误差值,并生成所述航向误差值的时序数据;
4、根据所述航向误差值的时序数据以及滑动时间窗口,确定对应的航向误差队列,所述航向误差队列包括预设数目个航向误差值;
5、遍历所述航向误差队列,并根据航向误差值的正负性确定所述航向误差队列中的波峰和波谷;
6、根据所述航向误差队列中的波峰和波谷,确定所述车辆是否发生左右摇摆。
7、在本实施方式中,可以持续获取车辆自动驾驶过程中产生的航向误差值,并利用滑动时间窗口在航向误差值的时序数据上截取对应的航向误差队列,从而获取能够表征车辆最新航向状态的预设数目个航向误差值。之后遍历航向误差队列,根据航向误差值的正负性即可确定车辆在各个航向区间的波峰和波谷,即车辆在滑动时间窗口这一时段内的航向误差波动情况。根据航向误差队列中不同航向方向分别波动最大的波峰和波谷的变化情况,即可准确的检测车辆在滑动时间窗口这一时段内是否发生左右摇摆。最后,根据能够利用滑动时间窗口持续更新的航向误差队列,即可持续而又准确地检测自动驾驶车辆在行驶过程中是否发生左右摇摆。
8、在一种可能的实施方式中,所述获取车辆自动驾驶过程中产生的航向误差值,并生成所述航向误差值的时序数据,包括:
9、根据高精定位以及高精地图,周期地获取车辆自动驾驶过程中产生的航向误差值,所述航向误差值包括正负性以及角度值;
10、基于获取时间戳的先后顺序对所述航向误差值进行排序,以生成所述航向误差值的时序数据。
11、在本实施方式中,在周期地获取车辆自动驾驶过程中产生的航向误差值之后,即可根据获取时间戳的先后顺序对各个周期的航向误差值进行整理,以生成航向误差值的时序数据,从而不断获取能够表征车辆最新航向状态的时序数据,以便后续航向误差队列的确定。
12、在一种可能的实施方式中,所述根据所述航向误差值的时序数据以及滑动时间窗口,确定对应的航向误差队列,包括:
13、在检测到所述时序数据中航向误差值的数目大于或等于所述预设数目时,控制所述滑动时间窗口随着所述时序数据的更新滑动,以使所述滑动时间窗口包括所述时序数据中最新的航向误差值,且所述滑动时间窗口包括预设数目个航向误差值;
14、根据所述滑动时间窗口中的航向误差值,确定对应的航向误差队列。
15、在本实施方式中,当时序数据中航向误差值的数目大于或等于预设数目时,可以控制滑动时间窗口不断滑动,使得滑动时间窗口始终包含时序数据中最新的航向误差值,利用滑动时间窗口不断更新的方式,可以保证航向误差队列能够表征车辆最新航向状态,从而提高后续根据航向误差队列判断车辆是否发生左右摇摆的准确性。
16、在一种可能的实施方式中,所述遍历所述航向误差队列,并根据航向误差值的正负性确定所述航向误差队列中的波峰和波谷,包括:
17、按照时间顺序遍历所述航向误差队列,并根据所述航向误差队列中各航向误差值的正负性,生成多个元素数组,每一元素数组中航向误差值的正负性相同;
18、当元素数组中航向误差值为正时,根据所述元素数组中的最大航向误差值,确定所述元素数组的波峰;
19、当元素数组中航向误差值为负时,根据所述元素数组中的最小航向误差值,确定所述元素数组的波谷;
20、根据各元素数组对应的波峰/波谷,确定所述航向误差队列中的波峰和波谷。
21、在本实施方式中,遍历航向误差队列时,可以根据航向误差队列中各航向误差值的正负性,生成多个元素数组,使得每一元素数组中航向误差值的正负性相同,从而根据元素数组中各数值的大小,确定对应的波峰/波谷。
22、在一种可能的实施方式中,所述根据所述航向误差队列中的波峰和波谷,确定所述车辆是否发生左右摇摆,包括:
23、确定所述航向误差队列中相邻波峰波谷/波谷波峰之间的航向误差差值;
24、判断所述航向误差差值中是否存在超过差值阈值的有效差值;
25、如果存在有效差值,则根据所述航向误差队列对应的有效差值的数目确定所述车辆是否发生左右摇摆。
26、在本实施方式中,根据航向误差队列中不同航向方向分别波动最大的波峰和波谷的变化情况,即可判断是否符合车辆左右摇摆的航向变化特征,从而准确的检测自动驾驶车辆在行驶过程中是否发生左右摇摆。当某个航向误差差值为超过差值阈值的有效差值时,即可认为车辆产生一次有效摇摆,根据有效差值的数目即可准确地确定车辆是否发生左右摇摆。
27、在一种可能的实施方式中,所述根据所述航向误差队列对应的有效差值的数目确定所述车辆是否发生左右摇摆,包括:
28、判断所述航向误差队列对应的有效差值的总数目是否超过数目阈值;如果超过数目阈值,则确定所述车辆发生左右摇摆;
29、或者,
30、确定所述航向误差队列对应的有效差值中连续的有效差值序列;判断所述有效差值序列中有效差值的数目是否超过数目阈值;如果超过数目阈值,则确定所述车辆发生左右摇摆。
31、在本实施方式中,判断车辆是否发生左右摇摆时,可以根据滑动时间窗口这一时段内有效差值的总数目进行判断,即只要航向误差队列对应的有效差值的总数目超过数目阈值,即可认为车辆发生左右摇摆,从而提高车辆摇摆检测的全面性和准确性。此外,还可以根据航向误差队列内是否连续出现有效差值进行判断,即只有航向误差队列中连续出现超过数目阈值个有效差值,才确定车辆发生左右摇摆,从而提高车辆摇摆检测的速度和准确性。
32、在一种可能的实施方式中,所述按照时间顺序遍历所述航向误差队列,并根据所述航向误差队列中各航向误差值的正负性,生成多个元素数组,包括:
33、步骤s1:按照时间顺序遍历所述航向误差队列,并生成元素数组,将遍历到的当前航向误差值放入所述元素数组中;
34、步骤s2:继续遍历所述航向误差队列,若遍历到的下一航向误差值的正负性与当前航向误差值的正负性相同,则将所述下一航向误差值放入所述元素数组中,并根据所述下一航向误差值对当前航向误差值进行更新,直至遍历到下一航向误差值的正负性与当前航向误差值的正负性相反;
35、步骤s3:若遍历到的下一航向误差值的正负性与当前航向误差值的正负性相反,则生成新的元素数组,将下一航向误差值放入新的元素数组中,并根据所述下一航向误差值对当前航向误差值进行更新;
36、重复执行上述步骤s2-s3,直至遍历完所述航向误差队列,以对应的生成多个元素数组。
37、在本实施方式中,在按照时间顺序遍历航向误差队列时,将下一航向误差值的正负性与当前航向误差值的正负性比较,即可简单而又准确地生成按照时间顺序排列的多个元素数组。
38、第二方面,本技术实施例提供一种自动驾驶车辆的摇摆检测系统,包括:
39、获取模块,用于获取车辆自动驾驶过程中产生的航向误差值,并生成所述航向误差值的时序数据;
40、处理模块,用于根据所述航向误差值的时序数据以及滑动时间窗口,确定对应的航向误差队列,所述航向误差队列包括预设数目个航向误差值;遍历所述航向误差队列,并根据航向误差值的正负性确定所述航向误差队列中的波峰和波谷;根据所述航向误差队列中的波峰和波谷,确定所述车辆是否发生左右摇摆。
41、第三方面,本技术实施例提供另一种自动驾驶车辆的摇摆检测系统,包括:
42、处理器,以及与处理器通信连接的存储器;
43、存储器用于存储计算机执行指令;
44、处理器用于执行存储器存储的计算机执行指令,以实现第一方面的自动驾驶车辆的摇摆检测方法。
45、第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现第一方面的自动驾驶车辆的摇摆检测方法。
46、第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时用于实现第一方面的自动驾驶车辆的摇摆检测方法。
1.一种自动驾驶车辆的摇摆检测方法,其特征在于,包括:
2.根据权利要求1所述的自动驾驶车辆的摇摆检测方法,其特征在于,所述获取车辆自动驾驶过程中产生的航向误差值,并生成所述航向误差值的时序数据,包括:
3.根据权利要求2所述的自动驾驶车辆的摇摆检测方法,其特征在于,所述根据所述航向误差值的时序数据以及滑动时间窗口,确定对应的航向误差队列,包括:
4.根据权利要求1-3中任一项所述的自动驾驶车辆的摇摆检测方法,其特征在于,所述遍历所述航向误差队列,并根据航向误差值的正负性确定所述航向误差队列中的波峰和波谷,包括:
5.根据权利要求4所述的自动驾驶车辆的摇摆检测方法,其特征在于,所述根据所述航向误差队列中的波峰和波谷,确定所述车辆是否发生左右摇摆,包括:
6.根据权利要求5所述的自动驾驶车辆的摇摆检测方法,其特征在于,所述根据所述航向误差队列对应的有效差值的数目确定所述车辆是否发生左右摇摆,包括:
7.根据权利要求6所述的自动驾驶车辆的摇摆检测方法,其特征在于,所述按照时间顺序遍历所述航向误差队列,并根据所述航向误差队列中各航向误差值的正负性,生成多个元素数组,包括:
8.一种自动驾驶车辆的摇摆检测系统,其特征在于,包括:
9.一种自动驾驶车辆的摇摆检测系统,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现权利要求1-7中任一项所述的自动驾驶车辆的摇摆检测方法。