当前位置: 首页 > 专利查询>盐城工学院专利>正文

一种基于栅格地图的多移动机器人系统栅格点前瞻性防死锁动态分配方法技术方案

技术编号:20654758 阅读:18 留言:0更新日期:2019-03-23 06:33
本发明专利技术提出一种基于栅格地图的多移动机器人系统栅格点前瞻性防死锁动态分配方法,该方法在分配栅格点时,每个栅格点至多只分配给一台移动机器人,能够有效避免移动机器人间发生碰撞。每台机器人每轮最多只能获得预先设置的NC个栅格点,避免造成系统中大量机器人的长时间等待现象,实现了多机器人共享栅格地图的目的,有效提高了多机器人系统整体效率。在分配过程中采用前瞻一步的策略,实时构建系统前瞻一步后的阻塞图模型,应用相应的环路死锁检测与避免方法,有效避免了环路死锁现象。

【技术实现步骤摘要】
一种基于栅格地图的多移动机器人系统栅格点前瞻性防死锁动态分配方法
本专利技术涉及移动机器人领域,尤其是一种基于栅格地图的多移动机器人系统栅格点前瞻性防死锁动态分配方法。该方法主要应用于基于栅格地图的多移动机器人系统,主要解决当多移动机器人共用同一栅格地图时的路径冲突,多移动机器人间发生碰撞及系统死锁的技术问题,提高多移动机器人系统的整体效率和智能化水平。
技术介绍
当多移动机器人共享同一栅格地图时,移动机器人间必然存在路径冲突,为了避免各移动机器人间发生碰撞,目前普遍采用的方法是在机器人路径规划时避开其他机器人已规划路径,机器人在运行到终点前,将一直独占整条路径栅格点,当系统中移动机器人密度较高时易造成大量机器人的长时间等待现象,降低了系统效率。
技术实现思路
专利技术目的:为解决上述技术问题,本专利技术提出一种基于栅格地图的多移动机器人系统栅格点前瞻性防死锁动态分配方法,该方法主要应用于基于栅格地图的多移动机器人系统,主要解决当多移动机器人共用同一栅格地图时的路径冲突,避免多移动机器人间发生碰撞及系统死锁,提高多移动机器人系统的整体效率和智能化水平。技术方案:为实现上述技术效果,本专利技术提出的技术方案为:一种基于栅格地图的多移动机器人系统栅格点前瞻性防死锁动态分配方法,所述多个移动机器人共用一个栅格地图;所述分配方法包括步骤;(1)获取栅格地图中栅格点的坐标、栅格点的状态、栅格地图中的障碍物位置、各移动机器人的位置、各移动机器人已规划的路径;根据获取的信息标识所有栅格点及其状态:记所有栅格点的集合为V={vj|j∈N且1≤j≤NV},其中,vj表示第j个栅格点,NV为栅格点总数;vj的状态标识为Occupy(vj),Occupy(vj)=0表示栅格点vj未被占用,Occupy(vj)=1表示栅格点vj已被占用,占用栅格点vj的机器人记为R(vj);(2)记第i个移动机器人为Ri,i∈N,且1≤i≤NR,N表示正整数,NR表示移动移动机器人的总数;记Ri已规划的路径为Path(Ri),将系统根据Path(Ri)已分配给Ri的栅格点中最靠近Path(Ri)终点的栅格点作为Ri的临时停靠点,记为FinOcc(Ri);记从FinOcc(Ri)开始沿着路径Path(Ri)前向第k个栅格点为(3)逐一为移动机器人分配栅格点,其中,为移动机器人Ri分配栅格点的步骤包括:(3-1)初始化k=1;(3-2)根据的状态标识判断栅格点是否已被其他移动机器人占据,若是,则直接进入步骤(3-6);否则,执行步骤(3-3);(3-3)假定将栅格点分配给机器人Ri,根据假定的分配结果构建阻塞图GQ(VQ,EQ),GQ(VQ,EQ)为有向图,VQ为顶点集,EQ为边集,VQ={vj|vj∈VT}其中,vj表示第j个栅格点,VT表示所有移动机器人临时停靠点的集合,ejk表示从栅格点vj到vk的单向路径;(3-4)根据构建好的阻塞图,检测阻塞图中是否存在环路死锁,若不存在,则执行步骤(3-5),否则,执行步骤(3-6);(3-5)将栅格点分配给机器人Ri;计算k=k+1,判断是否满足k>Nc,若满足,则执行步骤(3-7),否则,返回步骤(3-2);其中,Nc为预设的每次为移动机器人分配栅格数的最大值;(3-6)结束为移动机器人Ri分配栅格点。(4)当为所有移动机器人分配过栅格点后,等待所有移动机器人按照各自路径顺序通过已分配栅格点,并停留在临时停靠栅格点后,返回步骤(3),重新对所有移动机器人进行栅格点分配。进一步的,判断阻塞图中是否存在环路死锁的方法为:当阻塞图中存在有向回路时表示存在环路死锁,一个有向回路表示一个发生环路死锁的阻塞路径。进一步的,检索阻塞图中的环路死锁的方法为:1)假定移动机器人Ri进入阻塞图GQ(VQ,EQ),初始化:L={vcu},其中,vcu表示阻塞图中当前正在搜索的栅格点,L为发生环路死锁的阻塞路径;2)判断阻塞图中是否存在vcu的前向邻节点Adj+(vcu);若不存在,则不会发生环路死锁;若存在,则更新:vcu=Adj+(vcu),L=L+{Adj+(vcu)};3)判断是否满足若满足,则表示发生环路死锁,并输出L;若不满足,则返回步骤2)。有益效果:与现有技术相比,本专利技术具有以下优势:本专利技术在分配栅格点的过程中采用前瞻一步的策略,实时构建系统前瞻一步后的阻塞图模型,应用相应的环路死锁检测与避免方法,有效避免了环路死锁现象。避免造成系统中大量机器人的长时间等待现象,实现了多机器人共享栅格地图的目的,有效提高了多机器人系统整体效率。附图说明图1为本专利技术的整体流程图;图2为环路死锁的示意图;图3为实施例中给出的栅格地图状态图;图4为图1相应的阻塞图;图5为环路死锁的阻塞路径搜索流程图。具体实施方式下面结合附图对本专利技术作更进一步的说明。图1所示为本专利技术的整体流程图基于栅格地图的多移动机器人系统由栅格地图及若干移动机器人组成。NR为系统中的移动机器人数量。栅格地图可用图G(V,E)来描述,其中V={vj|j∈N且1≤j≤NV}表示栅格点的集合,NV为栅格地图中的栅格点数,N表示正整数,E表示栅格边的集合,E={eij|eij=(vi,vj),其中vi,vj∈V且vi≠vj},NE为栅格边的条数,vi称为边eij的始点,vj称为边eij的终点。移动机器人可沿栅格边的方向双向运行,但只能停靠于栅格点,由于多台移动机器人共享同一栅格地图,因此机器人之间的相互冲突在所难免,为了避免碰撞,必须针对机器人间可能出现的干涉,提出对应的避碰方法。在基于栅格地图的多移动机器人系统中,容易出现某台移动机器人被另一移动机器人阻塞而暂时不能运动的情况,如果若干移动机器人形成循环阻塞,就造成了如图2所示的环路死锁。为解决这一问题,本专利技术提出一种基于栅格地图的多移动机器人系统栅格点前瞻性防死锁动态分配方法,下面基于图3所示的栅格地图状态图,对本专利技术的具体步骤进行阐述,本专利技术的具体流程如图1所示,包括步骤:(1)获取栅格地图中栅格点的坐标、栅格点的状态、栅格地图中的障碍物位置、各移动机器人的位置、各移动机器人已规划的路径;根据获取的信息标识所有栅格点及其状态:记所有栅格点的集合为V={vj|j∈N且1≤j≤NV},其中,vj表示第j个栅格点,NV为栅格点总数;vj的状态标识为Occupy(vj),Occupy(vj)=0表示栅格点vj未被占用,Occupy(vj)=1表示栅格点vj已被占用,占用栅格点vj的机器人记为R(vj);(2)记第i个移动机器人为Ri,i∈N,且1≤i≤NR,N表示正整数,NR表示移动移动机器人的总数;记Ri已规划的路径为Path(Ri),将系统根据Path(Ri)已分配给Ri的栅格点中最靠近Path(Ri)终点的栅格点作为Ri的临时停靠点,记为FinOcc(Ri);记从FinOcc(Ri)开始沿着路径Path(Ri)前向第k个栅格点为如:Path(Ri)={v1,v2,v7,v8,v13},其中{v1,v2,v7}已分配给机器人Ri,则FinOcc(Ri)=v7,(3)逐一为移动机器人分配栅格点,分配时的分配规则为:规则1:为了避免移动机器人间发生碰撞,每个栅格点至多只允许分配给一台移动机器人。规则2:为了避免某机器人一次本文档来自技高网...

【技术保护点】
1.一种基于栅格地图的多移动机器人系统栅格点前瞻性防死锁动态分配方法,其特征在于,所述多个移动机器人共用一个栅格地图;所述分配方法包括步骤;(1)获取栅格地图中栅格点的坐标、栅格点的状态、栅格地图中的障碍物位置、各移动机器人的位置、各移动机器人已规划的路径;根据获取的信息标识所有栅格点及其状态:记所有栅格点的集合为V={vj|j∈N且1≤j≤NV},其中,vj表示第j个栅格点,NV为栅格点总数;vj的状态标识为Occupy(vj),Occupy(vj)=0表示栅格点vj未被占用,Occupy(vj)=1表示栅格点vj已被占用,占用栅格点vj的机器人记为R(vj);(2)记第i个移动机器人为Ri,i∈N,且1≤i≤NR,N表示正整数,NR表示移动移动机器人的总数;记Ri已规划的路径为Path(Ri),将系统根据Path(Ri)已分配给Ri的栅格点中最靠近Path(Ri)终点的栅格点作为Ri的临时停靠点,记为FinOcc(Ri);记从FinOcc(Ri)开始沿着路径Path(Ri)前向第k个栅格点为

【技术特征摘要】
1.一种基于栅格地图的多移动机器人系统栅格点前瞻性防死锁动态分配方法,其特征在于,所述多个移动机器人共用一个栅格地图;所述分配方法包括步骤;(1)获取栅格地图中栅格点的坐标、栅格点的状态、栅格地图中的障碍物位置、各移动机器人的位置、各移动机器人已规划的路径;根据获取的信息标识所有栅格点及其状态:记所有栅格点的集合为V={vj|j∈N且1≤j≤NV},其中,vj表示第j个栅格点,NV为栅格点总数;vj的状态标识为Occupy(vj),Occupy(vj)=0表示栅格点vj未被占用,Occupy(vj)=1表示栅格点vj已被占用,占用栅格点vj的机器人记为R(vj);(2)记第i个移动机器人为Ri,i∈N,且1≤i≤NR,N表示正整数,NR表示移动移动机器人的总数;记Ri已规划的路径为Path(Ri),将系统根据Path(Ri)已分配给Ri的栅格点中最靠近Path(Ri)终点的栅格点作为Ri的临时停靠点,记为FinOcc(Ri);记从FinOcc(Ri)开始沿着路径Path(Ri)前向第k个栅格点为(3)逐一为移动机器人分配栅格点,其中,为移动机器人Ri分配栅格点的步骤包括:(3-1)初始化k=1;(3-2)根据的状态标识判断栅格点是否已被其他移动机器人占据,若是,则直接进入步骤(3-6);否则,执行步骤(3-3);(3-3)假定将栅格点分配给机器人Ri,根据假定的分配结果构建阻塞图GQ(VQ,EQ),GQ(VQ,EQ)为有向图,VQ为顶点集,EQ为边集,VQ={vj|vj∈VT}其中,vj表示第j个栅格点,VT表示所有...

【专利技术属性】
技术研发人员:肖海宁秦德金张炯楼佩煌武星钱晓明曾勇石陈陈王龙军郑竹安
申请(专利权)人:盐城工学院
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1