一种基于时间窗的多机器人路径规划方法

文档序号:9886950阅读:1351来源:国知局
一种基于时间窗的多机器人路径规划方法
【专利说明】
【技术领域】
[0001]本发明涉及机器人设计领域,尤其涉及一种基于时间窗的多机器人路径规划方法。
【【背景技术】】
[0002]目前,随着新技术的快速发展,机器人的应用也越来越广泛,并且同一个系统中的机器人数量也在不断增加,多机器人调度问题日趋重要。由于多个机器人在同一个系统内执行任务,它们有可能在行走路径上产生冲突。冲突有三种基本类型,即路口冲突、赶超冲突和相向冲突。其中路口冲突是指两台机器人同时到达路口,赶超冲突是指两台机器人同向行驶,后面机器人速度快,会在行驶过程中产生追尾事件,相向冲突是指两台机器人相向行驶的碰撞。目前解决冲突的策略主要有等待策略、更改路径、速度调节等。其中更改路径策略就涉及对机器人的路径规划。
[0003]路径规划指在具有一定障碍物的环境中(此环境可以通过机器人与环境的交互感知),给定一个起始点和目标点,参照一定的准则,如最短路径因素、最少花费时间、最少拐弯次数,最少花费费用等等,在所处环境中搜索出一条最优的无碰撞路径。
[0004]而多机器人系统路径规划是建立在单个机器人基础之上,在保证单个机器人完成从起始点到终点的路径规划,同时避免机器人和周围环境障碍物以及其它机器人发生冲突碰撞,完成多机器人之间的协调,避免碰撞和死锁等情况发生,使得多台机器人能共同顺利的完成指定任务。
[0005]目前,对于多机器人系统路径规划已经提出了一些算法,典型的算法通过将单台机器人的算法和时间窗原理相结合来规划路径。例如将Dijkstra算法和时间窗原理相结合,顺序规划各个机器人的路径,在已规划机器人路径的基础上,运用基于Dijkstra的算法继续规划下一台机器人,实现机器人的无碰撞路径规划。
[0006]但是,现有算法很多是基于精确的时间窗,或应用于特定的场景来进行,通用性较差;对冲突的判断比较繁琐,并且冲突的解决方案多需要等待,停车次数多,用户体验较差。

【发明内容】

[0007]基于现有技术的上述问题,本发明提出了一种基于时间窗的多机器人路径规划方法。该方法按照机器人优先级顺序,依次进行路径规划,对于待规划机器人,搜索所有可行路径作为搜索路径集,从中找到一条能在已有空闲时间窗内执行完的可行路径作为其路径,最后进行机器人死锁判断。
[0008]其中,死锁判断通过对每一个非正常执行任务状态的机器人,根据前方的阻塞/停止机器人的位置和方向,增加一条有向边,如果最后图中出现环,则为死锁。
[0009]其中,对于新加入的系统的机器人,执行预先规划方法,计算各条可行路径的执行时间,将执行时间最短的可行路径作为新机器人的路径。
[0010]本发明采用的技术方案为:[0011 ] 一种基于时间窗的多机器人路径规划方法,包括如下步骤:
[0012]I)在多机器人的系统地图中设定节点和短路径,并保存;
[0013]2)初始化,清除节点和路径的时间窗,清除所有机器人的已规划标记、阻塞标记和循环标记;
[0014]3)获取各个机器人的速度、位置和状态信息,所述状态包括待规划状态和无需规划状态;使用预定路径搜索算法在预设条件下为各个机器人搜索若干路径,搜索到的路径作为相应机器人的可选路径;
[0015]4)清除所有机器人的时间窗、已规划标记和循环标记;
[0016]5)根据所有具有无需规划状态的机器人和具有阻塞标记的机器人的位置和状态更新时间窗;
[0017]6)选择一个无阻塞标记且无已规划标记的待规划状态的机器人,计算该机器人的每一条可选路径的空闲时间窗,包括该可选路径上各个节点、短路径的空闲时间窗;
[0018]7)判断步骤6所选择的机器人是否具有可选路径能在对应的空闲时间窗内完成任务。如果有,则选择其中耗时最短的可选路径作为该机器人的行进路径,并对该机器人打上已规划标记,同时更新所有的点时间窗和边时间窗,如果没有,则放宽预设条件,使用所述预定路径搜索算法为该机器人搜索其他路径,如果没能搜索到新的可选路径,则对该机器人打上阻塞标记和循环标记,如果搜索到新的可选路径,则将新路径加入该机器人的可选路径并返回步骤6;
[0019]8)判断所有无阻塞标记的待规划状态的机器人中,是否还有未被打上已规划标记的机器人,如果有则返回步骤6,如果没有则继续执行以下步骤;
[0020]9)判断是否还有打上循环标记的机器人,如果有则返回步骤4,如果没有则继续执行以下步骤;
[0021]10)检测目前系统中是否存在机器人死锁,如果有,则报警。
[0022]优选的,每隔预设时间重复执行步骤2至步骤10。
[0023]优选的,所述预设时间为100ms。
[0024]优选的,所述待规划状态包括任务待分配状态、任务运行状态和任务阻塞状态;所述无需规划状态包括机器人故障状态和任务结束状态。
[0025]优选的,其中步骤5更新时间窗的方法为对无需规划状态机器人和具有阻塞标记机器人所在的短路径或节点进行封锁,以表明该短路径或节点被占用。
[0026]优选的,其中步骤6中按照机器人优先级从高到低选择。
[0027]优选的,其中步骤3和7中所述的预定路径搜索算法为Di jkstra算法、A*算法或者BFS算法。
[0028]优选的,其中步骤3中所述的预设条件为预先设定的路径搜索的上限时间或者搜索到的路径的上限数量,若路径搜索的时间达到上限时间或者搜索到的路径数量达到上限数量,则结束本次搜索。
[0029]优选的,其中步骤7中所述的放宽预设条件是指增加路径搜索的上限时间,或者增加搜索到的路径的上限数量。
[0030]优选的,所述步骤10中检测机器人死锁的具体步骤如下:
[0031]10.1)统计所有具有阻塞标记的机器人的关键路径和/或关键点;所述关键路径是指机器人所有可选路径中都经过的路径,所述关键点是指机器人所有可选路径中都经过的节点;
[0032]10.2)对于每一个具有关键路径和/或关键点的机器人,判断在其关键路径和/或关键点上是否有其他具有阻塞标记的机器人,如果有,则建立一有向边,该有向边从该具有关键路径和/或关键点的机器人指向该其他具有阻塞标记的机器人;
[0033]10.3)判断所有有向边是否有形成环,如果有,则为死锁;如果没有,则没有死锁。
[0034]优选的,对于死锁中无解的机器人,记录其每条可行路径上的冲突短路径和冲突节点,并记录冲突依赖关系,对被依赖最多的机器人给出预警。
[0035]本发明的有益效果为:
[0036]I)可以预先估算整条路的时间窗,如果机器人可以按照预定的时间窗完成任务,则中途不会出现死锁情况;
[0037]2)和遗传算法,蚁群算法,粒子群算法这些需要自学习/随机量的调度算法等比较,时间窗算法不需要多次迭代,只是在有限的路径集上计算可能性,相对计算量比较小,而且不会陷入局部最小,更适合真实的调度场景应用。
[0038]3)可更合理并且更容易的检测冲突。
[0039]4)对存在冲突的机器人进行死锁检测,并给出预警。。
【【附图说明】】
[0040]此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
[0041 ]图1是本发明的动态规划方法的流程图。
【【具体实施方式】】
[0042]下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
[0043]首先说明本发明使用的一些术语:
[0044]时间窗:时间窗指的是机器人占用某个资源的时间段,即机器人从该时间段的起始时间到终止时间占用该资源。当不同机器人占用资源的时间窗没有重叠时,则表明没有发生碰撞和冲
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1