CN108876024A - 路径规划、路径实时优化方法及装置、存储介质 - Google Patents
路径规划、路径实时优化方法及装置、存储介质 Download PDFInfo
- Publication number
- CN108876024A CN108876024A CN201810565002.3A CN201810565002A CN108876024A CN 108876024 A CN108876024 A CN 108876024A CN 201810565002 A CN201810565002 A CN 201810565002A CN 108876024 A CN108876024 A CN 108876024A
- Authority
- CN
- China
- Prior art keywords
- path
- tree
- point
- rand
- new
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种路径规划方法,初始化树Ta、Tb,并分别以起点和目标点作为树Ta、Tb的根节点;随机采样,得到第一随机点Xrand;在树Ta中寻找距离第一随机点Xrand最近的点Xnearest;判断第一随机点Xrand与Xnearest之间的路径是否可行,若可行,则将第一随机点Xrand作为Xnew;将Xnew添加到树Ta中,并在树Ta中获取与Xnew距离在预设范围内的点,将计算出预设范围内的点到Xnew路径代价最小的点作为Xnew的最佳父节点;判断Xnew到所述最佳父节点的路径是否可行,若可行,则判断树Ta、Tb是否相连,若相连,则获取可行路径,并利用路径实时优化方法对所述可行路径进行实时优化。本发明实施例还提供一种路径实时优化方法及装置、路径规划装置及存储介质。利用本发明实施例可快速找到一个可行路径,并实时优化路径。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种路径规划方法及装置、路径实时优化方法及装置、存储介质。
背景技术
本部分旨在为权利要求书及具体实施方式中陈述的本发明实施例的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着机器人行业的不断发展,机器人的运动规划越来越受到人们的广泛关注,并已应用于机器臂操作、移动机器人和自动驾驶汽车等多个领域。基本的运动规划问题就是在起点和终点之间找到一个无碰撞且路径代价最小的路径。路径规划算法已经研究了很长一段时间,人们提出了很多的改进算法来加快路径规划搜索速率、提高算法收敛速率(逼近、找到最优解的速度)以及节省计算所需内存。但是,大多数的算法都是针对静态的环境,在动态环境中不适应。机器人往往会处于较复杂的环境中,障碍物或目标不是一直静止的。有一些算法针对动态环境,但是算法搜索速度和收敛速度较慢。
发明内容
鉴于此,有必要提供一种路径规划方法及装置、路径实时优化方法及装置、存储介质,能够快速找到一个可行路径,并实时优化路径。
本发明实施例一方面提供一种路径规划方法,所述路径规划方法包括:
步骤1,初始化树Ta、Tb,并分别以起点和目标点作为树Ta、Tb的根节点;
步骤2,在预设空间内随机采样,得到第一随机点Xrand;
步骤3,在树Ta中寻找距离第一随机点Xrand最近的点Xnearest;
步骤4,利用贪婪搜索策略,判断第一随机点Xrand与Xnearest之间的路径是否可行,若判断结果为是,则进入步骤5;
步骤5,将第一随机点Xrand作为Xnew;
步骤6,将Xnew添加到树Ta中,并在树Ta中获取与Xnew距离在预设范围内的点,将计算出预设范围内的点到Xnew路径代价最小的点作为Xnew的最佳父节点;
步骤7,判断Xnew到所述最佳父节点的路径是否可行,若判断结果为是,则进入步骤8;
步骤8,判断树Ta、Tb是否相连,若判断结果为是,则进入步骤9;
步骤9,获取可行路径,并利用路径实时优化方法对所述可行路径进行实时优化。
进一步的,在本发明实施例提供的上述路径规划方法中,所述判断第一随机点Xrand与Xnearest之间的路径是否可行还包括:
若判断结果为否,则从Xnearest向第一随机点Xrand扩展预设步长,扩展节点为Xnew;
判断Xnew是否可行;
若Xnew不可行,则返回步骤2在预设空间内进行重新随机采样,若Xnew可行,则进入步骤6。
进一步的,在本发明实施例提供的上述路径规划方法中,所述判断Xnew到所述最佳父节点的路径是否可行还包括:
若判断结果为否,则放弃节点Xnew,并返回步骤2在预设空间内进行重新随机采样。
进一步的,在本发明实施例提供的上述路径规划方法中,所述判断树Ta、Tb是否相连还包括:
若判断结果为否,则判断Xb是否等于Xrand,若判断结果为是,则进入步骤11,否则,进入步骤12;
步骤11,将树Ta、Tb进行交换,并返回步骤2;
步骤12,在树Tb中找到距离Xnew最近的点Xb;
步骤13,将Xrand赋值为Xb,并返回步骤3。
本发明实施例再一方面还提供一种路径规划装置,所述路径规划装置包括:
初始化模块,用于初始化树Ta、Tb,并分别以起点和目标点作为树Ta、Tb的根节点;
随机采样模块,用于在预设空间内随机采样,得到第一随机点Xrand;
最近点获取模块,在树Ta中获取距离第一随机点Xrand最近的点Xnearest;
第一判断模块,用于利用贪婪搜索策略,判断第一随机点Xrand与Xnearest之间的路径是否可行;
标记模块,用于在判断结果为是时,将第一随机点Xrand作为Xnew;
代价计算模块,用于将Xnew添加到树Ta中,并在树Ta中获取与Xnew距离在预设范围内的点,将计算出预设范围内的点到Xnew路径代价最小的点作为Xnew的最佳父节点;
第二判断模块,用于判断Xnew到所述最佳父节点的路径是否可行;
第三判断模块,用于在判断结果为是时,判断树Ta、Tb是否相连;
路径获取模块,获取可行路径,并利用路径实时优化方法对所述可行路径进行实时优化。
本发明实施例另一方面还提供一种应用于上述的路径实时优化方法,所述路径实时优化方法包括:
步骤1,初始化树T,并以起点作为根节点;
步骤2,获取从起点到目标点的路径;
步骤3,判断所述路径上的两个节点之间的距离是否大于预设值,若判断结果为是,则进入步骤4;
步骤4,在两个节点之间进行线性插值,并将所述线性插值处理后的所有节点保存在树Tpath中;
步骤5,在区间(0,1)上对p进行随机取值,并判断p值是否大于常数P0,若判断结果为是,则进入步骤6;
步骤6,在树Tpath的所有节点中随机选取一个节点作为第二随机点Xrand;
步骤7,在树Tpath中,获取第二随机点Xrand的父节点、
步骤8,判断树Tpath中路径节点是否发生变化,若判断结果为是,则返回步骤2。
进一步的,在本发明实施例提供的上述路径实时优化方法中,所述判断p值是否大于常数P0还包括:
若判断结果为否,则在预设空间内任意选取一个节点作为第三随机点Xrand,并在树T中利用RRT*算法扩展所述第三随机节点Xrand,进入步骤8。
进一步的,在本发明实施例提供的上述路径实时优化方法中,所述获取第二随机点Xrand的父节点包括:
在树Tpath中,将第二随机点Xrand赋值给X0;
依次将X0的父节点赋值给X0,并计算X0与Xrand的路径代价;
若当前路径代价小于上一次计算的路径代价,则令X0为Xrand的父节点。
进一步的,在本发明实施例提供的上述路径实时优化方法中,所述判断树Tpath中路径节点是否发生变化还包括:
若判断结果为否,则返回步骤5。
本发明实施例再一方面还提供一种路径实时优化装置,所述路径实时优化装置包括:
初始化模块,用于初始化树T,并以起点作为根节点;
路径获取模块,用于获取从起点到目标点的路径;
第一判断模块,用于判断所述路径上的两个节点之间的距离是否大于预设值;
节点保存模块,用于在判断结果为是时,在两个节点之间进行线性插值,并将所述线性插值处理后的所有节点保存在树Tpath中;
第二判断模块,用于在区间(0,1)上对p进行随机取值,并判断p值是否大于常数P0;
随机选取模块,用于在判断结果为是时,在树Tpath的所有节点中随机选取一个节点作为第二随机点Xrand;
父节点获取模块,用于在树Tpath中,获取第二随机点Xrand的父节点;
第三判断模块,用于判断树Tpath中路径节点是否发生变化。
本发明实施例再一方面还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的路径规划方法的步骤以及上述任意一项所述的路径实时优化方法的步骤。
本发明实施例再一方面还提供一种终端装置,所述终端装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述任意一项所述的路径规划方法的步骤以及上述任意一项所述的路径实时优化方法的步骤。
本发明实施例提供的路径规划方法及装置、路径实时优化方法及装置和计算机可读存储介质,利用路径规划方法可以找到任意一条可行的路径,继而使用路径实时优化方法能够对当前可行的路径进行实时优化,从而输出优化路径。利用本发明实施例能够以更快的速度搜索出一条无碰撞的可行路径。本发明实施例提供的方法收敛速度快,在短时间内迅速收敛逼近最优路径,实时优化路径。本发明不需要太多的内存来存储节点信息,可以在高维空间如机械臂规划上实现。
附图说明
图1为本发明实施例提供的路径规划方法的流程图。
图2为本发明实施例提供的路径实时优化方法的流程图。
图3为本发明一实施方式的终端的结构示意图。
图4为图3所示的终端的示例性的功能模块图。
图5为本发明另一实施方式的终端的结构示意图。
图6为图5所示的终端的示例性的功能模块图。
主要元件符号说明
终端 | 1 |
存储器 | 10 |
显示屏 | 20 |
处理器 | 30 |
路径规划装置 | 100 |
路径实时优化装置 | 200 |
初始化模块 | 11、21 |
随机采样模块 | 12 |
最近点获取模块 | 13 |
第一判断模块 | 14、23 |
标记模块 | 15 |
代价计算模块 | 16 |
第二判断模块 | 17、25 |
第三判断模块 | 18、28 |
路径获取模块 | 19、22 |
节点保存模块 | 24 |
随机选取模块 | 26 |
父节点获取模块 | 27 |
如下具体实施方式将结合上述附图进一步说明本发明实施例。
具体实施方式
为了能够更清楚地理解本发明实施例的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明实施例,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明实施例保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明实施例的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明实施例。
请参阅图1,图1为本发明实施例提供的路径规划方法的流程图。如图1所示,所述路径规划方法可以包括如下步骤:
S101:初始化树Ta、Tb,并分别以起点和目标点作为树Ta、Tb的根节点。
本实施方式中,连通而不含回路的无向树称为树。树的初始化目的是为了建立一颗空树,初始化树Ta、Tb是指建立空树Ta、Tb。树是n个节点(元素的有限集合),当n=0时,称这棵树为空树。树是有且仅有一个树根节点,树的根节点是同一颗树中除本身外所有节点的祖先。将起点作为树Ta的根节点,将目标点作为树Tb的根节点。
S102:在预设空间内随机采样,得到第一随机点Xrand。
本实施方式中,在预设空间内随机选取节点,所述预设空间是指与实际物理空间相互映射的抽象空间,建立预设空间的目的是建立一个便于计算机进行路径规划所使用的空间模型。在预设空间内随机选取的节点作为第一随机点Xrand。
S103:在树Ta中寻找距离第一随机点Xrand最近的点Xnearest。
本实施方式中,在二维平面上,所述在树Ta中寻找距离第一随机点Xrand最近的点Xnearest就是找到与第一随机点Xrand的直线距离最短的点,作为Xnearest。可以理解,在更高维空间中,还可以用欧氏距离来表示。
S104:利用贪婪搜索策略,判断第一随机点Xrand与Xnearest之间的路径是否可行,如果是,则进入步骤S105,否则,执行步骤S1041。
本实施方式中,所述贪婪搜索策略是指所求问题的整体最优解可以通过一系列局部最优的选择来达成。所述贪婪搜索策略的基本思路是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解。每一步只考虑一个数据,它的选取应该满足局部优化的条件。若下一个数据和部分最优解连在一起不再是可行解时,就不把该数据添加到部分解中,直到把所有数据枚举完成,或者不能再添加算法位置。所述判断第一随机点Xrand与Xnearest之间的路径是否可行也就是判断第一随机点Xrand与Xnearest之间是否存在碰撞,若存在碰撞,则表明第一随机点Xrand与Xnearest之间的路径是不可行的。
S1041:从Xnearest向第一随机点Xrand扩展预设步长,扩展节点作为Xnew,并判断Xnew是否可行,如果判断结果为是,则进入步骤S106,否则,返回步骤S102。
本实施方式中,若第一随机点Xrand与Xnearest之间的路径不可行,则可以选定第一随机点Xrand为一个扩展方向,从Xnearest向第一随机点Xrand方向扩展预设步长,扩展节点作为Xnew。所述预设步长可以是本领域技术人员根据经验设定的值。判断Xnew是否可行,也即判断Xnew是否与障碍物发生碰撞,若发生碰撞,则放弃本次生长,返回步骤S102。若未发生碰撞,则进入步骤S106,将Xnew添加到树Ta中。
S105:将第一随机点Xrand作为Xnew。
本实施方式中,若第一随机点Xrand与Xnearest之间的路径是可行的,则可以直接将所述第一随机点Xrand作为节点Xnew。
S106:将Xnew添加到树Ta中,并在树Ta中获取与Xnew距离在预设范围内的点,将计算出预设范围内的点到Xnew路径代价最小的点作为Xnew的最佳父节点。
本实施方式中,在树Ta中寻找与Xnew距离在预设范围内的点,并计算出使得预设范围内的点到Xnew路径代价最小的点,作为Xnew的最佳父节点。在二维平面上,所述路径代价最小也即与Xnew的直线距离最小。在更高维空间上,所述路径代价最小也即Xnew的欧氏距离最小。所述预设范围可以是本领域技术人员根据经验设定的值。具体的,可以构建关于Xnew的代价函数,在距离Xnew预设范围内获取使得所述代价函数的函数值最小的点即为使得Xnew路径代价最小的点。所述父节点是指若一个节点含有子节点,则这个节点称为其子节点的父节点。
S107:判断Xnew到所述最佳父节点的路径是否可行,如果是,则进入步骤S108,否则,进入步骤S1071。
本实施方式中,可以理解,所述Xnew到所述最佳父节点的路径是否可行,也即判断Xnew到所述最佳父节点的路径是否存在碰撞,若存在碰撞,则表明Xnew到所述最佳父节点的路径不可行。若不存在碰撞,则表明Xnew到所述最佳父节点的路径可行。
S1071:放弃节点Xnew,并返回步骤S102。
S108:判断树Ta、Tb是否相连,如果判断结果为是,则进入步骤S109,否则,进入步骤S1081。
本实施方式中,判断树Ta、Tb是否相连,若树Ta、Tb相连,则可以找到从起点到目标点的可行路径。可以理解,在树Ta的第一次扩展(第一次是指在预设空间内随机采样)之后,此时的树Ta、Tb不相连。在判断得出树Ta、Tb不相连之后,进入步骤S1081以对树Ta进行第二次扩展(第二次是指在树Tb中找到距离Xnew最近的点Xb)。在树Ta进行第二次扩展之后,此时树Ta、Tb可能相连,也可能不相连。
S1081:判断Xb是否等于Xrand,若判断结果为是,则进入步骤S1082,否则,进入步骤S1083。
本实施方式中,Xb是指树Tb中最新生成的点。可以理解,在树Ta的第一次扩展(第一次是指在预设空间内随机采样)之后,此时的Xb未被赋值,所以Xb的值为空,因而判断得出Xb不等于Xrand。在判断结果为否时,进入步骤S1083以对Xb进行赋值。
S1082:将树Ta、Tb进行交换,并返回步骤S102。
本实施方式中,将树Ta、Tb进行交换,对树Ta、Tb进行交换也即将变量Ta的名字改为Tb,同时将变量Tb的名字改为Ta。对树Ta、Tb进行交换之后,在本方法中只需要处理树Ta即可,因而可以提高处理速度。
S1083:在树Tb中找到距离Xnew最近的点Xb。
本实施方式中,可以理解,在二维空间上,所述在树Tb中找到距离Xnew最近的点Xb也即在树Tb中找到与Xnew的直线距离最小的点Xb。在更高维空间上,所述在树Tb中找到距离Xnew最近的点Xb也即在树Tb中找到与Xnew的欧氏距离最小的点Xb。所述在树Tb中找到距离Xnew最近的点Xb也即所述对树Ta进行第二次扩展。
S1084:将Xrand赋值为Xb,并返回步骤S103。
本实施方式中,将Xrand赋值为Xb,并返回步骤S103,此时判断树Ta、Tb是否相连,也即判断Xb与Xnew之间是否存在碰撞(也即是否存在障碍),若存在碰撞,则树Ta、Tb不相连。若不存在碰撞,则树Ta、Tb相连,因而可以获得连接起点与目标点的可行路径。
S109:获取可行路径,并利用路径实时优化方法对所述可行路径进行实时优化。
本发明实施例提供的路径规划方法,能够提高在起点与目标点之间找到任意一条可行路径的速率,且适用于各种障碍物分布的环境,能够用于高维空间内的规划,如机械臂规划。
请参阅图2,图2为本发明实施例提供的路径实时优化方法的流程图。如图2所示,所述路径实时优化方法可以包括如下步骤:
S201:初始化树T,并以起点作为根节点。
本实施方式中,初始化树T,也即建立空树T,将起点作为树T的根节点。
S202:获取从起点到目标点的路径。
本实施方式中,获取从起点到目标点的路径,所述路径是指连接起点位置和目标点位置的序列点或曲线。
S203:判断路径上的两个节点之间的距离是否大于预设值,如果是,则进入步骤S204,否则继续执行本步骤S203或者结束流程。
本实施方式中,所述预设值可以是本领域技术人员根据经验而设定的值。所述两个节点可以为两个相邻的节点。可以理解,在二维空间上,两个相邻节点之间的距离是指直线距离,判断直线距离的值是否大于预设值。在更高维空间上,两个相邻节点之间的距离可以指欧氏距离,判断欧氏距离的值是否大于预设值。
S204:在两个节点之间进行线性插值,并将所述线性插值处理后的所有节点保存在树Tpath中。
本实施方式中,线性插值是指插值函数为一次多项式的插值方式,其在插值节点上的插值误差为零。若判断得出路径上的两个节点之间的距离大于预设值,则在两个节点之间进行线性插值处理,并将经过线性插值处理后的所有节点保存在树Tpath中。可以理解,树Tpath中只包含从起点到目标点的可行路径上的节点。而树T中包含了所有的节点信息,包括不在可行路径上的节点。
S205:在区间(0,1)上对p进行随机取值,并判断p值是否大于常数P0,如果是,则进入步骤S206,否则,进入步骤S2061。
本实施方式中,在基本RRT算法基础上采用一种目标偏向采样策略,提前设定一个目标偏向概率阈值,也即常数P0。在预设空间内进行随机采样时根据均匀概率分布在区间(0,1)上随机获得一个概率值p,将p值与常数P0的取值进行比较,进而获得第二/三随机点Xrand。常数P0为一个(0,1)区间的值,常数P0是根据本领域技术人员根据经验而设定的值。本实施方式中,选取的常数P0的值为0.7。
S2061:在预设空间内任意选取一个节点作为第三随机点Xrand,并在树T中利用RRT*算法扩展所述第三随机节点Xrand,进入步骤S208。
本实施方式中,所述在树T中利用RRT*算法扩展所述第三随机节点Xrand可以包括:选定第三随机点Xrand为一个扩展方向,并向第三随机点Xrand的扩展方向扩展一定步长,扩展节点为X1。判断树Tpath中路径节点是否发生变化,若判断结果为是,则返回步骤S202,否则,返回步骤S205。
S206:在树Tpath中随机选取一个节点作为第二随机点Xrand。
S207:在树Tpath中,获取第二随机点Xrand的父节点。
本实施方式中,所述获取第二随机点Xrand的父节点的方法可以包括:在树Tpath中,将第二随机点Xrand赋值为X0,依次将X0的父节点赋值给X0,并计算X0与Xrand的路径代价;若当前路径代价小于上一次计算的路径代价,则令X0为Xrand的父节点。
S208:判断树Tpath中路径节点是否发生变化,如果是,则返回步骤S202,否则,则返回步骤S205。
本发明实施例提供的路径实时优化方法中,,对于路径的插值处理可以保证路径上节点的数量,有利于路径的优化处理;以一定概率选取路径上的随机节点可以加速路径收敛,且以一定概率选取预设空间的随机点,可以使得路径不会陷入局部最小值。
以上是对本发明实施例所提供的方法进行的详细描述。根据不同的需求,所示流程图中方块的执行顺序可以改变,某些方块可以省略。下面对本发明实施例所提供的路径规划装置以及路径实时优化装置进行描述。
本发明实施例还提供一种终端装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施方式中所述的路径规划方法以及路径实时优化方法的步骤。
图3是本发明一实施方式的终端的结构示意图,如图3所示,终端1包括存储器10,存储器10中存储有路径规划装置100。所述的终端1可以是个人数字助理等具有应用显示功能的终端。所述路径规划装置100可以初始化树Ta、Tb,并分别以起点和目标点作为树Ta、Tb的根节点;在预设空间内随机采样,得到第一随机点Xrand;在树Ta中寻找距离第一随机点Xrand最近的点Xnearest;利用贪婪搜索策略,判断第一随机点Xrand与Xnearest之间的路径是否可行,若判断结果为是,则将第一随机点Xrand作为Xnew;将Xnew添加到树Ta中,并在树Ta中获取与Xnew距离在预设范围内的点,将计算出预设范围内的点到Xnew路径代价最小的点作为Xnew的最佳父节点;判断Xnew到所述最佳父节点的路径是否可行,若判断结果为是,则判断树Ta、Tb是否相连,若判断结果为是,则获取可行路径,并利用路径实时优化方法对所述可行路径进行实时优化。利用本发明实施例,可以快速找到一个可行路径。
终端1还可以包括显示屏20及处理器30。存储器10、显示屏20可以分别与处理器30电连接。
所述的存储器10可以是不同类型存储设备,用于存储各类数据。例如,可以是终端1的存储器、内存,还可以是可外接于该终端1的存储卡,如闪存、SM卡(Smart Media Card,智能媒体卡)、SD卡(Secure Digital Card,安全数字卡)等。此外,存储器10包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器10存储各类数据,例如,所述终端1中安装的各类应用程序(Applications)、应用上述路径规划方法而设置、获取的数据等信息。
显示屏20安装于终端1,用于显示信息。
处理器30用于执行所述路径规划方法以及所述终端1内安装的各类软件,例如操作系统及应用显示软件等。处理器30包含但不限于处理器(Central Processing Unit,CPU)、微控制单元(Micro Controller Unit,MCU)等用于解释计算机指令以及处理计算机软件中的数据的装置。
所述的路径规划装置100可以包括一个或多个的模块,所述一个或多个模块被存储在终端1的存储器10中并被配置成由一个或多个处理器(本实施方式为一个处理器30)执行,以完成本发明实施例。例如,参阅图4所示,所述路径规划装置100可以包括初始化模块11、随机采样模块12、最近点获取模块13、第一判断模块14、标记模块15、代价计算模块16、第二判断模块17、第三判断模块18、路径获取模块19。本发明实施例所称的模块可以是完成一特定功能的程序段,比程序更适合于描述软件在处理器中的执行过程。
可以理解的是,对应上述路径规划方法中的各实施方式,终端1可以包括图4中所示的各功能模块中的一部分或全部,各模块的功能将在以下具体介绍。需要说明的是,以上路径规划方法的各实施方式中相同的名词相关名词及其具体的解释说明也可以适用于以下对各模块的功能介绍。为节省篇幅及避免重复起见,在此就不再赘述。
初始化模块11可以用于初始化树Ta、Tb,并分别以起点和目标点作为树Ta、Tb的根节点。
随机采样模块12可以用于在预设空间内随机采样,得到第一随机点Xrand。
最近点获取模块13可以用于在树Ta中获取距离第一随机点Xrand最近的点Xnearest。
第一判断模块14可以用于利用贪婪搜索策略,判断第一随机点Xrand与Xnearest之间的路径是否可行。
标记模块15可以用于在判断结果为是时,将第一随机点Xrand作为Xnew。
代价计算模块16可以用于将Xnew添加到树Ta中,并在树Ta中获取与Xnew距离在预设范围内的点,将计算出预设范围内的点到Xnew路径代价最小的点作为Xnew的最佳父节点。
第二判断模块17可以用于判断Xnew到所述最佳父节点的路径是否可行。
第三判断模块18可以用于在判断结果为是时,判断树Ta、Tb是否相连,若判断结果为是,则进入步骤9中。
路径获取模块19可以用于获取可行路径,并利用路径实时优化方法对所述可行路径进行实时优化。
图5是本发明另一实施方式的终端的结构示意图。如图5所示,终端1包括存储器10,存储器10中存储有路径实时优化装置200。终端1还可以包括显示屏20及处理器30。存储器10、显示屏20可以分别与处理器30电连接。所述的路径实时优化装置200可以包括一个或多个的模块,所述一个或多个模块被存储在终端1的存储器10中并被配置成由一个或多个处理器(本实施方式为一个处理器30)执行,以完成本发明实施例。例如,参阅图6所示,所述路径实时优化装置200可以包括初始化模块21、路径获取模块22、第一判断模块23、节点保存模块24、第二判断模块25、随机选取模块26、父节点获取模块27、第三判断模块28。可以理解的是,对应上述路径实时优化方法中的各实施方式,终端1可以包括图6中所示的各功能模块中的一部分或全部,各模块的功能将在以下具体介绍。
初始化模块21可以用于初始化树T,并以起点作为根节点。
路径获取模块22可以用于获取从起点到目标点的路径。
第一判断模块23可以用于判断所述路径上的两个节点之间的距离是否大于预设值。
节点保存模块24可以用于在判断结果为是时,在两个节点之间进行线性插值,并将所述线性插值处理后的所有节点保存在树Tpath中。
第二判断模块25可以用于在区间(0,1)上对p进行随机取值,并判断p值是否大于常数P0。
随机选取模块26可以用于在判断结果为是时,在树Tpath的所有节点中随机选取一个节点作为第二随机点Xrand。
父节点获取模块27可以用于在树Tpath中,获取第二随机点Xrand的父节点。
第三判断模块28可以用于判断树Tpath中路径节点是否发生变化。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式中的路径规划方法以及路径实时优化方法的步骤。
所述路径规划装置/路径实时优化装置/终端/计算机设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述路径规划装置/路径实时优化装置/终端的控制中心,利用各种接口和线路连接整个路径规划装置/路径实时优化装置/终端的各个部分。
所述存储器用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述路径规划装置/路径实时优化装置/终端的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在本发明所提供的几个具体实施方式中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的系统实施方式仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。
以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。
Claims (10)
1.一种路径规划方法,其特征在于,所述路径规划方法包括:
步骤1,初始化树Ta、Tb,并分别以起点和目标点作为树Ta、Tb的根节点;
步骤2,在预设空间内随机采样,得到第一随机点Xrand;
步骤3,在树Ta中获取距离第一随机点Xrand最近的点Xnearest;
步骤4,利用贪婪搜索策略,判断第一随机点Xrand与Xnearest之间的路径是否可行,若判断结果为是,则进入步骤5;
步骤5,将第一随机点Xrand作为Xnew;
步骤6,将Xnew添加到树Ta中,并在树Ta中获取与Xnew距离在预设范围内的点,将计算出预设范围内的点到Xnew路径代价最小的点作为Xnew的最佳父节点;
步骤7,判断Xnew到所述最佳父节点的路径是否可行,若判断结果为是,则进入步骤8;
步骤8,判断树Ta、Tb是否相连,若判断结果为是,则进入步骤9;
步骤9,获取可行路径,并利用路径实时优化方法对所述可行路径进行实时优化。
2.根据权利要求1所述的路径规划方法,其特征在于,所述判断第一随机点Xrand与Xnearest之间的路径是否可行还包括:
若判断结果为否,则从Xnearest向第一随机点Xrand扩展预设步长,扩展节点为Xnew;
判断Xnew是否可行;
若Xnew不可行,则返回步骤2在预设空间内进行重新随机采样,若Xnew可行,则进入步骤6。
3.根据权利要求1所述的路径规划方法,其特征在于,所述判断Xnew到所述最佳父节点的路径是否可行还包括:
若判断结果为否,则放弃节点Xnew,并返回步骤2在预设空间内进行重新随机采样。
4.根据权利要求1所述的路径规划方法,其特征在于,所述判断树Ta、Tb是否相连还包括:
若判断结果为否,则判断Xb是否等于Xrand,若判断结果为是,则进入步骤11,否则,进入步骤12;
步骤11,将树Ta、Tb进行交换,并返回步骤2;
步骤12,在树Tb中找到距离Xnew最近的点Xb;
步骤13,将Xrand赋值为Xb,并返回步骤3。
5.一种路径规划装置,其特征在于,所述路径规划装置包括:
初始化模块,用于初始化树Ta、Tb,并分别以起点和目标点作为树Ta、Tb的根节点;
随机采样模块,用于在预设空间内随机采样,得到第一随机点Xrand;
最近点获取模块,在树Ta中获取距离第一随机点Xrand最近的点Xnearest;
第一判断模块,用于利用贪婪搜索策略,判断第一随机点Xrand与Xnearest之间的路径是否可行;
标记模块,用于在判断结果为是时,将第一随机点Xrand作为Xnew;
代价计算模块,用于将Xnew添加到树Ta中,并在树Ta中获取与Xnew距离在预设范围内的点,将计算出预设范围内的点到Xnew路径代价最小的点作为Xnew的最佳父节点;
第二判断模块,用于判断Xnew到所述最佳父节点的路径是否可行;
第三判断模块,用于在判断结果为是时,判断树Ta、Tb是否相连;
路径获取模块,获取可行路径,并利用路径实时优化方法对所述可行路径进行实时优化。
6.一种应用于权利要求1中所述的路径实时优化方法,其特征在于,所述路径实时优化方法包括:
步骤1,初始化树T,并以起点作为根节点;
步骤2,获取从起点到目标点的路径;
步骤3,判断所述路径上的两个节点之间的距离是否大于预设值,若判断结果为是,则进入步骤4;
步骤4,在两个节点之间进行线性插值,并将所述线性插值处理后的所有节点保存在树Tpath中;
步骤5,在区间(0,1)上对p进行随机取值,并判断p值是否大于常数P0,若判断结果为是,则进入步骤6;
步骤6,在树Tpath的所有节点中随机选取一个节点作为第二随机点Xrand;
步骤7,在树Tpath中,获取第二随机点Xrand的父节点;
步骤8,判断树Tpath中路径节点是否发生变化,若判断结果为是,则返回步骤2。
7.根据权利要求6所述的路径实时优化方法,其特征在于,所述判断p值是否大于常数P0还包括:
若判断结果为否,则在预设空间内任意选取一个节点作为第三随机点Xrand,并在树T中利用RRT*算法扩展所述第三随机节点Xrand,进入步骤8。
8.根据权利要求6所述的路径实时优化方法,其特征在于,所述获取第二随机点Xrand的父节点包括:
在树Tpath中,将第二随机点Xrand赋值给X0;
依次将X0的父节点赋值给X0,并计算X0与Xrand的路径代价;
若当前路径代价小于上一次计算的路径代价,则令X0为Xrand的父节点。
9.根据权利要求6所述的路径实时优化方法,其特征在于,所述判断树Tpath中路径节点是否发生变化还包括:
若判断结果为否,则返回步骤5。
10.一种路径实时优化装置,其特征在于,所述路径实时优化装置包括:
初始化模块,用于初始化树T,并以起点作为根节点;
路径获取模块,用于获取从起点到目标点的路径;
第一判断模块,用于判断所述路径上的两个节点之间的距离是否大于预设值;
节点保存模块,用于在判断结果为是时,在两个节点之间进行线性插值,并将所述线性插值处理后的所有节点保存在树Tpath中;
第二判断模块,用于在区间(0,1)上对p进行随机取值,并判断p值是否大于常数P0;
随机选取模块,用于在判断结果为是时,在树Tpath的所有节点中随机选取一个节点作为第二随机点Xrand;
父节点获取模块,用于在树Tpath中,获取第二随机点Xrand的父节点;
第三判断模块,用于判断树Tpath中路径节点是否发生变化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810565002.3A CN108876024B (zh) | 2018-06-04 | 2018-06-04 | 路径规划、路径实时优化方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810565002.3A CN108876024B (zh) | 2018-06-04 | 2018-06-04 | 路径规划、路径实时优化方法及装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108876024A true CN108876024A (zh) | 2018-11-23 |
CN108876024B CN108876024B (zh) | 2021-09-28 |
Family
ID=64335490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810565002.3A Active CN108876024B (zh) | 2018-06-04 | 2018-06-04 | 路径规划、路径实时优化方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108876024B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109798911A (zh) * | 2019-02-28 | 2019-05-24 | 北京智行者科技有限公司 | 一种用于代客泊车的全局路径规划方法 |
CN109877836A (zh) * | 2019-03-13 | 2019-06-14 | 浙江大华技术股份有限公司 | 路径规划方法、装置、机械臂控制器和可读存储介质 |
CN109978274A (zh) * | 2019-04-02 | 2019-07-05 | 海南阿凡题科技有限公司 | 调度路径的规划方法 |
CN110146085A (zh) * | 2019-05-30 | 2019-08-20 | 中国人民解放军国防科技大学 | 基于建图和快速探索随机树的无人机实时规避重规划方法 |
CN110427027A (zh) * | 2019-07-18 | 2019-11-08 | 浙江吉利汽车研究院有限公司 | 用于自动驾驶的导航路线生成方法、装置和自动驾驶系统 |
CN111207767A (zh) * | 2020-02-20 | 2020-05-29 | 大连理工大学 | 一种基于rrt算法改进的车辆规划算法 |
CN111561947A (zh) * | 2020-07-14 | 2020-08-21 | 浙江大华技术股份有限公司 | 路径规划方法、装置及计算机存储介质 |
CN114172895A (zh) * | 2021-12-07 | 2022-03-11 | 中国建设银行股份有限公司 | 一种路由方法、装置、计算机设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104155974A (zh) * | 2013-07-29 | 2014-11-19 | 深圳信息职业技术学院 | 一种用于机器人快速避碰的路径规划方法及设备 |
CN107085437A (zh) * | 2017-03-20 | 2017-08-22 | 浙江工业大学 | 一种基于eb‑rrt的无人机航迹规划方法 |
-
2018
- 2018-06-04 CN CN201810565002.3A patent/CN108876024B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104155974A (zh) * | 2013-07-29 | 2014-11-19 | 深圳信息职业技术学院 | 一种用于机器人快速避碰的路径规划方法及设备 |
CN107085437A (zh) * | 2017-03-20 | 2017-08-22 | 浙江工业大学 | 一种基于eb‑rrt的无人机航迹规划方法 |
Non-Patent Citations (3)
Title |
---|
X.Z. ZANG 等: "Path Planning Based on Bi-RRT Algorithm for Redundant Manipulator", 《INTERNATIONAL CONFERENCE OF ELECTRICAL, AUTOMATION AND MECHANICAL ENGINEERING (EAME 2015)》 * |
尹斌: "冗余机械臂运动学及避障路径规划研究", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 * |
徐联杰 等: "一种基于改进快速搜索随机树算法的管路自动布局方法", 《图学学报》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109798911A (zh) * | 2019-02-28 | 2019-05-24 | 北京智行者科技有限公司 | 一种用于代客泊车的全局路径规划方法 |
CN109877836A (zh) * | 2019-03-13 | 2019-06-14 | 浙江大华技术股份有限公司 | 路径规划方法、装置、机械臂控制器和可读存储介质 |
CN109877836B (zh) * | 2019-03-13 | 2021-06-08 | 浙江大华技术股份有限公司 | 路径规划方法、装置、机械臂控制器和可读存储介质 |
CN109978274A (zh) * | 2019-04-02 | 2019-07-05 | 海南阿凡题科技有限公司 | 调度路径的规划方法 |
CN110146085A (zh) * | 2019-05-30 | 2019-08-20 | 中国人民解放军国防科技大学 | 基于建图和快速探索随机树的无人机实时规避重规划方法 |
CN110146085B (zh) * | 2019-05-30 | 2022-04-19 | 中国人民解放军国防科技大学 | 基于建图和快速探索随机树的无人机实时规避重规划方法 |
CN110427027A (zh) * | 2019-07-18 | 2019-11-08 | 浙江吉利汽车研究院有限公司 | 用于自动驾驶的导航路线生成方法、装置和自动驾驶系统 |
CN111207767A (zh) * | 2020-02-20 | 2020-05-29 | 大连理工大学 | 一种基于rrt算法改进的车辆规划算法 |
CN111207767B (zh) * | 2020-02-20 | 2023-06-16 | 大连理工大学 | 一种基于rrt算法改进的车辆规划算法 |
CN111561947A (zh) * | 2020-07-14 | 2020-08-21 | 浙江大华技术股份有限公司 | 路径规划方法、装置及计算机存储介质 |
CN114172895A (zh) * | 2021-12-07 | 2022-03-11 | 中国建设银行股份有限公司 | 一种路由方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108876024B (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108876024A (zh) | 路径规划、路径实时优化方法及装置、存储介质 | |
Shi et al. | Optimal buffer allocation in production lines | |
CN108896052A (zh) | 一种基于动态复杂环境下的移动机器人平滑路径规划方法 | |
CN108645411A (zh) | 基于粒子群算法的机器人路径规划方法、装置及终端设备 | |
CN109540155A (zh) | 一种扫地机器人的路径规划与导航方法、计算机装置以及计算机可读存储介质 | |
US8237706B2 (en) | Apparatus and method for simplifying three-dimensional mesh data | |
CN114721402B (zh) | 一种基于改进蚁群算法的泊车路径规划方法及系统 | |
CN108470364A (zh) | 一种曲线拟合方法和装置 | |
CN103529843A (zh) | Lambda*路径规划算法 | |
CN108413963A (zh) | 基于自学习蚁群算法的条形机器人路径规划方法 | |
Denny et al. | Lazy toggle PRM: A single-query approach to motion planning | |
CN108303098A (zh) | 机器人路径规划方法及设备 | |
CN107744663A (zh) | 人工智能ai单位的寻路方法及装置 | |
CN112985443B (zh) | 路径规划方法、装置及终端设备 | |
CN114593743A (zh) | 一种基于改进双向rrt算法的路径规划方法及装置 | |
Martin et al. | Offline and online evolutionary bi-directional RRT algorithms for efficient re-planning in dynamic environments | |
CN114485611A (zh) | 基于北斗网格码的三维空间最短路径规划方法和装置 | |
CN106156245A (zh) | 一种电子地图中的线要素合并方法及装置 | |
Głabowski et al. | Efficiency evaluation of shortest path algorithms | |
CN110264140A (zh) | 一种带时间窗的物流运输调度方法、装置及设备 | |
Lai et al. | Path planning and obstacle avoidance approaches for robot arm | |
Jan et al. | A 4-geometry maze router and its application on multiterminal nets | |
CN114547954A (zh) | 物流配送中心选址方法、装置、计算机设备 | |
CN115375699B (zh) | 点云分割方法、移动机器人及计算机可读存储介质 | |
CN116009552A (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 |