CN110221600B - 路径规划方法、装置、计算机设备和存储介质 - Google Patents
路径规划方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110221600B CN110221600B CN201910337077.0A CN201910337077A CN110221600B CN 110221600 B CN110221600 B CN 110221600B CN 201910337077 A CN201910337077 A CN 201910337077A CN 110221600 B CN110221600 B CN 110221600B
- Authority
- CN
- China
- Prior art keywords
- path
- point
- points
- path points
- path point
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000006870 function Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 12
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 238000005516 engineering process Methods 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
- 230000002265 prevention Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 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/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
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)
- Navigation (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请涉及一种路径规划方法、装置、计算机设备和存储介质。所述方法包括:遍历地图中分布的路径点;将遍历的路径点作为第一路径点,并从地图中分布的除第一路径点之外的路径点中确定第二路径点;当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中获取第一路径点对应的待连接点;当第一路径点对应的第二路径点的数量小于或等于第一数量阈值时,将第一路径点对应的所有第二路径点作为第一路径点对应的待连接点;将每一个第一路径点分别与对应的待连接点连接,得到每一个第一路径点的至少一个路径;根据得到的路径获取目标路径。上述路径规划方法、装置、计算机设备和存储介质能够提高效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种路径规划方法、装置、计算机设备和存储介质。
背景技术
路径规划是在已知地图上进行的行动路径选择和规划的操作,包括从起点到终点之间的序列点或曲线的选择和规划等等。通过路径规划,能够有效地提前规划行动的路径。路径规划在很多领域都具有广泛的应用,如:机器人的自主无碰行动、无人机的避障突防飞行等等。
相关技术中路径规划的方法有多种,如:基于网格的路径规划技术、基于深度强化学习的路径规划算法等,现有的路径规划方法普遍存在计算花费时间长、效率不高的技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高效率的路径规划方法、装置、计算机设备和存储介质。
本发明一方面提供一种路径规划方法,所述方法包括:
遍历地图中分布的路径点;
将遍历的所述路径点作为第一路径点,并从所述地图中分布的除所述第一路径点之外的路径点中确定第二路径点,其中,所述第二路径点与第一路径点连接的直线未经过所述地图中的障碍物;
当所述第一路径点对应的第二路径点的数量大于第一数量阈值时,从所述第一路径点对应的第二路径点中获取所述第一路径点对应的待连接点;
当所述第一路径点对应的第二路径点的数量小于或等于第一数量阈值时,将所述第一路径点对应的所有第二路径点作为所述第一路径点对应的待连接点;
将每一个所述第一路径点分别与对应的待连接点连接,得到每一个所述第一路径点的至少一个路径;
根据得到的路径获取目标路径。
本发明另一方面还提供一种路径规划装置,所述装置包括:
遍历模块,用于遍历地图中分布的路径点;
第二路径点确定模块,用于将遍历的所述路径点作为第一路径点,并从所述地图中分布的除所述第一路径点之外的路径点中确定第二路径点,其中,所述第二路径点与第一路径点连接的直线未经过所述地图中的障碍物;
待连接点获取模块,用于当所述第一路径点对应的第二路径点的数量大于第一数量阈值时,从所述第一路径点对应的第二路径点中获取所述第一路径点对应的待连接点;当所述第一路径点对应的第二路径点的数量小于或等于第一数量阈值时,将所述第一路径点对应的所有第二路径点作为所述第一路径点对应的待连接点;
连接模块,用于将每一个所述第一路径点分别与对应的待连接点连接,得到每一个所述第一路径点的至少一个路径;
目标路径获取模块,用于根据得到的路径获取目标路径。
本发明又一方面还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述路径规划方法的步骤。
本发明再一方面还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述路径规划方法的步骤。
上述路径规划方法、装置、计算机设备和存储介质,当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中获取第一路径点对应的待连接点,避免了对第一路径点的所有第二路径点进行处理,只需将第一路径点与对应的待连接点进行连接得到路径,根据得到的路径获取目标路径,提高了路径规划的效率。
附图说明
图1为本发明一个实施例中路径规划方法的应用环境图;
图2为本发明一个实施例中路径规划方法的流程示意图;
图3为本发明一个实施例中地图中的路径点和障碍物的示意图;
图4为本发明一个实施例中地图中的路径点、路径和障碍物的示意图;
图5为本发明一个实施例中地图中的目标路径的示意图;
图6为本发明一个实施例中获取第一路径点对应的待连接点步骤的流程示意图;
图7为本发明另一个实施例中获取第一路径点对应的待连接点步骤的流程示意图;
图8为本发明一个实施例中获取第一路径点对应的待连接点的流程示意图;
图9为本发明一个实施例中路径规划装置的结构框图;
图10为本发明另一个实施例中路径规划装置的结构框图;
图11为本发明一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的路径规划方法,可以应用于如图1所示的应用环境中。其中,终端102与服务器104通过网络进行通信。服务器104发送地图至终端102,终端102接收地图后,遍历地图中分布的路径点;将遍历的路径点作为第一路径点,并从地图中分布的除第一路径点之外的路径点中确定第二路径点,其中,第二路径点与第一路径点连接的直线未经过地图中的障碍物;当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中获取第一路径点对应的待连接点;当第一路径点对应的第二路径点的数量小于或等于第一数量阈值时,将第一路径点对应的所有第二路径点作为第一路径点对应的待连接点;将每一个第一路径点分别与对应的待连接点连接,得到每一个第一路径点的至少一个路径;根据得到的路径获取目标路径。其中,终端102可以但不限于是各种个人计算机、智能机器人、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。另外,本发明实施例也可以不通过服务器104发送地图至终端102,可以采用除此之外的其他地图获得方式,如:终端102侧预先配置、终端102侧自建所处环境地图等等,本发明实施例不对终端102获得地图的方式进行限制。
在一个实施例中,如图2所示,提供了一种路径规划方法,包括以下步骤:
步骤202,遍历地图中分布的路径点。
遍历指的是沿着某条搜索路线,依次对图中分布的每个路径点均做一次且仅做一次访问。路径点指的是构成路径的端点。每一条路径至少存在两个路径点,即起点和终点,也可以存在多于两个的路径点,即起点和终点之间还经过其他的路径点,不限于此。
地图可以是卫星地图、仿真地图、实景地图、手绘地图等,也可以是2D地图、3D地图等,不限于此。
步骤204,将遍历的路径点作为第一路径点,并从地图中分布的除第一路径点之外的路径点中确定第二路径点,其中,第二路径点与第一路径点连接的直线未经过地图中的障碍物。
遍历地图中分布的路径点,将遍历的当前路径点作为第一路径点。将第一路径点与地图中除第一路径点之外的其他路径点进行直线连接,当其他路径点与第一路径点连接的直线未经过地图中的障碍物时,将该路径点作为第二路径点。也就是说,若某其他路径点与第一路径点连接的直线经过地图中的障碍物,则该其他路径点将不被作为该第二路径点。
其中,可以通过以下方式判断第二路径点与第一路径点连接的直线是否经过地图中的障碍物:在第二路径点与第一路径点连接的直线上获取至少一个检测点;采用检测函数判断检测点是否位于地图中的障碍物上;当存在检测点位于地图中的障碍物上时,第二路径点与第一路径点连接的直线经过地图中的障碍物;当检测点都未位于地图中的障碍物上时,第二路径点与第一路径点连接的直线未经过地图中的障碍物。
可选地,可以通过随机函数从第二路径点与第一路径点连接的直线上随机获取至少一个检测点,也可以从第二路径点与第一路径点连接的直线上等距获取检测点,还可以是其他方式从第二路径点与第一路径点连接的直线上获取至少一个检测点,不限于此。
可以理解的是,当从第二路径点与第一路径点连接的直线上获取的检测点的数量越多时,则检测的准确性越高,当从第二路径点与第一路径点连接的直线上获取的检测点的数量越少时,则检测的准确性越低。从第二路径点与第一路径点连接的直线上获取的检测点的数量可以根据实际情况进行设定,不限于此。
终端102可以预先获取地图中的障碍物所处的坐标范围,当获取检测点的坐标时,采用检测函数判断检测点的坐标是否位于障碍物所处的坐标范围内。当检测点的坐标位于障碍物所处的坐标范围内时,即存在检测点位于地图中的障碍物上,则第二路径点与第一路径点连接的直线经过地图中的障碍物。当检测点的坐标位于障碍物所处的坐标范围外时,即检测点未位于地图中的障碍物上。当所有的检测点的坐标都位于障碍物所处的坐标范围外时,即检测点都未位于地图中的障碍物上时,第二路径点与第一路径点连接的直线未经过地图中的障碍物。
在一个实施例中,地图中的障碍物可以用颜色进行标记,如黑色。如图3所示,302指的是障碍物,黑色圆点表示路径点。
步骤206,当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中获取第一路径点对应的待连接点。
待连接点指的是用于与第一路径点连接得到路径的第二路径点。
可以理解的是,由于环境的复杂性和多变性,一些第一路径点对应的第二路径点的数量可能较少,一些第一路径点对应的第二路径点的数量可能较多。当第一路径点对应的第二路径点非常多时,若将该第一路径点对应的第二路径点都作为待连接点,则该第一路径点与对应的待连接点连接得到路径的数量非常多。进一步地,其他的第一路径点得到的路径与该第一路径点得到的路径再进行组合,得到新的更长的路径,则最终计算机在路径规划时的计算量成指数增长,进而降低了路径规划的效率。
预先设置第一数量阈值。一般地,第一数量阈值可以通过预先进行大量地路径规划测试得到,例如,第一数量阈值可以是7,当然也可以根据实际情况设置为其他值。
当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中获取与第一数量阈值对应数量的第二路径点,作为所述第一路径点对应的待连接点。
步骤208,当第一路径点对应的第二路径点的数量小于或等于第一数量阈值时,将第一路径点对应的所有第二路径点作为第一路径点对应的待连接点。
当第一路径点对应的第二路径点的数量小于或等于第一数量阈值时,表示第一路径点对应的第二路径点较少,则将第一路径点对应的所有第二路径点作为第一路径点对应的待连接点。
步骤210,将每一个第一路径点分别与对应的待连接点连接,得到每一个第一路径点的至少一个路径。
将每一个第一路径点分别与对应的待连接点连接,则每一个第一路径点可以得到至少一个路径。第一路径点对应的路径的数量大小表示当物体位于第一路径点时,可以有多少种通行的情况。
步骤212,根据得到的路径获取目标路径。
根据得到的每一个第一路径点的至少一个路径,可以生成路径图。如图4所示的路径图中,黑色圆点表示路径点,黑色直线表示路径,402表示障碍物。遍历地图中分布的路径点,将当前遍历的路径点作为第一路径点,第一路径点通过路径与第二路径点连接。
上述路径规划方法,当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中获取与第一数量阈值对应数量的第二路径点,避免了对第一路径点的所有第二路径点进行处理,只需将第一路径点与对应的待连接点进行连接得到路径,根据得到的路径获取目标路径,提高了路径规划的效率。
在一个实施例中,遍历地图中分布的路径点之前,还包括:采用随机函数在地图中生成随机点;删除分布于地图中的障碍物上的随机点,并将分布于地图中除障碍物之外的其他位置上的随机点作为路径点。其中,可以通过以下方式判断随机点是否分布于地图中的障碍物上:获取地图中的障碍物的坐标范围和随机点的坐标;采用检测函数判断随机点的坐标是否位于障碍物的坐标范围内;当随机点的坐标位于障碍物的坐标范围内时,随机点位于地图中的障碍物上;当随机点的坐标未位于障碍物的坐标范围内时,随机点未位于地图中的障碍物上。
随机函数指的是产生随机数的函数。随机函数可以是rand()、srand()、random()等,不限于此。
终端102可以预先对地图建立坐标轴,然后采用随机函数在地图中生成随机点。其中,随机点指的是包含坐标信息的点。当随机点分布在地图中的障碍物上时,删除该随机点;当随机点分布在地图中除障碍物之外的其他位置时,则将该随机点作为路径点。
在传统的路径规划方法中,还通常将地图划分为网格,通过网格进行路径规划。如图5所示,502表示障碍物,504表示目标路径。通过网格进行路径规划,则得到的目标路径的各个转角为直角,得到的目标路径的距离也比较长。在一个实施例中,智能机器人很难进行直角转弯,且通过整个目标路径需要耗费的较多的时间。
在上述实施例中,采用随机函数在地图中生成随机点,可以避免得到包含直角的目标路径,得到的目标路径更加平滑,且平滑的目标路径相比于包含直角的目标路径距离更短。在一个实施例中,智能机器人可以更加顺利地通过更加平滑的目标路径,且通过整个目标路径需要的时间更短。
可以理解的是,采用随机函数在地图中生成随机点时,可以控制生成的随机点的数量,当生成的随机点的数量较少,且同时可以满足路径规划时,应用上述路径规划方法对较少的随机点进行处理得到目标路径,可以节约时间,提高得到目标路径的效率。
在本实施例中,采用随机函数在地图中生成随机点,并将分布于地图中除障碍物之外的其他位置上的随机点作为路径点,可以获取更加平滑的目标路径,且得到的目标路径的距离更短。
在一个实施例中,当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中获取第一路径点对应的待连接点,包括:当第一路径点对应的第二路径点的数量大于第一数量阈值时,获取第一路径点与对应的各个第二路径点的第一距离;根据第一距离,从第一路径点对应的第二路径点中获取第一路径点对应的待连接点。
第一距离指的是第一路径点与第二路径点之间的直线距离,可以通过第一路径点与第二路径点的坐标进行计算。如第一路径点的坐标为(1,2),第二路径点的坐标为(3,5),则第一路径点(1,2)与第二路径点(3,5)之间的直线距离为:
通过第一路径点与第二路径点的坐标进行计算,获取第一路径点对应的各个第二路径点的第一距离,再根据第一距离,从第二路径点中获取待连接点。可以获取距离较近的第二路径点作为第一路径点对应的待连接点,也可以获取距离较远的第二路径点作为第一路径点对应的待连接点,不限于此。
在本实施例中,获取第一路径点与对应的各个第二路径点的第一距离,根据第一距离从第一路径点对应的第二路径点中获取第一路径点对应的待连接点,避免了对第一路径点的所有第二路径点进行处理,只需将第一路径点与对应的待连接点进行连接得到路径,根据得到的路径获取目标路径,提高了路径规划的效率。
在一个实施例中,根据第一距离,从第一路径点对应的第二路径点中获取第一路径点对应的待连接点,包括:根据第一距离,将第一路径点对应的各个第二路径点进行排序;从排序后的第二路径点中获取与第一数量阈值对应数量的第二路径点,作为第一路径点对应的待连接点。
终端102获取第一路径点对应的各个第二路径点的第一距离之后,可以根据各个第一距离的大小,将第一路径点对应的各个第二路径点进行排序。排序可以是从小到大进行排序,也可以是从大到小进行排序,不限于此。从排序后的第二路径点中获取与第一数量阈值对应数量的第二路径点,作为第一路径点对应的待连接点。
在一个实施例中,从排序后的第二路径点中获取与第一数量阈值对应数量的第二路径点,作为第一路径点对应的待连接点,包括:从排序后的第二路径点中,根据第一距离从小到大获取与第一数量阈值对应数量的第二路径点,作为第一路径点对应的待连接点。
根据第一距离的大小,从小到大获取第二路径点作为第一路径点对应的待连接点,直到第一路径点对应的待连接点的数量达到第一数量阈值为止。因此,第一路径点与对应的待连接点的第一距离都是第二路径点中较小的。当地图中的所有第一路径点都获取第一距离较小的第二路径点作为待连接点时,所得到的目标路径经过更多的路径点,目标路径也更加平滑。
例如,排序后的第二路径点为{A(0.3),B(0.5),C(0.5),D(0.7),E(0.8)},A(0.3)、B(0.5)、C(0.5)、D(0.7)、E(0.8)分别为第二路径点以及第二路径点对应的第一距离,第一数量阈值为3。则根据第一距离的大小,从小到大获取3个第二路径点A(0.3)、B(0.5)、C(0.5)作为第一路径点对应的待连接点。
在一个实施例中,从排序后的第二路径点中获取与第一数量阈值对应数量的第二路径点,作为第一路径点对应的待连接点,包括:获取预设数量值;从排序后的第二路径点中获取与预设数量值对应数量的第二路径点,作为第一路径点对应的待连接点。
其中,预设数量值可以与第一数量阈值相同,也可以不同,不限于此。
在本实施例中,根据第一距离将第一路径点对应的各个第二路径点进行排序,并从排序后的第二路径点中获取与第一数量阈值对应数量的第二路径点,作为第一路径点对应的待连接点,避免了对第一路径点的所有第二路径点进行处理,只需将第一路径点与对应的待连接点进行连接得到路径,根据得到的路径获取目标路径,提高了路径规划的效率。
在一个实施例中,如图6所示,根据第一距离,从第一路径点对应的第二路径点中获取第一路径点对应的待连接点,包括:
步骤602,从各个第一距离中获取目标距离,并根据小于目标距离的第一距离所对应的第二路径点生成第一集合。
目标距离指的是从各个第一距离中获取的第一距离。一般地,目标距离的数量为一个。在另外的实施例中,目标距离还可以是根据多个第一距离计算得到的平均距离,不限于此。第一集合指的是由小于目标距离的第一距离所对应的第二路径点生成的集合。
将各个第一距离逐一与目标距离进行比较,当第一距离小于目标距离时,可以生成第一集合,并将该第一距离所对应的第二路径点加入到第一集合中。
步骤604,当第一集合中的第二路径点的数量大于或等于第一数量阈值时,根据第一集合中的各个第二路径点的第一距离,将第一集合中的各个第二路径点进行排序。
根据第一集合中各个第二路径点的第一距离,将第一集合中的各个第二路径点进行排序。排序可以是从小到大进行排序,也可以是从大到小进行排序,不限于此。
步骤606,从第一集合中排序后的各个第二路径点中获取与第一数量阈值对应数量的第二路径点,作为第一路径点对应的待连接点。
在一个实施例中,从第一集合中排序后的各个第二路径点中获取与第一数量阈值对应数量的第二路径点,作为第一路径点对应的待连接点,包括:从第一集合中排序后的各个第二路径点中,根据第一距离从小到大的顺序获取与第一数量阈值对应数量的第二路径点,作为第一路径点对应的待连接点。
根据第一距离的大小,从小到大获取第二路径点作为第一路径点对应的待连接点,直到第一路径点对应的待连接点的数量达到第一数量阈值为止。因此,第一路径点与对应的待连接点的第一距离都是第二路径点中较小的。当地图中的所有第一路径点都获取第一距离较小的第二路径点作为待连接点时,所得到的目标路径经过更多的路径点,目标路径也更加平滑。
例如,排序后的第二路径点为{A(0.3),B(0.5),C(0.5),D(0.7),E(0.8)},A(0.3)、B(0.5)、C(0.5)、D(0.7)、E(0.8)分别为第二路径点以及第二路径点对应的第一距离,第一数量阈值为3。则根据第一距离的大小,从小到大获取3个第二路径点A(0.3)、B(0.5)、C(0.5)作为第一路径点对应的待连接点。
在一个实施例中,从第一集合中排序后的各个第二路径点中获取与第一数量阈值对应数量的第二路径点,作为第一路径点对应的待连接点,包括:获取预设数量值;从第一集合中排序后的第二路径点中获取与预设数量值对应数量的第二路径点,作为第一路径点对应的待连接点。
其中,预设数量值可以与第一数量阈值相同,也可以不同,不限于此。
可以理解的是,当第一路径点对应的第二路径点的数量非常多时,终端102对第一路径点对应的所有第二路径点进行排序,需要将第二路径点两两进行比较,计算量非常大,浪费计算机资源。而在本实施例中,从各个第一距离中获取目标距离,并根据小于目标距离的第一距离所对应的第二路径点生成第一集合,获取目标距离以及将第一距离与目标距离进行比较的计算量较小。因此,第一集合中只包含了小于目标距离的第一距离所对应的第二路径点,终端102只需要对第一集合中的第二路径点进行处理即可,节约了计算机资源,并提高了路径规划的效率。
在一个实施例中,上述路径规划方法还包括:
步骤702,根据大于或等于目标距离的第一距离所对应的第二路径点生成第二集合。
第二集合指的是由大于或等于目标距离的第一距离所对应的第二路径点生成的集合。
步骤704,当第一集合中的第二路径点的数量小于第一数量阈值时,根据第二集合中的各个第二路径点对应的第一距离,将第二集合中的各个第二路径点进行排序。
步骤706,将第一集合中的第二路径点作为第一路径点对应的待连接点,并从第二集合中排序后的各个第二路径点中获取第一路径点对应的待连接点,直到第一路径点对应的待连接点的数量达到第一数量阈值为止。
可以理解的是,当第一集合中的第二路径点的数量小于第一数量阈值时,即使将第一集合中的所有第二路径点都作为第一路径点对应的待连接点,仍然达不到第一数量阈值。
因此,将第一集合中的所有第二路径点作为第一路径点对应的待连接点,并计算第二集合中各个第二路径点对应的第一距离。根据第一距离将第二集合中的各个第二路径点进行排序,并从排序后的第二集合中获取第二路径点作为第一路径点对应的待连接点,直到第一路径点对应的待连接点的数量达到第一数量阈值。
例如,第一路径点对应的第二路径点的数量为10,第一数量阈值为7,当第一集合{A(0.1),B(0.1),C(0.2)}中的第二路径点的数量为3时,第二集合中包含了7个第二路径点。将第二集合中的第二路径点进行排序得到{D(0.3),E(0.5),F(0.5),G(0.7),H(0.8),I(0.9),J(1.1)},从排序后的第二集合中获取第一路径点对应的待连接点,如从小到大进行获取得到{D(0.3),E(0.5),F(0.5),G(0.7)}。则第一路径点对应的待连接点为{A(0.1),B(0.1),C(0.2),D(0.3),E(0.5),F(0.5),G(0.7)}。
在一个实施例中,从第二集合中排序后的各个第二路径点中获取第一路径点对应的待连接点,直到第一路径点对应的待连接点的数量达到第一数量阈值为止,包括:从第二集合中排序后的各个第二路径点中,根据第一距离从小到大的顺序获取第一路径点对应的待连接点,直到第一路径点对应的待连接点的数量达到第一数量阈值为止。
根据第一距离的大小,从小到大获取第二路径点作为第一路径点对应的待连接点,直到第一路径点对应的待连接点的数量达到第一数量阈值为止。因此,第一路径点与对应的待连接点的第一距离都是第二路径点中较小的。当地图中的所有第一路径点都获取第一距离较小的第二路径点作为待连接点时,所得到的目标路径经过更多的路径点,目标路径也更加平滑。
在本实施例中,当第一集合中的第二路径点的数量小于第一数量阈值时,将第二集合中的第二路径点进行排序,将第一集合中的第二路径点作为第一路径点对应的待连接点,并从排序后的第二集合中获取第一路径点对应的待连接点,直到第一路径点对应的待连接点的数量达到第一数量阈值为止,避免了对第一路径点的所有第二路径点进行处理,只需将第一路径点与对应的待连接点进行连接得到路径,根据得到的路径获取目标路径,提高了路径规划的效率。
在一个实施例中,如图8所示,预先进行步骤802设置第一数量阈值k,执行步骤804判断第二路径点的数量是否大于k。当判断为否时,即第二路径点的数量小于或等于k时,执行步骤806,将所有第二路径点作为第一路径点对应的待连接点。当判断为是时,执行步骤808,计算第一路径点与各个第二路径点的第一距离D={d1,d2,...}。并执行步骤810,从各个第二路径点的第一距离D={d1,d2,...}中获取目标距离d。将D={d1,d2,...}中的各个第一距离与目标距离d进行比较,执行步骤812,根据小于目标距离d的第一距离所对应的第二路径点生成第一集合Sa,并根据大于或等于目标距离d的第一距离所对应的第二路径点生成第二集合Sb。
执行步骤814,判断第一集合Sa中的第二路径点的数量是否大于或等于k。当是时,执行步骤816,将Sa中的各个第二路径点进行排序,并执行步骤818,从排序后的Sa中获取k个第二路径点作为第一路径点对应的待连接点。当否时,执行步骤820,将Sa、Sb分别进行排序,并执行步骤822,将Sa中的第二路径点作为第一路径点对应的待连接点,并从Sb中获取第二路径点作为第一路径对应的待连接点,直到第一路径点对应的待连接点的数量达到k。
在一个实施例中,上述路径规划方法还包括:当第一路径点对应的第二路径点的数量小于或等于第二数量阈值时,删除第一路径点,其中,第二数量阈值小于第一数量阈值。
预先设置第二数量阈值,且第二数量阈值小于第一数量阈值。可以理解的是,当路径点位于障碍物的包围圈中,或者位于许多障碍物之间时,该路径点与其他路径点进行连接得到的路径比较少,该路径点通行往其他路径点的可选择性较低。
一般地,第二数量阈值为0。当第一路径点对应的第二路径点的数量小于或等于第二数量阈值时,表示第一路径点没有对应的第二路径点,也没有对应的路径通过其他路径点。因此,可以删除第一路径点,进一步节约计算机资源,提高路径规划的效率。
在一个实施例中,根据得到的路径获取目标路径,包括:从地图中分布的路径点中获取起点和终点;根据Q-Learning算法对第一路径点构建初始Q表,其中,初始Q表用于记录每一个第一路径点分别到达对应的第二路径点的奖惩值;根据初始Q表对每一个第一路径点的路径进行探索,得到目标Q表;从目标Q表中获取从起点到终点的目标路径。
Q-Learning算法是一种重要的强化学习方法,采用探索-利用的方法来发现搜索目标路径。预先构建初始Q表,在探索过程中,对地图中的各个路径点展开探索,根据各个路径点以及起点和终点的影响,从而产生“行为-状态对”及对应的奖惩值,并记录在初始Q表中。在不断的展开对地图中的各个路径点的探索学习,奖惩值得到更新,最终生成目标Q表。“利用”过程是选择从强化学习得到的目标Q表中获得最高奖赏值的路径,即目标路径。
在一个实施例中,根据Q-Learning算法对第一路径点构建初始Q表,包括:当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中,获取与第一数量阈值对应数量的第二路径点作为第一路径点对应的待连接点;当第一路径点对应的第二路径点的数量小于第一数量阈值时,重复获取第一路径点对应的第二路径点作为第一路径点对应的待连接点,直到第一路径点对应的待连接点的数量达到第一数量阈值;根据Q-Learning算法对第一路径点以及对应的待连接点构建初始Q表。
根据Q-Learning算法对第一路径点构建初始Q表时,当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中,获取与第一数量阈值对应数量的第二路径点作为第一路径点对应的待连接点。
当第一路径点对应的第二路径点的数量小于第一数量阈值时,重复获取第一路径点对应的第二路径点作为第一路径点对应的待连接点,直到第一路径点对应的待连接点的数量达到第一数量阈值。
当第一路径点对应的待连接点的数量都为第一数量阈值时,可以构建初始Q表。在初始Q表中,每一个第一路径点表示当前的状态,每一个第一路径点对应的待连接点表示当前状态下可以进行的行为。
在另外一个实施例中,也可以预设其他数量阈值,将所有第一路径点的待连接点的数量都统一为同一个数量阈值,进而构建初始Q表。
在本实施例中,当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中,获取与第一数量阈值对应数量的第二路径点作为第一路径点对应的待连接点;当第一路径点对应的第二路径点的数量小于第一数量阈值时,重复获取第一路径点对应的第二路径点作为第一路径点对应的待连接点,直到第一路径点对应的待连接点的数量达到第一数量阈值,将所有第一路径点对应的待连接点的数量都统一为同一个数量值,可以更加准确地构建初始Q表。
在一个实施例中,上述路径规划方法还包括:在根据初始Q表对每一个第一路径点的路径进行探索中,当探索的迭代数量大于第一迭代阈值时,停止进行探索并生成第一提示信息;在从目标Q表中获取从起点到终点的目标路径中,统计从起点至迭代路径点的数量;当从起点至迭代路径点的数量大于第二迭代阈值,且未寻找到终点时,停止查找目标路径并生成第二提示信息。
在Q-Learning算法中,每通过一个路径到达另外一个路径点时为一次迭代。迭代路径点指的是探索过程中的当前路径点。
终端102可以预先设置第一迭代阈值和第二迭代阈值,第一迭代阈值和第二迭代阈值可以相同,也可以不同,不限于此。在根据初始Q表对每一个第一路径点的路径进行探索中,当从起点开始探索的迭代数量大于第一迭代阈值仍未探索到终点时,生成第一提示信息。第一提示信息可以展示在终端102的显示界面上,用于提示探索的迭代数量大于第一迭代阈值时仍然未探索到终点。
根据初始Q表对每一个第一路径点的路径进行探索,得到目标Q表之后,从目标Q表中获取起点到终点的目标路径。在从目标Q表中获取从起点到终点的目标路径中,统计从起点至迭代路径点的数量,当从起点至迭代路径点的数量大于第二迭代阈值,且未寻找到终点时,生成第二提示信息。第二提示信息可以展示在终端102的显示界面上,用于提示在第二迭代阈值内未查找到从起点至终点的目标路径。
可以理解的是,在探索和获取目标路径的过程中,当迭代的数量较大时,往往容易会耗费非常多的计算机资源,如CPU(Central Processing Unit,中央处理器)占用率、硬件资源、内存资源等,降低了路径规划的速度和效率。因此,预设了第一迭代阈值和第二迭代阈值,当探索的迭代数量大于第一迭代阈值时,停止进行探索并生成第一提示信息,当从起点至迭代路径点的数量大于第二迭代阈值,且未寻找到终点时,停止查找目标路径并生成第二提示信息,可以节约计算机资源,并提醒用户。
在一个实施例中,设置参数
初始化Q表
For 1,2.....直到设定的第一迭代阈值
设置起点和终点
While true
Step+=1
根据εpolicy选择行为
获取下一个状态state',奖惩值r,以及判断是否到达终点(done=true or done=false)
计算Q是Q(s,a)
更新Q表,Q(s,a)=Q(s,a)+α*(Q(s',a)-Q(s,a))
选择具有最大Q值的行为
检查是否为未经过障碍物的路径
If state==end state
获取目标路径
End if
If step大于第二迭代阈值
Break
End if
End while
应该理解的是,虽然图2、图6和图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图6和图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种路径规划装置900,包括:遍历模块902、第二路径点确定模块904、待连接点获取模块906、连接模块908和目标路径获取模块910,其中:
遍历模块902,用于遍历地图中分布的路径点。
第二路径点确定模块904,用于将遍历的路径点作为第一路径点,并从地图中分布的除第一路径点之外的路径点中确定第二路径点,其中,第二路径点与第一路径点连接的直线未经过地图中的障碍物。
待连接点获取模块906,用于当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中获取第一路径点对应的待连接点;当第一路径点对应的第二路径点的数量小于或等于第一数量阈值时,将第一路径点对应的所有第二路径点作为第一路径点对应的待连接点。
连接模块908,用于将每一个第一路径点分别与对应的待连接点连接,得到每一个第一路径点的至少一个路径。
目标路径获取模块910,用于根据得到的路径获取目标路径。
上述路径规划装置,当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中获取第一路径点对应的待连接点,避免了对第一路径点的所有第二路径点进行处理,只需将第一路径点与对应的待连接点进行连接得到路径,根据得到的路径获取目标路径,提高了路径规划的效率。
在一个实施例中,如图10所示,提供了一种路径规划装置1000,包括:随机点生成模块1002、遍历模块1004、第二路径点确定模块1006、待连接点获取模块1008、第一路径点删除模块1010、连接模块1012、目标路径获取模块1014和提示信息生成模块1016,其中:
随机点生成模块1002,用于采用随机函数在地图中生成随机点;删除分布于地图中的障碍物上的随机点,并将分布于地图中除障碍物之外的其他位置上的随机点作为路径点。
遍历模块1004,用于遍历地图中分布的路径点。
第二路径点确定模块1006,用于将遍历的路径点作为第一路径点,并从地图中分布的除第一路径点之外的路径点中确定第二路径点,其中,第二路径点与第一路径点连接的直线未经过地图中的障碍物。
待连接点获取模块1008,用于当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中获取第一路径点对应的待连接点;当第一路径点对应的第二路径点的数量小于或等于第一数量阈值时,将第一路径点对应的所有第二路径点作为第一路径点对应的待连接点。
第一路径点删除模块1010,用于当第一路径点对应的第二路径点的数量小于或等于第二数量阈值时,删除第一路径点,其中,第二数量阈值小于第一数量阈值。
连接模块1012,用于将每一个第一路径点分别与对应的待连接点连接,得到每一个第一路径点的至少一个路径。
目标路径获取模块1014,用于根据得到的路径获取目标路径。
提示信息生成模块1016,用于在根据初始Q表对每一个第一路径点的路径进行探索中,当探索的迭代数量大于第一迭代阈值时,停止进行探索并生成第一提示信息;在从目标Q表中获取从起点到终点的目标路径中,统计从起点至迭代路径点的数量;当从起点至迭代路径点的数量大于第二迭代阈值,且未寻找到终点时,停止查找目标路径并生成第二提示信息。
上述路径规划装置,采用随机函数生成随机点,再从随机点中获取路径点,使得到的目标路径更加平滑。将遍历的路径点作为第一路径点,当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中获取第一路径点对应的待连接点,避免了对第一路径点的所有第二路径点进行处理,只需将第一路径点与对应的待连接点进行连接得到路径,根据得到的路径获取目标路径。当第一路径点对应的第二路径点的数量小于或等于第二数量阈值时,删除第一路径点,可以提高资源,提高了路径规划的效率。
在一个实施例中,上述待连接点获取模块1008还用于当第一路径点对应的第二路径点的数量大于第一数量阈值时,获取第一路径点与对应的各个第二路径点的第一距离;根据第一距离,从第一路径点对应的第二路径点中获取第一路径点对应的待连接点。
在一个实施例中,上述待连接点获取模块1008还用于根据第一距离,将第一路径点对应的各个第二路径点进行排序;从排序后的第二路径点中获取与第一数量阈值对应数量的第二路径点,作为第一路径点对应的待连接点。
在一个实施例中,上述待连接点获取模块1008还用于从各个第一距离中获取目标距离,并根据小于目标距离的第一距离所对应的第二路径点生成第一集合;当第一集合中的第二路径点的数量大于或等于第一数量阈值时,根据第一集合中的各个第二路径点的第一距离,将第一集合中的各个第二路径点进行排序;从第一集合中排序后的各个第二路径点中获取与第一数量阈值对应数量的第二路径点,作为第一路径点对应的待连接点。
在一个实施例中,上述待连接点获取模块1008还用于根据大于或等于目标距离的第一距离所对应的第二路径点生成第二集合;当第一集合中的第二路径点的数量小于第一数量阈值时,根据第二集合中的各个第二路径点对应的第一距离,将第二集合中的各个第二路径点进行排序;将第一集合中的第二路径点作为第一路径点对应的待连接点,并从第二集合中排序后的各个第二路径点中获取第一路径点对应的待连接点,直到第一路径点对应的待连接点的数量达到第一数量阈值为止。
在一个实施例中,上述目标路径获取模块1014还用于从地图中分布的路径点中获取起点和终点;根据Q-Learning算法对第一路径点构建初始Q表,其中,初始Q表用于记录每一个第一路径点分别到达对应的第二路径点的奖惩值;根据初始Q表对每一个第一路径点的路径进行探索,得到目标Q表;从目标Q表中获取从起点到终点的目标路径。
在一个实施例中,上述目标路径获取模块1014还用于当第一路径点对应的第二路径点的数量大于第一数量阈值时,从第一路径点对应的第二路径点中,获取与第一数量阈值对应数量的第二路径点作为第一路径点对应的待连接点;当第一路径点对应的第二路径点的数量小于第一数量阈值时,重复获取第一路径点对应的第二路径点作为第一路径点对应的待连接点,直到第一路径点对应的待连接点的数量达到第一数量阈值;根据Q-Learning算法对第一路径点以及对应的待连接点构建初始Q表。
关于路径规划装置的具体限定可以参见上文中对于路径规划方法的限定,在此不再赘述。上述路径规划装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种路径规划方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述路径规划方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述路径规划方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种路径规划方法,所述方法包括:
遍历地图中分布的路径点;
将遍历的所述路径点作为第一路径点,并从所述地图中分布的除所述第一路径点之外的路径点中确定第二路径点,其中,所述第二路径点与第一路径点连接的直线未经过所述地图中的障碍物;
当所述第一路径点对应的第二路径点的数量大于第一数量阈值时,从所述第一路径点对应的第二路径点中获取所述第一路径点对应的待连接点;
当所述第一路径点对应的第二路径点的数量小于或等于第一数量阈值时,将所述第一路径点对应的所有第二路径点作为所述第一路径点对应的待连接点;
将每一个所述第一路径点分别与对应的待连接点连接,得到每一个所述第一路径点的至少一个路径;
从所述地图中分布的路径点中获取起点和终点;
根据Q-Learning算法对所述第一路径点构建初始Q表,其中,所述初始Q表用于记录每一个第一路径点分别到达对应的第二路径点的奖惩值;
根据初始Q表对每一个所述第一路径点的路径进行探索,得到目标Q表;
从目标Q表中获取从所述起点到终点的目标路径。
2.根据权利要求1所述的方法,其特征在于,在所述遍历地图中分布的路径点之前,还包括:
采用随机函数在所述地图中生成随机点;
删除分布于所述地图中的障碍物上的随机点,并将分布于所述地图中除障碍物之外的其他位置上的随机点作为路径点。
3.根据权利要求1或2所述的方法,其特征在于,所述当所述第一路径点对应的第二路径点的数量大于第一数量阈值时,从所述第一路径点对应的第二路径点中获取所述第一路径点对应的待连接点,包括:
当所述第一路径点对应的第二路径点的数量大于第一数量阈值时,获取所述第一路径点与对应的各个第二路径点的第一距离;
根据所述第一距离,从所述第一路径点对应的第二路径点中获取所述第一路径点对应的待连接点。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一距离,从所述第一路径点对应的第二路径点中获取所述第一路径点对应的待连接点,包括:
根据所述第一距离,将所述第一路径点对应的各个第二路径点进行排序;
从排序后的第二路径点中获取与第一数量阈值对应数量的第二路径点,作为所述第一路径点对应的待连接点。
5.根据权利要求3所述的方法,其特征在于,所述根据所述第一距离,从所述第一路径点对应的第二路径点中获取所述第一路径点对应的待连接点,包括:
从各个所述第一距离中获取目标距离,并根据小于所述目标距离的第一距离所对应的第二路径点生成第一集合;
当所述第一集合中的第二路径点的数量大于或等于所述第一数量阈值时,根据所述第一集合中的各个所述第二路径点的第一距离,将所述第一集合中的各个第二路径点进行排序;
从所述第一集合中排序后的各个第二路径点中获取与所述第一数量阈值对应数量的第二路径点,作为所述第一路径点对应的待连接点。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据大于或等于目标距离的第一距离所对应的第二路径点生成第二集合;
当所述第一集合中的第二路径点的数量小于所述第一数量阈值时,根据所述第二集合中的各个所述第二路径点对应的第一距离,将所述第二集合中的各个第二路径点进行排序;
将所述第一集合中的第二路径点作为所述第一路径点对应的待连接点,并从所述第二集合中排序后的各个所述第二路径点中获取所述第一路径点对应的待连接点,直到所述第一路径点对应的待连接点的数量达到所述第一数量阈值为止。
7.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当所述第一路径点对应的第二路径点的数量小于或等于第二数量阈值时,删除所述第一路径点,其中,所述第二数量阈值小于第一数量阈值。
8.根据权利要求1所述的方法,其特征在于,所述根据Q-Learning算法对所述第一路径点构建初始Q表,包括:
当所述第一路径点对应的第二路径点的数量大于第一数量阈值时,从所述第一路径点对应的第二路径点中,获取与所述第一数量阈值对应数量的第二路径点作为所述第一路径点对应的待连接点;
当所述第一路径点对应的第二路径点的数量小于第一数量阈值时,重复获取所述第一路径点对应的第二路径点作为所述第一路径点对应的待连接点,直到所述第一路径点对应的待连接点的数量达到第一数量阈值;
根据Q-Learning算法对所述第一路径点以及对应的待连接点构建初始Q表。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在根据初始Q表对每一个所述第一路径点的路径进行探索中,当探索的迭代数量大于第一迭代阈值时,停止进行探索并生成第一提示信息;
在所述从目标Q表中获取从所述起点到终点的目标路径中,统计从所述起点至迭代路径点的数量;
当从所述起点至迭代路径点的数量大于第二迭代阈值,且未寻找到终点时,停止查找目标路径并生成第二提示信息。
10.一种路径规划装置,其特征在于,所述装置包括:
遍历模块,用于遍历地图中分布的路径点;
第二路径点确定模块,用于将遍历的所述路径点作为第一路径点,并从所述地图中分布的除所述第一路径点之外的路径点中确定第二路径点,其中,所述第二路径点与第一路径点连接的直线未经过所述地图中的障碍物;
待连接点获取模块,用于当所述第一路径点对应的第二路径点的数量大于第一数量阈值时,从所述第一路径点对应的第二路径点中获取所述第一路径点对应的待连接点;当所述第一路径点对应的第二路径点的数量小于或等于第一数量阈值时,将所述第一路径点对应的所有第二路径点作为所述第一路径点对应的待连接点;
连接模块,用于将每一个所述第一路径点分别与对应的待连接点连接,得到每一个所述第一路径点的至少一个路径;
目标路径获取模块,用于从所述地图中分布的路径点中获取起点和终点;根据Q-Learning算法对所述第一路径点构建初始Q表,其中,所述初始Q表用于记录每一个第一路径点分别到达对应的第二路径点的奖惩值;根据初始Q表对每一个所述第一路径点的路径进行探索,得到目标Q表;从目标Q表中获取从所述起点到终点的目标路径。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910337077.0A CN110221600B (zh) | 2019-04-25 | 2019-04-25 | 路径规划方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910337077.0A CN110221600B (zh) | 2019-04-25 | 2019-04-25 | 路径规划方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110221600A CN110221600A (zh) | 2019-09-10 |
CN110221600B true CN110221600B (zh) | 2022-05-31 |
Family
ID=67819882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910337077.0A Active CN110221600B (zh) | 2019-04-25 | 2019-04-25 | 路径规划方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110221600B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111060125B (zh) * | 2019-12-30 | 2021-09-17 | 深圳一清创新科技有限公司 | 碰撞检测方法、装置、计算机设备和存储介质 |
CN111060127B (zh) * | 2019-12-31 | 2021-10-26 | 深圳一清创新科技有限公司 | 车辆起点定位方法、装置、计算机设备和存储介质 |
CN111158384B (zh) * | 2020-04-08 | 2020-08-04 | 炬星科技(深圳)有限公司 | 机器人建图方法、设备及存储介质 |
CN111680817B (zh) * | 2020-04-23 | 2024-03-19 | 平安国际智慧城市科技股份有限公司 | 基于路线生成的跨障车辆调用方法、装置和计算机设备 |
CN112171066B (zh) * | 2020-08-24 | 2021-11-23 | 江苏大学 | 一种轧辊展开表面毛化形貌无序均匀分布的设计方法 |
CN112631338B (zh) * | 2020-12-09 | 2022-12-27 | 广州极飞科技股份有限公司 | 一种航线规划方法、装置、计算机设备及存储介质 |
CN112987724B (zh) * | 2021-02-04 | 2023-05-02 | 京东科技信息技术有限公司 | 路径优化方法、装置、机器人及存储介质 |
CN113390431B (zh) * | 2021-06-17 | 2022-09-30 | 广东工业大学 | 动态生成参考线的方法、装置、计算机设备和存储介质 |
CN113776546B (zh) * | 2021-09-03 | 2024-05-24 | 上海擎朗智能科技有限公司 | 一种机器人路径的确定方法、装置、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999881A (en) * | 1997-05-05 | 1999-12-07 | General Electric Company | Automated path planning |
CN108724189A (zh) * | 2018-06-22 | 2018-11-02 | 金蝶软件(中国)有限公司 | 控制机器人移动的方法、装置、机器人控制设备 |
CN109506669A (zh) * | 2018-12-28 | 2019-03-22 | 斑马网络技术有限公司 | 动态路径规划方法、装置、系统以及存储介质 |
CN109668561A (zh) * | 2017-10-13 | 2019-04-23 | 中兴通讯股份有限公司 | 一种室内路径规划方法、终端及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190004524A1 (en) * | 2016-08-31 | 2019-01-03 | Faraday&Future Inc. | System and method for planning a vehicle path |
CN108268031A (zh) * | 2016-12-30 | 2018-07-10 | 深圳光启合众科技有限公司 | 路径规划方法、装置及机器人 |
CN107203214B (zh) * | 2017-07-31 | 2018-03-27 | 中南大学 | 一种运载机器人复杂混合路径协同自适应智能规划方法 |
CN108303098B (zh) * | 2018-02-09 | 2018-09-25 | 上海思岚科技有限公司 | 机器人路径规划方法及设备 |
-
2019
- 2019-04-25 CN CN201910337077.0A patent/CN110221600B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999881A (en) * | 1997-05-05 | 1999-12-07 | General Electric Company | Automated path planning |
CN109668561A (zh) * | 2017-10-13 | 2019-04-23 | 中兴通讯股份有限公司 | 一种室内路径规划方法、终端及可读存储介质 |
CN108724189A (zh) * | 2018-06-22 | 2018-11-02 | 金蝶软件(中国)有限公司 | 控制机器人移动的方法、装置、机器人控制设备 |
CN109506669A (zh) * | 2018-12-28 | 2019-03-22 | 斑马网络技术有限公司 | 动态路径规划方法、装置、系统以及存储介质 |
Non-Patent Citations (2)
Title |
---|
基于环境建模的USV轨迹规划技术;张国栋 等;《指挥控制与仿真》;20181015(第05期);第92-99页 * |
室内未知环境遍历路径规划算法综述;李一波 等;《计算机科学》;20121115;第39卷(第11A期);第334-338页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110221600A (zh) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110221600B (zh) | 路径规划方法、装置、计算机设备和存储介质 | |
US10748061B2 (en) | Simultaneous localization and mapping with reinforcement learning | |
CN109814572B (zh) | 移动机器人定位建图方法、装置、移动机器人和存储介质 | |
WO2020173044A1 (zh) | 无人机路径规划方法、装置、存储介质及计算机设备 | |
Ioannidis et al. | A path planning method based on cellular automata for cooperative robots | |
CN112344941B (zh) | 路径规划方法、系统、机器人及存储介质 | |
CN109977571B (zh) | 基于数据与模型混合的仿真计算方法及装置 | |
CN110909942A (zh) | 训练模型的方法及系统和预测序列数据的方法及系统 | |
EP4015999A1 (en) | Road updating method and apparatus for electronic map, computer device, and storage medium | |
CN114913386A (zh) | 一种多目标跟踪模型的训练方法以及多目标跟踪方法 | |
CN113793351A (zh) | 基于等高线的多层轮廓图案的激光填充方法及装置 | |
Liu et al. | Warehouse‐Oriented Optimal Path Planning for Autonomous Mobile Fire‐Fighting Robots | |
KR102209076B1 (ko) | 가상 키보드 오타 보정을 위한 방법과 시스템 및 비-일시적인 컴퓨터 판독가능한 기록 매체 | |
CN110824496B (zh) | 运动估计方法、装置、计算机设备和存储介质 | |
CN116448095A (zh) | 移动机器人及其导航方法、装置、计算机设备和存储介质 | |
CN111813882A (zh) | 一种机器人地图构建方法、设备及存储介质 | |
CN114383621B (zh) | 基于网格地图的轨迹纠偏方法、电子设备和存储介质 | |
CN113609947A (zh) | 运动轨迹预测方法、装置、计算机设备和存储介质 | |
CN111060127B (zh) | 车辆起点定位方法、装置、计算机设备和存储介质 | |
CN114964204A (zh) | 地图构建方法、地图使用方法、装置、设备和存储介质 | |
CN114722581A (zh) | 基于曼哈顿距离的移动状态监测方法、装置、计算机设备 | |
Qin et al. | Dynamic Detection of Topological Information from Grid‐Based Generalized Voronoi Diagrams | |
CN111310906A (zh) | 神经形态芯片中计算核的布局的方法、装置及设备 | |
CN116560381B (zh) | 机器人的避障方法和机器人 | |
CN117874529B (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 |