一种泊车系统超声波障碍物检测方法
2021-02-02冉光伟王金华张毅李艳明
冉光伟,王金华,张毅,李艳明
(广州汽车集团股份有限公司汽车工程研究院,广东广州 510640)
0 引言
随着计算机应用和传感技术的迅猛发展,目前市场出售的车型越来越多地搭载智能泊车功能。2018年国家《汽车产业中长期发展规划》已经出台,未来智能驾驶功能会越来越智能和人性化,而智能泊车功能恰恰是智能驾驶功能的重要一环。
环境检测是智能泊车中的关键技术,环境信息中最重要的是距离信息。超声波传感器与其他环境探测传感器相比,其性能几乎不受色彩伪装、光照变化、烟雾灰尘、电磁干扰等的影响,且金属、木材、混凝土、玻璃、橡胶和纸等可以反射近乎100%的超声波,成本低、结构简单,得到了广泛应用。
超声波障碍物检测模块作为智能泊车系统的基础模块,其理论基础已经相当完备,匡兵等人[1]基于超声波雷达的车位检测算法。方玉杰[2]使用超声波传感器进行垂直车位的检测。魏振亚[3]基于超声波雷达进行垂直和水平车位的检测。但是这些检测方法对应的场景过于理想化,未考虑实际的复杂场景,并且对于具体的算法过于模糊。
基于环视摄像头的图像算法检测停车位,能够对有线特征的车位进行识别。王晋疆和王鹏飞[4]提出了一种基于环视系统的车位检测方法。但光照强度直接影响视觉识别率以及识别精度,导致泊车效果不稳定。
鉴于此,基于超声波探头设计的两点定位障碍物检测算法,并对障碍物场景进行分析和验证。
1 整体系统设计与工作原理
1.1 超声波传感器工作原理
超声波是指谐振频率高于20 Hz的声波,频率越高反射能力越强。超声波主要通过发射、回收声波来探测障碍的位置,采用时间差测距法,即超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立刻停止计时,根据超声波在空气中的传播速度和计时器记录的时间,就可以计算出发射点距障碍物的距离。
距离与声速、时间的关系表示为
(1)
式中:s为与障碍物间的距离,m;c为声速,m/s;t为第一个回波到达的时刻与发射脉冲时刻的时间差,s。
由于超声波在空气中的速度和空气的温度湿度有关,在比较精确的测量中,可以把温度的变化和其他因素考虑进去,空气中声速与温度的关系可表示为
(2)
式中:c为声速,m/s;θ为环境温度,℃。
1.2 障碍物检测概述
超声波障碍物检测是智能泊车系统的基础模块,超声波传感器对周围发射超声波,并接收超声波的回波。障碍物检测模块通过算法对传感器所接收到的回波信息进行处理,计算出车辆周围的障碍物坐标,并计算出距离车辆最近的障碍物距离,给轨迹规划模块、车位搜寻模块及车辆控制模块提供了决策的依据。
超声波障碍物检测一个最重要的功能是记录车身两侧前后5 m的障碍物信息,为车位的视觉和超声波融合提供判断依据。
障碍物检测目前有比较多的选择,包括摄像头视觉识别、激光雷达检测、毫米波检测及超声波检测等。考虑到具体的泊车场景及成本,超声波障碍物检测是比较适用于泊车过程中的MCU端的障碍物检测。
1.3 障碍物检测算法原理
两点定位是一种最基本的平面定位方式,这种定位方式通过已知的两个超声波发波点之间的位置信息,分别测量得到的障碍物距离发波点的距离信息,通过三角函数从而计算出障碍物距离信息。又称之为三角函数法。该定位方式比单点定位方式更准确地得出障碍物距离信息,但是,在一些情况下,两个超声波发波点之间的距离和分别测量得到的障碍物距离发波点的距离构成不了三角形,在这种情况下,需要对计算做出一定的逻辑处理。两点定位原理如图1所示。
AB之间长度已知,在测量得出AO之间距离和BO之间距离之后,若ΔAOB构成三角形,则根据余弦定理关系如下:
(3)
则点O距离AB的垂直距离为:
(4)
点O距离点A的水平距离为:
(5)
1.4 障碍物更新算法原理
障碍物信息都是位于车身坐标系中(车身中点为原点),在记录障碍物的位置信息后,车辆进行移动,实际上相当于车身坐标系在进行坐标变换。车身坐标系在移动,尤其是转弯时,其原点变换规律并不直观,但是车辆后轴中心变换规律是直观且清晰的。在车辆转弯时,根据车辆运动学原理,其相当于车辆后轴中心绕车辆后轴延长线上某一点作圆周运动,如图2所示,其相当于车辆后轴中心坐标系作平移和旋转的组合。
所以,车身坐标系原点的坐标变化过程,文中利用车辆后轴中心坐标系的平移和旋转来表达:
(1)将车身中心平移到车身后轴中心;
(2)车身后轴中心作平移变换;
(3)车身后轴中心作旋转变换;
(4)将车身后轴中心平移到车身中心。
假设车身中心距离车身后轴中心距离为L,作顺时针圆周运动,车辆转弯半径为r,航向角为θ,则车身坐标系变换对应的数学表达为:
(6)
(7)
(8)
(9)
综上,障碍物坐标在车辆转弯时的变化公式为:
(10)
(11)
1.5 车辆超声波探头位置信息
车辆超声波探头位置信息分为两种:(1)车辆前后方向的超声波探头位置信息;(2)车辆两侧的超声波探头位置信息。
车辆超声波探头位置参数是固有信息,由于每类车型的安装位置都存在差异,因此仅以广汽新能源SUV车型作为研究载体,超声波探头安装位置如图3—图5所示。
图4 车辆后超声波探头参数
图5 车辆两侧超声波探头参数
车辆前后的障碍物检测可以通过超声波探头的一发多收机制实现两点定位算法,即同一时刻前面6个摄像头仅有一个发射超声波,其他超声波均处于接收状态。但是两侧的超声波探头无法实现一发多收机制。
1.6 障碍物检测的限制
超声波探头参数是有物理方面的限制,其主要体现在波束角的限制上,典型的超声波探头的水平方向波束角与探测距离的关系如图6所示。
图6 超声波探头水平探测角度图
因此,在通过两点定位计算角度后,需要对计算的角度进行波束角的约束,一般超声波传感器在距离小于20 cm情况下,无法探测距离,则需要对计算做出一定的逻辑处理。
对于运动中测量的两点定位测量来说,应有一个最短运动距离的约束,如图7所示。
图7 运动定位中的最短运动距离
由图可知,该最短运动距离应该由超声波最小探测距离及波束角等参数决定。若运动距离小于该最短运动距离,则会造成在一些超声波测量范围内的障碍物检测不到,同时,在测量远距离障碍物时,微小的测量误差会造成很大的计算误差。若运动距离远大于该最短运动距离,车辆运动过程中测量点会变少,并且容易测量到不同的障碍物从而造成测量结果不确定。考虑到车辆在单位时间间隔内行进的距离,最佳的运动距离即是该最短运动距离。
2 障碍物检测算法
2.1 车辆两侧的障碍物检测
车辆两侧各在前后有一个超声波探头,单探头无法准确定位,所以车辆两侧的障碍物检测利用时间换空间,在车辆直线行进中,利用同一个超声波探头不同时刻的两个点形成两点定位,从而进行车辆两侧障碍物检测,其在行进中进行障碍物检测如图8所示。
图8 车辆侧方障碍物探测
超声波A传感器在起点位置S1时,T11时刻探测障碍物,在T12收到超声波反馈,基于车速远小于声速,因此在障碍物端的移动进行了忽略处理,设探测到障碍物距离为L1,则:
L1=v声·(T12-T11)
(12)
超声波A传感器在终点位置S2时,T21时刻探测障碍物,在T22收到超声波反馈,则探测到障碍物距离为L2为:
L2=v声·(T22-T21)
(13)
起点S1到终端S2移动距离L为:
L3=v·(T22-T11)
(14)
在计算出来L1、L2障碍物位置及车辆移动距离L3后,对其做车辆前进方向的补偿,可根据公式(1)计算出Ln的距离。
按照同样的方法计算出B传感器的测试距离Lb,分别计算出距离Ln和Lb后,为了避免计算误差,障碍物的距离L采用平均值,即:
(15)
2.2 障碍物检测的误差分析
超声波的两点定位适用于理论上单点障碍物情况,但是在实际中,障碍物的情况是比较复杂的。一个典型场景是一堵墙,如图9所示。
图9 障碍物是一堵墙的场景
在这种情况下,根据两点定位算法,会虚拟地认为存在O′这个障碍物,其垂直方向上的误差为O′到墙壁的距离,其水平方向上的误差为AB距离的1/2。因为O′跟墙壁比,总是离车辆更近,所以在总是比较安全的,其具体的差距取决于超声波探头距离墙壁的距离和两个探头之间的距离,见表1。
表1 探头距离及墙壁距离和测量误差关系
表中空格表示无法构建三角形或者计算出的角度超出了波束角的约束。另外,MCU发送到SOC显示的距离数据是以10 cm为单位的,所以考虑到显示单位,10 cm以内的误差都是可以接受的。水平方向的误差对于整个测量过程来说,其影响远远小于垂直方向的误差。这是因为对于前后超声波探头来说,能够显示出前后有障碍物,并且4个探头两两互相测量从而使一个个点连成一条线表示一个面,其水平方向的误差对于整个面来说,没有太大关系;而侧方超声波测量的水平误差在10 cm,并且是在运动中完成,在运动中也会使一个个点连成一条线表示一个面,其水平方向的误差影响更小。
对于车辆侧方测量的水平误差来说,最关键是对于类似车位的场景,要比较准确地测量障碍物的水平位置,如图10场景所示。
图10 车位场景
在这种场景下,两点定位在边界有比较好的适用性,其对于障碍物的边界有着比较好的测量,实际测量也证实,测量出来水平方向的距离比较好地吻合实际障碍物位置。应用两点定位算法,对比单点直接测量,障碍物边界更加准确,从而使得后续的车位搜寻更加准确,特别对于垂直车位,不会因为障碍物边界太宽而造成错误的车位取消。
2.3 障碍物分组算法
障碍物检测模块会记录车身中心两侧可识别的一定范围内的障碍物信息,以一个最优的距离作为一个计算单位,并将分成若干个刻度,以数组记录障碍物坐标信息。在障碍物更新后,对整个数组进行遍历,如果连续多个数组成员无障碍物信息或者相邻数组成员的障碍物垂直方向坐标差距较大,则认为是一个新的分组,并且用一个数据结构记录分组信息,便于后续使用。例如,在车辆中心两侧前后3 m的记录障碍物信息,以20 cm为单位计,单侧有30个刻度,以数组记录障碍物坐标信息,则该数组长度为31,如图11所示。
图11 车辆侧方前后3 m障碍物坐标
在障碍物更新后,对整个数组进行遍历,如果连续6个数组成员无障碍物信息或者相邻数组成员的障碍物垂直方向坐标差距大于60 cm,则认为是一个新的分组,并且用一个数据结构记录分组信息,便于后续使用。
3 验证结果
根据上述障碍物检测方法,智能泊车系统安装在整车上进行各种考验,评估是否能够达到预期效果与设计目标,验证最终智能泊车的准确性(表2),为后续各个模块提供车辆坐标。
表2 功能测试验证结果
4 结束语
文中以智能泊车系统为应用背景,对超声波测距算法进行了深入地分析与应用研究,形成了完整的超声传感器障碍物检测方法,且深入分析了障碍物超声检测和汽车间隙检测技术,旨在建立倒车环境模型为泊车控制系统提供更准确的环境信息,使泊车过程更可靠、更安全。