一种车位检测方法、装置、介质和设备
技术领域
本发明涉及自动泊车技术领域,特别涉及一种车位检测方法、装置、介质和设备。
背景技术
全自动泊车的首要步骤就是检测车位。在现有技术中,车位检测是通过车周的超声波雷达,沿车辆行驶路径进行搜索,从行驶路径两侧的待检测区域中发现可停车区域。
但是,现有技术方案中,对车辆行驶路径有一定的要求,通常需要行驶路径与待检测区域保持平行,且在车辆转向、倒车过程中,无法进行车位检测。
发明内容
本发明实施例提供一种车位检测方法、装置、介质和设备,用于解决车位检测过程中,车辆行驶路径和方向受限的问题。
一种车位检测方法,车辆左右两侧的指定位置均安装有一个超声波雷达,所述方法包括:
若确定所述车辆发生了移动,则针对车辆左侧和右侧,分别确定对应的超声波雷达检测到的每个障碍物上的点的坐标值;并分别针对车辆左侧和右侧,根据障碍物上的点到对应的超声波雷达的距离,对障碍物上的点进行分组;
根据一个分组中每个障碍物上的点的坐标值,进行线段拟合,并根据该分组中具有二次回波的障碍物上的点的比例,确定拟合出的线段的高低属性,所述高低属性由于描述组成所述线段的障碍物上的点来源于高物体还是低物体;
分别针对车辆左侧和右侧对应的线段,通过模型匹配方法,确定相邻两条高属性线段之间,是否存在车位。
一种车位检测装置,所述装置包括:
坐标确定模块,用于若确定车辆发生了移动,则针对车辆左侧和右侧,分别确定对应的超声波雷达检测到的每个障碍物上的点的坐标值;
分组模块,用于分别针对车辆左侧和右侧,根据障碍物上的点到对应的超声波雷达的距离,对障碍物上的点进行分组;
线段拟合模块,用于根据一个分组中每个障碍物上的点的坐标值,进行线段拟合;
属性赋值模块,用于根据一个分组中具有二次回波的障碍物上的点的比例,确定拟合出的线段的高低属性,所述高低属性由于描述组成所述线段的障碍物上的点来源于高物体还是低物体;
识别模块,用于分别针对车辆左侧和右侧对应的线段,通过模型匹配方法,确定相邻两条高属性线段之间,是否存在车位。
本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现如上所述方法的步骤。
本发明还提供了一种车位检测设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述程序时实现如上所述方法的步骤。
根据本发明实施例提供的方案,可以分别对车辆左右两侧的超声波雷达探测到的障碍物上的点,进行聚类和分段拟合,从而获得车辆左右两侧分别对应的障碍物线段集合,并赋予线段高低属性,通过模型匹配方法,确定相邻两条高属性线段之间,是否存在车位。本发明实施例提供的方案中,对车辆行驶路径和方向均无限制,提高了车位检测的普适性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的车位检测方法的流程示意图;
图2为本发明实施例一提供的坐标系示意图;
图3为本发明实施例一提供的障碍物点距离突变示意图;
图4为本发明实施例一提供的平行车位示意图;
图5为本发明实施例一提供的垂直车位示意图;
图6为本发明实施例一提供的相邻两条高属性的线段之间的夹角和横向深度距离示意图;
图7为本发明实施例一提供的平行车位对应的轮廓描述和目标位姿示意图;
图8为本发明实施例一提供的垂直车位对应的轮廓描述和目标位姿示意图;
图9为本发明实施例二提供的车位识别方法的流程示意图;
图10为本发明实施例三提供的车位检测装置的结构示意图;
图11为本发明实施例四提供的车位检测设备的结构示意图。
具体实施方式
在本发明各实施例中,车辆左右两侧的障碍物上的点组成的线段所描述的空间,可以称为可达空间。本发明提供的车位检测方案,可以在可达空间进行循环遍历,搜索车辆行驶过程中的所有车位,同时将左右两侧的车位都识别出来。且车位检测过程中,对行驶路径没有过多要求,在车辆转向、倒车过程中同样可以进行车位检测。
同时,在本发明提供的方案中,通过安装在指定位置的超声波雷达,可以对路沿进行识别,对当前车辆以及目标车位之间的障碍物可以有比较完整的描述。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
本发明实施例一提供一种车位检测方法,该方法的步骤流程可以如图1所示,包括:
步骤101、确定车辆是否发生移动。
在本实施例中,可以在车辆发生移动时,触发车位检测。因此,在本步骤中,可以确定车辆是否发生了移动,若确定车辆发生了移动,则可以继续执行步骤102。
具体的,可以但不限于通过车辆位姿是否发生变化,来确定车辆是否发生了移动。车辆位姿可以理解为包括车辆中心点坐标和车辆横摆角。
如图2所示,假设全局绝对平面坐标系为oxy,车辆局部坐标系为o’x’y’。车辆中心点坐标可以为车辆后轮轴中心点坐标,则车辆位姿包括车辆后轮轴中心点坐标(即车辆局部坐标系中坐标原点o'点坐标)和车辆横摆角(θ0),车辆位姿在全局绝对平面坐标系下可以表示为(x0,y0,θ0)。车辆位姿可以根据轮脉冲、惯性测量单元(IMU)、方向转角等信号输入,利用车辆累计航位推算公式确定。
步骤102、确定障碍物上的点的坐标值。
在本步骤中,若确定所述车辆发生了移动,则可以针对车辆左侧和右侧,分别确定对应的超声波雷达检测到的每个障碍物上的点的坐标值。每个障碍物上的点的坐标值可以通过任意方式确定,例如,每个障碍物上的点的坐标值可以但不限于通过所述车辆的位姿,该障碍物上的点到对应的超声波雷达的距离,以及该超声波雷达在所述车辆上的安装位置确定。
需要说明的是,在本实施例中,为了实现障碍物上的点的检测,超声波雷达需要安装在车辆左右两侧的指定位置。
较优的,超声波雷达可以但不限于安装在车辆前轮轮眉上,垂直于车身轴线,且离地高度为指定高度,指定高度可以根据不同超声波雷达的特性设定,相对于后轮轴中心o'的安装尺寸为Lx,Ly。车辆右侧超声波雷达的安装位置可以如图2所示。超声波雷达探测到的障碍物上的点,到该超声波雷达的距离可以用d表示。为统一左右两侧障碍物点计算公式,Ly与d的符号均可以规定为车辆前进方向的左侧为负,右侧为正,Lx的符号可以规定均为正。那么对应障碍物上的点P在全局绝对平面坐标系oxy下的坐标(xp,yp)计算公式可以表示为:
步骤103、对障碍物上的点进行分组。
需要说明的是,步骤102和步骤103执行不分先后。在本实施例中,以步骤103在步骤102之后执行为例,进行说明。
考虑到超声波雷达检测到的是障碍物的轮廓点,障碍物的轮廓一般不会发生突变,因此在检测出的障碍物上的点到对应的超声波雷达的距离发生突变时,可以理解为该点所属的障碍物发生了变化。因此,在本实施例中,可以根据距离是否发生突变,对属于不同障碍物的点进行分组,实现对障碍物上的点的聚类。
在本步骤中,可以分别针对车辆左侧和右侧,根据障碍物上的点到对应的超声波雷达的距离,对障碍物上的点进行分组。
具体的,在本步骤中,可以分别针对车辆左侧和右侧,在当前检测到的障碍物上的点到对应的超声波雷达的距离,与该障碍物上的点之前相邻检测到的障碍物上的点到该超声波雷达的距离之间,差值的绝对值大于设定值时,将当前检测到的障碍物上的点之前,未被分组的障碍物上的点划分为一个分组。
例如,如图3所示为探测到的障碍物上的点距离突变示意图。进行车位检测的车辆先后经过1号车辆,路沿和2号车辆,可以扫描到如图3所示意的障碍物轮廓点。可以发现在车辆连续行进过程中,对于同一个障碍物扫描获得的点集中,相邻两点之间的距离变化不大。而对于不同的障碍物,在边缘处,相邻两点之间的距离会发生突变,例如P(m)与P(m+1),P(n)与P(n+1)。因此,可以对扫描到的所有点进行聚类,以图3为例,可以聚类为3个分组。
当然,如果障碍物消失,超声波雷达没有检测到障碍物上的点,那么超声波雷达探测到的距离为最大量程值,此时,也可以理解为探测到的障碍物上的点距离,相对于上一个障碍物上的点,发生了突变。
步骤104、进行线段拟合。
在本步骤中,可以根据一个分组中每个障碍物上的点的坐标值,进行线段拟合。
仍以图3为例,针对每个分组进行线段拟合,可以得到描述障碍物轮廓的3条线段l1,l2,l3,其中l1,l2为车身轮廓,l3为路沿轮廓。
在进行线段拟合之后,可以将获取的每个障碍物上的点相关信息,如坐标值、距离等删除,以节约存储空间。
步骤105、线段属性赋值。
发明人在试验中发现,每个障碍物上的点除了对应超声波雷达当时的直接测量值(一次回波)之外,还可能存在二次回波。在超声波雷达扫描较高的障碍物(如,车辆)时,二次回波的比例较高,在扫描较低的障碍物(如,路沿)时,二次回波的比例较低。
需要说明的是,本发明各实施例中涉及的超声波雷达具有二次回波探测能力。因此,在本步骤中,可以根据每个分组中具有二次回波的障碍物上的点的比例,确定拟合出的线段的高低属性,所述高低属性由于描述组成所述线段的障碍物上的点来源于高物体还是低物体。
在确定线段的高低属性时,可以将具有二次回波的障碍物上的点的比例大于特定值的分组,对应拟合出的线段确定为高属性,将不大于特定值的分组,对应拟合出的线段确定为低属性。较优的,通过实验测试,所述特定值可以为60%。当然,所述特定值可以根据超声波雷达的实际检测能力进行调整。
当然,优选的,线段还可以进一步理解为包括左右属性,所述左右属性由于描述组成所述线段的障碍物上的点来源于车辆左侧还是车辆右侧。
在本步骤中,优选的,还可以将具有右属性的线段加入右侧线段集合,将具有左属性的线段加入左侧线段集合,以便于后续分别根据右侧线段集合和左侧线段集合进行车位识别。
步骤106、车位识别。
在本步骤中,可以分别针对车辆左侧和右侧对应的线段,通过模型匹配方法,确定相邻两条高属性线段之间,是否存在车位。
如图4所示,车辆一侧的车位可能为平行车位。此时,具体的,可以但不限于通过以下方式确定相邻两条高属性线段之间,是否存在车位:
若相邻两条高属性线段之间还包括低属性线段,则确定该低属性线段与所述相邻两条高属性线段中至少一条之间的横向深度距离,与所述车辆的车宽之间的差值是否大于第一门限值;以及,确定相邻两条高属性的线段之间的纵向长度距离,与所述车辆的车长之间的差值是否大于第二门限值;
若所述横向深度距离与所述车辆的车宽之间的差值大于第一门限值,且所述纵向长度距离与所述车辆的车长之间的差值大于第二门限值,则确定相邻两条高属性线段之间,存在至少一个车位;或者,
若相邻两条高属性线段之间不包括低属性线段,则确定相邻两条高属性的线段之间的纵向长度距离,与所述车辆的车长之间的差值是否大于第二门限值,若是,则确定相邻两条高属性线段之间,存在至少一个车位。
若相邻两条高属性线段之间还包括低属性线段的情况,可以理解为相邻两条高属性线段对应的障碍物之间,还存在一个低属性线段对应的障碍物,则此时,需要判断三条线段对应的空间的宽(dp,横向深度距离)和长(L3,纵向长度距离)是否满足进行车位检测的车辆的车宽和车长需求,是否可以作为一个车位使用。
若相邻两条高属性线段之间不包括低属性线段的情况,可以理解为相邻两条高属性线段对应的障碍物之间,不存在其他障碍物,则此时可以理解为宽度足以满足进行车位检测的车辆的车宽需求,只需要判断两条线段对应的空间的长(L3)是否满足进行车位检测的车辆的车长需求,是否可以作为一个车位使用。
较优的,所述第一门限值可以为0.3米,第二门限值可以为0.8米。
进一步的,为了减少车位的误检测,可以进一步确定相邻两条高属性的线段长度均大于第一指定值,从而提高相邻两条高属性的线段对应的障碍物为车辆的概率,进而提高检测出的区域为车位的准确性。
较优的,所述第一指定值可以为0.8倍的进行车位检测的车辆的车长。
如图5所示,车辆一侧的车位也可能为垂直车位。此时,具体的,可以但不限于通过以下方式确定相邻两条高属性线段之间,是否存在车位:
若相邻两条高属性线段之间还包括低属性线段,则确定该低属性线段与所述相邻两条高属性线段中至少一条之间的横向深度距离,与所述车辆的车长之间的差值是否大于第三门限值;以及确定相邻两条高属性的线段之间的纵向长度距离,与所述车辆的车宽之间的差值是否大于第四门限值;
若所述横向深度距离与所述车辆的车长之间的差值大于所述第三门限值,且所述纵向长度距离与所述车辆的车宽之间的差值大于第四门限值,则确定相邻两条高属性线段之间,存在至少一个车位;或者,
若相邻两条高属性线段之间不包括低属性线段,则确定相邻两条高属性的线段之间的纵向长度距离,与所述车辆的车宽之间的差值是否大于第四门限值,若是,则确定相邻两条高属性线段之间,存在至少一个车位。
与平行车位类似的,若相邻两条高属性线段之间还包括低属性线段的情况,则此时,需要判断三条线段对应的空间的深度(dp,横向深度距离)和宽度(L3,纵向长度距离)是否满足进行车位检测的车辆的车长和车宽需求,是否可以作为一个车位使用。
若相邻两条高属性线段之间不包括低属性线段的情况,则此时可以理解为深度足以满足进行车位检测的车辆的车长需求,只需要判断两条线段对应的空间的宽度(L3)是否满足进行车位检测的车辆的车宽需求,是否可以作为一个车位使用。
较优的,所述第三门限值可以为0.3米,第四门限值可以为0.6米。
进一步的,为了减少车位的误检测,可以进一步确定相邻两条高属性的线段长度均大于第二指定值。较优的,所述第二指定值可以为0.8倍的进行车位检测的车辆的车宽。
而不论针对平行车位,还是垂直车位,为了更进一步地减少车位的误检测,还可以进一步确定相邻两条高属性的线段之间的夹角小于第一阈值,以及相邻两条高属性的线段之间的横向深度距离小于第二阈值。
图6为相邻两条高属性的线段之间的夹角和横向深度距离示意图,相邻两条高属性的线段之间的夹角θ12,可以理解为延长L1,L2得到的夹角。作夹角的角平分线LA,分别过L1,L2的中点作LA的垂线,得到距离d1,d2,那么L1,L2的横向距离深度距离d12定义为d1,d2之间差值的绝对值:d12=|d1-d2|。
较优的,所述第一阈值可以为25度,所述第二阈值可以为1米。
当然,上述各门限值、指定值、阈值均可以根据进行车位检测的车辆的几何尺寸参数以及转向能力进行调整。
此外,需要说明的是,在本步骤中,进行车位识别时,仅规定了各参数的下限,使得识别出的车位至少可以满足停放进行车位检测的车辆的要求。而根据不同的功能产品定义,还可以设置各参数的上限,从而可以进一步确定出,识别出的车位可以停放的车辆的具体数量,本实施例不再进一步说明。
步骤107、确定车位信息。
在识别出车位之后,还可以进一步确定相邻两条高属性线段之间存在的车位所对应的轮廓描述,所述轮廓描述用于说明所述车位所在的位置,和/或者,确定所述车位所对应的所述车辆的目标位姿,使得后续自动泊车时,可以根据确定出的轮廓描述和/或目标位姿,自动泊入该车位。
在确定轮廓描述和/或目标位姿之后,还可以对确定出的轮廓描述和/或目标位姿进行输出,以便于查看。
如图7所示,为平行车位对应的轮廓描述和目标位姿示意图。类似的,如图8所示,为垂直车位对应的轮廓描述和目标位姿示意图。
在本实施例中,车位轮廓描述可以但不限于为A、B、C、D、E、F六个点对应的五条线段,即可以利用AB、BC、CD、DE、EF五条线段来描述车位轮廓,以便于路径规划的实现。
具体的,如果相邻两条高属性线段之间不存在低属性线段,由于实际上车位没有对C、D顶点位置的限定,那么可以根据需要任意确定C、D的坐标取值。例如,在平行车位中,根据BC长度为车宽加0.3米,确定C点坐标,根据DE长度为车宽加0.3米,确定D点坐标。又如,在垂直车位中,根据BC长度为车长加0.3米,确定C点坐标,根据DE长度为车长加0.3米,确定D点坐标。在确定C、D的坐标取值之后,即可以利用AB、BC、CD、DE、EF五条线段来描述车位轮廓。
目标位姿可以以目标车辆中心坐标(P点坐标,如,车辆后轮轴中心点坐标)以及过P点的箭头方向(对应目标横摆角)来表示,在全局绝对平面坐标系下可以表示为(xp,yp,θp)。
根据最终的停车策略不同,目标横摆角θp的确定方式也可能是不同的,例如,对于平行车位,最终的停车策略可以为过P点的箭头方向与AB、CD、EF中的任意一条线段保持平行,以过P点的箭头方向与AB保持平行为例,那么θp可以表示为:
θp=atan2(yB-yA,xB-xA)
需要说明的是,atan2(Δy,Δx)是C语言函数中的一种计算反正切的函数,相比较arctan(Δy/Δx)而言,可以获得更稳定的计算结果。
当Δy的绝对值远大于Δx时,arctan(Δy/Δx)函数的计算结果是不稳定的。atan2(Δy,Δx)的做法是,当Δx的绝对值比Δy的绝对值大时,使用arctan(Δy/Δx);反之使用arctan(Δx/Δy),从而保证确定出的数值的稳定性。
根据设定的P点在车辆上的位置,以及车辆在车位中的停车策略,P点坐标(xp,yp)可以但不限于通过B、C、D、E四个顶点坐标确定。
下面通过一个具体的实例对本发明实施例一提供的方案中的步骤106进行说明。
实施例二
本发明实施例二提供一种车位识别方法,该方法的步骤流程可以如图9所示,包括:
步骤201、从线段集的第一条线段开始搜索。
在本实施例中,假设具有左属性和具有右属性的线段在同一个线段集合中,后续可以通过线段的左右属性,判断线段来自车辆左侧还是车辆右侧。此时,可以理解为i=1,i表示线段集中的线段序号。
当然,也可以针对车辆左侧对应的线段,进行左侧车位的识别,针对车辆右侧对应的线段,进行右侧车位的识别,即,分别进行左右两侧车位的识别。
步骤202、判断线段是否为高属性。
如果是,则继续步骤203,否则,将线段序号加1,继续执行本步骤。
步骤203、将高属性线段初始化为第一个障碍物车辆L1。
在本步骤中,可以假设高属性线段对应的障碍物为车辆,该障碍物车辆记为L1,并可以将线段序号加1,继续执行步骤204。
步骤204、判断线段是否为高属性。
在本步骤中,可以判断线段是否为高属性,如果是,则继续执行步骤205,否则,执行步骤205’。
步骤205、将高属性线段初始化为第二个障碍物车辆L2。
在本步骤中,可以假设高属性线段对应的障碍物为车辆,该障碍物车辆记为L2,并可以继续执行步骤206,以确定L1、L2之间是否存在车位。
步骤205’、判断该线段是否与L1对应的线段位于车辆同一侧。
如果是,则继续执行步骤206’,否则,将线段序号加1,返回执行步骤202。
步骤206’、判断该线段与L1之间的横向深度距离dp是否大于车宽。
如果否,则可以将线段序号加1,返回执行步骤202,如果是,则可以执行步骤207’。
在本步骤中,确定该线段与L1之间的距离是否足以容纳进行车位检测的车辆。由于车宽值小于车长值,在本步骤中,可以通过横向深度距离dp与车宽的比较,优先确定横向深度距离dp是否足以容纳车宽。
步骤207’、将该线段加入路沿线段集。
在本步骤中,可以假设低属性线段对应的障碍物为路沿,加入路沿线段集合,并可以将线段序号加1,返回执行步骤204,继续寻找高属性线段。
步骤206、确定θ12是否小于25度,d12是否小于1米,L3是否大于车宽+0.6米。
在本步骤中,可以判断相邻两条高属性的线段之间(即L1、L2之间)的夹角θ12、横向深度距离d12,以及纵向长度距离L3是否满足要求。如果满足要求,则可以继续进行判断,执行步骤207,否则,可以认为L1、L2之间不存在车位,执行步骤208’。
在本步骤中,确定L1与L2之间的距离是否足以容纳进行车位检测的车辆。由于垂直车位对L1与L2之间的纵向长度距离L3的要求较小,在本步骤中,可以优先确定L3是否满足垂直车位要求。
步骤208’、将L2初始化为第一个障碍物车辆L1。
如果相邻两条高属性的线段之间的夹角、横向深度距离,以及纵向长度距离至少一个不满设定要求,则可以确定L1、L2之间不存在车位,可以将当前的L2初始化为L1,重新在下一个相邻两条高属性的线段之间寻找车位。并可以将线段需要加1,返回执行步骤204。
步骤207、确定L3是否大于车长+0.8米。
如果L3满足垂直车位要求,进一步判断L3是否满足平行车位要求。如果是,则继续执行步骤208,进一步进行平行车位判断,否则,可以执行步骤209,进一步进行垂直车位判断。
步骤208、L1、L2的长度是否均大于0.8倍车长。
如果是,则可以确定L1、L2之间至少存在一个平行车位,并可以返回执行步骤208’,继续寻找车位,否则,可以直接返回执行步骤208’。
步骤209、确定L1、L2之间是否存在其他线段。
如果是,则执行步骤210,否则,执行步骤211。
步骤210、判断L1、L2之间存在的其他线段,与L1、L2中至少一条的横向深度距离dp是否大于车长。
如果L3不满足平行车位要求,则需要确定L1、L2之间的其他线段,与L1、L2之间的距离是否满足垂直车位的要求。如果是,则执行步骤211,否则,返回执行步骤208’。
在本实施例中,可以判断其他线段与L1之间的横向深度距离dp是否大于车长,以及其他线段与L2之间的横向深度距离dp是否大于车长,如果二者均大于车长,则可以执行步骤211,否则,可以返回执行步骤208’。
步骤211、L1、L2的长度是否均大于0.8倍车宽。
如果是,则可以确定L1、L2之间至少存在一个垂直车位,并可以返回执行步骤208’,否则,可以直接返回执行步骤208’。
与实施例一、二基于同一发明构思,提供以下的装置。
实施例三
本发明实施例三提供一种车位检测装置,该装置的结构可以如图10所示,包括:
坐标确定模块11用于若确定车辆发生了移动,则针对车辆左侧和右侧,分别确定对应的超声波雷达检测到的每个障碍物上的点的坐标值;
分组模块12用于分别针对车辆左侧和右侧,根据障碍物上的点到对应的超声波雷达的距离,对障碍物上的点进行分组;
线段拟合模块13用于根据一个分组中每个障碍物上的点的坐标值,进行线段拟合;
属性赋值模块14用于根据一个分组中具有二次回波的障碍物上的点的比例,确定拟合出的线段的高低属性,所述高低属性由于描述组成所述线段的障碍物上的点来源于高物体还是低物体;
识别模块15用于分别针对车辆左侧和右侧对应的线段,通过模型匹配方法,确定相邻两条高属性线段之间,是否存在车位。
所述装置还包括车位输出模块16,用于确定相邻两条高属性线段之间存在的车位所对应的轮廓描述,所述轮廓描述用于说明所述车位所在的位置,和/或者,确定所述车位所对应的所述车辆的目标位姿。
所述坐标确定模块11用于通过所述车辆的位姿,该障碍物上的点到对应的超声波雷达的距离,以及该超声波雷达在所述车辆上的安装位置确定每个障碍物上的点的坐标值。
所述分组模块12具体用于分别针对车辆左侧和右侧,在当前检测到的障碍物上的点到对应的超声波雷达的距离,与该障碍物上的点之前相邻检测到的障碍物上的点到该超声波雷达的距离之间,差值的绝对值大于设定值时,将当前检测到的障碍物上的点之前,未被分组的障碍物上的点划分为一个分组。
所述识别模块15用于通过模型匹配方法,确定相邻两条高属性线段之间,是否存在车位,包括:
若相邻两条高属性线段之间还包括低属性线段,则确定该低属性线段与所述相邻两条高属性线段中至少一条之间的横向深度距离,与所述车辆的车宽之间的差值是否大于第一门限值;以及,确定相邻两条高属性的线段之间的纵向长度距离,与所述车辆的车长之间的差值是否大于第二门限值;
若所述横向深度距离与所述车辆的车宽之间的差值大于第一门限值,且所述纵向长度距离与所述车辆的车长之间的差值大于第二门限值,则确定相邻两条高属性线段之间,存在至少一个车位;或者,
若相邻两条高属性线段之间不包括低属性线段,则确定相邻两条高属性的线段之间的纵向长度距离,与所述车辆的车长之间的差值是否大于第二门限值,若是,则确定相邻两条高属性线段之间,存在至少一个车位。
所述识别模块15还用于确定相邻两条高属性的线段长度均大于第一指定值。
所述识别模块15用于通过模型匹配方法,确定相邻两条高属性线段之间,是否存在车位,包括:若相邻两条高属性线段之间还包括低属性线段,则确定该低属性线段与所述相邻两条高属性线段中至少一条之间的横向深度距离,与所述车辆的车长之间的差值是否大于第三门限值;以及确定相邻两条高属性的线段之间的纵向长度距离,与所述车辆的车宽之间的差值是否大于第四门限值;
若所述横向深度距离与所述车辆的车长之间的差值大于所述第三门限值,且所述纵向长度距离与所述车辆的车宽之间的差值大于第四门限值,则确定相邻两条高属性线段之间,存在至少一个车位;或者,
若相邻两条高属性线段之间不包括低属性线段,则确定相邻两条高属性的线段之间的纵向长度距离,与所述车辆的车宽之间的差值是否大于第四门限值,若是,则确定相邻两条高属性线段之间,存在至少一个车位。
所述识别模块15还用于确定相邻两条高属性的线段长度均大于第二指定值。
所述识别模块15还用于确定相邻两条高属性的线段之间的夹角小于第一阈值,且相邻两条高属性的线段之间的横向深度距离小于第二阈值。
基于同一发明构思,本发明实施例提供以下的设备和介质。
实施例四
本发明实施例四提供一种车位检测设备,该设备的结构可以如图11所示,包括存储器21、处理器22及存储在存储器上的计算机程序,所述处理器22执行所述程序时实现本发明实施例一所述方法的步骤。
可选的,所述处理器22具体可以包括中央处理器(CPU)、特定应用集成电路(ASIC,application specific integrated circuit),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(FPGA,field programmable gate array)开发的硬件电路,可以是基带处理器。
可选的,所述处理器22可以包括至少一个处理核心。
可选的,所述存储器21可以包括只读存储器(ROM,read only memory)、随机存取存储器(RAM,random access memory)和磁盘存储器。存储器21用于存储至少一个处理器22运行时所需的数据。存储器21的数量可以为一个或多个。
本发明实施例五提供一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,当可执行程序被处理器执行时,实现本发明实施例一提供的方法。
在具体的实施过程中,计算机存储介质可以包括:通用串行总线闪存盘(USB,Universal Serial Bus flash drive)、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的存储介质。
在本发明实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性或其它的形式。
在本发明实施例中的各功能单元可以集成在一个处理单元中,或者各个单元也可以均是独立的物理模块。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,例如可以是个人计算机,服务器,或者网络设备等,或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(universal serial bus flash drive)、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。