利索能及
我要发布
收藏
专利号: 2022109213811
申请人: 山东大学深圳研究院
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-07
缴费截止日期: 2026-09-02
联系人

摘要:

权利要求书:

1.一种基于冲突的移动机器人路径规划方法,其特征在于,包括:

根据待分配的任务和各机器人的状态信息,确定用于完成该任务的目标机器人,更新所述目标机器人的状态信息;构建路径规划模型,所述路径规划模型包括上层搜索和下层搜索;所述上层搜索是搜索约束树,所述约束树包括若干个节点,每个节点包括一组约束和符合约束的路径,该路径由下层搜索得到;所述下层搜索根据各机器人的状态信息,分任务进行路径规划求解;

通过求解所述路径规划模型,得到目标机器人的拣选路径;

所述节点包括子节点、父节点和根节点,所述根节点包括一组空的约束,子节点继承父节点的约束,并为机器人添加一个新的约束;

所述下层搜索在进行路径规划求解时,引入机器人全局状态表,对机器人时间和位置进行约束;机器人从初始点到目标点到代价函数为机器人所在位置节点距离起点的代价、机器人所在位置节点距离终点的代价和机器人的转向代价之和;

下层搜索采用改进的A*算法,在进行路径规划求解时,引入机器人全局状态表,对机器人时间和位置进行约束,并且机器人从初始点到目标点的代价函数中添加了转向代价;

所述下层搜索的路径规划求解过程包括:

获取栅格地图,输入栅格地图数据;开始节点s,目标位置g,生成时间状态为t,含有坐标和总代价f值的节点s,初始化优先级队列OPEN和CLOSE;其中,OPEN表示待遍历的节点,CLOSE表示已经遍历过的节点,OPEN队列的节点以f值升序排列;

将节点s放入OPEN队列中;

若OPEN队列不为空,取出头节点H,将头节点H保存到CLOSE队列中,检查当前节点是不是目标位置g,若是目标位置,则算法终止;

若不是目标位置g,则遍历头节点H的相邻节点;

如果相邻节点L是障碍物或相邻节点L已保存在CLOSE列表中,忽略该节点;

若相邻节点L不在OPEN列表中且没有约束,计算相邻节点L的代价值;将相邻节点L添加到OPEN列表中,标记相邻节点L的父节点为头节点H;

若相邻节点L不在OPEN列表中但存在约束,将头节点H从CLOSE列表中删除,将时间状态更新的节点H’放入OPEN列表中表示等待,标记节点H’的父节点为头节点H;

若相邻节点L在OPEN列表中,检查从开始节点s到节点L的原有代价和经过头节点H到达相邻节点L的代价,更新节点代价值和父子关系;

根据节点从属关系反向回溯到开始节点得到路径;

多机器人路径优化的目标函数是路径代价和最小,总成本N.cost为当前总计所有单机器人路径成本,此成本称为节点N的代价, 初始化时,创建约束树的根节点,节点不包含任何约束,然后生成一个解并且求出它的代价值,初始节点中的解的每个机器人的路径是忽略其他机器人的存在而求出的;初始化结束后算法不断地从OPEN的队列中取出一个代价最低的节点,假设为N,判断该节点中的解是否有冲突;节点冲突表示为一个4元组(ri,rj,v,t),意为ri和rj在t时刻同时占用了节点v;换位冲突表示为一个5元组(ri,rj,vj,vi,t),意为ri和rj在t时刻交换了节点位置;在该节点中找到的任意一个冲突,假设为conflit=(ri,rj,v,t),由该节点扩展出左右两个子节点,这两个子节点均继承父节点的约束;对于左右子节点分别添加约束(ri,v,t)和(rj,v,t),这里表示机器人r在时间节点t不能占据节点v,由于约束集中对于ri和rj的约束个数发生了改变,因此需要调用下层改进A*搜索给ri和rj重新规划路径,路径更新之后更新节点的cost值。

2.如权利要求1所述的基于冲突的移动机器人路径规划方法,其特征在于,在所述根据待分配的任务和各机器人的状态信息,确定用于完成该任务的目标机器人,更新所述目标机器人的状态信息之前,还包括:根据机器人所处的阶段,确定与机器人对应的状态信息;其中,所述状态信息包括空闲状态、寻找货架状态、承载货架后送到拣选点状态、拣选完成送到最近可放置货架的货位状态、任务完成回到充电区状态、电量不足状态和充电状态。

3.如权利要求1所述的基于冲突的移动机器人路径规划方法,其特征在于,所述搜索约束树的具体方式包括:初始化时,约束树的根节点不包含任何约束,生成一个解并且求出它的代价值;

初始化结束后,获取代价值最低的节点,判断该节点中的解是否有冲突;若有冲突,则以该节点为父节点扩展出子节点,所述子节点继承父节点的约束,并添加新的约束,所述新的约束是根据冲突确定的;调用下层搜索重新规划子节点的路径,路径更新之后更新子节点的代价值,判断子节点中的解是否有冲突,若有冲突则以该子节点为父节点扩展子节点,直到返回没有冲突产生的节点。

4.如权利要求3所述的基于冲突的移动机器人路径规划方法,其特征在于,在判断节点中的解是否有冲突时,根据机器人的状态信息确定该冲突的优先级;按照冲突的优先级确定冲突的解决策略。

5.一种基于冲突的移动机器人路径规划系统,其特征在于,包括:

状态更新模块,用于根据待分配的任务和各机器人的状态信息,确定用于完成该任务的目标机器人,更新所述目标机器人的状态信息;

模型构建模块,用于构建路径规划模型,所述路径规划模型包括上层搜索和下层搜索;

所述上层搜索是搜索约束树,所述约束树包括若干个节点,每个节点包括一组约束和符合约束的路径,该路径由下层搜索得到;所述下层搜索根据各机器人的状态信息,分任务进行路径规划求解;

路径获取模块,用于通过求解所述路径规划模型,得到目标机器人的拣选路径;

所述节点包括子节点、父节点和根节点,所述根节点包括一组空的约束,子节点继承父节点的约束,并为机器人添加一个新的约束;

所述下层搜索在进行路径规划求解时,引入机器人全局状态表,对机器人时间和位置进行约束;机器人从初始点到目标点到代价函数为机器人所在位置节点距离起点的代价、机器人所在位置节点距离终点的代价和机器人的转向代价之和;

下层搜索采用改进的A*算法,

在进行路径规划求解时,引入机器人全局状态表,对机器人时间和位置进行约束,并且机器人从初始点到目标点的代价函数中添加了转向代价;

所述下层搜索的路径规划求解过程包括:

获取栅格地图,输入栅格地图数据;开始节点s,目标位置g,生成时间状态为t,含有坐标和总代价f值的节点s,初始化优先级队列OPEN和CLOSE;其中,OPEN表示待遍历的节点,CLOSE表示已经遍历过的节点,OPEN队列的节点以f值升序排列;

将节点s放入OPEN队列中;

若OPEN队列不为空,取出头节点H,将头节点H保存到CLOSE队列中,检查当前节点是不是目标位置g,若是目标位置,则算法终止;

若不是目标位置g,则遍历头节点H的相邻节点;

如果相邻节点L是障碍物或相邻节点L已保存在CLOSE列表中,忽略该节点;

若相邻节点L不在OPEN列表中且没有约束,计算相邻节点L的代价值;将相邻节点L添加到OPEN列表中,标记相邻节点L的父节点为头节点H;

若相邻节点L不在OPEN列表中但存在约束,将头节点H从CLOSE列表中删除,将时间状态更新的节点H’放入OPEN列表中表示等待,标记节点H’的父节点为头节点H;

若相邻节点L在OPEN列表中,检查从开始节点s到节点L的原有代价和经过头节点H到达相邻节点L的代价,更新节点代价值和父子关系;

根据节点从属关系反向回溯到开始节点得到路径;

多机器人路径优化的目标函数是路径代价和最小,总成本N.cost为当前总计所有单机器人路径成本,此成本称为节点N的代价, 初始化时,创建约束树的根节点,节点不包含任何约束,然后生成一个解并且求出它的代价值,初始节点中的解的每个机器人的路径是忽略其他机器人的存在而求出的;初始化结束后算法不断地从OPEN的队列中取出一个代价最低的节点,假设为N,判断该节点中的解是否有冲突;节点冲突表示为一个4元组(ri,rj,v,t),意为ri和rj在t时刻同时占用了节点v;换位冲突表示为一个5元组(ri,rj,vj,vi,t),意为ri和rj在t时刻交换了节点位置;在该节点中找到的任意一个冲突,假设为conflit=(ri,rj,v,t),由该节点扩展出左右两个子节点,这两个子节点均继承父节点的约束;对于左右子节点分别添加约束(ri,v,t)和(rj,v,t),这里表示机器人r在时间节点t不能占据节点v,由于约束集中对于ri和rj的约束个数发生了改变,因此需要调用下层改进A*搜索给ri和rj重新规划路径,路径更新之后更新节点的cost值。

6.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至4任一项所述的基于冲突的移动机器人路径规划方法的步骤。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至4任一项所述的基于冲突的移动机器人路径规划方法的步骤。