一种分布式自主移动机器人调度系统技术方案

技术编号:26227063 阅读:84 留言:0更新日期:2020-11-04 11:06
本发明专利技术公开了一种分布式自主移动机器人调度系统,该系统框架主要包括机器人自主状态检测与数据共享单元、分布式任务分配单元、交通自主协调单元、数据库集群与同步单元、外部统一访问虚拟接口。自主移动机器人负责各自数据的采集,并通过无线通讯模块与其他机器人进行数据和信息的交互,从而实现自主的决策与控制。本发明专利技术能够实现多个自主移动机器人个体之间的分散管理和调度、自主决策和控制等,提高机器人的自主性和协作能力,降低生产车间的管理成本,提高运行效率,具有较好的应用前景。

【技术实现步骤摘要】
一种分布式自主移动机器人调度系统
本专利技术涉及一种分布式自主移动机器人调度系统,属于机器人调度领域。
技术介绍
目前,物流公司、大型仓库等仓储的货物流动是不可能完全由人工完成的,现在开始渐渐采用多个自动导引运输车协同工作,无需人工操作,但需要通过调度系统解决多个自主移动机器人的路径规划、避障、规避碰撞、任务分配等问题。现有的自主移动机器人调度系统一般采用WIFI网络进行通信,调度方式主要有分布式调度和集中式调度两种。集中式调度系统,首先进行全部自主移动机器人行进路径的规划,由其实时控制自主移动机器人的行进,然后由自主移动机器人自行根据地图和避障传感器,规避障碍机制来实现对特殊情况的处理。当工作区域规模较大,有大量自主移动机器人同时运行时,集中式调度系统在进行路径规划、任务分配时会导致巨大的计算量,网络IO通信也会存在负担,从而出现调度的瓶颈。分布式调度系统,在路径规划时,不需要考虑全局的路径规划,每个自主移动机器人只规划自己的路径,遇到冲突时再重规划,由于计算的是一条路径,所以计算量比较小,系统对网络通信的开销也比价小,在分布式系统中还可以让一些充电或者无任务的移动机器人提供计算的帮助,从而减轻单个自主移动机器人的计算量,提高整个系统的性能。目前亟需高效、稳定的自主移动机器人调度系统。
技术实现思路
以往的调度系统通常存在资源管理服务器,用于任务的发布及自主移动机器人车辆的管理等调度任务。本专利技术设计了一种新的分布式自主移动机器人调度系统框架,与传统不同的是它不采用集中式的管理办法,不需要部署集中式服务器用于资源管理,所有调度任务都在自主移动机器人集群当中通过分布式计算和服务调用完成。本专利技术的目的是通过以下步骤实现的:一种分布式自主移动机器人调度系统,该系统包括机器人自主状态检测与数据共享单元、分布式任务分配单元、交通自主协调单元、数据库集群与同步单元、外部统一访问虚拟接口;机器人自主状态检测与数据共享单元:机器人根据自身传感器检测位置、姿态、工作状态、异常和故障信息,并通过无线网络模块与其他机器人进行信息共享和交互;分布式任务分配单元:机器人应对外部发起的任务指令,通过与其他机器人根据各自自身状态所决定的竞拍价格或协商价格的迭代交互,决策出唯一而且一致的“由谁来响应这个任务”的结论;交通自主协调单元:机器人通过自身当前位姿及已规划的运行路线,通过与邻近机器人运行规划路径的冲突检测,协商出一个无冲突、无死锁的可行路径,并进行实时动态更新;数据库集群与同步单元:每台机器人各自安装数据表格相同的数据库,并确保每台机器人的数据库发生更新时,可实时更新到所有其他机器人的数据库上;外部统一访问虚拟接口:所有机器人的web服务提供统一的一个对外虚拟接口,外部访问无需区分要访问哪台机器人的web服务器。进一步地,机器人自主状态检测与数据共享单元包括网联模块、通信与服务调用模块;所述自主移动机器人网联模块基于LAN通信,提供配置管理、分布式锁、集群管理功能;自主移动机器人网联模块单独分布式部署在每一台工作的机器人上,进入局域网后根据模块配置信息组成自主移动机器人集群;所述通信与服务调用模块分布式部署在每一台自主移动机器人上,通过远程调用方法,使每台自主移动机器人获取其他机器人上数据和调用其他机器人上服务能够像调用自己本机上的数据和服务一样容易;进一步地,自主移动机器人网联模块提供配置管理能力,分布式调度系统中不同机器人之间的通信和服务调用接口信息存在于网联模块中,当某些自主移动机器人上的服务发生变化时,网联模块可以及时将变动情况同步到其他机器人中,保证重要通信与服务的信息一致性和稳定性;所述自主移动机器人网联模块提供分布式锁能力,在自主移动机器人集群中,在集群中的每台自主移动机器人中可能会部署同样的服务;网联模块保证在集群中只有一台机器人执行一个服务,只有该台自主移动机器人出故障才能释放分布式锁,调用其他机器人的服务;所述自主移动机器人网联模块提供集群管理能力,在自主移动机器人集群中,有一台为Leader,集群中其他机器人都为Follower,所有自主移动机器人网联模块都保存一份配置副本,并保证全局一致性;当有机器人需要更改配置时,网联模块会转发该更改请求直到Leader,并由Leader实施更改;当有机器人需要读取配置,网联模块直接提供本机的全局配置。进一步地,通信与服务调用模块中包含服务提供者和服务消费者两部分,分别起向外部提供服务和从外部调用服务的功能,服务注册和调用流程包括以下步骤:服务容器负责启动,加载,运行服务提供者;服务提供者在启动时,向注册中心注册自己提供的服务;服务消费者在启动时,向注册中心订阅自己所需的服务;注册中心返回服务提供者地址列表给服务消费者,如果有变更,注册中心将基于长连接推送变更数据给服务消费者;服务消费者从提供者地址列表中,基于软负载均衡算法选择一台提供者进行调用,如果调用失败再选择另一台调用。进一步地,分布式任务分配单元中,任务分配通过竞拍算法实现,将任务集合M={M1,M2,…,Mm}分配到机器人集合R={R1,R2,…,Rn},其中m,n∈N+,使得收益最大,机器人Ri执行任务Mj可以获得收益aij,目标是给定这些任务的分配方案,使总收益最大;xij∈{0,1}其中,xij表示机器人Ri是否分配任务Mj,取0为未分配,取1为分配了任务,Ni为机器人执行任务的最大数量;每一台机器人都运行各自的任务分配竞拍算法,在虚拟市场中相互独立,相互作用,所有机器人只为自己的利益进行竞拍,选择任务;最终虚拟市场会趋于稳态,并且市场整体创造的价值达到最高,实现局部最优分配。进一步地,分布式任务分配单元中,采用单个机器人内部的任务自协调策略来提高整体任务分配的效率,自协调方法采用最优执行位置价值函数,将单个机器人所有未执行的任务自协调,合理安排机器人任务执行队列中的任务执行顺序,使得机器人执行任务收益最大化,具体为:对于新任务,计算机器人的任务执行队列中不同位置的最短任务完成距离;计算插入新任务前后的差异,选择距离增加最小的任务插入点上的执行收益,作为新任务的执行价值;其中,Lnew是机器人加入新任务后完成任务执行队列所需要经过的总路程,Lold是不加新任务的完成任务执行队列所需要经过的总路程;若机器人Ri所投标的任务为Mj,Mj的执行位置插在最后,机器人Ri的任务执行队列为TaskExecutionQueue:{Mj0,Mj1,Mj2,...,Mjs-1,Mj},s为未加入新任务时的任务执行队列长度;Lnew和Lold计算方法如下:其中,(xRi,yRi)为机器人Ri位置坐标,分别表示任务Mj0、Mj和Mjs-1的起点位置坐标,分别表示任务Mj0、Mj和Mjs-1的终点位置坐标;最优执行位置价值函数自协调算法步骤如下:(1)机器人Ri获取任务待分配列表TaskList本文档来自技高网...

【技术保护点】
1.一种分布式自主移动机器人调度系统,其特征在于,该系统包括机器人自主状态检测与数据共享单元、分布式任务分配单元、交通自主协调单元、数据库集群与同步单元、外部统一访问虚拟接口。/n机器人自主状态检测与数据共享单元:机器人根据自身传感器检测位置、姿态、工作状态、异常和故障信息,并通过无线网络模块与其他机器人进行信息共享和交互。/n分布式任务分配单元:机器人应对外部发起的任务指令,通过与其他机器人根据各自自身状态所决定的竞拍价格或协商价格的迭代交互,决策出唯一而且一致的“由谁来响应这个任务”的结论。/n交通自主协调单元:机器人通过自身当前位姿及已规划的运行路线,通过与邻近机器人运行规划路径的冲突检测,协商出一个无冲突、无死锁的可行路径,并进行实时动态更新;/n数据库集群与同步单元:每台机器人各自安装数据表格相同的数据库,并确保每台机器人的数据库发生更新时,可实时更新到所有其他机器人的数据库上。/n外部统一访问虚拟接口:所有机器人的web服务提供统一的一个对外虚拟接口,外部访问无需区分要访问哪台机器人的web服务器。/n

【技术特征摘要】
1.一种分布式自主移动机器人调度系统,其特征在于,该系统包括机器人自主状态检测与数据共享单元、分布式任务分配单元、交通自主协调单元、数据库集群与同步单元、外部统一访问虚拟接口。
机器人自主状态检测与数据共享单元:机器人根据自身传感器检测位置、姿态、工作状态、异常和故障信息,并通过无线网络模块与其他机器人进行信息共享和交互。
分布式任务分配单元:机器人应对外部发起的任务指令,通过与其他机器人根据各自自身状态所决定的竞拍价格或协商价格的迭代交互,决策出唯一而且一致的“由谁来响应这个任务”的结论。
交通自主协调单元:机器人通过自身当前位姿及已规划的运行路线,通过与邻近机器人运行规划路径的冲突检测,协商出一个无冲突、无死锁的可行路径,并进行实时动态更新;
数据库集群与同步单元:每台机器人各自安装数据表格相同的数据库,并确保每台机器人的数据库发生更新时,可实时更新到所有其他机器人的数据库上。
外部统一访问虚拟接口:所有机器人的web服务提供统一的一个对外虚拟接口,外部访问无需区分要访问哪台机器人的web服务器。


2.根据权利要求1所述的一种分布式自主移动机器人调度系统,其特征在于,所述机器人自主状态检测与数据共享单元包括网联模块、通信与服务调用模块;
所述自主移动机器人网联模块基于LAN通信,提供配置管理、分布式锁、集群管理功能;自主移动机器人网联模块单独分布式部署在每一台工作的机器人上,进入局域网后根据模块配置信息组成自主移动机器人集群;
所述通信与服务调用模块分布式部署在每一台自主移动机器人上,通过远程调用方法,使每台自主移动机器人获取其他机器人上数据和调用其他机器人上服务能够像调用自己本机上的数据和服务一样容易。


3.根据权利要求2所述的一种分布式自主移动机器人调度系统,其特征在于,所述自主移动机器人网联模块提供配置管理能力,分布式调度系统中不同机器人之间的通信和服务调用接口信息存在于网联模块中,当某些自主移动机器人上的服务发生变化时,网联模块可以及时将变动情况同步到其他机器人中,保证重要通信与服务的信息一致性和稳定性;
所述自主移动机器人网联模块提供分布式锁能力,在自主移动机器人集群中,在集群中的每台自主移动机器人中可能会部署同样的服务;网联模块保证在集群中只有一台机器人执行一个服务,只有该台自主移动机器人出故障才能释放分布式锁,调用其他机器人的服务;
所述自主移动机器人网联模块提供集群管理能力,在自主移动机器人集群中,有一台为Leader,集群中其他机器人都为Follower,所有自主移动机器人网联模块都保存一份配置副本,并保证全局一致性;当有机器人需要更改配置时,网联模块会转发该更改请求直到Leader,并由Leader实施更改;当有机器人需要读取配置,网联模块直接提供本机的全局配置。


4.根据权利要求2所述的一种分布式自主移动机器人调度系统,其特征在于,所述通信与服务调用模块中包含服务提供者和服务消费者两部分,分别起向外部提供服务和从外部调用服务的功能,服务注册和调用流程包括以下步骤:服务容器负责启动,加载,运行服务提供者;服务提供者在启动时,向注册中心注册自己提供的服务;服务消费者在启动时,向注册中心订阅自己所需的服务;注册中心返回服务提供者地址列表给服务消费者,如果有变更,注册中心将基于长连接推送变更数据给服务消费者;服务消费者从提供者地址列表中,基于软负载均衡算法选择一台提供者进行调用,如果调用失败再选择另一台调用。


5.根据权利要求1所述的一种分布式自主移动机器人调度系统,其特征在于,所述分布式任务分配单元中,任务分配通过竞拍算法实现,将任务集合M={M1,M2,…,Mm}分配到机器人集合R={R1,R2,…,Rn},其中m,n∈N+,使得收益最大,机器人Ri执行任务Mj可以获得收益aij,目标是给定这些任务的分配方案,使总收益最大;









xij∈{0,1}
其中,xij表示机器人Ri是否分配任务Mj,取0为未分配,取1为分配了任务,Ni为机器人执行任务的最大数量;
每一台机器人都运行各自的任务分配竞拍算法,在虚拟市场中相互独立,相互作用,所有机器人只为自己的利益进行竞拍,选择任务;最终虚拟市场会趋于稳态,并且市场整体创造的价值达到最高,实现局部最优分配。


6.根据权利要求5所述的一种分布式自主移动机器人调度系统,其特征在于,所述分布式任务分配单元中,采用单个机器人内部的任务自协调策略来提高整体任务分配的效率,自协调方法采用最优执行位置价值函数,将单个机器人所有未执行的任务自协调,合理安排机器人任务执行队列中的任务执行顺序,使得机器人执行任务收益最大化,具体为:
对于新任务,计算机器人的任务执行队列中不同位置的最短任务完成距离;计算插入新任务前后的差异,选择距离增加最小的任务插入点上的执行收益,作为新任务的执行价值;



其中,Lnew是机器人加入新任务后完成任务执行队列所需要经过的总路程,Lold是不加新任务的完成任务执行队列所需要经过的总路程;若机器人Ri所投标的任务为Mj,Mj的执行位置插在最后,机器人Ri的任务执行队列为TaskExecutionQueue:{Mj0,Mj1,Mj2,…,Mjs-1,Mj},s为未加入新任务时的任务执行队列长度;
Lnew和Lold计算方法如下:

【专利技术属性】
技术研发人员:邱方长林志赟许林杰韩鑫焱李立杨海健林祖乾侯士伟
申请(专利权)人:浙江中力机械有限公司浙江科钛机器人股份有限公司
类型:发明
国别省市:浙江;33

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

1