CN115202364A - 路径规划方法及装置、机器人及计算机可读存储介质 - Google Patents
路径规划方法及装置、机器人及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115202364A CN115202364A CN202210943151.5A CN202210943151A CN115202364A CN 115202364 A CN115202364 A CN 115202364A CN 202210943151 A CN202210943151 A CN 202210943151A CN 115202364 A CN115202364 A CN 115202364A
- Authority
- CN
- China
- Prior art keywords
- path
- route
- point
- current
- saved
- 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 39
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000007599 discharging Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction 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/0259—Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
-
- 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/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- 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/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Electromagnetism (AREA)
- Manipulator (AREA)
Abstract
本申请提供一种路径规划方法、路径规划装置、机器人及计算机可读存储介质。方法包括获取预设的地图,所述地图包括多个路径点及连接相邻两个所述路径点的路径,所述路径存在对应的路径属性,所述路径属性包括前进路径、后退路径和横移路径中至少一种;根据所述路径的距离及所述路径属性规划连通起始路径点到终止路径点的目标路线。本申请的路径规划方法、路径规划装置、机器人及计算机可读存储介质,在进行起始路径点到终止路径点的路径规划时,不仅考虑了路径的距离,而且考虑了能够确定机器人在路径上移动时的移动模式的路径属性,从而使得机器人沿规划出的目标路线移动时能够以尽可能短的时间到达终止路径点。
Description
技术领域
本申请涉及路径规划技术领域,特别涉及一种路径规划方法及装置、机器人及计算机可读存储介质。
背景技术
现有的基于迪克斯特拉算法(Dijkstra)的路径规划一般会根据路径的距离,来选取最短的路径以作为规划路径,比如从A点到B点,它们之间一般只有一种最短的路径,规划结果也只有一条路径。然而,根据实际应用场景的不同,仅规划最短的路径可能并不能够在最短的时间从起点移动到终点。
发明内容
鉴于此,本申请实施方式提供了一种路径规划方法及装置、机器人及计算机可读存储介质,以使得机器人沿着规划的路径能够以最短的时间从起点移动到终点。
本申请实施方式的路径规划方法包括获取预设的地图,所述地图包括多个路径点及连接相邻两个所述路径点的路径,所述路径存在对应的路径属性,所述路径属性包括前进路径、后退路径和横移路径中至少一种;根据所述路径的距离及所述路径属性规划连通起始路径点到终止路径点的目标路线,所述起始路径点为任一所述路径点,所述终止路径点为所述起始路径点之外的任一所述路径点。
本申请实施方式的路径规划装置包括获取模块和规划模块。所述获取模块,用于获取预设的地图,所述地图包括多个路径点及连接相邻两个所述路径点的路径,所述路径存在对应的路径属性,所述路径属性包括前进路径、后退路径和横移路径中至少一种;所述规划模块,用于根据所述路径的距离及所述路径属性规划连通起始路径点到终止路径点的目标路线,所述起始路径点为任一所述路径点,所述终止路径点为所述起始路径点之外的任一所述路径点。
本申请实施方式的机器人包括处理器,所述处理器用于执行路径规划方法。所述路径规划方法包括获取预设的地图,所述地图包括多个路径点及连接相邻两个所述路径点的路径,所述路径存在对应的路径属性,所述路径属性包括前进路径、后退路径和横移路径中至少一种;根据所述路径的距离及所述路径属性规划连通起始路径点到终止路径点的目标路线,所述起始路径点为任一所述路径点,所述终止路径点为所述起始路径点之外的任一所述路径点。
本申请实施方式提供一种计算机可读存储介质,其上存储有计算机程序。该计算机程序被处理器执行时实现路径规划方法。路径规划方法包括获取预设的地图,所述地图包括多个路径点及连接相邻两个所述路径点的路径,所述路径存在对应的路径属性,所述路径属性包括前进路径、后退路径和横移路径中至少一种;根据所述路径的距离及所述路径属性规划连通起始路径点到终止路径点的目标路线,所述起始路径点为任一所述路径点,所述终止路径点为所述起始路径点之外的任一所述路径点。
本申请的路径规划方法及装置、机器人及计算机可读存储介质,通过获取预设的地图中的路径点以及连接相邻两个路径点的路径,并确定每个路径的路径属性,在进行起始路径点到终止路径点的路径规划时,不仅考虑了路径的距离,而且考虑了能够确定机器人在路径上移动时的移动模式的路径属性,从而使得机器人沿规划出的目标路线移动时,尽可能适配每条路径的移动模式进行移动,减少姿态调整所需的时间,从而能够以尽可能短的时间到达终止路径点。
本申请实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点可以从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本申请某些实施方式的路径规划方法的流程示意图;
图2是本申请某些实施方式的路径规划方法的场景示意图;
图3是本申请某些实施方式的路径规划方法的流程示意图;
图4是本申请某些实施方式的路径规划方法的流程示意图;
图5是本申请某些实施方式的路径规划方法的流程示意图;
图6是本申请某些实施方式的路径规划装置的模块示意图;
图7是本申请某些实施方式的机器人的平面示意图;及
图8是本申请某些实施方式的计算机可读存储介质与处理器的交互示意图。
具体实施方式
下面详细描述本申请的实施方式,实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请的实施方式,而不能理解为对本申请的实施方式的限制。
下面首先对本申请出现的名词进行解释:
迪克斯特拉算法(Dijkstra):是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。
自动导引运输车(Automated Guided Vehicle,AGV):指装备有电磁或光学等自动导航装置,能够沿规定的导航路径行驶,具有安全保护以及各种移载功能的运输车。工业应用中不需要驾驶员的搬运车,以可充电的蓄电池为其动力来源。一般可通过电脑来控制其行进路径以及行为,或利用电磁轨道来设立其行进路径,电磁轨道黏贴于地板上,无人搬运车则依靠电磁轨道所带来的讯息进行移动与动作。
请参阅图1,本申请实施方式的路径规划方法包括:
步骤011:获取预设的地图,地图包括多个路径点及连接相邻两个路径点的路径,路径存在对应的路径属性,所述路径属性包括前进路径、后退路径和横移路径中至少一种。
具体地,为了准确地的进行路径规划,对于进行路径规划的场景,需要先获取该场景的地图,地图中的路径点和连接相邻两个路径点的路径可提前标注,通过建立场景的高精度地图,可以提高路径规划的准确性。
可以理解,对于地图中的一些路径而言,由于路径的宽度限制、或者路径周围固定的物体的阻碍,导致路径可能并不能够支持所有移动模式,如以AGV小车在仓库区域移动,以运输货物为例,AGV的移动模式可以包括前进、后退和横移等,但地图中特定的路径宽度太窄导致无法横移,或者路径的终点为卸货位置,需要AGV小车沿路径前进移动,才能够将货物运输到卸货位置并与卸货位置正对,此时路径无法进行横移及后退,因此,在建立地图时,根据实际场景和使用需求的情况,可设定每个路径的路径属性,确定每个路径能够支持的移动模式。例如,路径属性包括前进路径、后退路径和横移路径,分别对应移动模式中的前进、后退和横移。如此,有利于后续进行路径规划。
如图2所示,地图的路径点包括1至7,如路径点1和路径点2之间的路径能够前进和后退,路径点1和路径点2之间的路径的路径属性包括前进路径和后退路径,为方便路径规划,路径点1和路径点2之间虽然只有一条实际的路径,但该路径可以是不同路径属性的路径,如路径点1和路径点2之间的路径包括路径属性为前进路径的路径S11和路径属性为后退路径的路径S12。
步骤012:根据路径的距离及路径属性规划连通起始路径点到终止路径点的目标路线,起始路径点为任一路径点,终止路径点为起始路径点之外的任一路径点。
具体地,在获取到地图后,即可确定地图中的路径点、路径、以及路径的路径属性。在进行路径规划时,根据连通起始路径点和终止路径点的多条路径的距离以及路径属性,来规划目标路线,使得机器人沿目标路线移动的情况下,尽可能在保证移动距离最短的情况下,以适配每条路径的路径属性的移动模式进行移动,减少姿态调整所需的时间,从而能够以尽可能短的时间到达终止路径点。
本申请的路径规划方法通过获取预设的地图中的路径点以及连接相邻两个路径点的路径,并确定每个路径的路径属性,在进行起始路径点到终止路径点的路径规划时,不仅考虑了路径的距离,而且考虑了能够确定机器人在路径上移动时的移动模式的路径属性,从而使得机器人沿规划出的目标路线移动时,尽可能在保证移动距离最短的情况下,以适配每条路径的路径属性的移动模式进行移动,减少姿态调整所需的时间,从而能够以尽可能短的时间到达终止路径点。
请参阅图3,可选地,步骤012:根据路径的距离及路径属性规划连通起始路径点到终止路径点的目标路线,可包括:
步骤0121:根据路径的距离及路径属性获取连通起始路径点和起始路径点之外的任一路径点的已保存路线;
步骤0122:根据机器人的当前姿态信息和终止路径点对应的已保存路线的损失值,确定目标路线。
具体地,在进行路径规划(如第一次路径规划)时,可将地图中任意两个路径点之间的可选路线全都规划出来,可选路径不仅会考虑路径的距离最短,而且会考虑路线中的路径属性,确定由相同路径属性的路径组成的可选路线以及由不同路径属性的路径组成的可选路线,从而得到多条可选路线,以适应不同的使用场景,保证不同使用场景下能够从可选路线中找到最优的目标路线。
然后,可预先保存连通任意两个路径点的已保存路线,使得起始路径点和终止路径点可分别为任意两个互不相同的路径点,从而使得后续规划任意的起始路径点和终止路径点之间的目标路线时,能够直接获取到连通起始路径点和终止路径点的已保存路线,从而方便快速地确定目标路线。如此,可得到地图中连通任意两个路径点的已保存路线。
或者,对应特定场景,起始路径点一般是固定的,如仓库场景要进行入库的情况下,一般只有一个入口以作为起始路径点;此时只需要规划该起始路径点到起始路径点之外的其他路径点之间的可选路线,并保存为连通起始路径点到起始路径点之外的其他路径点的已保存路线即可。
在确定连通地图中任意两个路径点的已保存路线之后,即可根据当前进行路径规划的起始路径点,获取连通当前的起始路径点和当前的起始路径点之外的任一路径点的多条已保存路线。再根据当前进行路径规划的终止路径点,确定连通当前的起始路径点和终止路径点的已保存路线。
最后,结合机器人的当前姿态信息,来从连通当前的起始路径点和终止路径点的已保存路线中,选取最终的目标路线。
选取时可首先选取与机器人的当前姿态信息匹配的一条或多条已保存路线,使得机器人无需进行姿态调整,即可沿着选取的已保存路线移动,如根据机器人的当前姿态信息,选取第一段路径与机器人的前侧相对且路径属性为前进的已保存路线、选取第一段路径与机器人后侧相对且路径属性为后退的已保存路线、选取第一段路径与机器人左侧相对且路径属性为横移的已保存路线、及选取第一段路径与机器人右侧相对且路径属性为横移的已保存路线。其中,在机器人以前进模式移动时,机器人后侧和前侧沿移动方向依次分布,机器人的左侧和右侧则沿垂直移动方向分布。
在保证机器人的姿态调整花费时间最短的前提下,可计算选取的已保存路线的损失值,如根据已保存路线包含的所有路径的距离之和作为已保存路线的损失值,从而选取损失值最小的已保存路线作为最终的目标路线,使得目标路线不仅可保证机器人的姿态调整花费时间较少,而且目标路线的距离也较短,能够取得机器人的姿态调整时间最少和目标路线的路径最短之间的平衡,使得机器人以最快的速度从起始路径点移动到终止路径点,提高运输效率。
请参阅图2和4,步骤0121:根据路径的距离及路径属性获取连通起始路径点和起始路径点之外的任一路径点的已保存路线,包括:
步骤01211:将起始路径点加入预设的第一列表,起始路径点的父节点为空;
步骤01212:在当前遍历节点为起始路径点的情况下,确定起始路径点的损失值为0及起始路径点的已保存路径为空,路径点的损失值根据路径点到起始路径点的最短距离确定;
步骤01213:将第一列表中损失值最小的路径点作为当前父节点并加入预设的第二列表;
步骤01214:将与当前父节点临近可连通且不在第一列表和第二列表中的路径点新增到第一列表,并将当前父节点的子节点作为当前遍历节点依次进行遍历,当前父节点的子节点为第一列表中与当前父节点临近可连通的路径点;
步骤01215:在当前遍历节点不为起始路径点的情况下,根据当前父节点的损失值更新当前遍历节点的损失值;
步骤01216:获取连通起始路径点和当前遍历节点的待保存路线;
步骤01217:根据待保存路线的路线类型确定连通起始路径点和当前遍历节点已保存路线,路线类型包括单一路径类型和混合路径类型,单一路径类型的待保存路线包含的所有路径的路径属性均相同,混合路径类型的待保存路线包含不同路径属性的路径;
步骤01218:在第二列表中未包含所有路径点的情况下,再次进入将第一列表中损失值最小的路径点作为当前父节点并加入预设的第二列表的步骤;
具体地,在获取连通起始路径点和起始路径点之外的任一路径点的已保存路线时,可首先定义第一列表和第二列表,第一列表存放需要遍历的路径点,第二列表用于存放已遍历完成的路径点。
然后,最开始会将起始遍历点加入到第一列表进行遍历,在当前遍历节点为起始路径点的情况下,由于此时的路线仅包括起始路径点,而路径点的损失值根据路径点到起始路径点的最短距离确定,因此,起始路径点的损失值为0,且单独的起始路径点是不存在已保存路线,即起始路径点的已保存路径为空。
在起始路径点遍历完成后,可将起始路径点作为后续进行遍历的路径点的当前父节点,加入到第二列表中。再然后,将与当前父节点临近可连通且不在第一列表和第二列表中的路径点新增到第一列表,一般地,起始路径点是存在临近可连通的路径点的,不然路径规划是没有意义的。可以理解,当前父节点临近可连通路径点若在第一列表,则不需要新增到第一列表,而当前父节点临近可连通路径点若在第二列表,说明已遍历完成,也不需要新增到第一列表。
其中,两个路径点临近可连通表示该两个路径点之间仅存在一条路径,即临近可连通的两个路径点为一条路径的两个端点。
此时,将当前父节点的子节点作为当前遍历节点依次进行遍历,当前父节点的子节点为第一列表中与当前父节点临近可连通的路径点。
在当前遍历节点不为起始路径点的情况下,根据当前父节点的损失值更新当前遍历节点的损失值。
在当前遍历节点为第一列表新增的路径点(即当前遍历节点在第二列表仅存在一个父节点)的情况下,说明当前遍历节点并未被遍历过,未保存损失值,此时根据当前父节点的损失值、和连通当前父节点和当前遍历节点的路径的距离计算当前遍历节点的损失值并保存即可。如图2所示,起始路径点为1,当前父节点为2,当前遍历节点为4,则当前遍历节点4的损失值根据当前父节点2的损失值(10米)、和连通当前父节点2与当前遍历节点4的路径的距离(10米)确定,即10+10=20米。
可以理解,一个路径点可能同时存在多个父节点,每个父节点作为当前父节点时,都需要将该当前父节点的子节点进行遍历,如图2所示的路径点4存在父节点2和父节点3。对于之前已进行遍历的子节点,已存在对应的损失值,此时根据当前父节点重新进行遍历同一子节点时,能够得到新的损失值,需要根据当前父节点的损失值来更新当前遍历节点的损失值,以保证子节点保存的损失值始终最小,保证能够得到最短路径,且有利于后续选取第一列表中损失值最小的路径点的准确性。
因此,在当前遍历节点不为第一列表新增的路径点(即当前遍历节点在第二列表存在多个父节点)的情况下,说明当前遍历节点已被遍历过,保存有损失值,此时可首先根据当前父节点的损失值、和连通当前父节点和当前遍历节点的路径的距离,计算待保存损失值;然后,比较待保存损失值和当前遍历节点的已保存损失值中的大小,以将待保存损失值和当前遍历节点的已保存损失值的较小者,保存为当前遍历节点的损失值。如图2所示,当前父节点为3,当前遍历节点为4,则待保存损失值根据当前父节点3的损失值(12米)、和连通当前父节点与当前遍历节点的路径的距离(10米)确定,即12+10=22米;当前遍历节点4的已保存损失值为20米,因此,最终保存的待保存损失值和当前遍历节点4的已保存损失值的较小者(即20米)作为当前遍历节点4的损失值。
在遍历当前遍历节点(如当前遍历节点为当前父节点的任一子节点)时,不仅会更新当前遍历节点的损失值,还会获取连通起始路径点和当前遍历节点的待保存路线;
其中,在当前父节点为起始路径点的情况下,当前遍历节点通过一条路径与起始路径点连通,起始路径点是不存在已保存路线的,此时获取连通起始路径点和当前遍历节点的路径作为待保存路线即可,不同的路径属性可形成不同的待保存路线。如路径的路径属性包括前进和后退,则可获取路径属性为前进的待保存路线和路径属性为后退的待保存路线。
在当前父节点不是起始路径点而是已遍历的一个路径点的情况下,父节点在遍历完成的时候,已经保存了已保存路线,则可根据当前父节点的已保存路线和连通当前遍历节点和当前父节点的路径来获取连通起始路径点和当前遍历节点的待保存路线,如在当前父节点的已保存路线的基础上连接不同路径属性的路径,以生成连通起始路径点和当前遍历节点的待保存路线。
同样地,当前遍历节点存在多个父节点的情况下,当前遍历节点会被遍历多次,从而每次遍历均会得到对应的当前父节点下的待保存路线,在获取待保存路线时,若当前遍历节点未保存对应已保存路线的情况下,说明当前遍历节点为第一次遍历,此时可直接根据连通当前父节点与当前遍历节点的所有不同路径属性的路径、和当前父节点对应的已保存路线,确定待保存路线。请参阅图2,如当前父节点为2,当前遍历节点为4,则待保存路线根据当前父节点2的已保存路线S11和S12、和连通当前父节点2与当前遍历节点4的所有不同路径属性的路径S31和S32确定,即S11+S31、S11+S32、S12+S31和S12+S32共4条待保存路径。
若当前遍历节点已保存对应已保存路线的情况下,说明当前遍历节点不再是第一次遍历,此时可根据连通当前父节点与当前遍历节点的所有不同路径属性的路径、和当前父节点对应的已保存路线、及当前遍历节点对应的已保存路线,确定待保存路线。请参阅图2,如当前父节点为3,当前遍历节点为4,首先根据当前父节点3的已保存路线S21和S22、和连通当前父节点3与当前遍历节点4的所有不同路径属性的路径S41和S42确定当前父节点3对应的待保存路线,即S21+S41、S21+S42、S22+S41和S22+S42共4条待保存路径。然后,根据当前父节点3对应的待保存路线和当前遍历节点对应的已保存路线,即可得到当前遍历节点4当前所有的待保存路线,即S11+S31、S11+S32、S12+S31、S12+S32、S21+S41、S21+S42、S22+S41和S22+S42共8条待保存路径。
之后,根据待保存路线的路线类型确定连通起始路径点和当前遍历节点的已保存路线,其中,路线类型包括单一路径类型和混合路径类型,单一路径类型的待保存路线包含的所有路径的路径属性均相同,混合路径类型的待保存路线包含不同路径属性的路径;
对于不同的路线类型的待保存路线,使用不同的筛选规则来选取已保存路线:
如对于单一路径类型的待保存路线而言,由于每个路径的路径属性相同,基本不需要进行机器人的姿态调整,此时只需要计算得到每条待保存路线的损失值,如将待保存路线包含的所有路径的距离之和作为每条待保存路线的损失值,然后选取包含了相同的路径属性的路径的一条或多条待保存路线中,损失值最小的待保存路线,以保存为连通起始路径点和当前遍历节点的已保存路线即可。请参阅图2,S11+S31、S12+S32、S21+S41和S22+S42均为单一路径类型的待保存路线,其中,S11+S31和S21+S41的每条路径的路径属性均为前进路径,S12+S32、S22+S42的每条路径的路径属性均为后退路径,S11+S31和S21+S41中,S11+S31的损失值为20,S21+S41的损失值为22,S11+S31的损失值更小;S12+S32和S22+S42中,S12+S32的损失值为20,S22+S42的损失值为22,S12+S32的损失值更小;因此,连通起始路径点1和当前遍历节点4的单一路径类型的已保存路径为S11+S31和S12+S32。
而对于混合路径类型的待保存路线而言,基本不同的待保存路线均是不同的,进行姿态调整的时间消耗也是基本不同的,因此,可直接将待保存路线保存为连通起始路径点和当前遍历节点的已保存路线。如图2所示,S11+S32、S12+S31、S21+S42和S22+S41均为混合路径类型的待保存路线,S11+S32、S12+S31、S21+S42和S22+S41均保存为连通起始路径点1和当前遍历节点4的混合路径类型的已保存路线。
如此,即可得到连通当前遍历节点和起始路径点的不同路线类型的所有已保存路线,以提供给机器人后续选择最优的已保存路线作为目标路线,以适应不同的使用场景。如机器人仅支持前进的移动模式的情况下,则仅能够选取单一路径类型中,路径的路径属性均为前进路径的已保存路线,以作为目标路线(如S11+S31)。再如机器人支持前进和后退的移动模式的情况下,此时可选择单一路径类型的已保存路线中,路径的路径属性均为前进路径的已保存路线(如S11+S31)、选择单一路径类型的已保存路线中,路径的路径属性均为后退路径的已保存路线(如S12+S32)、以及选择混合路径类型的已保存路线(如S11+S32、S12+S31、S21+S42和S22+S41),然后从以上可选择路线中,选取出最终的目标路线,如机器人可根据机器人的当前姿态信息进行选择姿态调整所花费的时间最少的可选择路线以作为目标路线,从而使得机器人沿目标路线移动时,能够取得姿态调整时间最少和路径最短之间的平衡,使得机器人以最快的速度从起始路径点移动到终止路径点。
在确定了当前遍历节点对应的已保存路线之后,当前遍历节点即视为已遍历完成,此时将当前遍历节点作为父节点加入到第二列表中,并且在第二列表中未包含所有路径点的情况下,再次将与当前遍历节点临近可连通且不在第一列表中的路径点加入到第一列表,以继续进行遍历。
在确定连通起始路径点和每个当前父节点的所有子节点的已保存路线且第二列表中未包含所有路径点的情况下,再次将第一列表中损失值最小的路径点作为当前父节点并加入第二列表(即再次进入步骤01213);也即是说,在遍历完当前父节点的所有子节点之后,若第二列表中未包含所有路径点(即所有路径点仍未全部遍历完成),则需要循环执行步骤01213至步骤01217,直至第二列表中包含所有路径点(即所有路径点全部遍历完成),此时第一列表不再有路径点,第一列表的路径点均作为已遍历的父节点加入到了第二列表,此时即可确定得到了连通起始路径点和起始路径点之外的任一路径点的已保存路线。
请参阅图5,在某些实施方式中,步骤0122:根据机器人的当前姿态信息和终止路径点对应的已保存路线的损失值,确定目标路线,包括:
步骤01221:根据机器人的当前姿态信息确定目标路径属性;及
步骤01222:确定连通起始路径点和终止路径点的已保存路线中,与目标路径属性对应且损失值最小的已保存路线为目标路线。
具体地,在确定连通起始路径点和起始路径点之外的任一路径点的已保存路线后,即可获取到连通起始路径点和终止路径点的一条或多条已保存路线,然后基于一条或多条已保存路线以及机器人的当前姿态信息,确定目标路线。
选取目标路线时可首先根据机器人的当前姿态信息确定目标路径属性,如根据机器人的当前姿态信息确定起始路径点对应的路径(如路径S11、S12、S21以及S22中的S21和S22)与机器人的前侧相对,则可确定目标路径属性为前进路径,即机器人在该路径以前进模式移动,无需调整姿态;根据机器人的当前姿态信息确定起始路径点对应的路径与机器人的后侧相对,则可确定目标路径属性为后退路径,即机器人在该路径以后退模式移动,无需调整姿态。如此,根据机器人的当前姿态信息和目标路径属性,即可选择与机器人的当前姿态信息匹配且连通起始路径点和终止路径点的一条或多条已保存路线。如选择包含路径S21的一条或多条已保存路线。
机器人还存在预设移动模式,预设移动模式包括前进、后退和横移中至少一种。也即是说,机器人可能仅能够前进移动、或者仅能够后退移动、或者仅能够横移移动、或者仅能够前进移动和后退移动、或者仅能够前进移动和横移移动、或者能够前进移动、后退移动和横移移动。因此,根据机器人的预设移动模式和当前姿态信息,可共同确定与当前姿态匹配且与机器人支持的移动模式匹配的目标路径属性。如机器人的前侧和后侧均存在正对的路径,但机器人仅能够前进移动,则机器人的目标路径属性为前进路径。
然后,在保证机器人的姿态调整花费时间最短的前提下,可计算选取的已保存路线的损失值,如根据已保存路线包含的所有路径的距离之和作为已保存路线的损失值,从而选取损失值最小的已保存路线作为最终的目标路线,使得目标路线不仅可保证机器人的姿态调整花费时间较少,而且目标路线的距离也较短,取得机器人的姿态调整时间最少和目标路线的路径最短之间的平衡,使得机器人以最快的速度从起始路径点移动到终止路径点,提高运输效率。如起始路径点为1,终止路径点为4,连通起始路径点和终止路径点的一条或多条已保存路线中,包含路径S21的已保存路线包括S21+S41(单一路径类型)、S21+S42(混合路径类型),此时目标路线可以是S21+S41或S21+S42。
进一步地,由于地图中的相邻路径之间的角度已确定,在机器人进入已保存路线的第一段路径之后,到达每一个路径点时的姿态均能够被计算得到,因此,在选取目标路线时,不仅需要选取第一段路径与机器人的当前姿态信息匹配,还需要后续尽量每一段路径均与机器人移动到该路径前时的姿态匹配(即机器人不需要调整姿态即可移动进入路径或者姿态调整的角度较小(如偏航角小于10度)),从而选取出机器人的姿态调整所花费的时间最短的一条或多条已保存路线。如图2所示,在机器人前进移动到路径点3后,路径S41和路径S42与机器人的移动方向(即路径S21)的夹角为锐角,此时机器人调整姿态以使得机器人的后退方向调整到平行路径S42所需的调整时间,小于机器人调整姿态以使得机器人的前进方向平行路径S41所需的调整时间,因此,机器人以后退模式沿着路径S42移动时,进行姿态调整的时间更短,目标路线即为S21+S42。
为便于更好的实施本申请实施方式的路径规划方法,本申请实施方式还提供一种路径规划装置10。请参阅图6,该路径规划装置10可以包括:
获取模块11,获取预设的地图,地图包括多个路径点及连接相邻两个路径点的路径,路径存在对应的路径属性,路径属性包括前进路径、后退路径和横移路径中至少一种;
规划模块12,用于根据路径的距离及路径属性规划连通起始路径点到终止路径点的目标路线,起始路径点为任一路径点,终止路径点为起始路径点之外的任一路径点。
规划模块12具体用于根据路径的距离及路径属性获取连通起始路径点和起始路径点之外的任一路径点的已保存路线;根据机器人的当前姿态信息和终止路径点对应的已保存路线的损失值,确定目标路线。
规划模块12具体还用于将起始路径点加入预设的第一列表,起始路径点的父节点为空;在当前遍历节点为起始路径点的情况下,确定起始路径点的损失值为0及起始路径点的已保存路径为空,路径点的损失值根据路径点到起始路径点的最短距离确定;将第一列表中损失值最小的路径点作为当前父节点并加入预设的第二列表;将与当前父节点临近可连通且不在第一列表和第二列表中的路径点新增到第一列表,并将当前父节点的子节点作为当前遍历节点依次进行遍历,当前父节点的子节点为第一列表中与当前父节点临近可连通的路径点;在当前遍历节点不为起始路径点的情况下,根据当前父节点的损失值更新当前遍历节点的损失值;获取连通起始路径点和当前遍历节点的待保存路线;根据待保存路线的路线类型确定连通起始路径点和当前遍历节点已保存路线,路线类型包括单一路径类型和混合路径类型,单一路径类型的待保存路线包含的所有路径的路径属性均相同,混合路径类型的待保存路线包含不同路径属性的路径;在确定连通起始路径点和每个当前父节点的所有子节点的已保存路线且第二列表中未包含所有路径点的情况下,再次将第一列表中损失值最小的路径点作为当前父节点并加入第二列表。
规划模块12具体还用于在当前遍历节点为第一列表新增的路径点的情况下,根据当前父节点的损失值、和连通当前父节点和当前遍历节点的路径的距离更新当前遍历节点的损失值;在当前遍历节点不为第一列表新增的路径点的情况下,根据当前父节点的损失值、和连通当前父节点和当前遍历节点的路径的距离,计算待保存损失值;保存待保存损失值和当前遍历节点的已保存损失值中的较小者,以作为当前遍历节点的损失值。
规划模块12具体还用于在当前遍历节点未保存对应已保存路线的情况下,根据连通当前父节点与当前遍历节点的所有不同路径属性的路径、和当前父节点对应的已保存路线,确定待保存路线;在当前遍历节点已保存对应已保存路线的情况下,根据连通当前父节点与当前遍历节点的所有不同路径属性的路径、和当前父节点对应的已保存路线、及当前遍历节点对应的的已保存路线,确定待保存路线;在待保存路线的路线类型为单一路径类型的情况下,保存路径属性相同的的待保存路线中,损失值最小的待保存路线为连通起始路径点和当前遍历节点的已保存路线,其中,待保存路线的损失值根据待保存路线包含的所有路径的距离确定;在待保存路线的路线类型为混合路径类型的情况下,保存待保存路线为连通起始路径点和当前遍历节点的已保存路线。
规划模块12具体还用于根据机器人的当前姿态信息确定目标路径属性;及确定连通起始路径点和终止路径点的已保存路线中,与目标路径属性对应且损失值最小的已保存路线为目标路线。
规划模块12具体还用于根据机器人的当前姿态信息和预设移动模式,确定目标路径属性,预设移动模式包括前进、后退和横移中至少一种。
上述路径规划装置10中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各个模块可以以硬件形式内嵌于或独立于计算机设备中的处理器20中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器20调用执行上述各个模块对应的操作。
请参阅图7,本申请实施方式的机器人100包括处理器20。处理器20用于执行上述任意一种实施方式的路径规划方法,为了简洁,在此不再赘述。
其中,机器人100可以是AGV、夹抱车、牵引车、堆高机、正面吊、仓储机器人等具有移动能力的设备。
请参阅图8,本申请实施方式还提供了一种计算机可读存储介质300,其上存储有计算机程序310,计算机程序310被处理器20执行的情况下,实现上述任意一种实施方式的路径规划方法的步骤,为了简洁,在此不再赘述。
可以理解,计算机程序310包括计算机程序代码。计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以是非易失性计算机可读存储介质如能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、以及软件分发介质等。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施方式或示例以及不同实施方式或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施方式所属技术领域的技术人员所理解。
尽管上面已经示出和描述了本申请的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。
Claims (10)
1.一种路径规划方法,其特征在于,包括:
获取预设的地图,所述地图包括多个路径点及连接相邻两个所述路径点的路径,所述路径存在对应的路径属性,所述路径属性包括前进路径、后退路径和横移路径中至少一种;
根据所述路径的距离及所述路径属性规划连通起始路径点到终止路径点的目标路线,所述起始路径点为任一所述路径点,所述终止路径点为所述起始路径点之外的任一所述路径点。
2.根据权利要求1所述的路径规划方法,其特征在于,所述根据所述路径的距离及所述路径属性规划连通起始路径点到终止路径点的目标路线,包括:
根据所述路径的距离及所述路径属性获取连通所述起始路径点和所述起始路径点之外的任一所述路径点的已保存路线;
根据机器人的当前姿态信息和所述终止路径点对应的所述已保存路线的损失值,确定所述目标路线。
3.根据权利要求2所述的路径规划方法,其特征在于,所述根据所述路径的距离及所述路径属性获取连通所述起始路径点和所述起始路径点之外的任一所述路径点的已保存路线,包括:
将所述起始路径点加入预设的第一列表,所述起始路径点的父节点为空;
在所述当前遍历节点为所述起始路径点的情况下,确定所述起始路径点的损失值为0及所述起始路径点的已保存路径为空,所述路径点的损失值根据所述路径点到所述起始路径点的最短距离确定;
将所述第一列表中损失值最小的所述路径点作为当前父节点并加入预设的第二列表;
将与所述当前父节点临近可连通且不在所述第一列表和所述第二列表中的所述路径点新增到所述第一列表,并将所述当前父节点的子节点作为所述当前遍历节点依次进行遍历,所述当前父节点的子节点为所述第一列表中与所述当前父节点临近可连通的所述路径点;
在所述当前遍历节点不为所述起始路径点的情况下,根据所述当前父节点的损失值更新所述当前遍历节点的损失值;
获取连通所述起始路径点和所述当前遍历节点的待保存路线;
根据所述待保存路线的路线类型确定连通所述起始路径点和所述当前遍历节点所述已保存路线,所述路线类型包括单一路径类型和混合路径类型,所述单一路径类型的所述待保存路线包含的所有所述路径的所述路径属性均相同,所述混合路径类型的所述待保存路线包含不同所述路径属性的所述路径;
在所述第二列表中未包含所有所述路径点的情况下,再次进入所述将所述第一列表中损失值最小的所述路径点作为当前父节点并加入预设的第二列表的步骤。
4.根据权利要求3所述的路径规划方法,其特征在于,所述根据所述当前父节点的损失值更新所述当前遍历节点的损失值,包括:
在所述当前遍历节点为所述第一列表新增的所述路径点的情况下,根据所述当前父节点的损失值、和连通所述当前父节点和所述当前遍历节点的所述路径的距离更新所述当前遍历节点的损失值;
在所述当前遍历节点不为所述第一列表新增的所述路径点的情况下,根据所述当前父节点的损失值、和连通所述当前父节点和所述当前遍历节点的所述路径的距离,计算待保存损失值;
保存所述待保存损失值和所述当前遍历节点的已保存损失值中的较小者,以作为所述当前遍历节点的损失值。
5.根据权利要求3所述的路径规划方法,其特征在于,所述获取连通所述起始路径点和所述当前遍历节点的待保存路线,包括:
在所述当前遍历节点未保存对应所述已保存路线的情况下,根据连通所述当前父节点与所述当前遍历节点的所有不同所述路径属性的所述路径、和所述当前父节点对应的所述已保存路线,确定所述待保存路线;
在所述当前遍历节点已保存对应所述已保存路线的情况下,根据连通所述当前父节点与所述当前遍历节点的所有不同所述路径属性的所述路径、和所述当前父节点对应的所述已保存路线、及所述当前遍历节点对应的的所述已保存路线,确定所述待保存路线;
所述根据所述待保存路线的路线类型确定连通所述起始路径点和所述当前遍历节点所述已保存路线,包括:
在所述待保存路线的所述路线类型为所述单一路径类型的情况下,保存路径属性相同的的所述待保存路线中,损失值最小的所述待保存路线为连通所述起始路径点和所述当前遍历节点的所述已保存路线,其中,所述待保存路线的损失值根据所述待保存路线包含的所有所述路径的距离确定;
在所述待保存路线的所述路线类型为所述混合路径类型的情况下,保存所述待保存路线为连通所述起始路径点和所述当前遍历节点的所述已保存路线。
6.根据权利要求2所述的路径规划方法,其特征在于,所述根据机器人的当前姿态信息和所述终止路径点对应的所述已保存路线的损失值,确定所述目标路线,包括:
根据所述机器人的当前姿态信息确定目标路径属性;及
确定连通所述起始路径点和所述终止路径点的所述已保存路线中,与所述目标路径属性对应且损失值最小的所述已保存路线为所述目标路线。
7.根据权利要求6所述的路径规划方法,其特征在于,所述根据所述机器人的当前姿态信息确定目标路径属性,包括:
根据所述机器人的当前姿态信息和预设移动模式,确定目标路径属性,所述预设移动模式包括前进、后退和横移中至少一种。
8.一种路径规划装置,其特征在于,包括:
获取模块,用于获取预设的地图,所述地图包括多个路径点及连接相邻两个所述路径点的路径,所述路径存在对应的路径属性,所述路径属性包括前进路径、后退路径和横移路径中至少一种;
规划模块,用于根据所述路径的距离及所述路径属性规划连通起始路径点到终止路径点的目标路线,所述起始路径点为任一所述路径点,所述终止路径点为所述起始路径点之外的任一所述路径点。
9.一种机器人,其特征在于,包括处理器,所述处理器用于执行权利要求1-7任意一项所述的路径规划方法。
10.一种计算机可读存储介质,其特征在于,包含计算机程序,当所述计算机程序被一个或多个处理器执行时,实现执行权利要求1-7任意一项所述的路径规划方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210943151.5A CN115202364A (zh) | 2022-08-08 | 2022-08-08 | 路径规划方法及装置、机器人及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210943151.5A CN115202364A (zh) | 2022-08-08 | 2022-08-08 | 路径规划方法及装置、机器人及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115202364A true CN115202364A (zh) | 2022-10-18 |
Family
ID=83586359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210943151.5A Pending CN115202364A (zh) | 2022-08-08 | 2022-08-08 | 路径规划方法及装置、机器人及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115202364A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382305A (zh) * | 2023-06-02 | 2023-07-04 | 陕西欧卡电子智能科技有限公司 | 无人船的曲线倒库方法、系统、计算机设备及存储介质 |
-
2022
- 2022-08-08 CN CN202210943151.5A patent/CN115202364A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382305A (zh) * | 2023-06-02 | 2023-07-04 | 陕西欧卡电子智能科技有限公司 | 无人船的曲线倒库方法、系统、计算机设备及存储介质 |
CN116382305B (zh) * | 2023-06-02 | 2023-08-08 | 陕西欧卡电子智能科技有限公司 | 无人船的曲线倒库方法、系统、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111026133A (zh) | 路径规划方法及车辆、计算机可读介质 | |
CN111026128A (zh) | 一种多激光agv的避让方法 | |
CN115328156A (zh) | 路径规划方法及装置、机器人及计算机可读存储介质 | |
CN115202364A (zh) | 路径规划方法及装置、机器人及计算机可读存储介质 | |
CN112445218A (zh) | 机器人路径规划方法、装置、服务器、存储介质及机器人 | |
CN115129068A (zh) | 一种基于agv叉车的智能定位导航系统 | |
CN117804474A (zh) | 全局路径规划方法、电子设备和存储介质 | |
CN115116220B (zh) | 一种用于矿区装卸场景的无人驾驶多车协同控制方法 | |
CN111679677A (zh) | Agv的位姿调整方法、装置、存储介质、电子装置 | |
Zhang et al. | A robust reference path selection method for path planning algorithm | |
AU2021241931B2 (en) | Autonomous travel system | |
CN114347982A (zh) | 用于自动泊车的路径规划方法以及系统 | |
CN117308945B (zh) | 基于准确交通管控的无人天车动态路径规划方法及系统 | |
CN115326095A (zh) | 路径规划方法及装置、机器人及计算机可读存储介质 | |
Tang et al. | A reference path guided rrt* method for the local path planning of UGVS | |
Shi et al. | An autonomous valet parking algorithm for path planning and tracking | |
CN115857482A (zh) | 基于关键点的死锁预防方法以及小车控制系统 | |
CN113867357B (zh) | 一种工业车辆的低时延路径规划算法 | |
CN112578782A (zh) | 自动导引运输车任务路径规划方法及装置 | |
CN115480567A (zh) | 路径规划方法及装置、机器人及计算机可读存储介质 | |
CN116909240B (zh) | Agv小车的装卸车动态路径规划方法、系统及相关介质 | |
CN114489066B (zh) | 一种载具控制方法及其系统、电子设备、存储介质 | |
WO2022145142A1 (ja) | 荷役車両システム | |
CN117647969A (zh) | 无人运输设备的作业位置引导装置 | |
WO2022009579A1 (ja) | 情報処理装置と情報処理方法およびプログラム |
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 |