一种基于拓扑地图的移动机器人混合调度方法与流程

文档序号:22625436发布日期:2020-10-23 19:33阅读:109来源:国知局
一种基于拓扑地图的移动机器人混合调度方法与流程

发明领域

本发明涉及机器人领域,特别涉及一种基于拓扑地图的机器人混合调度方法。

发明背景

现有技术中,机器人调度通常采用栅格地图进行调度,机器人栅格地图中通常采用正向搜索算法,在复杂环境下需要结合几何判断,由于机器人类型不同,机器人自身的高度,形状,偏心情况等自身参数会导致机器人几何判断的构建会非常复杂。传统的栅格地图中,节点的通行状态只需要一个二进制数就可以存储,机器人在可以通行的节点区域内任意移动和旋转,但是传统的正向搜索算法在栅格地图中无法对机器人移动的边进行计算,机器人可以通过什么样的边、以何种姿态到达指定的节点是现有技术方案中无法实现的,相比于追求高空间利用率的拓扑地图,现有技术方案的对复杂环境的机器人调度能力有限,对地图空间的利用率有限。



技术实现要素:

本发明其中一个主要目的在于提供一种基于拓扑地图的移动机器人混合调度方法,所述混合调度方法通过拓扑地图并计算简化的几何判断方案,减少计算量的基础下可高效地处理机器人的移动方案。

本发明另一个主要目的在于提供一种基于拓扑地图的移动机器人混合调度方法,所述混合调度方法通过动态规划解空间的状态维度,建立包括但不仅限于二维坐标的解空间,还考虑机器人角度、货架角度等因素,满足复杂环境下对空间的高利用率。

本发明另一个目的在于提供一种基于拓扑地图的移动机器人混合调度方法,所述混合调度方法通过计算机器人尺寸,货架尺寸,路径精度,并且计算机器人在移动或旋转时的扫掠范围,根据机器人的位置建立移动和旋转扫掠区域的空间不等式,并结合货架位置和尺寸、路径精度建立几何相交函数,从而可以大幅提高机器人在地图上的空间利用率。

本发明另一个目的在于提供一种基于拓扑地图的移动机器人混合调度方法,所述混合调度方法根据路径规划精度中边的限宽、限高和机器人旋转或移动的几何相交函数,通过边的对比,使得机器人可以设置最合适的姿态在路径中移动,提高了地图路径的丰富度。

本发明另一个目的在于提供一种基于拓扑地图的移动机器人混合调度方法,所述混合调度方法通过增加目标移动解空间正向、逆向和横向的扩展集,并通过设置扩展集内的权重,结合集合相交函数实现路径规划的掌控。

本发明另一个目的在于提供一种基于拓扑地图的移动机器人混合调度方法,所述混合调度方法通过计算拓扑地图下的路线丰富度,根据路线丰富度设定机器人重新规划的频率和排队深度,在路线丰富度较高的情况可增加正向和反向规划的长度,并设置降低排队深度,提高重规划频率,在路线丰富度较低的情况下不再重规划,并提高排队深度,可减少调度时间的浪费,提高调度效率。

本发明另一个目的在于提供一种基于拓扑地图的移动机器人混合调度方法,所述混合调度方法在几何相交函数的基础上提供一种解锁混合调度方法,设置不同车辆的优先级,对高优先级的车辆执行避让解锁,避让函数计算每一高优先级的车辆的规划路径,在此基础上对低优先级机器人执行避让规划,从而可以大幅提高多车死锁下的解锁操作效率。

本发明另一个目的在于提供一种基于拓扑地图的移动机器人混合调度方法,所述方法可同时适用于偏心机器人和非偏心机器人,通过几何相交函数、路径规划策略、控制解锁策略使得所述方法可同时适用于多种类型的机器人,在实现高空间利用率的基础上,打破不同机器人的使用壁垒,提高机器人调度的适配性。

为了实现至少一个上述发明目的,本发明进一步提供一种基于拓扑地图的移动机器人混合调度方法,所述混合调度方法预建立拓扑地图,并获取目标机器人、障碍物的尺寸信息和位置信息,所述方法包括如下步骤:

根据机器人尺寸和位置获取机器人移动和旋转扫掠区域;

获取机器人规划路径,根据机器人扫掠区域和障碍物尺寸建立几何相交函数;

根据机器人的位置和移动方式判断机器人几何相交情况;

结合几何相交状况和地图信息保持或重规划路径。

根据本发明其中一个较佳实施例,在根据机器人相交函数判断机器人相交情况之前,根据两个机器人的位置建立松不等式,若两个机器人位置关系不满足松不等式,则判断机器人不相交,其中所述松不等式如下:

为移动中心的坐标,rmax是位移中心离机器人矩形四个角点的距离最大值,xright,xleft,ytop,ybottom分别是区域中x,y坐标取值范围,若两个机器人的位移中心坐标不满足不等式(1)或不等式(2),则判断机器人不相交。

根据本发明另一个较佳实施例,获取移动机器人所在位置的角度和货架角度,通过启发函数计算机器人移动至邻近节点的可行性和行使代价,并根据机器人类型和负载建立多维度的open集,open集的解空间为state=[id,θ,δ],其中id是节点的标识,θ是移动机器人的角度,δ是负载时货架的角度。

根据本发明另一个较佳实施例,根据拓扑地图建立正则角度的移动和旋转方案,计算正则角度的移动和旋转方案中机器人的扫掠区域,并对不同的机器人的扫掠区域联立不等式组,根据联立的不等式组判断机器人之间的相交情况。

根据本发明另一个较佳实施例,获取静态货架位置、角度和几何结构信息,根据机器人扫掠区域判断机器人和静态货架之间的相交状况。

根据本发明另一个较佳实施例,获取地图障碍物的限高、限宽以及地图节点的附加障碍点位置,采用几何相交函数计算移动机器人的和地图障碍物以及附加障碍点的相交状况,根据计算结果规划路径。

根据本发明另一个较佳实施例,根据机器人在open集解空间中的最优解节点建立正向、逆向、横向移动的open集的第一扩展集,以及机器人和货架在该节点顺时针或逆时针旋转的open集的第二扩展集。

根据本发明另一个较佳实施例,调度过程中建立旋转角度变化和旋转权重关系函数,设置关系函数为如下凸函数:

其中(3)式中r是旋转角度和90°的比值,w0为预设旋转90°的权重,weight为旋转权重,θ为机器人旋转角度,根据式(3)筛除open集扩展集中的非一步到位的旋转状态,用于增加一步到位的旋转偏好。

根据本发明另一个较佳实施例,根据地图中可到达节点总数和可通行单向线段和双向线段数判断路线丰富度,其中路线丰富度判断公式为:

其中(4)式中d为路线丰富度,n为可到达节点总数,l单和l双分别为可通行单向线段和双向线段数,α为折扣系数,α取值为:0<α≤1,根据d值确定路线重规划频率和排队深度。

根据本发明另一个较佳实施例,若d>3,则增加已规划机器人正向路径规划代价,并大幅增加反向路径的规划代价,同时降低同向路径的排队深度,提高重规划频率;

若d<3,则不再已规划机器人正向路径规划代价,并小幅增加反向路径规划代价,提高同向路径的排队深度,禁止机器人执行重规划。

根据本发明另一个较佳实施例,根据机器人型号和负载状态设定机器人优先级,其中负载机器人优先级大于无负载机器人,获取每一机器人在拓扑地图中的位置和节点,其中低优先级机器人作为避让机器人获取每一高优先级被避让机器人的规划路径,根据避让函数驱动低优先级机器人移动至高优先级机器人规划路径之外的最近节点,用于对机器人执行触发解锁。

为了实现至少一个上述发明目的,本发明进一步提供一种基于拓扑地图的移动机器人混合调度系统,所述系统采用上述一种基于拓扑地图的移动机器人混合调度方法,包括:

控制模块,

信号接收模块;

驱动模块;

所述信号接收模块接收机器人位置信息、地图节点信息,可通行线段信息和地图中障碍物信息,所述控制模块控制驱动模块在拓扑地图上运行。

附图说明

图1显示的是本发明一种基于拓扑地图的移动机器人混合调度方法流程示意图;

图2显示的是本发明一种基于拓扑地图的移动机器人混合调度方法中偏心机器人在移动状态下的扫掠区域示意图;

图3显示的是本发明一种基于拓扑地图的移动机器人混合调度方法中偏心机器人在旋转状态下的扫掠区域示意图;

图4a显示的是本发明一种基于拓扑地图的移动机器人混合调度方法中绕障转弯示意图;

图4b显示的是本发明一种基于拓扑地图的移动机器人混合调度方法中窄巷掉头方法示意图;

图5显示的是本发明一种基于拓扑地图的移动机器人混合调度方法多车锁死时的解锁示意图。

具体实施方式

以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。

本领域技术人员应理解的是,在本发明的揭露中,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系是基于附图所示的方位或位置关系,其仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此上述术语不能理解为对本发明的限制。

可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。

请参考图1显示的流程图,预先根据机器人类型和障碍物的类型进行分类,记录不同类型机器人的尺寸、体积、偏心状况和空间结构等数据,并保存上述数据;同时记录不同障碍物的空间结构,进一步的,获取不同型号的机器人在拓扑地图内的扫掠区域,根据扫掠区域的不同建立几何相交判断函数,本发明针对偏心机器人举例说明,对于其他非偏心机器人,偏心机器人的扫掠区域更加复杂。

请参考图2和图3显示的偏心机器人的扫掠示意图,可以看到,偏心机器人在平移时,其扫掠区域为长方体结构,请具体参考图2,其平移状态的扫掠区域m0可表示为:

其中是机器人向右时几何中心偏离移动中心(移动中心是图像原点)的矢量,是平移矢量,l和w分别是机器人矩形的长度和宽度,上述不等式满足偏心机器人在拓扑地图中所有的位置的扫掠区域的描述。

需要说明的是,机器人相交判断根据机器人扫掠区域进行判断,在上述偏心机器人平移扫掠不等式中,对于不同类型的机器人几何中心偏离移动中心的矢量可以是不同的,并根据机器人类型设置不同的l和w,平移矢量因此需要预获取机器人几何中心偏离移动中心的矢量,机器人的长和宽等参数,对于不同的机器人平移扫掠区域的相交情况,将根据上述不等式进行重合度判断,若出现重合,则可判断机器人出现相交情况。

对于偏心机器人成一定角度形成的方形区域可以表示为:

其中r算子为度旋转转子,θ为水平方向上的旋转角度r算子可表示为:

因此当平移矢量和边长方向平行时,机器人扫掠区域为长方体,若平移矢量为任意值时,需要机器人支持全向移动或伪全向移动,即需要机器人在平移的同时,支持任意角度的旋转。

需要说明的是,传统非偏心机器人旋转时,扫掠的区域为扇形或圆形,扫掠区域容易计算,若是偏心机器人,其旋转扫掠区域为多种图像的集合,如图3所示,当偏心机器人旋转角度向右时,形成一个自身的矩形扫掠区域z0,计算不等式为:

在上述不等式(8)中,根据不等式是偏心机器人向右时几何中心偏离位移中心的矢量,l,w分别是机器人矩形的长和宽。

请参考图3,矩形旋转得到扫掠区域:

其中(9)式内r旋转算子的角度为机器人在地图中的初始角度,θ是机器人旋转角度,而移动中心和四个角点连线形成的四个扇形扫掠区域可以表示为:

在上述(11)、(12)、(13)、(14)式中,arg(z)表示复数z的幅角。对于一般偏心机器人的旋转而言,扫掠区域通常为图2中6个区域构成,因此,扫掠区域可计算为

对于偏心机器人在地图上的相交方式有多种,包括:

偏心机器人平移状态和平移状态下的交集,即不同偏心机器人m0扫掠区域的相交状况,由两个偏心机器人在移动过程中扫掠区域不等式的重合状态判断,若不重合,则可判断不相交。

或偏心机器人平移状态和另一偏心机器人旋转状态的相交状况,即偏心机器人移动过程中m0扫掠区域和另一偏心机器人z扫掠区域的重合状态判断,若不重合,则可判断两偏心机器人不相交。

或偏心机器人旋转状态和另一偏心机器人旋转状态的相交状况,即两个偏心机器人分别旋转状态时z扫掠区域的重合度判断,若不重合,则可判断机器人不相交。

需要说明的是,上述相交函数是根据规划路径获取的扫掠区域重合度对比,扫掠区域将根据规划路径的实时变化而变化,包括运动方式、机器人类型,目标位置等设计都会影响机器人实时扫掠区域的变化,也就是说机器人扫掠区域是动态变化的,但由于机器人位置、自身的几何参数和规划路径预设于系统中,因此可通过计算机计算相交函数发现碰撞的可能性。

在本发明另一较佳实施例中,由于现实场景中对机器人的初始角和旋转角θ通常为正则角度,即为90°的倍数,因此对于机器人的相交函数判断将变得更简化,举例来说:

设置一个非偏心机器人从左向右水平移动,其扫掠区域为:

其中(15)式中是移动中心的坐标,另一相同类型的机器人沿水平向右方向逆时针旋转90°角,扫掠区域为:

和z(0°,90°)联立即可得到两个区域的相交状况。

值得一提的是,由于大规模机器人调度中任意两个机器人之间进行上述的几何相交判断会带来巨量的计算,但是对于相距离较远的机器人,其几何判断的计算显得没有必要,因此本发明提出一种简单的筛选方法,具体步骤为:

在进行机器人之间的几何判断之前建立机器位置相关的松不等式;

根据松不等式判断机器人的位置关系,若判断位置关系较远,则直接判断机器人不相交,举例来说,松不等式可以是如下不等式:

其中xright,xleft,ytop,ybottom分别是区域中x,y坐标取值范围,可根据(1)或(2)式判断相交状况。结合正则简化和松不等式的判断,可大幅降机器人之间的几何相交判断,并且同时兼顾几何相交判断的高地图利用率。

值得一提的是,在机器人移动过程中,请参考图4a和4b,对于地图中的节点的可通行状况由节点自身和节点相邻的边的可通行状况决定,一般和静态障碍物在拓扑地图上放置和位置和尺寸相关,机器人在运动之前对节点和节点边的可通行状况进行预存储。在本发明其中一个较佳实施例中,以某一节点为中心以预设的长度为半径画圆范围内的节点和相邻边的通行状况进行预存储,在该范围内存在比如货架等静态障碍,其中该范围大于静态障碍在拓扑地图上的几何投射面,并且对于不同的机器人类型,根据不同类型机器人尺寸建立在拓扑地图上的节点影响范围,该范围可以是圆形、方形或三角形,在影响范围内的自动设置节点和边设置节点和边的通行状态,其中影响范围还根据机器人自身的移动状态设置不同的移动状态在拓扑地图上产生不同的变化,移动状态包括直线位移、曲线位移和旋转等。可以理解的是,静态障碍在拓扑地图上形成的影响范围形状和面积不是本发明的限制。

进一步的,本发明记录节点、和节点相邻边的限宽和可通行状况,并且根据节点类型设置允许不同类型机器人通行,比如在一较佳实施例中,根据静态障碍影响的节点影响范围,设置节点的通行状态,所述通行状态包括:允许小于一定宽度的小尺寸机器通过,不允许任何机器人通过,允许大尺寸机器人通过以及允许空载机器人或负载机器人通过等,上述通行状态的设置自动根据静态障碍影响范围内的节点和邻边通行状态设置,或根据动态障碍之间、动态障碍和静态障碍之间的几何相交函数的相交情况设置。在本发明另一较佳实施例中,将获取每一机器人、静态障碍和目标货架底部高度,并将高度作为一个维度的参量输入到集合相交函数中,从而可以设置机器人在底部具有一定的设限高度范围的通行设计,也就是说,在计算不同机器人在地图上运行的高度,并同时根据不同障碍物底部限高,自动设置不同机器人在不同障碍物底部的可通行状况。

根据机器人在拓扑地图内的角度以及货架的角度,根据启发函数计算机器人移动到邻近节点的可行性和行使代价,并将计算结果加入到open集中,open集作为保存地图中已有但未考察节点的集合,采用a-star算法计算open集中的路径信息,其中所述open集的解空间可表示为:state=[id,θ,δ],其中id是节点的标识,θ是移动机器人的角度,δ是负载时货架的角度,其中θ和δ的取值将根据机器人相连的线段角度以及机器人可通行方式加入open集,以形成open集的扩展集,比如在栅格地图中机器人和相邻并相连的线段角度为ψ,根据节点和线段的可通行状况,以及通过几何相交函数判断机器人可以进行正向、逆向和横向的移动,则θ可以的取值集合为:φ={ψ,ψ+0.5π,ψ+π,ψ+1.5π},根据角度的取值集合和节点的相连节点,open集的扩展集可以表示为:

其中i表示id所连接的第i条边,与之相连的节点编号是idi,在本发明一些较佳实施例中,对于设置机器人行使方向的偏好,则可增加扩展集中偏好角度的权重,举例来说,若需要减少机器人逆向或横向的行驶,则可在扩展集中增加机器人正向行使角度权重从而可以降低机器人的逆向或横向行驶,在本发明其中一个较佳实施例中,若为了增加机器人一次到位的旋转方式,则可设置机器人旋转角度和旋转权重的关系函数,所述关系函数为如下不等式组:

其中(3)式中r是旋转角度和90°的比值,w0为预设旋转90°的权重,weight为旋转权重,θ为机器人旋转角度,根据式(3)筛除open集扩展集中的非一步到位的旋转状态,在a-star算法中用于增加一步到位的旋转偏好。

需要说明的是,本发明优选采用采用a-star算法作为路径规划算法,通过自动搜索可获取目标位置的最短路径,在精确的几何判断和区域性节点和线段的可通行判断下,使得拓扑地图的空间利用率更高。

进一步的,在路径规划的过程中需要判断路径规划是否需要重规划,而重规划需要计算机器在当前位置的路线丰富度,其中路线丰富度的判断可根据如下函数进行:

其中n是地图中可到达的节点总数,l单和l双分别是可通行的单向线段和双向线段的条数,α是折扣系数,一般取0<α≤1,若机器人当前位置计算的d值大于等于3,则可判断机器人当前位置的路线丰富度较高,可考虑增加已经规划路径的正向规划路径代价,并大幅增加反向路径的规划代价。换句话说,若d值大于3,根据a-star算法增加已规划路线正向的线段长度,并大幅增加规划路线反向的线段长度,并且增加a-star算法的重规划频率,减少a-star算法的排队深度,使得在所述a-star算法在loop循环条件下更倾向于重规划。当的d值小于3时,说明机器人当前位置的路径丰富度较低,则不再增加已经规划机器人的正向路径规划代价,小幅增加反向路径规划代价,增加机器人排队深度,使得机器人,禁止机器人执行重规划。需要说明的是,小幅增加路径代价指的是延长不大于1个拓扑地图线段长度的距离,大幅增加路径规划代指的是延长不小于2个拓扑地图线段长度的距离。

进一步的,对于d值接近2的拓扑地图来说,路径资源不丰富会导致路径冲突并且容易形成多车锁死的情况,执行重规划则会造成时间的浪费,因此,本发明进一步根据多车锁死现象提供一种解锁方法,请参考图5显示的多车锁死示意图,根据避让车和被避让车,以及车辆类型和负载状况分别设定优先级,其中被避让车辆优先级高于避让车辆,比如在图4显示。机器人b1、b2和b3为负载机器人,机器人a1、a2和a3分别为无负载机器人,b1作为负载机器人其优先级大于无负载的避让机器人a1,机器人b1将根据预设的规划路径向左侧的目标货架移动,根据解锁函数可知机器人b1处为死锁中心,机器人a1将获取机器人b1在无障碍条件下的规划路径,驱动机器人a1在非机器人b1节点上的最近节点停留,由于机器人a1的避让行为导致机器人a2作为避让车辆,机器人a2将获取机器人a1和机器人b1的规划路径,并驱动机器人a2移动至除了机器人a1和机器人b1规划路径之外的次近节点,因此机器人a1和机器人a2都将移动至左侧的巷道中。根据上述的解锁方法可直接一次性地对多车锁死现象执行解锁操作,大幅体高解锁的效率。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明,本发明的目的已经完整并有效地实现,本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。

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