CN112229419B - 一种动态路径规划导航方法及*** - Google Patents
一种动态路径规划导航方法及*** Download PDFInfo
- Publication number
- CN112229419B CN112229419B CN202011065177.1A CN202011065177A CN112229419B CN 112229419 B CN112229419 B CN 112229419B CN 202011065177 A CN202011065177 A CN 202011065177A CN 112229419 B CN112229419 B CN 112229419B
- Authority
- CN
- China
- Prior art keywords
- point
- jumping
- robot
- path
- target 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
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/3415—Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本发明属于机器人路径规划领域,提供了一种动态路径规划导航方法及***。其中,动态路径规划导航方法包括以起始点为搜索中心,在当前静态地图使用跳点搜索算法搜索路径,驱动机器人沿搜索路径运动;在环境变化时根据动态跳点生成规则生成临近当前位置的跳点并指定新的运动路径;判断临近当前位置的跳点与目标点的可直线到达性:若可直线到达,则驱动机器人沿指定的新运动路径运动;若不可直线到达,则以当前点为搜索中心,在当前静态地图使用跳点搜索算法继续搜索路径并驱动机器人运动,直至到达目标点。
Description
技术领域
本发明属于机器人路径规划领域,尤其涉及一种动态路径规划导航方法及***。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
巡检机器人多应用于社区、工厂等环境,以替代人力执行枯燥、单一的安防巡检任务。但现有巡检机器人多数存在路径规划环节占用运算资源多,动态规划易陷入局部振荡,以及轨迹跟踪实时性较差等问题,导致巡检机器人无法很好应对突发的侦察等任务需求。其中当前机器人路径规划算法存在问题尤为明显,尤其是在地图环境较大的情况下存在运算耗时较高、响应慢等问题,造成机器人运动的不连续性。
目前已有的路径规划技术凭借搜索方式的差异进行划分可细分至以下四种:人工势场法、基于图的搜索算法、基于采样规划的算法以及智能仿生算法。
(1)人工势场法:将目标于已知区域内的驱动力模拟为目标引力和障碍斥力综合作用造成的势场作用,生成运动轨迹平滑且稳定,缺点是存在目标不可达和局部最优解问题。
(2)基于图的搜索算法:根据图搜索原理提出的A*算法、JPS算法等,可实现静态环境下的路径规划。同时Sven Koenig等基于A*算法所具备优势及存在的不足,提出一种适用于动态环境的D*Lite算法,可实现在周边环境变化的情况下的快速完成路径规划,缺点是在地图环境较大的情况下存在运算耗时较高、响应慢。
(3)基于采样规划的算法:以快速探索随机树RRT算法为代表,该算法可覆盖整个空间搜索,计算效率很高,可在多维环境中使用。缺点是基本RRT算法收敛到终点位姿的速度比较慢,倾向于遍历整个自由空间直到获得可行路径,这使其不可能用于未知或动态环境中的机器人在线运动规划。
(4)智能仿生算法:主要包括遗传算法,粒子群算法及蚁群算法等,这些算法主要是解决优化问题中,传统优化方法无法解决的难题。缺点是环境复杂或维度较高时,算法运算占用资源较多,运算效率低。
综上所述,发明人发现,目前的路径规划算法在地图环境较大的情况下存在运算耗时较高、响应慢等问题。
发明内容
为了解决上述问题,本发明提供一种动态路径规划导航方法及***,其在传统跳点搜索算法的基础上,提出了动态搜索策略,形成了一种适用于动态环境的DJPS路径规划算法及相应规划策略,可在环境变化的情况下实时制定动态路径,并规避局部振荡问题,可改善巡检机器人开展路径规划环节时的实时性及稳定性。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种动态路径规划导航方法。
一种动态路径规划导航方法,包括:
以起始点为搜索中心,在当前静态地图使用跳点搜索算法搜索路径,驱动机器人沿搜索路径运动;
在环境变化时根据动态跳点生成规则生成临近当前位置的跳点并指定新的运动路径;
判断临近当前位置的跳点与目标点的可直线到达性:
若可直线到达,则驱动机器人沿指定的新运动路径运动;
若不可直线到达,则以当前点为搜索中心,在当前静态地图使用跳点搜索算法继续搜索路径并驱动机器人运动,直至到达目标点。
本发明的第二个方面提供一种动态路径规划导航***。
一种动态路径规划导航***,包括:
跳点搜索模块,其用于以起始点为搜索中心,在当前静态地图使用跳点搜索算法搜索路径,驱动机器人沿搜索路径运动;
动态跳点生成模块,其用于在环境变化时根据动态跳点生成规则生成临近当前位置的跳点并指定新的运动路径;
直线到达性判断模块,其用于判断临近当前位置的跳点与目标点的可直线到达性:
若可直线到达,则驱动机器人沿指定的新运动路径运动;
若不可直线到达,则以当前点为搜索中心,在当前静态地图使用跳点搜索算法继续搜索路径并驱动机器人运动,直至到达目标点。
本发明的第三个方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的动态路径规划导航方法中的步骤。
本发明的第四个方面提供一种计算机设备。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的动态路径规划导航方法中的步骤。
与现有技术相比,本发明的有益效果是:
本发明与以往的机器人路径规划技术相比,在JPS(Jump Point Search,跳点搜索)算法的基础上,提出了动态搜索策略,形成了一种适用于动态环境的DJPS(DynamicJump Point Search,动态跳点搜索)路径规划算法及相应规划策略,可在环境变化的情况下实时制定动态路径,并规避局部振荡问题,可改善巡检机器人开展路径规划环节时的实时性及稳定性。
本发明根据机器人应用环境及后续路径规划需求采用栅格法,在传统跳点搜索算法的基础上,提出了动态搜索策略,形成了一种适用于动态环境的DJPS路径规划算法及相应规划策略,用以解决侦察巡检机器人在未知环境下对障碍物及障碍物的动态路径规划技术问题,满足了侦察巡检机器人在未知大地图复杂环境下的实时运动规划需求,并为后续轨迹跟踪研究提供可靠的规划路线。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明实施例的动态路径规划导航方法流程图;
图2是本发明实施例的动态跳点生成示意图;
图3(a)是本发明实施例的双临近跳点非斜向情况下的直线跳点生成规则;
图3(b)是本发明实施例的单临近跳点斜向情况下的直线跳点生成规则;
图3(c)是本发明实施例的运动堵塞情况下的直线跳点生成规则;
图4(a)是本发明实施例的非斜向跳点生成情况下的斜线跳点生成规则;
图4(b)是本发明实施例的斜向跳点生成情况下的斜线跳点生成规则;
图4(c)是本发明实施例的临近跳点提前生成情况下的斜线跳点生成规则;
图5(a)是本发明实施例的临凹型障碍物阻塞时的“重搜索”情况;
图5(b)是本发明实施例的斜向跳点运动阻塞时的“重搜索”情况;
图6(a)是DJPS算法在未知凸型障碍物环境下的搜索过程中仿真环境1障碍位置图;
图6(b)是DJPS算法在未知凸型障碍物环境下的搜索过程中初始条件搜索路径;
图6(c)是DJPS算法在未知凸型障碍物环境下的搜索过程中搜索1/3时间时路径;
图6(d)是DJPS算法在未知凸型障碍物环境下的搜索过程中搜索2/3时间时的路径;
图6(e)是DJPS算法在未知凸型障碍物环境下的搜索过程中实际搜索结束的路径;
图6(f)是DJPS算法在未知凸型障碍物环境下的搜索过程中最终路径及相关扩展点;
图7(a)是仿真环境1下的D*Lite算法运动路径及扩展点情况;
图7(b)是仿真环境1下的PS算法运动路径及扩展点情况;
图8是仿真环境1下的400m×400m凸障碍物路径规划参数雷达图;
图9(a)是DJPS算法在未知凹型障碍物环境下的搜索过程中仿真环境2障碍位置图;
图9(b)是DJPS算法在未知凹型障碍物环境下的搜索过程中初始条件搜索路径;
图9(c)是DJPS算法在未知凹型障碍物环境下的搜索过程中搜索1/3时间时路径;
图9(d)是DJPS算法在未知凹型障碍物环境下的搜索过程中搜索2/3时间时的路径;
图9(e)是DJPS算法在未知凹型障碍物环境下的搜索过程中实际搜索结束的路径;
图9(f)是DJPS算法在未知凹型障碍物环境下的搜索过程中最终路径及相关扩展点;
图10(a)是仿真环境2下的D*Lite算法运动路径及扩展点情况;
图10(b)是仿真环境2下的JPS算法运动路径及扩展点情况;
图11是仿真环境2下的400m×400m凹障碍物路径规划参数雷达图;
图12是路径规划实验基本流程图;
图13(a)是实验部分区域;
图13(b)是实验部分区域的已建立地图;
图14(a)是场景一的JPS算法和A*算法路径规划结果图;
图14(b)是场景二的JPS算法和A*算法路径规划结果图;
图14(c)是场景三的JPS算法和A*算法路径规划结果图;
图14(d)是场景四的JPS算法和A*算法路径规划结果图;
图15(a)是路径规划算法耗时对比图;
图15(b)是规划路径距离对比图;
图15(c)是路径规划算法搜索点数量对比图;
图16是凸障碍环境实验关键节点及对应Rviz图;
图17是DJPS算法在凸障碍物环境下的相关参数;
图18是构建凹型障碍物实验环境;
图19是凹障碍环境实验关键节点及对应Rviz图;
图20是DJPS算法在凹障碍物环境下的相关参数。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
参照图1,本实施例的动态路径规划导航原理为:
步骤1:以起始点为搜索中心,在当前静态地图使用跳点搜索算法搜索路径,驱动机器人沿搜索路径运动。
在具体实施中,在当前静态地图使用跳点搜索算法搜索路径之前,还包括:
获取机器人巡检环境的地图,将地图划分栅格;
初始化地图设定全部空白。
步骤2:在环境变化时根据动态跳点生成规则生成临近当前位置的跳点并指定新的运动路径。
具体地,在环境变化时根据动态跳点生成规则,直接指定生成临近机器人当前位置的跳点,并指定临近跳点和目标点之间的转折跳点。
基于临近跳点、转折跳点和目标点,使用跳点搜索算法进行由目标点到起始点的反向搜索。
为实现侦察巡检机器人在未知地图信息情况下的路径规划,需要解决路径规划长度、规划所需时间及可躲避障碍物类型等问题,即实现如何在动态大地图环境下更好、更快、更稳的完成路径规划目标。目前常用动态地图环境下的搜索方法为D*Lite算法,但该算法在搜索地图环境较大的情况下需要维护的节点过多,占用资源多且计算耗时长,同时该算法存在在凹型障碍物环境下易陷入局部震荡。而JPS算法目前应用于静态地图环境,若直接将该算法应用于动态地图环境可以完成路径规划的需求,但需要频繁进行预处理环节,且预处理环节是JPS算法中耗时最高的环节,因此直接应用将导致机器人在动态地图环境下的路径规划环节耗时明显提高。
根据以上相关需求及现状分析,可基于传统JPS算法搜索核心进行动态搜索方面的改进,提出一种适用于未知地图环境下路径规划的DJPS算法,相关改进方面有:针对大地图动态环境下的搜索需求提出“指定动态跳点”策略;针对“指定动态跳点”策略在凹型障碍物内不易脱离等问题,提出“重搜索”策略。
“指定动态跳点”策略:在传统JPS算法中,预处理环节会沿目标点搜索方向遍历相关节点,挑选出符合规则的跳点放入openlist中以便后续进行路径规划,但在动态环境下侦察巡检机器人每运动一个栅格点都需要进行一次预处理的话,会造成运算时间的浪费。同时考虑在未知地图环境下的搜索特性,除去机器人当前所在位置及附近可探测栅格外,其余栅格点情况均为未知,则可根据以上情况进行关键跳点指定的算法研究:
1)跳点生成原则及路径规划流程。考虑到未知地图环境探索时绝大部分栅格点情况不明,可假设未知栅格点均为空白点,则如图2所示,定义点C为机器人当前所在位置,点T所在位置为转折跳点,点N所在位置为临近跳点,由于在进行路径规划时靠近目标点附近的栅格点均为空白点,除去生成的指定跳点外不存在其他跳点,因此可省去对目标点周围的预处理环节,直接指定生成临近机器人当前位置的跳点,并指定临近跳点和目标点之间的转折跳点即可。当得到临近跳点和转折跳点后,利用JPS算法进行由目标点到起始点的反向搜索,其中临近跳点、转折跳点和目标点已生成,只需计算临近跳点和当前位置之间的跳点,并与临近跳点、转折跳点和目标点一同放入openlist中进行路径规划即可,此时由于临近点靠近当前位置,则预处理时间会明显降低。当制定好运动路径后机器人即可沿路径进行运动,直到在已制定的路径上探测到障碍阻挡时开展新一轮的路径规划;
2)直线状态跳点生成方法。若侦察巡检机器人在已规划路线运动过程中探测到前方出现障碍,且此刻机器人当前位置C与目标点G处于直线状态,即图3(a)-图3(c)所示状态,则跳点生成方法如下:
①计算当前点C与目标点G直线方向间可探测范围最远处的障碍物位置;
②以直线方向上的最远距离障碍物位置为中心,沿垂直于机器人直线运动方向向两侧搜索,分别返回两个方向上首次出现的空白点栅格位置,定义返回的空白点栅格位置为生成的临近跳点Nn,如图3(a)所示。同时在搜索过程中,若有一个方向检测至地图边缘仍无空白点,则该方向不返回位置信息,如图3(b)所示;若两个方向均无空白点返回,说明前进方向堵塞无法进行路径规划,退出运算,如图3(c)所示;
③为保证生成的临近跳点与目标点之间能够到达,则需判断两点之间的关系。若临近跳点与目标点处于斜向位置关系,如图3(b)所示,则生成的临近跳点同时为转折跳点即可;若临近跳点与目标点处于非斜向位置关系,如图3(a)所示,则需将临近跳点Nn分别沿与目标点G的斜向方向迭代计算,当搜索计算到首次出现某栅格位置与目标点G任意方向位置相同时,定义该栅格位置为临近跳点Nn的对应转折跳点Tn,在该方向得到首个Tn后停止该方向的搜索,该步骤将得到1~2个转折跳点;
④以临近跳点为新起始点,原起始点为新目标点运行JPS算法预处理环节搜索跳点,其中搜索方向即为转折跳点向临近跳点前进的方向;
⑤将原始目标点、转折跳点、临近跳点以及相关跳点放入openlist进行JPS算法路径规划运算,即可得到当前探索情况下的机器人运动路径。
3)斜向状态跳点生成方法。若侦察巡检机器人在已规划路线运动过程中探测到前方出现障碍,且此时机器人当前位置C与目标点G处于斜线状态,即图4(a)-图4(c)所示状态,则跳点生成方法如下:
①计算当前点C与目标点G斜线方向间可探测范围最远处的障碍物位置;
②以斜线方向上最远位置的障碍物坐标为中心,沿斜线方向搜索首次出现的空白点栅格位置,定义返回的空白点栅格位置为生成的临近跳点N,并在得到N点后,通过判断N点和目标点G点之间的位置关系,采用与直线状态跳点搜索第③步相同的方法得到转折跳点T,非斜向及斜向的两种状态情况各自如图4(a)、图4(b)所示。其中若出现图4(c)所示状态,即当前点C进行斜向搜索到达最远距离障碍物的距离超过了到达目标点G的距离,此类情况下临近跳点N被定义为由C点斜向移动首次与G点水平或垂直的栅格位置,不需继续探索;
③进行剩余跳点的选择以及后续路径规划,方法等同于直线状态跳点搜索方法③~④步。
步骤3:判断临近当前位置的跳点与目标点的可直线到达性:
若可直线到达,则驱动机器人沿指定的新运动路径运动;若不可直线到达,则以当前点为搜索中心,在当前静态地图使用跳点搜索算法继续搜索路径并驱动机器人运动,直至到达目标点。
上述方法为“重搜索”策略,其在提出的“指定动态跳点”策略基础上,为解决机器人在未知环境下进入凹型障碍物内不易脱离的问题,要求所提出DJPS算法考虑JPS算法搜索特点进行针对性改善,例如对于图5(a)所示情况,当前点C与目标点G之间处于斜向搜索状态,可根据制定规则生成临近跳点N及转折跳点T,但由于JPS算法核心的搜索方向特性,在此类情况下由N点搜索到C点的路径均被障碍物堵塞,无法实现路径规划;同时在“指定动态跳点”策略下会出现一些特殊情况,使规划路径出现错误,例如图5(b)所示,在当前点C进行斜向搜索时,若按照制定的规则则可生成临近跳点N,但N点与G点间存在障碍物无法直线到达,会导致路径规划失败。
因此若出现以上相关情况,可将当前探索地图环境当做静态地图,直接由目标点G原地进行JPS算法重搜索,直到搜索到当前点C,将得到的跳点进行排序并开展路径规划,跳出当前规划困境,称作“重搜索”策略。对应算法方面即为当出现openlist中无数据时,由目标点G到当前点C进行一次JPS算法搜索。
为验证本实施例提出的DJPS算法相较D*Lite算法及传统JPS算法,可更好满足侦察巡检机器人在未知地图信息情况下的实时路径规划需求,将进行以上三种算法在未知凸型障碍物环境下的对比仿真。由于凸型障碍物相较来讲外形较为规则,没有内部包含区域,对于路径规划算法较为友好,不易出现局部震荡或无法搜索等问题,因此首先进行凸型障碍物环境下的对比仿真。
定义C点为机器人当前栅格位置,,在仿真环境1(100×100栅格尺寸的凸型障碍物环境,且定义1个栅格长度为1m)下进行三种算法的动态路径规划。图6(a)-图6(f)所示为机器人采用DJPS算法在不同运行时间下的路径规划情况,其中可通过观察当前点C的位置判断机器人实时运动所在位置。由于D*Lite算法及JPS算法于动态路径规划时所显示图像与DJPS算法近似,则省略运动环节直接表示机器人采用D*Lite算法及JPS算法在终止时刻下的状态如图7(a)-图7(b)所示。以上三种算法均可完成未知凸型障碍物环境下的动态路径规划过程,但可看到不同算法得到的实际运动路径以及搜索的扩展点个数均不同,需要定量分析以上三种算法在未知凸型障碍物环境下的规划能力。
为进一步证明DJPS算法在未知大地图环境下动态路径规划的高效性,在仿真环境1下针对不同栅格地图(100×100、200×200、300×300、400×400栅格尺寸)分别进行三种算法的动态路径规划仿真,得到相关数据如表1所示:
表1未知凸型障碍物环境下的动态路径规划算法数据对比
取400m×400m仿真环境数据可得路径规划相关参数雷达图如图8所示,可知D*Lite算法实际运动规划得到的路径距离最优;JPS算法计算耗时相对较短,但在大地图下运算时间显著上升,且其规划路径与其他两种算法相比距离较远;本实施例提出的DJPS算法在大地图凸型障碍物环境下,能够实现快速搜索,且运动规划的路径接近最优,符合本实施例的侦察巡检机器人的应用环境需求。
未知凹型障碍物环境下的对比仿真:
在仿真环境2(100×100栅格尺寸,定义1栅格尺寸为1m)下进行DJPS、D*Lite及JPS算法的动态路径规划。图9(a)-图9(f)所示为机器人采用DJPS算法在不同运行时间下的路径规划情况,图10(a)-图10(b)所示为机器人采用D*Lite算法及JPS算法在终止时刻下的状态。其中由于D*Lite算法在凹型障碍物环境下陷入局部震荡,因此该算法并未完成路径规划任务。
在仿真环境2下针对不同栅格地图(100×100、200×200、300×300、400×400栅格尺寸)分别进行三种算法的动态路径规划仿真,可得到相关仿真数据如表2所示:
表2未知凹型障碍物环境下的动态路径规划算法数据对比
取400m×400m仿真环境数据可得路径规划相关参数雷达图如图11所示,可知传统D*Lite算法在遇到凹型障碍物时极易出现局部震荡,导致无法进行后续规划;JPS算法可实现动态路径规划,但地图的增大将导致预处理环节复杂,运算时间显著增长,且规划的路径相较本文提出的DJPS算法距离较远;本实施例提出的DJPS算法在大地图凹型障碍物环境下,算法总耗时相对最低,规划得到的路径距离相对更优,占用硬件资源较少,可用在未知复杂区域内的实时路径规划。
实验使用的硬件平台采用侦察巡检机器人样机,其具备在相关环境下的运动能力,且可通过ROS进行感知和控制数据的交互;实验涉及的上位机软件控制***采用MATLAB进行设计编译,可通过MATLAB中的Robotics System Toolbox插件创建MATLAB中的ROS平台,以主节点或子节点的方式加入至与机器人同一目标下的ROS网络,实现与机器人控制器内已布置的ROS平台进行通讯,达到实时数据交互这一目标。
得到联合实验平台基本框架后,根据实验所需配置网络通讯,构建局域网实验环境,将侦察巡检机器人样机与MATLAB实验平台接入同一路由器,为后续路径规划及轨迹跟踪实验提供平台,MATLAB所在端的设备主要参数为:Windows10 64位操作***,Core i5-8265U处理器,主频1.6GHz,安装内存8GB,仿真运行平台为MATLAB R2019b。
路径规划实验需要侦察巡检机器人在不同实验环境下实现对指定位置的路径规划任务,该部分实验分为:先验地图信息的路径规划和未知地图信息的路径规划两类,实验基本流程如图12所示。
在MATLAB环境下构建机器人路径规划实验程序,主要分为六个环节:1)ROS节点启动连接;2)读取机器人地图信息;3)显示地图发布路径;4)地图信息位置坐标转换;5)使用JPS/DJPS算法进行路径规划;6)发布规划路径。通过以上六个环节实现MATLAB与机器人ROS平台的信息交互,满足路径规划实验需求。
先验地图路径规划实验在面积为120cm×120cm的环境下开展,通过激光扫描的方式已建立全局环境栅格地图,其中每1个栅格的距离代表0.05m。同时为便于实验将环境划分为六个区域,部分区域及已建立的地图如图13(a)和图13(b)所示。为降低实验偶然性问题,将选取四条不同路径进行对比实验,分别为区域5-区域1、区域2-区域6、区域4-区域5及区域6-区域3。
在以上四条不同路径区域内,选取相同起始点S及目标点G,分别使用JPS算法和A*算法进行路径规划,得到的四个场景下的规划路径如图14(a)-图14(d)所示,证明两种算法均能够实现先验地图信息下的路径规划。
同时对JPS算法和A*算法在以上四个场景下的规划过程中产生的实验数据进行分析对比,相关路径规划的主要参数对比如图15(a)-图15(c)所示。根据参数对比图可知,JPS算法与A*算法规划路径距离基本相同,但JPS算法的耗时及搜索点数量均明显小于A*算法,能够提高机器人路径规划时的效率,并降低算法对处理器资源的占用,同时也证明了JPS算法在先验地图信息下路径规划的优越性。
机器人在未知地图信息情况下的路径规划场景,可分为凸型障碍物环境和凹型障碍物环境。
凸型障碍物环境路径规划实验:
采用先验地图环境作为机器人的凸型障碍物实验环境,在机器人未知地图的情况下指定一处目标点G,通过DJPS算法使机器人能够凭借目前移动状态及周边地图信息,动态计算更新规划路径。图16为机器人在动态规划过程中主要节点的实际位姿及对应时刻机器人在Rviz环境下的状态。
通过以上凸型障碍物环境下的路径规划实验,可以得到机器人在整个运动过程中执行的动态路径规划次数为23次,各次动态规划算法的耗时及搜索点数量如图17所示。
根据实验数据可知,使用DJPS算法在本实验凸型障碍物环境下的平均运算时间为74.8ms,基本满足机器人在实际运动过程中对计算时间的需求;同时算法执行过程中需要搜索的平均关键点数量为19.54个,占用设备运算资源及存储空间较低,证明了DJPS算法适用于凸型障碍物环境下的动态路径规划。
凹型障碍物环境路径规划实验:
为验证本文提出的DJPS算法在机器人进行动态路径规划的过程中,不会在凹型障碍物下因陷入局部振荡而导航失败,为此构建实验环境如图18所示。
在该部分实验中机器人位于运动通道内,指定目标点G位于障碍物环境外,在机器人未知环境的情况下,根据当前环境信息实时更新规划路径。通过观测机器人运动情况及反馈状态信息进行路径规划实验结果分析,图19为机器人在动态规划过程中主要节点的实际位姿及对应时刻机器人在Rviz环境下的状态。
通过以上凹型障碍物环境下的路径规划实验,得到机器人在运动过程中共执行动态路径规划7次,各次动态规划算法的耗时及搜索点数量如图20所示。
根据实验数据可知,DJPS算法在本实验凹型障碍物环境下执行路径规划的平均耗时为167.83ms,搜索关键点的平均数量为22.43个,能够满足机器人在实际运动过程中对计算时间及运算、存储空间的需求,且在整个运动过程中没有陷入局部振荡,证明了DJPS算法在凹障碍物环境下规划路径的有效性。
实施例二
本实施例提供了一种动态路径规划导航***,其包括:
跳点搜索模块,其用于以起始点为搜索中心,在当前静态地图使用跳点搜索算法搜索路径,驱动机器人沿搜索路径运动;
动态跳点生成模块,其用于在环境变化时根据动态跳点生成规则生成临近当前位置的跳点并指定新的运动路径;
直线到达性判断模块,其用于判断临近当前位置的跳点与目标点的可直线到达性:
若可直线到达,则驱动机器人沿指定的新运动路径运动;
若不可直线到达,则以当前点为搜索中心,在当前静态地图使用跳点搜索算法继续搜索路径并驱动机器人运动,直至到达目标点。
其中,动态路径规划导航***的中各个模块与动态路径规划导航方法中的步骤一一对应,其具体实施过程如实施例一所述,此处不再累述。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的动态路径规划导航方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的动态路径规划导航方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种动态路径规划导航方法,其特征在于,包括:
以起始点为搜索中心,在当前静态地图使用跳点搜索算法搜索路径,驱动机器人沿搜索路径运动;
在环境变化时根据动态跳点生成规则生成临近当前位置的跳点并指定新的运动路径;
在环境变化时根据动态跳点生成规则具体为,假设未知栅格点均为空白点,在进行路径规划时靠近目标点附近的栅格点均为空白点,除去生成的指定跳点外不存在其他跳点,省去对目标点周围的预处理环节,直接指定生成临近机器人当前位置的跳点,并指定临近跳点和目标点之间的转折跳点;
若机器人在已规划路线运动过程中前方出现障碍,且此刻机器人当前位置与目标点处于直线状态,则跳点生成的过程为:
计算当前位置与目标点直线方向间可探测范围最远处的障碍物位置;
以直线方向最远距离障碍物位置为中心,沿垂直于机器人直线运动方向朝两侧搜索,分别返回两个方向上首次出现的空白点栅格位置并定义为临近跳点;
若临近跳点与目标点处于斜向位置关系,则生成的临近跳点同时为转折跳点;若临近跳点与目标点处于非斜向位置关系,则将临近跳点分别沿与目标点的斜向方向迭代计算,当搜索计算到首次出现某栅格位置与目标点任意方向位置相同时,定义该栅格位置为临近跳点的对应转折跳点,在任意方向得到首个转折跳点后停止当前方向的搜索;
判断临近当前位置的跳点与目标点的可直线到达性:
若可直线到达,则驱动机器人沿指定的新运动路径运动;
若不可直线到达,则以当前点为搜索中心,在当前静态地图使用跳点搜索算法继续搜索路径并驱动机器人运动,直至到达目标点。
2.如权利要求1所述的动态路径规划导航方法,其特征在于,在当前静态地图使用跳点搜索算法搜索路径之前,还包括:
获取机器人巡检环境的地图,将地图划分栅格;
初始化地图设定全部空白。
3.如权利要求1所述的动态路径规划导航方法,其特征在于,基于临近跳点、转折跳点和目标点,使用跳点搜索算法进行由目标点到起始点的反向搜索。
4.如权利要求1所述的动态路径规划导航方法,其特征在于,若机器人在已规划路线运动过程中前方出现障碍,且此刻机器人当前位置与目标点处于斜线状态,则跳点生成的过程为:
计算当前位置与目标点斜线方向间可探测范围最远处的障碍物位置;
以斜线方向最远距离障碍物位置为中心,沿斜线方向搜索首次出现的空白点栅格位置,定义返回的空白点栅格位置为生成的临近跳点,并在得到临近跳点后,通过判断临近跳点和目标点点之间的位置关系,采用与直线状态跳点搜索得到转折跳点。
5.一种动态路径规划导航***,其特征在于,包括:
跳点搜索模块,其用于以起始点为搜索中心,在当前静态地图使用跳点搜索算法搜索路径,驱动机器人沿搜索路径运动;
动态跳点生成模块,其用于在环境变化时根据动态跳点生成规则生成临近当前位置的跳点并指定新的运动路径;
若机器人在已规划路线运动过程中前方出现障碍,且此刻机器人当前位置与目标点处于直线状态,则跳点生成的过程为:
计算当前位置与目标点直线方向间可探测范围最远处的障碍物位置;
以直线方向最远距离障碍物位置为中心,沿垂直于机器人直线运动方向朝两侧搜索,分别返回两个方向上首次出现的空白点栅格位置并定义为临近跳点;
若临近跳点与目标点处于斜向位置关系,则生成的临近跳点同时为转折跳点;若临近跳点与目标点处于非斜向位置关系,则将临近跳点分别沿与目标点的斜向方向迭代计算,当搜索计算到首次出现某栅格位置与目标点任意方向位置相同时,定义该栅格位置为临近跳点的对应转折跳点,在任意方向得到首个转折跳点后停止当前方向的搜索;
直线到达性判断模块,其用于判断临近当前位置的跳点与目标点的可直线到达性:
若可直线到达,则驱动机器人沿指定的新运动路径运动;
若不可直线到达,则以当前点为搜索中心,在当前静态地图使用跳点搜索算法继续搜索路径并驱动机器人运动,直至到达目标点。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的动态路径规划导航方法中的步骤。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一项所述的动态路径规划导航方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011065177.1A CN112229419B (zh) | 2020-09-30 | 2020-09-30 | 一种动态路径规划导航方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011065177.1A CN112229419B (zh) | 2020-09-30 | 2020-09-30 | 一种动态路径规划导航方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112229419A CN112229419A (zh) | 2021-01-15 |
CN112229419B true CN112229419B (zh) | 2023-02-17 |
Family
ID=74119997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011065177.1A Active CN112229419B (zh) | 2020-09-30 | 2020-09-30 | 一种动态路径规划导航方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112229419B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113093736B (zh) * | 2021-03-17 | 2023-01-13 | 湖南格兰博智能科技有限责任公司 | 一种适用于扫地机的低成本芯片寻路算法 |
CN113156956B (zh) * | 2021-04-26 | 2023-08-11 | 珠海一微半导体股份有限公司 | 机器人的导航方法、芯片及机器人 |
CN114047767B (zh) * | 2021-11-24 | 2023-08-08 | 山东建筑大学 | 一种基于人工势场法的机器人跳点搜索方法 |
CN114353814B (zh) * | 2021-12-06 | 2023-11-17 | 重庆邮电大学 | 基于Angle-Propagation Theta*算法改进的JPS路径优化方法 |
CN114355919A (zh) * | 2021-12-27 | 2022-04-15 | 北京金山云网络技术有限公司 | 路径规划方法、装置和扫地机器人 |
CN114488853A (zh) * | 2022-01-26 | 2022-05-13 | 中国工商银行股份有限公司 | 一种机器人路径规划的场景仿真方法及装置 |
CN114564023B (zh) * | 2022-03-11 | 2022-11-08 | 哈尔滨理工大学 | 一种动态场景下的跳点搜索路径规划方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000339012A (ja) * | 1999-05-26 | 2000-12-08 | Yaskawa Electric Corp | ロボットの大域動作経路計画方法とその制御装置 |
CN108268971A (zh) * | 2017-12-06 | 2018-07-10 | 腾讯科技(深圳)有限公司 | 路径的搜索方法、装置、处理器和电子装置 |
CN110006429A (zh) * | 2019-03-20 | 2019-07-12 | 智慧航海(青岛)科技有限公司 | 一种基于深度优化的无人船航迹规划方法 |
CN110319837A (zh) * | 2019-07-09 | 2019-10-11 | 北方工业大学 | 一种服务机器人室内复杂状况路径规划方法 |
CN110975290A (zh) * | 2019-11-20 | 2020-04-10 | 中国人民解放军国防科技大学 | 一种基于模式数据库的路径规划方法及*** |
CN111309004A (zh) * | 2019-12-06 | 2020-06-19 | 江苏南大电子信息技术股份有限公司 | 一种基于改进的跳点搜索算法移动机器人路径规划方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016074708A1 (en) * | 2014-11-12 | 2016-05-19 | Abb Technology Ltd | Determining a calibration position of a robot joint |
CN105116902A (zh) * | 2015-09-09 | 2015-12-02 | 北京进化者机器人科技有限公司 | 一种移动机器人避障导航的方法和*** |
US9864377B2 (en) * | 2016-04-01 | 2018-01-09 | Locus Robotics Corporation | Navigation using planned robot travel paths |
CN109115226B (zh) * | 2018-09-01 | 2021-11-19 | 哈尔滨工程大学 | 基于跳点搜索的多机器人冲突避免的路径规划方法 |
CN109945873B (zh) * | 2019-04-04 | 2022-07-15 | 东南大学 | 一种用于室内移动机器人运动控制的混合路径规划方法 |
CN110702133B (zh) * | 2019-09-29 | 2021-11-12 | 安克创新科技股份有限公司 | 路径规划方法、机器人以及具有存储功能的装置 |
-
2020
- 2020-09-30 CN CN202011065177.1A patent/CN112229419B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000339012A (ja) * | 1999-05-26 | 2000-12-08 | Yaskawa Electric Corp | ロボットの大域動作経路計画方法とその制御装置 |
CN108268971A (zh) * | 2017-12-06 | 2018-07-10 | 腾讯科技(深圳)有限公司 | 路径的搜索方法、装置、处理器和电子装置 |
CN110006429A (zh) * | 2019-03-20 | 2019-07-12 | 智慧航海(青岛)科技有限公司 | 一种基于深度优化的无人船航迹规划方法 |
CN110319837A (zh) * | 2019-07-09 | 2019-10-11 | 北方工业大学 | 一种服务机器人室内复杂状况路径规划方法 |
CN110975290A (zh) * | 2019-11-20 | 2020-04-10 | 中国人民解放军国防科技大学 | 一种基于模式数据库的路径规划方法及*** |
CN111309004A (zh) * | 2019-12-06 | 2020-06-19 | 江苏南大电子信息技术股份有限公司 | 一种基于改进的跳点搜索算法移动机器人路径规划方法 |
Non-Patent Citations (1)
Title |
---|
群体动画中关键技术研究;张典华;《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》;20180615;第39-47、60-65页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112229419A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112229419B (zh) | 一种动态路径规划导航方法及*** | |
CN109976350B (zh) | 多机器人调度方法、装置、服务器及计算机可读存储介质 | |
CN110231824B (zh) | 基于直线偏离度方法的智能体路径规划方法 | |
Sudhakara et al. | Trajectory planning of a mobile robot using enhanced A-star algorithm | |
CN115079705A (zh) | 基于改进a星融合dwa优化算法的巡检机器人路径规划方法 | |
JP2017529631A (ja) | 1個以上の障害物を回避して始状態から終状態集合まで移動する物体の経路を決定する方法およびシステム | |
CN112947594B (zh) | 一种面向无人机的航迹规划方法 | |
CN112539750B (zh) | 一种智能运输车路径规划方法 | |
CN113189988B (zh) | 一种基于Harris算法与RRT算法复合的自主路径规划方法 | |
JP2020004421A (ja) | 1個以上の障害物を回避して始状態から終状態集合まで移動する物体の経路を決定する方法およびシステム | |
CN110954124A (zh) | 一种基于a*-pso算法的自适应路径规划方法及*** | |
Gu et al. | Path planning for mobile robot in a 2.5‐dimensional grid‐based map | |
CN113778093A (zh) | 基于改进麻雀搜索算法的amr自主移动机器人路径规划方法 | |
Zhao et al. | Complete coverage path planning scheme for autonomous navigation ROS-based robots | |
Zafar et al. | Mine detection and route planning in military warfare using multi agent system | |
Fan et al. | Research and implementation of multi-robot path planning based on genetic algorithm | |
Indri et al. | Supervised global path planning for mobile robots with obstacle avoidance | |
Đakulović et al. | Efficient navigation for anyshape holonomic mobile robots in dynamic environments | |
Chung et al. | Distributed timed elastic band (dteb) planner: Trajectory sharing and collision prediction for multi-robot systems | |
Abi-Char et al. | A collision-free path planning algorithm for non-complex ASRS using heuristic functions | |
Chu et al. | Track planning of multi-rotor unmanned aerial vehicle in the complex environment space | |
Ali et al. | Global mobile robot path planning using laser simulator | |
CN113485378A (zh) | 基于交通规则的移动机器人路径规划方法、***及存储介质 | |
JP2012106335A (ja) | 移動経路生成方法、移動経路生成装置、移動経路生成プログラム、ロボットアーム制御装置、およびロボットアーム制御プログラム | |
Lin et al. | Bidirectional homotopy-guided rrt for path planning |
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 |