基于可通行区域骨架提取的机器人路径规划方法及系统与流程

文档序号:20000061发布日期:2020-02-22 03:06阅读:286来源:国知局
基于可通行区域骨架提取的机器人路径规划方法及系统与流程

本公开涉及机器人路径规划技术领域,特别涉及一种基于可通行区域骨架提取的机器人路径规划方法及系统。



背景技术:

本部分的陈述仅仅是提供了与本公开相关的背景技术,并不必然构成现有技术。

移动机器人路径规划技术是指机器人根据自身传感器对环境的感知信息,自行规划出一条安全的运行路线,同时高效完成作业任务。按照地图构建原理,通常将路径规划分为路标法和栅格法。路标法是构造一幅由标志点和连接边线组成的机器人可行路径图,如可视图方法、切线图方法、voronoi图方法和概率图展开法等。栅格法将机器人周围空间分解为相互连接且不重叠的空间栅格,由这些栅格构成一个连通图,依据障碍物占有情况,在此图上搜索一条从起始栅格到目标栅格无碰撞的最优路径,如a*算法等。

上述算法中可视图法、a*算法等都属于最短路径规划算法,即机器人必须几乎接近障碍物行走,但如果控制过程中产生位置误差,移动机器人与环境碰撞的可能性会很高。voronoi图由一系列的直线段和抛物线段构成,该算法首先得到障碍物的外接圆,并“增长”外接圆,此时机器人可作为单点处理。但voronoi图是通过外接圆圆心生成的,与外接圆半径无关,因此voronoi图的边仍可能与障碍物圆相交,仍有碰撞的可能。

本公开发明人发现,对于移动机器人而言,在很多应用中其并不真正需要得到最短的路径,仅需要保证近似最优就足够。并且对于在地图上的一个障碍区域,最短路径也许并不十分重要,机器人的安全才是最重要的。上述路径规划算法若想得到安全性较高的路径,则需通过膨胀障碍物实现,即将紧挨障碍物的可通行区域视为不可通行区域,从而实现机器人路径远离障碍物的目的。然而该方法的明显缺陷为容易堵塞狭窄通道,导致路径规划失败,因而现有方法尚不能很好地解决机器人路径规划中的安全性问题。



技术实现要素:

为了解决现有技术的不足,本公开提供了一种基于可通行区域骨架提取的机器人路径规划方法及系统,路径轨迹近似处于可通行区域的中间位置,而不是贴近障碍物,能够更好的满足机器人路径规划的安全性需要。

为了实现上述目的,本公开采用如下技术方案:

本公开第一方面提供了一种基于可通行区域骨架提取的机器人路径规划方法。

一种基于可通行区域骨架提取的机器人路径规划方法,包括以下步骤:

构建环境栅格地图,然后根据环境信息,将机器人初始位置、障碍物和目标位置投影到栅格地图中;

确定栅格地图中机器人的可通行区域,然后采用zhang-suen算法对可通行区域进行骨架提取;

将路径起点与终点定位到栅格地图,设计其八邻域栅格状态,使路径起点与终点所处栅格在可通行区域细化过程中能够作为骨架点进行保留;

利用广度优先搜索算法寻找连接路径起点与终点的最短连通骨架,得到机器人可通行的最短路径。

作为可能的一些实现方式,若起点或终点所处栅格位于栅格地图的左上、右上、左下或者右下的顶点位置,将三角形所处的对角栅格设为不可通行栅格,则起点或终点所处栅格作为骨架点进行保留。

作为可能的一些实现方式,若起点或终点位于栅格地图的上、下、左或右的边缘位置,将三角形所处的边缘相反侧格设为不可通行栅格,则起点或终点所处栅格作为骨架点进行保留。

作为可能的一些实现方式,若起点或终点位置具有完整的八邻域栅格,此时起点或终点处于可通行区域内部,将八邻域栅格中最先遍历栅格的对角线方向所处栅格置为不可通行栅格,则起点或终点所处栅格作为骨架点进行保留。

作为可能的一些实现方式,寻找路径起点与终点的可连通骨架,如果可连通骨架存在,说明起点与终点之间存在可通行路径,反之则路径规划失败。

作为进一步的限定,当可连通骨架存在时,提取可连通骨架所含的节点信息,并计算所有节点间的路径长度,构建包含路径起点、终点和节点的无向图,然后采用dijkstra算法,寻找连接路径起点与终点的最短线段组合作为最优可通行路径。

本公开第二方面提供了一种基于可通行区域骨架提取的机器人路径规划系统。

一种基于可通行区域骨架提取的机器人路径规划系统,包括:

栅格地图构建模块,被配置为:构建环境栅格地图,然后根据环境信息,将机器人初始位置、障碍物和目标位置投影到栅格地图中;

骨架提取模块,被配置为:确定栅格地图中机器人的可通行区域,然后采用zhang-suen算法对可通行区域进行骨架提取;

骨架优化模块,被配置为:将路径起点与终点定位到栅格地图,设计其八邻域栅格状态,使路径起点与终点所处栅格在可通行区域细化过程中能够作为骨架点进行保留;

最短路径获取模块,被配置为:利用广度优先搜索算法寻找连接路径起点与终点的最短连通骨架,得到机器人可通行的最短路径。

作为可能的一些实现方式,所述骨架优化模块对骨架进行优化,具体为:若起点或终点所处栅格位于栅格地图的左上、右上、坐下或者右下的顶点位置,将三角形所处的对角栅格设为不可通行栅格,则起点或终点所处栅格作为骨架点进行保留;

所述骨架优化模块对骨架进行优化,具体为:若起点或终点位于栅格地图的上、下、左或右的边缘位置,将三角形所处的边缘相反侧格设为不可通行栅格,则起点或终点所处栅格作为骨架点进行保留;

所述骨架优化模块对骨架进行优化,具体为:若起点或终点位置具有完整的八邻域栅格,此时起点或终点处于可通行区域内部,将八邻域栅格中最先遍历栅格的对角线方向所处栅格置为不可通行栅格,则起点或终点所处栅格作为骨架点进行保留。

本公开第三方面提供了一种介质,其上存储有程序,该程序被处理器执行时实现如本公开第一方面所述的基于可通行区域骨架提取的机器人路径规划方法中的步骤。

本公开第四方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开第一方面所述的基于可通行区域骨架提取的机器人路径规划方法中的步骤。

与现有技术相比,本公开的有益效果是:

1、本公开所述的方法及系统所规划的路径轨迹近似处于可通行区域的中间位置,而不是贴近障碍物,可以更好的满足机器人路径规划的安全性需要。

2、本公开将图像处理领域的骨架提取算法引入到基于栅格地图的机器人路径规划方面,并针对路径规划的特殊需要对骨架提取算法进行改进,使得骨架提取结果保留了路径起点与终点信息,进而极大的提高了路径规划的准确性。

附图说明

图1为本公开实施例1提供的基于可通行区域骨架提取的机器人路径规划方法的流程示意图。

图2为本公开实施例1提供的3*3栅格地图块示意图。

图3(a)为本公开实施例1提供的原始环境栅格地图。

图3(b)为本公开实施例1提供的骨架提取结果示意图。

图4(a)为本公开实施例1提供的顶点原始栅格状态示意图。

图4(b)为本公开实施例1提供的修改后顶点栅格状态示意图。

图5(a)为本公开实施例1提供的边缘点原始栅格状态示意图。

图5(b)为本公开实施例1提供的修改后边缘点栅格状态示意图。

图6(a)为本公开实施例1提供的内部点原始栅格状态示意图。

图6(b)为本公开实施例1提供的修改后内部点栅格状态示意图。

图7为本公开实施例1提供的优化后的可通行骨架提取结果示意图。

图8为本公开实施例1提供的标注有节点的可通行骨架提取结果示意图。

图9为本公开实施例1提供的路径无向图。

图10为本公开实施例1提供的选择后的可通行最短路径示意图。

具体实施方式

应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。

实施例1:

如图1所示,本公开实施例1提供了一种基于可通行区域骨架提取的机器人路径规划方法,步骤如下:

构建环境栅格地图,然后根据环境信息,将机器人初始位置、障碍物和目标位置投影到栅格地图中;

确定栅格地图中机器人的可通行区域,然后采用zhang-suen算法对可通行区域进行骨架提取;

将路径起点与终点定位到栅格地图,设计其八邻域栅格状态,使路径起点与终点所处栅格在可通行区域细化过程中能够作为骨架点进行保留;

利用广度优先搜索算法寻找连接路径起点与终点的最短连通骨架,得到机器人可通行的最短路径。

具体方案为:

机器人依靠自身传感器感知环境信息,并以此构建栅格地图。

确定栅格地图中机器人的可通行区域,然后采用现有的zhang-suen算法对可通行区域进行骨架提取,其原理及方法如下所示:

设已知3*3栅格的环境地图块如图2所示,图中网状栅格表示障碍,空白栅格表示可通行区域。为便于描述,将可通行栅格标记为1,障碍物点标记为0。

(1)记中心栅格为p1,其邻域的8个点顺时针绕中心点分别记为p2,p3,…,p9,其中p2在p1正上方。

首先标记同时满足下列条件的栅格:

(a)2≤b(p1)≤6;

(b)a(p1)=1;

(c)p2×p4×p6=0;

(d)p4×p6×p8=0;

其中a(p1)是以p2,p3,…,p9为序时这些点的值从0到1变化的次数,b(p1)是p1的非零邻点的个数。当对所有边界点都检验完毕后,将所有标记了的点除去。

(2)同第(1)步,仅将前面条件(c)改为(e)p2×p4×p8=0;条件(d)改为条件(f)p2×p6×p8=0。同样当对所有边界点都检验完毕后,将所有标记了的点除去。

以上两步操作构成一次迭代。直至没有点再满足标记条件,这时剩下的点组成可通行区域的骨架。

图3(b)中的黑色线条为上述可通行区域骨架提取算法作用于图3(a)所示的栅格地图得到的结果,从图3(b)可以清楚地看出通过上述zhang-suen算法能够提取可通行区域的连通骨架,而且该骨架近似处于障碍物中间而不是贴近障碍物,因而可满足机器人路径规划的安全性需要。

然而图3依靠zhang-suen算法仅对可通行区域做了骨架连通,却没有包含路径起点以及终点信息,同时骨架中包含了多条分支,移动机器人无法由此图得出连接起点与终点的最优可通行路径。为此需结合路径规划的特殊需要,对上述算法做进一步完善,操作如下:

将路径起点与终点定位到栅格地图,并设计其八邻域栅格状态,使该栅格在可通行区域细化过程中能作为骨架点进行保留。

由zhang-suen算法操作过程可知,当任一栅格同时满足上述4个条件时,该栅格会被消掉。因而路径起点与终点所在的栅格只要不满足4个条件中的任意一个,其即可作为骨架点进行保留。由此,按照如下步骤对起点及终点的八邻域栅格状态进行修改,方法如下:

第一步:将起点与终点定位到栅格地图,并置其八邻域全为可通行栅格;

第二步:若起点或终点所处栅格(如图4(a)中三角形所示)位于栅格地图的顶点(左上、右上、坐下、右下)位置,则其八邻域栅格中有5个位于地图范围外面,如虚线所示,为此将这5个邻域栅格视不可通行栅格。因而仅需将三角形所处的对角栅格设为不可通行栅格,则公式(b)将不满足,此时可将三角形栅格作为骨架点进行保留,如图4(b)所示。

若起点或终点位于栅格地图的边缘(上、下、左、右)位置,则其八邻域栅格中将有3个位于地图范围外面(如图5(a)中三角形所示,此时处于栅格地图右侧边缘),将这3个栅格视不可通行栅格。因而仅需将三角形所处的边缘相反侧格设为不可通行栅格,则公式(b)将不满足,此时可将三角形栅格作为骨架点进行保留,如图5(b)所示。

若起点或终点位置具有完整的八邻域栅格,如图6(a)中三角形所示,此时其处于可通行区域内部。虽然此时其本身不满足删除点要求,然而在骨架提取过程中,其邻域栅格状态会随着算法对栅格的遍历作用而改变。为保证该点仍作为骨架点保留,在骨架提取算法对栅格遍历顺序固定后,将其八邻域栅格中最先遍历栅格的对角线方向所处栅格置为不可通行栅格(如算法从栅格地图左上角开始,则将三角形栅格的右下角栅格置为不可通行栅格),则公式(b)将不满足,此时可将三角形栅格作为骨架点进行保留,如图6(b)所示。

采用上述变化后,由图3获得的连通路径起点与终点的可通行区域骨架如图7所示,图中圆形为路径起点,五角星为路径终点。

基于图7,寻找路径起点与终点的可连通骨架,记为l。如果l存在,说明起点与终点之间存在可通行路径,反之则路径规划失败。当l存在时,提取l所含的节点信息,如图8所示,其中星号表示路径节点,并计算节点间的路径长度d={d1,d2…di},以此构建与之对应的包含路径起点,终点、节点的无向图,如图9所示。

然后采用dijkstra算法,寻找连接路径起点与终点的最短线段组合,从而找到可通行路径,规划结束,结果如图10所示。

实施例2:

本公开实施例2提供了一种基于可通行区域骨架提取的机器人路径规划系统,包括:

栅格地图构建模块,被配置为:构建环境栅格地图,然后根据环境信息,将机器人初始位置、障碍物和目标位置投影到栅格地图中;

骨架提取模块,被配置为:确定栅格地图中机器人的可通行区域,然后采用zhang-suen算法对可通行区域进行骨架提取;

骨架优化模块,被配置为:将路径起点与终点定位到栅格地图,设计其八邻域栅格状态,使路径起点与终点所处栅格在可通行区域细化过程中能够作为骨架点进行保留;

最短路径获取模块,被配置为:利用广度优先搜索算法寻找连接路径起点与终点的最短连通骨架,得到机器人可通行的最短路径。

所述骨架优化模块对骨架进行优化,具体为:若起点或终点所处栅格位于栅格地图的左上、右上、坐下或者右下的顶点位置,将三角形所处的对角栅格设为不可通行栅格,则起点或终点所处栅格作为骨架点进行保留;

所述骨架优化模块对骨架进行优化,具体为:若起点或终点位于栅格地图的上、下、左或右的边缘位置,将三角形所处的边缘相反侧格设为不可通行栅格,则起点或终点所处栅格作为骨架点进行保留;

所述骨架优化模块对骨架进行优化,具体为:若起点或终点位置具有完整的八邻域栅格,此时起点或终点处于可通行区域内部,将八邻域栅格中最先遍历栅格的对角线方向所处栅格置为不可通行栅格,则起点或终点所处栅格作为骨架点进行保留。

实施例3:

本公开实施例3提供了一种介质,其上存储有程序,该程序被处理器执行时实现如本公开实施例1所述的基于可通行区域骨架提取的机器人路径规划方法中的步骤。

实施例4:

本公开实施例4提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开实施例1所述的基于可通行区域骨架提取的机器人路径规划方法中的步骤。

以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1