CN114510053A - 机器人规划路径校验方法、装置、存储介质及电子设备 - Google Patents
机器人规划路径校验方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114510053A CN114510053A CN202210146316.6A CN202210146316A CN114510053A CN 114510053 A CN114510053 A CN 114510053A CN 202210146316 A CN202210146316 A CN 202210146316A CN 114510053 A CN114510053 A CN 114510053A
- Authority
- CN
- China
- Prior art keywords
- point
- obstacle
- robot
- path
- distance
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000004888 barrier function Effects 0.000 claims abstract description 88
- 238000012795 verification Methods 0.000 claims abstract description 55
- 238000001514 detection method Methods 0.000 claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims description 28
- 238000002360 preparation method Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 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 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0219—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本公开涉及一种机器人技术领域,具体涉及一种机器人规划路径校验方法、装置、存储介质及电子设备,该机器人规划路径校验方法包括:确定机器人的规划路径中一路径点,并基于障碍物探测信息判断在路径点处是否存在待校验的目标障碍点;在存在目标障碍点时,基于目标障碍点相对于机器人的位置构建对应的障碍点索引结构以及配置对应的机器人的轮廓点;其中,位置包括左侧和右侧;根据轮廓点和障碍点索引结构确定机器人在路径点处的最小障碍距离;遍历规划路径中所有的路径点,以根据机器人在各路径点处的最小障碍距离确定规划路径的校验结果。本公开提供的机器人规划路径校验方法能够高效且准确地计算障碍物与机器人之间最小距离。
Description
技术领域
本公开涉及机器人技术领域,具体涉及一种机器人规划路径校验方法、机器人规划路径校验装置、存储介质及电子设备。
背景技术
移动机器人系统在轨迹规划中通常需要对规划后的路径进行可行性校验,其中最重要的就是检查在不同路径点上障碍物与机器人的距离是否满足障碍物最小距离的约束条件,当障碍物与机器人的距离小于规定的障碍物与机器人的最小距离时,规划出来的路径被视为不可执行。
现有技术通常采用计算障碍物与机器人对应多边形上的边之间的距离来确定障碍物与机器人的最短距离是否满足路径障碍物距离的可行性检查,当障碍物较多时,障碍物与机器人之间最小距离的计算耗时则较长,影响轨迹规划路径可行性检查的效率。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种机器人规划路径校验方法、机器人规划路径校验装置、存储介质及电子设备,旨在高效且准确地计算障碍物与机器人之间最小距离。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一方面,提供了一种机器人规划路径校验方法,包括:确定机器人的规划路径中一路径点,并基于障碍物探测信息判断在所述路径点处是否存在待校验的目标障碍点;在存在所述目标障碍点时,基于所述目标障碍点相对于所述机器人的位置构建对应的障碍点索引结构以及配置对应的所述机器人的轮廓点;其中,所述位置包括左侧和右侧;根据所述轮廓点和所述障碍点索引结构确定所述机器人在所述路径点处的最小障碍距离;遍历所述规划路径中所有的路径点,以根据所述机器人在各所述路径点处的最小障碍距离确定所述规划路径的校验结果。
根据本公开的一些实施例,基于前述方案,所述方法还包括:根据所述机器人的尺寸信息将所述机器人绘制为由点和线段组成的凸多边形;根据所述凸多边形确定路径覆盖区域,以根据所述路径覆盖区域配置处于所述规划路径中的所述路径点;以及确定所述凸多边形中的侧边集,以配置处于所述侧边集中的所述轮廓点。
根据本公开的一些实施例,基于前述方案,所述基于障碍物探测信息判断在所述路径点处是否存在待校验的目标障碍点,包括:基于所述路径点处机器人的行驶方向建立局部坐标系,并根据所述障碍物探测信息确定探测的障碍点在所述局部坐标系中的坐标;根据所述障碍点的坐标和障碍物搜索半径判断是否存在处于障碍物搜索区域内的第一障碍点;在判断存在所述第一障碍点时,基于所述第一障碍点的坐标和所述机器人的凸多边形判断所述第一障碍点是否处于机器人之外;在判断所述第一障碍点处于机器人之外时,将所述第一障碍点标记为所述目标障碍点。
根据本公开的一些实施例,基于前述方案,所述基于所述第一障碍点的坐标和所述机器人的凸多边形判断所述第一障碍点是否处于机器人之外,包括:将所述第一障碍点的坐标与所述局部坐标系的原点连接得到障碍点线段;在所述障碍点线段与所述凸多边形相交时,判断所述第一障碍点处于机器人之外。
根据本公开的一些实施例,基于前述方案,所述方法还包括:确定所述目标障碍点相对于所述机器人的位置,所述确定所述目标障碍点相对于所述机器人的位置,包括:基于在路径点处机器人的行驶方向确定单位向量,以及根据所述目标障碍点的坐标确定障碍点向量;在所述障碍点向量与所述单位向量的叉乘结果为正时,判断所述目标障碍点位于所述机器人的左侧;在所述障碍点向量与所述单位向量的叉乘结果为负时,判断所述目标障碍点位于所述机器人的右侧。
根据本公开的一些实施例,基于前述方案,在所述目标障碍点位于所述机器人的异侧时,所述根据所述轮廓点和所述障碍点索引结构确定所述机器人在所述路径点处的最小障碍距离,包括:根据配置的机器人的左侧轮廓点和构建的左侧障碍点索引结构确定所述机器人在所述路径点处的左侧最小障碍距离;以及根据配置的机器人的右侧轮廓点和构建的右侧障碍点索引结构确定所述机器人在所述路径点处的右侧最小障碍距离;比较所述左侧最小障碍距离和所述右侧最小障碍距离以确定所述最小障碍距离。
根据本公开的一些实施例,基于前述方案,在所述目标障碍点位于所述机器人的同侧时,所述根据所述轮廓点和所述障碍点索引结构确定所述机器人在所述路径点处的最小障碍距离,包括:根据配置的机器人的左侧轮廓点和构建的左侧障碍点索引结构确定所述机器人在所述路径点处的左侧最小障碍距离;或者根据配置的机器人的右侧轮廓点和构建的右侧障碍点索引结构确定所述机器人在所述路径点处的右侧最小障碍距离;将所述左侧最小障碍距离或所述右侧最小障碍距离作为所述最小障碍距离。
根据本公开的一些实施例,基于前述方案,所述根据配置的机器人的左侧轮廓点和构建的左侧障碍点索引结构确定所述机器人在所述路径点处的左侧最小障碍距离,包括:遍历所述机器人的左侧轮廓点,基于所述左侧障碍点索引结构确定所述各左侧轮廓点对应的最近障碍点并计算各左侧轮廓点对应的常规障碍距离;基于所述各左侧轮廓点对应的常规障碍距离从所述最近障碍点中确定至少一个候选最近障碍点;计算各所述候选最近障碍点对应的精细障碍距离,并将距离值最小的精细障碍距离作为所述左侧最小障碍距离。
根据本公开的一些实施例,基于前述方案,所述方法还包括:基于所述左侧障碍点索引结构确定一左侧轮廓点对应的最近障碍点并计算该左侧轮廓点对应的常规障碍距离,包括:从所述左侧障碍点索引结构中查询与所述左侧轮廓点距离值最小的障碍点作为所述左侧轮廓点对应的最近障碍点;计算所述左侧轮廓点与该左侧轮廓点对应的最近障碍点之间的距离得到所述左侧轮廓点对应的常规障碍距离。
根据本公开的一些实施例,基于前述方案,所述基于所述各左侧轮廓点对应的常规障碍距离从所述最近障碍点中确定至少一个候选最近障碍点,包括:将所述各左侧轮廓点对应的常规障碍距离进行排序得到距离排序结果;根据所述距离排序结果选取预设数量个所述常规障碍距离以得到各所述常规障碍距离对应的至少一个候选左侧轮廓点;将所述候选左侧轮廓点对应的最近障碍点确定为所述候选最近障碍点。
根据本公开的一些实施例,基于前述方案,所述计算各所述候选最近障碍点对应的精细障碍距离,包括:基于所述候选最近障碍点对应的左侧轮廓点确定机器人的凸多边形中的轮廓线段;计算所述候选最近障碍点与所述轮廓线段之间的距离作为所述候选最近障碍点对应的精细障碍距离。
根据本公开的一些实施例,基于前述方案,所述根据所述机器人在各所述路径点处的最小障碍距离确定所述规划路径的校验结果,包括:将各所述路径点处的最小障碍距离分别与最小通行距离进行比较;在存在所述最小障碍距离小于所述最小通行距离时,判断规划路径的校验结果为不可通行。
根据本公开实施例的第二方面,提供了一种机器人规划路径校验装置,包括:判断模块,用于确定机器人的规划路径中一路径点,并基于障碍物探测信息判断在所述路径点处是否存在待校验的目标障碍点;准备模块,用于在存在所述目标障碍点时,基于所述目标障碍点相对于所述机器人的位置配置对应的所述机器人的轮廓点以及构建障碍点索引结构;其中,所述位置包括左侧和右侧;计算模块,用于根据所述轮廓点和所述障碍点索引结构确定所述机器人在所述路径点处的最小障碍距离;校验模块,用于遍历所述规划路径中所有的路径点,以根据所述机器人在各所述路径点处的最小障碍距离确定所述规划路径的校验结果。
根据本公开实施例的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中的机器人规划路径校验方法。
根据本公开实施例的第四方面,提供了一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中的机器人规划路径校验方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开的一些实施例所提供的技术方案中,对于机器人规划路径中每一个路径点,都计算机器人该路径点处的最小障碍距离用来判断规划路径的校验结果;在计算最小障碍距离时,需要根据目标障碍点相对于所述机器人的位置构建对应的障碍点索引结构以及配置对应机器人的轮廓点用来计算最小障碍距离,一方面,需要根据目标障碍点相对于所述机器人的位置来构建对应的障碍点索引结构,能够将处于机器人两侧的障碍点区分开,进而减少每侧障碍点索引结构中的障碍点数量,降低了距离计算时障碍点索引结构构建和查找的复杂度,加快了最小障碍距离的计算速度;另一方面,配置机器人的轮廓点来进行距离计算,相较于传统方法中使用机器人的边计算来说,能够提高最小障碍距离的准确度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出本公开示例性实施例中一种机器人规划路径校验方法的流程示意图;
图2(a)示意性示出本公开示例性实施例中一种规划路径的路径点示意图;
图2(b)示意性示出本公开示例性实施例中另一种规划路径的路径点示意图;
图3示意性示出本公开示例性实施例中一种判断目标障碍点方法的流程示意图;
图4示意性示出本公开示例性实施例中一种局部坐标系的示意图;
图5示意性示出本公开示例性实施例中一种确定目标障碍点的相对位置方法的流程示意图;
图6示意性示出本公开示例性实施例中一种计算左侧最小障碍距离方法的流程示意图;
图7示意性示出本公开示例性实施例中一种机器人规划路径校验装置的组成示意图;
图8示意性示出本公开示例性实施例中一种计算机可读存储介质的示意图;
图9示意性示出本公开示例性实施例中一种电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
移动机器人系统通常包含环境地图构建、定位、环境感知、决策、路径规划、行为控制和执行等部分。移动机器人系统在轨迹规划中需要对规划后的路径的可行性进行校验,其中最重要的就是检查在不同路径点上障碍物与机器人的距离是否满足障碍物最小距离的约束条件,当障碍物与机器人的距离小于规定的障碍物与机器人的最小距离时,规划出来的路径被视为不可执行。因此,高效且有效的障碍物距离计算方法有利于快速且准确的判断轨迹规划的路径是否可行。
在现有技术中,通常可以将移动机器人视为凸多边形,采用计算障碍物相对于凸多边形中的线段的距离来确定障碍物与机器人的最短距离是否满足路径障碍物距离的可行性检查。
举例来说,现有技术中一种距离计算算法的伪代码如下:
这种计算方法在待校验的障碍物的点较多时,耗时较长,影响轨迹规划路径可行性检查的效率。
因此,针对现有技术中的缺陷,本公开提供了一种机器人规划轨迹校验方法,对障碍物位于机器人左侧还是右侧分别构建不同侧的障碍点索引结构,能够降低障碍点索引结构构建和查找的复杂度,提高距离计算的效率,并且对机器人多边形两侧的边进行取点,用以提高距离计算的准确度。
以下对本公开实施例的技术方案的实现细节进行详细阐述。
图1示意性示出本公开示例性实施例中一种机器人规划路径校验方法的流程示意图。如图1所示,该机器人规划路径校验方法包括步骤S101至步骤S104:
步骤S101,确定机器人的规划路径中一路径点,并基于障碍物探测信息判断在所述路径点处是否存在待校验的目标障碍点;
步骤S102,在存在所述目标障碍点时,基于所述目标障碍点相对于所述机器人的位置配置对应的所述机器人的轮廓点以及构建对应的障碍点索引结构;其中,所述位置包括左侧和右侧;
步骤S103,根据所述轮廓点和所述障碍点索引结构确定所述机器人在所述路径点处的最小障碍距离;
步骤S104,遍历所述规划路径中所有的路径点,以根据所述机器人在各所述路径点处的最小障碍距离确定所述规划路径的校验结果。
在本公开的一些实施例所提供的技术方案中,对于机器人规划路径中每一个路径点,都计算机器人该路径点处的最小障碍距离用来判断规划路径的校验结果;在计算最小障碍距离时,需要根据目标障碍点相对于所述机器人的位置构建对应的障碍点索引结构以及配置对应机器人的轮廓点用来计算最小障碍距离,一方面,需要根据目标障碍点相对于所述机器人的位置来构建对应的障碍点索引结构,能够将处于机器人两侧的障碍点区分开,进而减少每侧障碍点索引结构中的障碍点数量,降低了距离计算时障碍点索引结构构建和查找的复杂度,加快了最小障碍距离的计算速度;另一方面,配置机器人的轮廓点来进行距离计算,相较于传统方法中使用机器人的边计算来说,能够提高最小障碍距离的准确度。
下面,将结合附图及实施例对本示例实施方式中的机器人规划路径校验方法的各个步骤进行更详细的说明。
在步骤S101中,确定机器人的规划路径中一路径点,并基于障碍物探测信息判断在所述路径点处是否存在待校验的目标障碍点。
在本公开的一个实施例中,轨迹规划是对机器人路径规划的路径点赋予路径时间信息,可以用于对机器人执行任务时速度和加速度进行规划,满足光滑性和可控性等要求。
当路径点附近存在障碍物时,轨迹规划需要满足障碍物最小距离要求,所以需要对轨迹规划后的路径是否满足障碍物最小距离要求进行验证,只有当所有路径点都满足障碍物最小距离要求时,该路径才符合要求。因此,在进行规划路径校验时,需要对于该规划路径中各个路径点处机器人的行驶情况进行障碍物距离约束校验。
将机器人视为凸多边形,各个路径点上机器人的凸多边形需要能完全覆盖住规划路径的检测区域,所以可以根据这一原则进行路径点的配置。
具体来说,首先根据机器人的尺寸信息将机器人绘制为由点和线段组成的凸多边形,然后根据凸多边形确定路径覆盖区域,以根据路径覆盖区域配置处于所述规划路径中的路径点。
需要说明的是,障碍物探测信息通常可以基于机器人的传感器而得到的。在这种情况下,受到传感器探测范围与视角的影响,只能得到位于机器人附近的障碍物探测信息。因此,考虑到这个因素,在进行路径校验时,可以在机器人行进过程中就机器人当前位置就近取规划路径中的一段路径进行校验,来对这一小段路径中的路径点进行障碍物距离检测,这样一来也能使得校验结果更具有实时性,提高准确性。
而在另一些实施例中,障碍物探测信息可以由分布在仓库各个位置的传感器得到,此时探测信息将不再受限于机器人的位置,所以可以直接基于全局的障碍物探测信息来对整一条规划路径进行校验,减少选取路径段的步骤,简化校验过程。
图2(a)示意性示出本公开示例性实施例中一种规划路径的路径点示意图,图2(b)示意性示出本公开示例性实施例中另一种规划路径的路径点示意图。参考图2(a)和图2(b)所示是对机器人R的同一条轨迹S路径点配置的两种结果,在各路径点处机器人R的位姿如四边形虚线表示,对比可以看出,图2(a)中配置了7个路径点,各路径点处机器人的凸多边形将规划路径全部覆盖,而图2(b)中配置了4个路径点,没有完全覆盖路径,所以图2(a)中配置的路径点可用,而图2(b)中配置的路径点不可用。
需要说明的是,配置的路径点对于规划路径的覆盖比例没有限制,也就是说基于该机器人R的S配置路径点,至少应当是7个,但也可以比这更密集。
障碍物探测信息可以由传感器的感知模块获取,感知模块可以按照自身的探测逻辑将障碍物用探测的多个障碍点表示,并且同时能确定各障碍点在全局坐标中的位置信息。其中,障碍物探测信息中障碍点有很多,为了提高检验效率,可以将不需要校验的障碍点剔除,只从中选取待校验的障碍点。
下面将以一个路径点为例,详细解释计算机器人在该路径点处的最小障碍距离的过程。
图3示意性示出本公开示例性实施例中一种判断目标障碍点方法的流程示意图。参考图3所示,基于障碍物探测信息判断在所述路径点处是否存在待校验的目标障碍点,包括:
步骤S301,基于所述路径点处机器人的行驶方向建立局部坐标系,并根据所述障碍物探测信息确定探测的障碍点在所述局部坐标系中的坐标;
步骤S302,根据所述障碍点的坐标和障碍物搜索半径判断是否存在处于障碍物搜索区域内的第一障碍点;
步骤S303,在判断存在所述第一障碍点时,基于所述第一障碍点的坐标和所述机器人的凸多边形判断所述第一障碍点是否处于机器人之外;
步骤S304,在判断所述第一障碍点处于机器人之外时,将所述第一障碍点标记为所述目标障碍点。
具体而言,在步骤S301中,首先需要基于路径点处机器人的行驶方向建立局部坐标系,进而便于后续各点的坐标表示以用于距离测算。
图4示意性示出本公开示例性实施例中一种局部坐标系的示意图。假设机器人的坐标满足行业通用的右手定则,机器人用ABCD构成的四边形表示,基于四边形的中心点为坐标系原点O,并以在路径点处机器人的行驶方向为x轴,以行驶方向的法线方向为y轴建立局部坐标系如图4所示。
在局部坐标系中,A、B、E为机器人的左侧轮廓点,C、D为机器人的右侧轮廓点,p1和p2都是传感器探测出的障碍点。
在建立了坐标系之后,便可确定各障碍点在局部坐标系中的坐标。从传感器的感知模块可以获取障碍物探测信息,障碍物可以主要是以点、边或多边形,为了便于计算可以都将取为障碍外侧轮廓上的障碍点进行障碍物的表示。
障碍物探测信息中包括各障碍点在全局坐标系中的坐标,将坐标进行坐标系转换即可得到各障碍点在局部坐标系下的坐标。
在步骤S302中,根据所述障碍点的坐标和障碍物搜索半径判断是否存在处于障碍物搜索区域内的第一障碍点。
具体地,可以选取障碍物搜索区域内的障碍点纳入考虑范围。因此,可以判断障碍点与机器人的中心点之间的距离是否大于障碍物搜索半径,如果大于也就意味着障碍点与机器人距离较远,不在路径可行性检查的范围之内,而将小于障碍物搜索半径的障碍点视为处于障碍物搜索区域内的障碍点,标记为第一障碍点。
其中,障碍物搜索半径可以根据机器人的参数以及实际使用场景来灵活配置。
在步骤S303中,在判断存在所述第一障碍点时,基于所述第一障碍点的坐标和所述机器人的凸多边形判断所述第一障碍点是否处于机器人之外。
需要说明的是,如果障碍点处于机器人之内,那么不用计算距离,直接可以判断出该路径不可用,如果障碍点处于机器人之外,则还需要计算最小障碍距离进行距离校验。
具体地,所述基于所述第一障碍点的坐标和所述机器人的凸多边形判断所述第一障碍点是否处于机器人之外,包括:将所述第一障碍点的坐标与所述局部坐标系的原点连接得到障碍点线段;在所述障碍点线段与所述凸多边形相交时,判断所述第一障碍点处于机器人之外。
对于一个障碍点,如果障碍物的点与机器人的中心点组成的线段与凸多边形的任意一条边均不相交,则可证明该障碍点在凸多边形内,即处于机器人之内,反之障碍点在凸多边形外,即处于机器人之外。
参考图4所示,障碍点p1与机器人四边形中心点的连线与机器人四边形中的AB线段相交,因此p1处于机器人外,而障碍点p2与机器人四边形中心点的连线与机器人四边形任一条边均不相交,所以p2处于机器人内。
步骤S304,在判断所述第一障碍点处于机器人之外时,将所述第一障碍点标记为所述目标障碍点。
也就是说,在选取目标障碍点时,将处于障碍物搜索区域内且机器人之外的障碍点确定为待校验的目标障碍点。
基于上述方法,将不在障碍物搜索区域内的障碍点以及机器人之内的障碍点预先筛除,能够减少待校验的障碍点数,提高路径的校验效率。
在步骤S102中,在存在所述目标障碍点时,基于所述目标障碍点相对于所述机器人的位置构建对应的障碍点索引结构以及配置对应的所述机器人的轮廓点;其中,所述位置包括左侧和右侧。
在本公开的一个实施例中,需要判断目标障碍点位于机器人的左侧还是右侧,进而构建对应的障碍点索引结构以及配置对应的轮廓点。
若目标障碍点位于机器人的左侧时,可以记为左侧障碍点,此时需要配置机器人的左侧轮廓点,并根据所有的左侧障碍点构建左侧障碍点索引结构。对于目标障碍点位于机器人的右侧时采用相同的操作,配置右侧轮廓点和右侧障碍点索引结构。
图5示意性示出本公开示例性实施例中一种确定目标障碍点的相对位置方法的流程示意图。参考图5所示,确定所述目标障碍点相对于所述机器人的位置包括:
步骤S501,基于在路径点处机器人的行驶方向确定单位向量,以及根据所述目标障碍点的坐标确定障碍点向量;
步骤S502,在所述障碍点向量与所述单位向量的叉乘结果为正时,判断所述目标障碍点位于所述机器人的左侧;
步骤S503,在所述障碍点向量与所述单位向量的叉乘结果为负时,判断所述目标障碍点位于所述机器人的右侧。
具体来说,可以采用向量叉乘来判断障碍点在机器人的左侧还是右侧。由于机器人的行驶方向为x轴,所以取x轴的单位向量X1(x1,y1),同时根据目标障碍点的坐标确定障碍点向量X2(x2,y2)。然后计算向量叉乘结果如公式(1)所示:
X=X1(x1,y1)*X2(x2,y2)=x1y2-x2y1 (1)
当叉乘结果为正时,那么障碍点在机器人的左侧,反之则在机器人的右侧。
为了方便构建障碍点索引结构,可以将位于机器人左侧的左侧障碍点放入左侧障碍点容器中,将位于机器人右侧的右侧障碍点放入右侧障碍点容器中,进而最后根据障碍容器构建障碍点索引结构。
当存在位于机器人左侧的目标障碍点时,左侧障碍点容器不为空,此时可以根据将左侧障碍点容器中的左侧障碍点构建左侧障碍点索引结构,右侧同样这样处理。
其中,障碍点索引结构可以是以Kd_Tree的数据结构存储。Kd-Tree,即K-dimensional tree,或称为k-d树,是一种分割k维数据空间的数据结构。主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。K-D树是二进制空间分割树的特殊的情况。在一个K维数据集合上构建一棵Kd-Tree代表了对该K维数据集合构成的K维空间的一个划分,即树中的每个结点就对应了一个K维的超矩形区域。
同时,除了构建对应的障碍点索引结构,还需要配置对应的所述机器人的轮廓点。具体来说,确定凸多边形中的侧边集,以配置处于侧边集中的所述轮廓点。
轮廓点是机器人凸多边形外轮廓上的点,由于需要计算在轨迹路径行走过程中机器人与障碍物之间的距离进行轨迹校验,所以只需要机器人左侧和右侧的边进行打点。轮廓点取的多可以提高障碍物与机器人最小距离的计算精度,而取的少相对来说计算效率会更高,因此取点的数量可以视具体情况而定。
当存在位于机器人左侧的目标障碍点时,需要配置左侧轮廓点。首先需要找到机器人凸多边形左侧的边组成的左侧边集,然后从左侧边集上完成左侧轮廓点的取点。对于右侧也是同样的道理。
参考图4中由四边形表示机器人,AB为左侧边集,将AB边分为两等分可以得到A、B、E共3个左侧轮廓点,若将AB边分别四等分则可以得到5个左侧轮廓点。
在配置完轮廓点之后可以计算各轮廓点的坐标。例如可以根据机器人的尺寸信息得到机器人的长为a,宽为b,则将AB边分为两等分后,得到左侧轮廓点A(a/2,b/2),B(-a/2,b/2),E(0,b/2)。
在步骤S103中,根据所述轮廓点和所述障碍点索引结构确定所述机器人在所述路径点处的最小障碍距离。
在本公开的一个实施例中,当确定了目标障碍点相对于所述机器人的位置之后,分为处于机器人同侧和异侧两种情况,如果遍历了所有的目标障碍点发现障碍点时分布在机器人两侧的,那么需要分别计算两侧的最小障碍距离然后取最小作为该路径点处机器人的最小障碍距离,而如果所有目标障碍点处于机器人的同侧,那么只需要计算该侧对应的最小障碍距离。
在所述目标障碍点位于所述机器人的异侧时,所述根据所述轮廓点和所述障碍点索引结构确定所述机器人在所述路径点处的最小障碍距离,包括:根据配置的机器人的左侧轮廓点和构建的左侧障碍点索引结构确定所述机器人在所述路径点处的左侧最小障碍距离;以及根据配置的机器人的右侧轮廓点和构建的右侧障碍点索引结构确定所述机器人在所述路径点处的右侧最小障碍距离;比较所述左侧最小障碍距离和所述右侧最小障碍距离以确定所述最小障碍距离。
即既需要计算左侧最小障碍距离,又需要计算右侧最小障碍距离,之后再将左侧最小障碍距离和右侧最小障碍距离进行比较。
在所述目标障碍点位于所述机器人的同侧时,所述根据所述轮廓点和所述障碍点索引结构确定所述机器人在所述路径点处的最小障碍距离,包括:根据配置的机器人的左侧轮廓点和构建的左侧障碍点索引结构确定所述机器人在所述路径点处的左侧最小障碍距离;或者根据配置的机器人的右侧轮廓点和构建的右侧障碍点索引结构确定所述机器人在所述路径点处的右侧最小障碍距离;将所述左侧最小障碍距离或所述右侧最小障碍距离作为所述最小障碍距离。
即根据目标障碍点的位置计算该侧对应的左侧最小障碍距离或所述右侧最小障碍距离,而无需比较。
计算左侧最小障碍距离和右侧最小障碍距离的过程类似,因此,接下来以计算左侧最小障碍距离为例进行详细说明,右侧最小障碍距离的计算过程同理,只是取用的轮廓点和障碍点索引结构不同。
图6示意性示出本公开示例性实施例中一种计算左侧最小障碍距离方法的流程示意图。参考图6所示,所述根据配置的机器人的左侧轮廓点和构建的左侧障碍点索引结构确定所述机器人在所述路径点处的左侧最小障碍距离,包括:
步骤S601,遍历所述机器人的左侧轮廓点,基于所述左侧障碍点索引结构确定所述各左侧轮廓点对应的最近障碍点并计算各左侧轮廓点对应的常规障碍距离;
步骤S602,基于所述各左侧轮廓点对应的常规障碍距离从所述最近障碍点中确定至少一个候选最近障碍点;
步骤S603,计算各所述候选最近障碍点对应的精细障碍距离,并将距离值最小的精细障碍距离作为所述左侧最小障碍距离。
具体而言,在步骤S601中,遍历所述机器人的左侧轮廓点,基于所述左侧障碍点索引结构确定所述各左侧轮廓点对应的最近障碍点并计算各左侧轮廓点对应的常规障碍距离。
在本公开的一个实施例中,针对机器人每一个左侧轮廓点ri,都需要确定该左侧轮廓点对应的最近障碍点pj,并计算该左侧轮廓点对应的常规障碍距离dk。
进一步地,步骤S601具体包括以下步骤:从所述左侧障碍点索引结构中查询与所述左侧轮廓点距离值最小的障碍点作为所述左侧轮廓点对应的最近障碍点;计算所述左侧轮廓点与该左侧轮廓点对应的最近障碍点之间的距离得到所述左侧轮廓点对应的常规障碍距离。
在Kd_Tree中进行数据的查找也是特征匹配的重要环节,其目的是检索在Kd_Tree中与查询点距离最近的数据点。其中,左侧障碍点索引结构Kd_Tree中存储了待校验的左侧障碍点以及各障碍点的坐标,并且该左侧轮廓点的坐标也已知,所以计算点与点之间的距离,以从左侧Kd_Tree中查找与该左侧轮廓点距离值最小的障碍点作为该左侧轮廓点ri对应的最近障碍点pj,并且计算左侧轮廓点ri和最近障碍点pj之间的常规障碍距离dk。
为了便于存储,可以以(ri,pj,di)的方式存储,也可以以二维数组的形式,分别以(ri,pj)的形式放到轮廓点-障碍点容器Pj(j=1,2,…,J),其中,J为该侧目标障碍点的总数量,以及以(ri,dk)的形式放到轮廓点-距离容器Di(i=1,2,…,I),其中,I为该侧轮廓点的总数量。
在步骤S602中,基于所述各左侧轮廓点对应的常规障碍距离从所述最近障碍点中确定至少一个候选最近障碍点。
进一步地,步骤S602具体包括以下步骤:将所述各左侧轮廓点对应的常规障碍距离进行排序得到距离排序结果;根据所述距离排序结果选取预设数量个所述常规障碍距离以得到各所述常规障碍距离对应的至少一个候选左侧轮廓点;将所述候选左侧轮廓点对应的最近障碍点确定为所述候选最近障碍点。
具体地,对Di中的元素以di的大小进行排序,之后可以取距离值较小的di对一些距离较近的障碍点进行重点校验。因此可以根据排序结果取前n个di值,每一个di都对应一个最近障碍点pj作为候选最近障碍点。
需要注意的是,机器人轮廓点和障碍点存在多对一的映射关系,也就是说,多个轮廓点可能映射同一个障碍点,因此虽然选取了n个di值,得到的候选最近障碍点的数量m满足m≤n的关系。
在步骤S603中,计算各所述候选最近障碍点对应的精细障碍距离,并将距离值最小的精细障碍距离作为所述左侧最小障碍距离。
在本公开的一个实施例中,参考图4所示,当机器人与障碍点之间的距离为di时,该障碍点与机器人多边形之间的实际距离应当是满足dj≤di,其中dj为p1与机器人轮廓点E相邻的AE线段之间的距离,di为p1与机器人轮廓点E之间的距离。因此得到障碍点与轮廓点之间的常规障碍距离之后,还需要精细化,利用障碍点对应轮廓点处相邻的轮廓线段来计算精细障碍距离。
进一步地,步骤S603中计算精细障碍距离具体包括以下步骤:基于所述候选最近障碍点对应的左侧轮廓点确定机器人的凸多边形中的轮廓线段;计算所述候选最近障碍点与所述轮廓线段之间的距离作为所述候选最近障碍点对应的精细障碍距离。
根据障碍点相对于该轮廓点的位置取机器人凸多边形上的轮廓线段,利用点到线段的距离作为精细障碍距离。
在步骤S602中得到了m个候选最近障碍点,所以可以得到对应的m个精细障碍距离dj,之后比较m个dj的距离值,将距离值最小的dj作为机器人与障碍物之间的左侧最小障碍距离。
需要说明的是,如果需要计算机器人在路径点处的右侧最小障碍距离,处理过程与左侧相似,只是取用的是机器人的右侧轮廓点以及右侧障碍点索引结构。
在本公开的一个实施例中,给出计算某一侧的最小障碍距离的算法的伪代码如下:
基于上述方法,在计算最小障碍距离时,对障碍物的障碍点按照在机器人左侧还是右侧分别存储在两个容器中,并分别构建Kd_Tree,以减少Kd_Tree的节点数量,降低了Kd_Tree构建和查找的复杂度;同时区别于现有技术中利用机器人多边形的边进行距离计算,对机器人多边形两侧的边分别进行取点来进行距离计算,可以提高障碍物与机器人距离计算的准确度;并且考虑到由于障碍物与机器人多边形点的距离(常规障碍距离)总是大于或等于障碍物与机器人的实际距离(精细障碍距离),按照障碍点距离进行排序并对排序后的前n个数据点进行验证,可以抵消计算的常规障碍距离的误差,进而提高障碍物距离计算的准确性。
在步骤S104中,遍历所述规划路径中所有的路径点,以根据所述机器人在各所述路径点处的最小障碍距离确定所述规划路径的校验结果。
进一步地,步骤S104具体过程包括将各所述路径点处的最小障碍距离分别与最小通行距离进行比较;在存在所述最小障碍距离小于所述最小通行距离时,判断规划路径的校验结果为不可通行。
具体而言,对于不同的机器人来说,都配置有该机器人在行驶过程中对应的最小通行距离,因此需要将各路径点处的最小障碍距离与最小通行距离进行比较来完成路径的通行验证。
若各路径点处的最小障碍距离都大于最小通行距离,那么机器人就可以顺利通过这些障碍点,该规划路径即可通行。若存在某处的最小障碍距离小于最小通行距离,那么意味着机器人通行将受到某些障碍点的阻碍,便不可通行。
另外,不同的机器人还可能存在左侧和右侧的最小通行距离不同的可能,因此在对机器人的规划路径进行校验时,可以将左侧或右侧最小障碍距离和对应的左侧或右侧的最小通行距离进行比较,得到更加精准的校验结果。
本申请提供了一种应用于移动机器人的障碍物距离计算方法,通过对机器人轮廓取点以进行距离测算能够提高距离的计算精度,同时分别构建对应的Kd_Tree进行障碍点搜索,能够降低Kd_Tree构建和查找的复杂度,提高计算效率,进而通过高效且准确的距离计算方法提高机器人规划路径校验的效率和准确率。
图7示意性示出本公开示例性实施例中一种机器人规划路径校验装置的组成示意图,如图7所示,该机器人规划路径校验装置700可以包括判断模块701、准备模块702、计算模块703以及校验模块704。其中:
判断模块701,用于确定机器人的规划路径中一路径点,并基于障碍物探测信息判断在所述路径点处是否存在待校验的目标障碍点;
准备模块702,用于在存在所述目标障碍点时,基于所述目标障碍点相对于所述机器人的位置配置对应的所述机器人的轮廓点以及构建障碍点索引结构;其中,所述位置包括左侧和右侧;
计算模块703,用于根据所述轮廓点和所述障碍点索引结构确定所述机器人在所述路径点处的最小障碍距离;
校验模块704,用于遍历所述规划路径中所有的路径点,以根据所述机器人在各所述路径点处的最小障碍距离确定所述规划路径的校验结果。
根据本公开的示例性实施例,所述机器人规划路径校验装置700还可以包括配置模块,用于根据所述机器人的尺寸信息将所述机器人绘制为由点和线段组成的凸多边形;根据所述凸多边形确定路径覆盖区域,以根据所述路径覆盖区域配置处于所述规划路径中的所述路径点;以及确定所述凸多边形中的侧边集,以配置处于所述侧边集中的所述轮廓点。
根据本公开的示例性实施例,所述判断模块701用于基于所述路径点处机器人的行驶方向建立局部坐标系,并根据所述障碍物探测信息确定探测的障碍点在所述局部坐标系中的坐标;根据所述障碍点的坐标和障碍物搜索半径判断是否存在处于障碍物搜索区域内的第一障碍点;在判断存在所述第一障碍点时,基于所述第一障碍点的坐标和所述机器人的凸多边形判断所述第一障碍点是否处于机器人之外;在判断所述第一障碍点处于机器人之外时,将所述第一障碍点标记为所述目标障碍点。
根据本公开的示例性实施例,所述判断模块701还用于将所述第一障碍点的坐标与所述局部坐标系的原点连接得到障碍点线段;在所述障碍点线段与所述凸多边形相交时,判断所述第一障碍点处于机器人之外。
根据本公开的示例性实施例,所述判断模块701还用于基于在路径点处机器人的行驶方向确定单位向量,以及根据所述目标障碍点的坐标确定障碍点向量;在所述障碍点向量与所述单位向量的叉乘结果为正时,判断所述目标障碍点位于所述机器人的左侧;在所述障碍点向量与所述单位向量的叉乘结果为负时,判断所述目标障碍点位于所述机器人的右侧。
根据本公开的示例性实施例,在所述目标障碍点位于所述机器人的异侧时,所述准备模块702用于根据配置的机器人的左侧轮廓点和构建的左侧障碍点索引结构确定所述机器人在所述路径点处的左侧最小障碍距离;以及根据配置的机器人的右侧轮廓点和构建的右侧障碍点索引结构确定所述机器人在所述路径点处的右侧最小障碍距离;比较所述左侧最小障碍距离和所述右侧最小障碍距离以确定所述最小障碍距离。
根据本公开的示例性实施例,在所述目标障碍点位于所述机器人的同侧时,所述准备模块702用于根据配置的机器人的左侧轮廓点和构建的左侧障碍点索引结构确定所述机器人在所述路径点处的左侧最小障碍距离;或者根据配置的机器人的右侧轮廓点和构建的右侧障碍点索引结构确定所述机器人在所述路径点处的右侧最小障碍距离;将所述左侧最小障碍距离或所述右侧最小障碍距离作为所述最小障碍距离。
根据本公开的示例性实施例,所述准备模块702用于遍历所述机器人的左侧轮廓点,基于所述左侧障碍点索引结构确定所述各左侧轮廓点对应的最近障碍点并计算各左侧轮廓点对应的常规障碍距离;基于所述各左侧轮廓点对应的常规障碍距离从所述最近障碍点中确定至少一个候选最近障碍点;计算各所述候选最近障碍点对应的精细障碍距离,并将距离值最小的精细障碍距离作为所述左侧最小障碍距离。
根据本公开的示例性实施例,所述准备模块702还用于从所述左侧障碍点索引结构中查询与所述左侧轮廓点距离值最小的障碍点作为所述左侧轮廓点对应的最近障碍点;计算所述左侧轮廓点与该左侧轮廓点对应的最近障碍点之间的距离得到所述左侧轮廓点对应的常规障碍距离。
根据本公开的示例性实施例,所述准备模块702还用于将所述各左侧轮廓点对应的常规障碍距离进行排序得到距离排序结果;根据所述距离排序结果选取预设数量个所述常规障碍距离以得到各所述常规障碍距离对应的至少一个候选左侧轮廓点;将所述候选左侧轮廓点对应的最近障碍点确定为所述候选最近障碍点。
根据本公开的示例性实施例,所述准备模块702还用于基于所述候选最近障碍点对应的左侧轮廓点确定机器人的凸多边形中的轮廓线段;计算所述候选最近障碍点与所述轮廓线段之间的距离作为所述候选最近障碍点对应的精细障碍距离。
根据本公开的示例性实施例,所述校验模块704用于将各所述路径点处的最小障碍距离分别与最小通行距离进行比较;在存在所述最小障碍距离小于所述最小通行距离时,判断规划路径的校验结果为不可通行。
上述的机器人规划路径校验装置700中各模块的具体细节已经在对应的机器人规划路径校验方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的存储介质。图8示意性示出本公开示例性实施例中一种计算机可读存储介质的示意图,如图8所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如手机上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。图9示意性示出本公开示例性实施例中一种电子设备的计算机系统的结构示意图。
需要说明的是,图9示出的电子设备的计算机系统900仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(Central Processing Unit,CPU)901,其可以根据存储在只读存储器(Read-Only Memory,ROM)902中的程序或者从存储部分908加载到随机访问存储器(Random Access Memory,RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(Input/Output,I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本公开的系统中限定的各种功能。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (15)
1.一种机器人规划路径校验方法,其特征在于,包括:
确定机器人的规划路径中一路径点,并基于障碍物探测信息判断在所述路径点处是否存在待校验的目标障碍点;
在存在所述目标障碍点时,基于所述目标障碍点相对于所述机器人的位置构建对应的障碍点索引结构以及配置对应的所述机器人的轮廓点;其中,所述位置包括左侧和右侧;
根据所述轮廓点和所述障碍点索引结构确定所述机器人在所述路径点处的最小障碍距离;
遍历所述规划路径中所有的路径点,以根据所述机器人在各所述路径点处的最小障碍距离确定所述规划路径的校验结果。
2.根据权利要求1所述的机器人规划路径校验方法,其特征在于,所述方法还包括:
根据所述机器人的尺寸信息将所述机器人绘制为由点和线段组成的凸多边形;
根据所述凸多边形确定路径覆盖区域,以根据所述路径覆盖区域配置处于所述规划路径中的所述路径点;以及
确定所述凸多边形中的侧边集,以配置处于所述侧边集中的所述轮廓点。
3.根据权利要求1所述的机器人规划路径校验方法,其特征在于,所述基于障碍物探测信息判断在所述路径点处是否存在待校验的目标障碍点,包括:
基于所述路径点处机器人的行驶方向建立局部坐标系,并根据所述障碍物探测信息确定探测的障碍点在所述局部坐标系中的坐标;
根据所述障碍点的坐标和障碍物搜索半径判断是否存在处于障碍物搜索区域内的第一障碍点;
在判断存在所述第一障碍点时,基于所述第一障碍点的坐标和所述机器人的凸多边形判断所述第一障碍点是否处于机器人之外;
在判断所述第一障碍点处于机器人之外时,将所述第一障碍点标记为所述目标障碍点。
4.根据权利要求3所述的机器人规划路径校验方法,其特征在于,所述基于所述第一障碍点的坐标和所述机器人的凸多边形判断所述第一障碍点是否处于机器人之外,包括:
将所述第一障碍点的坐标与所述局部坐标系的原点连接得到障碍点线段;
在所述障碍点线段与所述凸多边形相交时,判断所述第一障碍点处于机器人之外。
5.根据权利要求3所述的机器人规划路径校验方法,其特征在于,所述方法还包括:确定所述目标障碍点相对于所述机器人的位置,所述确定所述目标障碍点相对于所述机器人的位置,包括:
基于在路径点处机器人的行驶方向确定单位向量,以及根据所述目标障碍点的坐标确定障碍点向量;
在所述障碍点向量与所述单位向量的叉乘结果为正时,判断所述目标障碍点位于所述机器人的左侧;
在所述障碍点向量与所述单位向量的叉乘结果为负时,判断所述目标障碍点位于所述机器人的右侧。
6.根据权利要求1所述的机器人规划路径校验方法,其特征在于,在所述目标障碍点位于所述机器人的异侧时,所述根据所述轮廓点和所述障碍点索引结构确定所述机器人在所述路径点处的最小障碍距离,包括:
根据配置的机器人的左侧轮廓点和构建的左侧障碍点索引结构确定所述机器人在所述路径点处的左侧最小障碍距离;以及
根据配置的机器人的右侧轮廓点和构建的右侧障碍点索引结构确定所述机器人在所述路径点处的右侧最小障碍距离;
比较所述左侧最小障碍距离和所述右侧最小障碍距离以确定所述最小障碍距离。
7.根据权利要求1所述的机器人规划路径校验方法,其特征在于,在所述目标障碍点位于所述机器人的同侧时,所述根据所述轮廓点和所述障碍点索引结构确定所述机器人在所述路径点处的最小障碍距离,包括:
根据配置的机器人的左侧轮廓点和构建的左侧障碍点索引结构确定所述机器人在所述路径点处的左侧最小障碍距离;或者
根据配置的机器人的右侧轮廓点和构建的右侧障碍点索引结构确定所述机器人在所述路径点处的右侧最小障碍距离;
将所述左侧最小障碍距离或所述右侧最小障碍距离作为所述最小障碍距离。
8.根据权利要求6或7所述的机器人规划路径校验方法,其特征在于,所述根据配置的机器人的左侧轮廓点和构建的左侧障碍点索引结构确定所述机器人在所述路径点处的左侧最小障碍距离,包括:
遍历所述机器人的左侧轮廓点,基于所述左侧障碍点索引结构确定所述各左侧轮廓点对应的最近障碍点并计算各左侧轮廓点对应的常规障碍距离;
基于所述各左侧轮廓点对应的常规障碍距离从所述最近障碍点中确定至少一个候选最近障碍点;
计算各所述候选最近障碍点对应的精细障碍距离,并将距离值最小的精细障碍距离作为所述左侧最小障碍距离。
9.根据权利要求8所述的机器人规划路径校验方法,其特征在于,所述方法还包括:基于所述左侧障碍点索引结构确定一左侧轮廓点对应的最近障碍点并计算该左侧轮廓点对应的常规障碍距离,包括:
从所述左侧障碍点索引结构中查询与所述左侧轮廓点距离值最小的障碍点作为所述左侧轮廓点对应的最近障碍点;
计算所述左侧轮廓点与该左侧轮廓点对应的最近障碍点之间的距离得到所述左侧轮廓点对应的常规障碍距离。
10.根据权利要求8所述的机器人规划路径校验方法,其特征在于,所述基于所述各左侧轮廓点对应的常规障碍距离从所述最近障碍点中确定至少一个候选最近障碍点,包括:
将所述各左侧轮廓点对应的常规障碍距离进行排序得到距离排序结果;
根据所述距离排序结果选取预设数量个所述常规障碍距离以得到各所述常规障碍距离对应的至少一个候选左侧轮廓点;
将所述候选左侧轮廓点对应的最近障碍点确定为所述候选最近障碍点。
11.根据权利要求8所述的机器人规划路径校验方法,其特征在于,所述计算各所述候选最近障碍点对应的精细障碍距离,包括:
基于所述候选最近障碍点对应的左侧轮廓点确定机器人的凸多边形中的轮廓线段;
计算所述候选最近障碍点与所述轮廓线段之间的距离作为所述候选最近障碍点对应的精细障碍距离。
12.根据权利要求1所述的机器人规划路径校验方法,其特征在于,所述根据所述机器人在各所述路径点处的最小障碍距离确定所述规划路径的校验结果,包括:
将各所述路径点处的最小障碍距离分别与最小通行距离进行比较;
在存在所述最小障碍距离小于所述最小通行距离时,判断规划路径的校验结果为不可通行。
13.一种机器人规划路径校验装置,其特征在于,包括:
判断模块,用于确定机器人的规划路径中一路径点,并基于障碍物探测信息判断在所述路径点处是否存在待校验的目标障碍点;
准备模块,用于在存在所述目标障碍点时,基于所述目标障碍点相对于所述机器人的位置配置对应的所述机器人的轮廓点以及构建障碍点索引结构;其中,所述位置包括左侧和右侧;
计算模块,用于根据所述轮廓点和所述障碍点索引结构确定所述机器人在所述路径点处的最小障碍距离;
校验模块,用于遍历所述规划路径中所有的路径点,以根据所述机器人在各所述路径点处的最小障碍距离确定所述规划路径的校验结果。
14.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1至12任一项所述的机器人规划路径校验方法。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至12任一项所述的机器人规划路径校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210146316.6A CN114510053A (zh) | 2022-02-17 | 2022-02-17 | 机器人规划路径校验方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210146316.6A CN114510053A (zh) | 2022-02-17 | 2022-02-17 | 机器人规划路径校验方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114510053A true CN114510053A (zh) | 2022-05-17 |
Family
ID=81551087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210146316.6A Pending CN114510053A (zh) | 2022-02-17 | 2022-02-17 | 机器人规划路径校验方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114510053A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115268471A (zh) * | 2022-09-27 | 2022-11-01 | 深圳市智绘科技有限公司 | 扫地机器人的路径生成方法及装置、存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100052383A (ko) * | 2008-11-10 | 2010-05-19 | 한국전자통신연구원 | 이동 로봇의 안전경로 생성 방법 및 장치 |
CN106695790A (zh) * | 2017-01-09 | 2017-05-24 | 广东宝乐机器人股份有限公司 | 一种机器人的移动控制方法及机器人 |
CN110045730A (zh) * | 2019-03-20 | 2019-07-23 | 文远知行有限公司 | 路径规划的方法、装置、计算机设备和存储介质 |
CN111309013A (zh) * | 2020-02-24 | 2020-06-19 | 广州小鹏汽车科技有限公司 | 一种碰撞距离确定方法及系统、车辆、存储介质 |
CN112130574A (zh) * | 2020-09-30 | 2020-12-25 | 拉扎斯网络科技(上海)有限公司 | 机器人的控制方法、装置、电子设备及计算机存储介质 |
CN112578788A (zh) * | 2019-09-30 | 2021-03-30 | 北京百度网讯科技有限公司 | 车辆避障二次规划方法、装置、设备和可读存储介质 |
CN112572424A (zh) * | 2019-09-11 | 2021-03-30 | 北京百度网讯科技有限公司 | 基于障碍物识别的车辆控制方法、装置、设备和介质 |
CN113119964A (zh) * | 2019-12-30 | 2021-07-16 | 郑州宇通客车股份有限公司 | 一种自动驾驶车辆碰撞预测判断方法及装置 |
-
2022
- 2022-02-17 CN CN202210146316.6A patent/CN114510053A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100052383A (ko) * | 2008-11-10 | 2010-05-19 | 한국전자통신연구원 | 이동 로봇의 안전경로 생성 방법 및 장치 |
CN106695790A (zh) * | 2017-01-09 | 2017-05-24 | 广东宝乐机器人股份有限公司 | 一种机器人的移动控制方法及机器人 |
CN110045730A (zh) * | 2019-03-20 | 2019-07-23 | 文远知行有限公司 | 路径规划的方法、装置、计算机设备和存储介质 |
CN112572424A (zh) * | 2019-09-11 | 2021-03-30 | 北京百度网讯科技有限公司 | 基于障碍物识别的车辆控制方法、装置、设备和介质 |
CN112578788A (zh) * | 2019-09-30 | 2021-03-30 | 北京百度网讯科技有限公司 | 车辆避障二次规划方法、装置、设备和可读存储介质 |
CN113119964A (zh) * | 2019-12-30 | 2021-07-16 | 郑州宇通客车股份有限公司 | 一种自动驾驶车辆碰撞预测判断方法及装置 |
CN111309013A (zh) * | 2020-02-24 | 2020-06-19 | 广州小鹏汽车科技有限公司 | 一种碰撞距离确定方法及系统、车辆、存储介质 |
CN112130574A (zh) * | 2020-09-30 | 2020-12-25 | 拉扎斯网络科技(上海)有限公司 | 机器人的控制方法、装置、电子设备及计算机存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115268471A (zh) * | 2022-09-27 | 2022-11-01 | 深圳市智绘科技有限公司 | 扫地机器人的路径生成方法及装置、存储介质 |
CN115268471B (zh) * | 2022-09-27 | 2023-01-03 | 深圳市智绘科技有限公司 | 扫地机器人的路径生成方法及装置、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sobreira et al. | Map-matching algorithms for robot self-localization: a comparison between perfect match, iterative closest point and normal distributions transform | |
CN108241375B (zh) | 一种自适应蚁群算法在移动机器人路径规划中的应用方法 | |
Deng et al. | Multi-obstacle path planning and optimization for mobile robot | |
Kallmann | Dynamic and robust local clearance triangulations | |
KR20180100194A (ko) | 경로 이탈 인식 방법, 단말 및 저장 매체 | |
CN110319837A (zh) | 一种服务机器人室内复杂状况路径规划方法 | |
Chen et al. | Research on Ship Meteorological Route Based on A‐Star Algorithm | |
Xu et al. | Heuristic and random search algorithm in optimization of route planning for Robot’s geomagnetic navigation | |
CN113682318B (zh) | 车辆行驶控制方法及装置 | |
CN108829105A (zh) | 一种基于km算法和人工势场法的仓储物流调度避障优化方法 | |
CN109974699B (zh) | 一种机器人及其地图自主探索方法和装置 | |
Chen et al. | An enhanced dynamic Delaunay triangulation-based path planning algorithm for autonomous mobile robot navigation | |
Quin et al. | Approaches for efficiently detecting frontier cells in robotics exploration | |
Tsuru et al. | Online object searching by a humanoid robot in an unknown environment | |
CN114510053A (zh) | 机器人规划路径校验方法、装置、存储介质及电子设备 | |
Jafarzadeh et al. | An exact geometry–based algorithm for path planning | |
Dempster et al. | Drg: A dynamic relation graph for unified prior-online environment modeling in urban autonomous driving | |
CN117516573A (zh) | 一种多目标航点规划方法及系统 | |
Martins et al. | An improved robot path planning model using cellular automata | |
Wang et al. | Application of A* algorithm in intelligent vehicle path planning | |
CN115639817A (zh) | 一种路径的轨迹修正方法、装置、设备和介质 | |
Alparslan et al. | Comparison of object detection and classification methods for mobile robots | |
US20220300002A1 (en) | Methods and systems for path planning in a known environment | |
Qin et al. | Dynamic Detection of Topological Information from Grid‐Based Generalized Voronoi Diagrams | |
Bigaj et al. | A memetic algorithm based procedure for a global path planning of a movement constrained mobile robot |
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 |