CN115014375B - 碰撞检测方法、装置及电子设备、存储介质 - Google Patents
碰撞检测方法、装置及电子设备、存储介质 Download PDFInfo
- Publication number
- CN115014375B CN115014375B CN202210634834.2A CN202210634834A CN115014375B CN 115014375 B CN115014375 B CN 115014375B CN 202210634834 A CN202210634834 A CN 202210634834A CN 115014375 B CN115014375 B CN 115014375B
- Authority
- CN
- China
- Prior art keywords
- point
- obstacle
- distance
- vehicle
- points
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 37
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 230000004888 barrier function Effects 0.000 claims description 38
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 claims description 26
- 238000004422 calculation algorithm Methods 0.000 abstract description 4
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/343—Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请公开了一种碰撞检测方法、装置及电子设备、存储介质,其中所述方法包括计算车辆在预设规划路径上的目标路点与障碍物之间的距离;根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离,采用变化步长的方式搜索下一个目标路点并遍历所有路点;根据遍历结果中的每个目标路点,判断车辆与障碍物是否发生碰撞。通过本申请可以减少碰撞检测算法的计算时间和计算量。
Description
技术领域
本申请涉及自动驾驶技术领域,尤其涉及一种碰撞检测方法、装置及电子设备、存储介质。
背景技术
在自动驾驶决策规划模块,需要用到碰撞检测算法来计算主车(自车)与障碍物之间位置关系,判断是否发生碰撞。此外,碰撞检测算法还被用来计算路径规划的边界、速度规划中的ST图和最优化问题中的可行域约束等等。
碰撞检测算法应用最多的场景通常是判断一条路径或者轨迹与周围的障碍物是否有碰撞,并且得到碰撞发生在路径的什么位置和与之发生碰撞的障碍物是哪一个。通常是采用遍历路径上的每一个路点,然后再遍历每一个障碍物和主车进行碰撞检测,判断主车(自车)在当前路点和障碍物是否发生碰撞。
相关技术中通过两层循环遍历来进行碰撞检测,会浪费大量的计算资源;此外,在进行主车(自车)和障碍物碰撞检测时,只得到是否碰撞的布尔值信息,忽略了其他重要信息。由于在自动驾驶决策规划模块中,会大量的计算路径和障碍物之间的碰撞关系,因此现有方案在时间消耗方面存在可优化空间。
发明内容
本申请实施例提供了碰撞检测方法、装置及电子设备、存储介质,以提高碰撞检测速度,减少计算次数以及时间消耗。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供一种碰撞检测方法,其中,应用于自动驾驶车辆,所述方法包括:计算车辆在预设规划路径上的目标路点与障碍物之间的距离;根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离,采用变化步长的方式搜索下一个目标路点并遍历所有路点;根据遍历结果中的每个目标路点,判断车辆与障碍物是否发生碰撞。
第二方面,本申请实施例还提供一种碰撞检测装置,其中,应用于自动驾驶车辆,所述装置包括:计算模块,用于计算车辆在预设规划路径上的目标路点与障碍物之间的距离;第一判断模块,用于根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离,采用变化步长的方式搜索下一个目标路点并遍历所有路点;第二判断模块,用于根据遍历结果中的每个目标路点,判断车辆与障碍物是否发生碰撞。
第三方面,本申请实施例还提供一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在生成预设规划路径之后,计算车辆在所述预设规划路径上的目标路点与障碍物之间的距离,之后根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离,采用变化步长的方式搜索下一个目标路点并遍历所有路点,最后根据遍历结果中的每个目标路点,判断车辆与障碍物是否发生碰撞以及两者之间的距离。通过在路点遍历和障碍物遍历的两层循环中,分别采用变步长循环遍历和启发式遍历,减少计算次数以减少时间消耗。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中碰撞检测方法的流程示意图;
图2为本申请实施例中碰撞检测装置的结构示意图;
图3为本申请实施例中碰撞检测方法的计算车辆与障碍物之间的距离的示意图;
图4为本申请实施例中碰撞检测方法的障碍点位置关系的拓扑结构示意图;
图5为本申请实施例中一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中的方法通过计算点与矩形的距离,如果距离小于等于0,则点在矩形内,表示相碰撞。相比与相关技术中的碰撞检测方法,增加了距离信息。同时本申请将矩形障碍物抽样表示为一系列的点集,然后建立所有点的拓扑关系,采用爬山法的思想,可以启发式搜索相关点,而不需要计算所有的障碍物。最后,由于知道了点与车辆的距离,计算车辆与所有点的最近距离,则在这个距离内,车辆移动必然是无碰撞的,因此可以采用变步长搜索路径点。
以下结合附图,详细说明本申请各实施例提供的技术方案。
本申请实施例提供了一种碰撞检测方法,如图1所示,提供了本申请实施例中碰撞检测方法流程示意图,所述方法至少包括如下的步骤S110至步骤S130:
自动驾驶决策规划模块根据感知定位模块获得的数据生成一条预设规划路径,从而以使自动驾驶车辆能够按照预设规划路径进行行驶。
需要注意的是,所述自动驾驶车辆可以是商用车,比如电卡车。在本申请中并不进行具体限定。
通常而言,车辆是沿着预设路径生成模块生成的路径行驶的,在所述预设规划路径上包括了多个等间隔的离散路点。
步骤S110,计算车辆在所述预设规划路径上的目标路点与障碍物之间的距离。
基于所述预设规划路径,可以计算出车辆在所述预设规划路径上的目标路点与障碍物之间的距离。与相关技术中仅计算布尔值不同,本申请中增加了计算自车与障碍物距离的信息。
可以理解,目标路点即采用遍历的方式计算所述预设规划路径上的路点与障碍物之间的距离。
步骤S120,根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离,采用变化步长的方式搜索下一个目标路点并遍历所有路点。
进一步地,计算出所述车辆在所述预设规划路径上的任意一个路点作为当前目标路点与所述障碍物的最近距离。也就是说,如果计算出最近距离可以减少计算路点与障碍物之间的距离计算的遍历次数。
需要注意的是,所述步长是两个相邻路点之间的预设距离的整数倍,根据当前目标路点和所有障碍物的最近距离计算得到的。
所以,还需要根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离采用变化步长的方式搜索下一个目标路点并遍历所有路点。由于所述步长是两个相邻路点之间的预设距离,采用变化步长即是指并不需要从第一个路点到其相邻的第二路点,而是直接从第一路点通过变化步长的方式到第N路点,并从第N路点开始计算路点与障碍物之间的距离。
步骤S130,根据遍历结果中的每个目标路点,判断车辆与障碍物是否发生碰撞。
如果采用了变化步长的方式搜索下一个目标路点,则可以减少计算时间消耗,根据遍历结果中的每个目标路点,再判断出车辆与障碍物是否发生碰撞。
由于前述步骤中计算了车辆与障碍物之间的距离,所以还可以判断出车辆与障碍物的距离。
优选地,所述根据遍历结果中的每个目标路点,判断车辆与障碍物是否发生碰撞,包括:根据遍历结果中的每个目标路点以及所述目标路点与障碍物之间的距离,判断车辆与障碍物是否发生碰撞。
在本申请的一个实施例中,所述计算车辆在所述预设规划路径上的目标路点与障碍物之间的距离,还包括:将所述障碍物转化得到对应的障碍点;建立所有障碍点的位置关系拓扑结构,其中每个所述障碍点包括多个相邻点,所述相邻点包括以所述障碍点为原点在多个预设方向上与该障碍点的最近距离点;根据所述位置关系拓扑结构计算车辆在所述预设规划路径上的目标路点与每个所述障碍点的相邻点之间的距离。
具体实施时,可以采用启发式计算车辆与所有障碍物的距离。通常会先将上游模块(感知定位模块)得到的矩形(或者凸多边形)障碍物转化为一系列的障碍点。车辆为长方形。再建立所有障碍点位置关系的拓扑结构,如图3所示,找到障碍点在X轴正向、Y轴正向、X轴负向和Y轴负向方向,第一、二、三和四象限上的最近点。即每个障碍点有八个相邻点。所述相邻点包括以所述障碍点为原点在多个预设方向上与该障碍点的最近距离点。
进一步地,根据所述位置关系拓扑结构计算车辆在所述预设规划路径上的目标路点与每个所述障碍点的相邻点之间的距离。在计算车辆在第一个路点位置时,随机化取任意一个路点,计算出障碍点与车辆的距离,再获取此点的相邻的八个点,分别计算这八个点与车辆的距离。
在本申请的一个实施例中,所述根据所述位置关系拓扑结构计算车辆在所述预设规划路径上的目标路点与每个所述障碍点的相邻点之间的距离,包括:计算车辆在所述预设规划路径上的目标路点与任意一个所述障碍点的距离值以及与所述障碍点的相邻点的距离值;如果目标路点与任意一个所述障碍点的距离值小于与所有的所述障碍点的相邻点的距离值,则车辆在所述目标路点与所述障碍物的最近距离值即为所述目标路点到所述障碍点的距离;如果目标路点与任意一个所述障碍点的距离值小于与所述障碍点的相邻点的距离值,则继续计算所述目标路点与所述障碍点的所有相邻点的距离,直到所述目标路点与任意一个所述障碍点的距离值小于与所有的所述障碍点的相邻点的距离值,则车辆在所述目标路点与所述障碍物的最近距离值即为所述目标路点到所述障碍点的距离。
具体实施时,通过计算车辆在所述预设规划路径上的某一目标路点与所述某个障碍点的距离,然后计算此目标路点和此障碍物点所有相邻点的距离。
进一步地,如果此路点与此障碍点的距离小于此路点与此障碍点的所有相邻点的距离,那么车辆在此路点与所述障碍物最近距离就是此路点到此障碍点的距离。
此外,如果此路点与此障碍点的所有相邻点的距离中有小于此路点到此障碍点的距离的,则计算此路点到此障碍点的所有相邻点的距离,直到找到一个障碍点到路点距离比其所有相邻障碍点到此路点的距离都小,那么此障碍点就是到此路点的最近障碍点。。
需要注意的是,在计算车辆在其他路点位置时,对于其他路点重复判断最短的距离值直至计算完成车辆在所有路点上的位置。
在本申请的一个实施例中,所述根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离,采用变化步长的方式搜索下一个目标路点并遍历所有路点,其中所述步长是两个相邻路点之间的预设距离,包括:如果所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离不大于0,则判断车辆与障碍物发生碰撞;如果所述最近距离大于0,则计算路径循环遍历的前进步长;根据所述前进步长,采用变化步长的方式搜索下一个目标路点并遍历所有路点。
具体实施时,在遍历路点的过程中,会从第一路点、第二路点一直到第N路点,如果遍历每一个路点,则会增加计算的耗时。如果所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离不大于0,则判断车辆与障碍物发生碰撞,则不再进行遍历。如果所述最近距离大于0,则计算路径循环遍历的前进步长;根据所述前进步长,采用变化步长的方式搜索下一个目标路点并遍历所有路点。按前进步长计算相应路点上车辆与障碍物的最近距离d,直到遍历完所有路点。由于知道了点与车辆的距离,计算车辆与所有点的最近距离,则在这个距离内,车辆移动必然是无碰撞的。
考虑到在自动驾驶决策规划模块中,一般得到的路径点之间距离大约是一致的。在此,认为相邻路径点之间的距离(步长)为Δs。所以,计算路径上第一个路点与障碍物的最近距离d。如果d≤0,则车辆与障碍物发生碰撞,循环结束;如果d>0,计算路径循环的前进步长为max{[d/Δs],1}×Δs,其中,[]是取整符号。
在本申请的一个实施例中,所述计算车辆在所述预设规划路径上的目标路点与障碍物之间的距离,包括:预先将车辆转化为矩形ABCD、所述障碍物转化为点P;当所述障碍点在所述矩形内部时,车辆在所述预设规划路径上的任意路点与所述障碍物之间的距离为0;当车辆在所述预设规划路径上的任意路点与所述障碍物之间的距离大于0,则所述障碍点在所述矩形外部;分别计算点P在向量AB上的投影ProjAB和向量AB的长度|AB|、所述点P在向量BC上的投影ProjBC和向量BC的长度|BC|、以及所述障碍点P到矩形ABCD的距离。
具体实施时,如图4所示,预先将车辆转化为矩形ABCD、所述障碍物转化为点P。
进一步地,当所述障碍点在所述矩形内部时,车辆在所述预设规划路径上的任意路点与所述障碍物之间的距离为0。
当车辆在所述预设规划路径上的任意路点与所述障碍物之间的距离大于0,则所述障碍点在所述矩形外部,并且分别计算点P在向量AB上的投影ProjAB和向量AB的长度|AB|、所述点P在向量BC上的投影ProjBC和向量BC的长度|BC|、以及所述障碍点P到矩形ABCD的距离。
在本申请的一个实施例中,计算所述障碍点P到矩形ABCD的距离,包括:
如果0≤ProjAB≤|AB|,并且0≤ProjBC≤|BC|,则点P到矩形ABCD的距离为0,
如果0≤ProjAB≤|AB|,并且ProjBC≤0,点P到矩形ABCD的距离为|ProjBC|,
如果0≤ProjAB≤|AB|,并且ProjBC≥|BC|,点P到矩形ABCD的距离为|(ProjBC-|BC|)|;
如果0≤ProjBC≤|BC|,并且ProjAB≤0,点P到矩形ABCD的距离为|ProjAB|,
如果0≤ProjBC≤|BC|,并且ProjAB≥|AB|,点P到矩形ABCD的距离为|(ProjAB-|AB|)|,
如果ProjAB≤0,并且ProjBC≤0,点P到矩形ABCD的距离为|PA|;
如果ProjAB≥|AB|,并且ProjBC≤0,点P到矩形ABCD的距离为|PB|,
如果ProjAB≥|AB|,并且ProjBC≥|BC|,点P到矩形ABCD的距离为|PC|,
如果ProjAB≤0,并且ProjBC≥|BC|,点P到矩形ABCD的距离为|PD|。
具体实施时,计算点与矩形的距离,当点在矩形内部时,两者之间的距离为0。当两者距离大于0时,说明点在矩形外部。
本申请实施例还提供了碰撞检测装置200,如图2所示,提供了本申请实施例中碰撞检测装置的结构示意图,所述碰撞检测装置200至少包括:计算模块210、第一判断模块220以及第二判断模块230,其中:
自动驾驶决策规划模块根据感知定位模块获得的数据生成一条预设规划路径,从而以使自动驾驶车辆能够按照预设规划路径进行行驶。
需要注意的是,所述自动驾驶车辆可以是商用车,比如电卡车。在本申请中并不进行具体限定。
通常而言,车辆是沿着预设路径生成模块生成的路径行驶的,在所述预设规划路径上包括了多个等间隔的离散路点。
在本申请的一个实施例中,所述计算模块210具体用于:计算车辆在所述预设规划路径上的目标路点与障碍物之间的距离。
基于所述预设规划路径,可以计算出车辆在所述预设规划路径上的目标路点与障碍物之间的距离。与相关技术中仅计算布尔值不同,本申请中增加了计算自车与障碍物距离的信息。
可以理解,目标路点即采用遍历的方式计算所述预设规划路径上的路点与障碍物之间的距离。
在本申请的一个实施例中,所述第一判断模块220具体用于:根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离,采用变化步长的方式搜索下一个目标路点并遍历所有路点,其中所述步长是两个相邻路点之间的预设距离。
进一步地,计算出所述车辆在所述预设规划路径上的任意一个路点作为当前目标路点与所述障碍物的最近距离。也就是说,如果计算出最近距离可以减少计算目标路点与障碍物之间的距离的遍历次数。
需要注意的是,所述步长是两个相邻路点之间的预设距离的整数倍,根据当前目标路点和所有障碍物的最近距离计算得到的。
所以,还需要根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离采用变化步长的方式搜索下一个目标路点并遍历所有路点。由于所述步长是两个相邻路点之间的预设距离,采用变化步长即是指并不需要从第一个路点到其相邻的第二路点,而是直接从第一路点通过变化步长的方式到第N路点,并从第N路点开始计算路点与障碍物之间的距离。
在本申请的一个实施例中,所述第二判断模块230具体用于:根据遍历结果中的每个目标路点,判断车辆与障碍物是否发生碰撞。
如果采用了变化步长的方式搜索下一个目标路点,则可以减少计算时间消耗,根据遍历结果中的每个目标路点,再判断出车辆与障碍物是否发生碰撞。
由于前述步骤中计算了车辆与障碍物之间的距离,所以还可以判断出车辆与障碍物的距离。
优选地,所述根据遍历结果中的每个目标路点,判断车辆与障碍物是否发生碰撞,包括:根据遍历结果中的每个目标路点以及所述目标路点与障碍物之间的距离,判断车辆与障碍物是否发生碰撞。
能够理解,上述碰撞检测装置,能够实现前述实施例中提供的碰撞检测方法的各个步骤,关于碰撞检测方法的相关阐释均适用于碰撞检测装置,此处不再赘述。
图5是本申请的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成碰撞检测装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
计算车辆在预设规划路径上的目标路点与障碍物之间的距离;
根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离,采用变化步长的方式搜索下一个目标路点并遍历所有路点,其中所述步长是两个相邻路点之间的预设距离;
根据遍历结果中的每个目标路点,判断车辆与障碍物是否发生碰撞。
上述如本申请图1所示实施例揭示的碰撞检测装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1中碰撞检测装置执行的方法,并实现碰撞检测装置在图1所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中碰撞检测装置执行的方法,并具体用于执行:
计算车辆在预设规划路径上的目标路点与障碍物之间的距离;
根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离,采用变化步长的方式搜索下一个目标路点并遍历所有路点,其中所述步长是两个相邻路点之间的预设距离;
根据遍历结果中的每个目标路点,判断车辆与障碍物是否发生碰撞。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种碰撞检测方法,其中,应用于自动驾驶车辆,所述方法包括:
计算车辆在预设规划路径上的目标路点与障碍物之间的距离;
根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离,采用变化步长的方式搜索下一个目标路点并遍历所有路点,其中,相邻路点之间的步长为Δs,计算路径上第一个路点与障碍物的最近距离为d,则计算路径循环的前进步长为max{[d /Δs], 1}×Δs,式中max表示取最大值,[]是取整符号;
根据遍历结果中的每个目标路点,判断车辆与障碍物是否发生碰撞;
所述计算车辆在所述预设规划路径上的目标路点与障碍物之间的距离,还包括:
将所述障碍物转化得到对应的障碍点;
建立所有障碍点的位置关系拓扑结构,其中每个所述障碍点包括多个相邻点,所述相邻点包括以所述障碍点为原点在多个预设方向上与该障碍点的最近距离点;
根据所述位置关系拓扑结构计算车辆在所述预设规划路径上的目标路点与每个所述障碍点的相邻点之间的距离;
所述根据所述位置关系拓扑结构计算车辆在所述预设规划路径上的目标路点与每个所述障碍点的相邻点之间的距离,包括:
计算车辆在所述预设规划路径上的目标路点与任意一个所述障碍点的距离值以及与所述障碍点的相邻点的距离值;
如果目标路点与任意一个所述障碍点的距离值小于与所有的所述障碍点的相邻点的距离值,则车辆在所述目标路点与所述障碍物的最近距离值即为所述目标路点到所述障碍点的距离;
如果目标路点与任意一个所述障碍点的距离值小于与所述障碍点的相邻点的距离值,则继续计算所述目标路点与所述障碍点的所有相邻点的距离,直到所述目标路点与任意一个所述障碍点的距离值小于与所有的所述障碍点的相邻点的距离值,则车辆在所述目标路点与所述障碍物的最近距离值即为所述目标路点到所述障碍点的距离。
2.如权利要求1所述方法,其中,所述根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离,采用变化步长的方式搜索下一个目标路点并遍历所有路点,其中所述步长是两个相邻路点之间的预设距离,包括:
如果所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离不大于0,则判断车辆与障碍物发生碰撞;
如果所述最近距离大于0,则计算路径循环遍历的前进步长;
根据所述前进步长,采用变化步长的方式搜索下一个目标路点并遍历所有路点。
3.如权利要求1所述方法,其中,所述计算车辆在所述预设规划路径上的目标路点与障碍物之间的距离,包括:
预先将车辆转化为矩形ABCD、所述障碍物转化为点P;
当所述障碍点在所述矩形内部时,车辆在所述预设规划路径上的任意路点与所述障碍物之间的距离为0;
当车辆在所述预设规划路径上的任意路点与所述障碍物之间的距离大于0,则所述障碍点在所述矩形外部;
分别计算点P在向量AB上的投影ProjAB和向量AB的长度|AB|、所述点P在向量BC上的投影ProjBC和向量BC的长度|BC|、以及所述障碍点P到矩形ABCD的距离。
4.如权利要求3所述方法,其中,计算所述障碍点P到矩形ABCD的距离,包括:
如果0≤ProjAB≤|AB|,并且0≤ProjBC≤|BC|,则点P到矩形ABCD的距离为0,如果0≤ProjAB≤|AB|,并且ProjBC≤0,点P到矩形ABCD的距离为|ProjBC|,如果0≤ProjAB≤|AB|,并且ProjBC≥|BC|,点P到矩形ABCD的距离为|(ProjBC-|BC|)|;
如果0≤ProjBC≤|BC|,并且ProjAB≤0,点P到矩形ABCD的距离为|ProjAB|,如果0≤ProjBC≤|BC|,并且ProjAB≥|AB|,点P到矩形ABCD的距离为|(ProjAB-|AB|)|,如果ProjAB≤0,并且ProjBC≤0,点P到矩形ABCD的距离为|PA|;
如果ProjAB≥|AB|,并且ProjBC≤0,点P到矩形ABCD的距离为|PB|,如果ProjAB≥|AB|,并且ProjBC≥|BC|,点P到矩形ABCD的距离为|PC|,如果ProjAB≤0,并且ProjBC≥|BC|,点P到矩形ABCD的距离为|PD|。
5.如权利要求1所述方法,其中,所述根据遍历结果中的每个目标路点,判断车辆与障碍物是否发生碰撞,包括:
根据遍历结果中的每个目标路点以及所述目标路点与障碍物之间的距离,判断车辆与障碍物是否发生碰撞。
6.一种碰撞检测装置,其中,应用于自动驾驶车辆,所述装置包括:
计算模块,用于计算车辆在预设规划路径上的目标路点与障碍物之间的距离;
第一判断模块,用于根据所述车辆在所述预设规划路径上的当前目标路点与所述障碍物的最近距离,采用变化步长的方式搜索下一个目标路点并遍历所有路点,其中所述步长是两个相邻路点之间的预设距离,相邻路点之间的步长为Δs,计算路径上第一个路点与障碍物的最近距离为d,则计算路径循环的前进步长为max{[d / Δs], 1}×Δs,式中max表示取最大值,[]是取整符号;
第二判断模块,用于根据遍历结果中的每个目标路点,判断车辆与障碍物是否发生碰撞;
所述计算车辆在所述预设规划路径上的目标路点与障碍物之间的距离,还包括:
将所述障碍物转化得到对应的障碍点;
建立所有障碍点的位置关系拓扑结构,其中每个所述障碍点包括多个相邻点,所述相邻点包括以所述障碍点为原点在多个预设方向上与该障碍点的最近距离点;
根据所述位置关系拓扑结构计算车辆在所述预设规划路径上的目标路点与每个所述障碍点的相邻点之间的距离;
所述根据所述位置关系拓扑结构计算车辆在所述预设规划路径上的目标路点与每个所述障碍点的相邻点之间的距离,包括:
计算车辆在所述预设规划路径上的目标路点与任意一个所述障碍点的距离值以及与所述障碍点的相邻点的距离值;
如果目标路点与任意一个所述障碍点的距离值小于与所有的所述障碍点的相邻点的距离值,则车辆在所述目标路点与所述障碍物的最近距离值即为所述目标路点到所述障碍点的距离;
如果目标路点与任意一个所述障碍点的距离值小于与所述障碍点的相邻点的距离值,则继续计算所述目标路点与所述障碍点的所有相邻点的距离,直到所述目标路点与任意一个所述障碍点的距离值小于与所有的所述障碍点的相邻点的距离值,则车辆在所述目标路点与所述障碍物的最近距离值即为所述目标路点到所述障碍点的距离。
7.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述权利要求1~5之任一所述方法。
8.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求1~5之任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210634834.2A CN115014375B (zh) | 2022-06-06 | 2022-06-06 | 碰撞检测方法、装置及电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210634834.2A CN115014375B (zh) | 2022-06-06 | 2022-06-06 | 碰撞检测方法、装置及电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115014375A CN115014375A (zh) | 2022-09-06 |
CN115014375B true CN115014375B (zh) | 2023-11-03 |
Family
ID=83072681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210634834.2A Active CN115014375B (zh) | 2022-06-06 | 2022-06-06 | 碰撞检测方法、装置及电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115014375B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011113488A (ja) * | 2009-11-30 | 2011-06-09 | Toyota Motor Corp | 経路作成装置 |
CN106949893A (zh) * | 2017-03-24 | 2017-07-14 | 华中科技大学 | 一种三维避障的室内机器人导航方法和系统 |
CN107145147A (zh) * | 2017-04-10 | 2017-09-08 | 广州小鹏汽车科技有限公司 | 一种车辆低速自动驾驶避碰方法及系统 |
CN107291972A (zh) * | 2017-03-10 | 2017-10-24 | 清华大学 | 基于多源数据挖掘的汽车智能驾驶系统有效性评价方法 |
CN110487290A (zh) * | 2019-07-29 | 2019-11-22 | 中国人民解放军军事科学院国防科技创新研究院 | 基于变步长a星搜索的无人驾驶汽车局部路径规划方法 |
CN110926491A (zh) * | 2019-11-29 | 2020-03-27 | 海南中智信信息技术有限公司 | 一种用于最短路径的规划方法和系统 |
CN111060125A (zh) * | 2019-12-30 | 2020-04-24 | 深圳一清创新科技有限公司 | 碰撞检测方法、装置、计算机设备和存储介质 |
CN111515953A (zh) * | 2020-04-29 | 2020-08-11 | 北京阿丘机器人科技有限公司 | 路径规划方法、装置及电子设备 |
CN112612266A (zh) * | 2020-12-04 | 2021-04-06 | 湖南大学 | 一种非结构化道路全局路径规划方法与系统 |
CN113128272A (zh) * | 2019-12-30 | 2021-07-16 | 中移智行网络科技有限公司 | 一种碰撞预测方法、装置、存储介质和服务器 |
CN113525509A (zh) * | 2020-04-14 | 2021-10-22 | 郑州宇通客车股份有限公司 | 一种铰接车辆转向控制方法及装置 |
CN113916246A (zh) * | 2021-09-26 | 2022-01-11 | 江苏徐工工程机械研究院有限公司 | 一种无人驾驶避障路径规划方法和系统 |
CN113960996A (zh) * | 2020-07-20 | 2022-01-21 | 华为技术有限公司 | 行驶装置的避障路径的规划方法和装置 |
CN114147708A (zh) * | 2021-11-26 | 2022-03-08 | 山东大学 | 基于改进的天牛须搜索算法的机械臂避障路径规划方法 |
CN114549831A (zh) * | 2022-01-10 | 2022-05-27 | 清华大学 | 用于预测性巡航系统的地图路点分割方法及装置 |
-
2022
- 2022-06-06 CN CN202210634834.2A patent/CN115014375B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011113488A (ja) * | 2009-11-30 | 2011-06-09 | Toyota Motor Corp | 経路作成装置 |
CN107291972A (zh) * | 2017-03-10 | 2017-10-24 | 清华大学 | 基于多源数据挖掘的汽车智能驾驶系统有效性评价方法 |
CN106949893A (zh) * | 2017-03-24 | 2017-07-14 | 华中科技大学 | 一种三维避障的室内机器人导航方法和系统 |
CN107145147A (zh) * | 2017-04-10 | 2017-09-08 | 广州小鹏汽车科技有限公司 | 一种车辆低速自动驾驶避碰方法及系统 |
CN110487290A (zh) * | 2019-07-29 | 2019-11-22 | 中国人民解放军军事科学院国防科技创新研究院 | 基于变步长a星搜索的无人驾驶汽车局部路径规划方法 |
CN110926491A (zh) * | 2019-11-29 | 2020-03-27 | 海南中智信信息技术有限公司 | 一种用于最短路径的规划方法和系统 |
CN111060125A (zh) * | 2019-12-30 | 2020-04-24 | 深圳一清创新科技有限公司 | 碰撞检测方法、装置、计算机设备和存储介质 |
CN113128272A (zh) * | 2019-12-30 | 2021-07-16 | 中移智行网络科技有限公司 | 一种碰撞预测方法、装置、存储介质和服务器 |
CN113525509A (zh) * | 2020-04-14 | 2021-10-22 | 郑州宇通客车股份有限公司 | 一种铰接车辆转向控制方法及装置 |
CN111515953A (zh) * | 2020-04-29 | 2020-08-11 | 北京阿丘机器人科技有限公司 | 路径规划方法、装置及电子设备 |
CN113960996A (zh) * | 2020-07-20 | 2022-01-21 | 华为技术有限公司 | 行驶装置的避障路径的规划方法和装置 |
CN112612266A (zh) * | 2020-12-04 | 2021-04-06 | 湖南大学 | 一种非结构化道路全局路径规划方法与系统 |
CN113916246A (zh) * | 2021-09-26 | 2022-01-11 | 江苏徐工工程机械研究院有限公司 | 一种无人驾驶避障路径规划方法和系统 |
CN114147708A (zh) * | 2021-11-26 | 2022-03-08 | 山东大学 | 基于改进的天牛须搜索算法的机械臂避障路径规划方法 |
CN114549831A (zh) * | 2022-01-10 | 2022-05-27 | 清华大学 | 用于预测性巡航系统的地图路点分割方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115014375A (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112529254B (zh) | 一种路径规划方法、装置和电子设备 | |
US9254870B2 (en) | Method of generating optimum parking path of unmanned driving vehicle, and unmanned driving vehicle adopting the method | |
CN112987760B (zh) | 一种轨迹规划方法、装置、存储介质及电子设备 | |
US20220314980A1 (en) | Obstacle tracking method, storage medium and unmanned driving device | |
US20200265248A1 (en) | Obstacle map generating method and apparatus | |
CN113968243B (zh) | 一种障碍物轨迹预测方法、装置、设备及存储介质 | |
CN111062372B (zh) | 一种预测障碍物轨迹的方法及装置 | |
CN114690787B (zh) | 一种多移动机器人路径规划方法、系统、计算机设备及存储介质 | |
CN115042788A (zh) | 交通路口通行方法、装置及电子设备、存储介质 | |
CN115973158B (zh) | 换道轨迹的规划方法、车辆、电子设备及计算机程序产品 | |
CN115257811A (zh) | 自动驾驶车辆的路径选择方法、装置及电子设备 | |
CN115880685A (zh) | 一种基于votenet模型的三维目标检测方法和系统 | |
CN112987762B (zh) | 一种轨迹规划方法、装置、存储介质及电子设备 | |
CN115014375B (zh) | 碰撞检测方法、装置及电子设备、存储介质 | |
CN114332201A (zh) | 一种模型训练、目标检测的方法以及装置 | |
CN116795105A (zh) | 一种车辆避障方法、装置及设备 | |
CN117008615A (zh) | 一种策略切换的无人车轨迹规划方法和系统 | |
CN115014380A (zh) | 泊车路径规划方法以及装置、电子设备、存储介质 | |
CN112731447B (zh) | 一种障碍物跟踪方法、装置、存储介质及电子设备 | |
CN114623824A (zh) | 一种确定障碍物速度的方法及装置 | |
CN115556827A (zh) | 自动驾驶车辆的航向角确定方法、装置及电子设备 | |
CN114964293A (zh) | 车辆的路径规划方法、装置及电子设备、存储介质 | |
CN114750782A (zh) | 路径规划方法、装置、设备及车辆控制方法、装置、设备 | |
CN113074734B (zh) | 一种轨迹规划方法、装置、存储介质及电子设备 | |
CN113985889B (zh) | 一种轨迹规划方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 100176 room 601-11a, unit 2, floor 6, building 21, yard 1, Desheng North Street, economic development zone, Daxing District, Beijing Patentee after: Anhui Shenxiang Technology Co.,Ltd. Country or region after: Zhong Guo Address before: 100176 room 601-11a, unit 2, floor 6, building 21, yard 1, Desheng North Street, economic development zone, Daxing District, Beijing Patentee before: Beijing Jingxiang Technology Co.,Ltd. Country or region before: Zhong Guo |