一种基于动态Agent的云机器人分布式控制系统及方法

文档序号:10584875阅读:229来源:国知局
一种基于动态Agent的云机器人分布式控制系统及方法
【专利摘要】本发明提供一种基于动态Agent的云机器人分布式控制系统及方法。系统包括:知识库Agent、核心Agent。方法包括:搭建云机器人ROS节点;部署知识库Agent;云机器人接受任务指令,核心Agent连接到互联网,与知识库Agent建立可靠的通信连接,并向知识库Agent申请下载;知识库Agent接收到下载请求,寻找相应功能应用下载到本地云机器人的操作系统ROS,作为动态Agent;核心Agent激活动态Agent,动态Agent执行任务,任务执行结果由核心Agent返回给用户;任务完成后,核心Agent控制动态Agent卸载云计算Agent,然后核心Agent卸载动态Agent,实现动态卸载。本发明解决云机器人执行复杂任务时,计算能力和功能受到限制的问题,实现了云机器人功能的按需加载和动态卸载,能够节省云机器人的计算资源和存储资源。
【专利说明】
一种基于动态Agent的云机器人分布式控制系统及方法
技术领域
[0001]本发明涉及机器人技术领域与云计算技术领域,具体是一种基于动态Agent的云机器人分布式控制系统及方法。
【背景技术】
[0002]随着机器人技术的不断发展,机器人的应用领域不断在扩展,但是传统的机器人设计方法都是集中化控制的设计方法,针对已确定的作业任务和功能要求设计机器人的硬件和软件结构,这样的机器人可扩展性差,难以应对不确定的任务和多变的环境;另一方面,机器人在执行即时定位和地图构建、物品抓取、定位导航等任务时,大量数据的获取和计算的执行会带来巨大的储存和计算压力。随着计算机科学的发展,互联网和云计算技术与在机器人领域取得了广泛的应用,将机器人所需的信息资料存储在云端的服务器上,让机器人在必要时通过联网的方式从云端获得这些资料。这样的机器人在任务执行和资源共享等方面有很大优势,能够突破机器人计算和存储能力的限制,被认为是机器人领域的下一代跨越。

【发明内容】

[0003]针对现有技术存在的问题,本发明提供一种基于动态Agent的云机器人分布式控制系统及方法。
[0004]本发明的技术方案是:
一种基于动态Agent的云机器人分布式控制系统,包括:
知识库Agent:在云端实现,包含适合于云机器人的若干服务功能应用;
核心Agent:在云机器人的操作系统ROS实现,控制云机器人的机械运动、传感器调用以及机器人与云端的通信连接,核心Agent通过与云端进行通信连接,下载位于知识库Agent的功能应用至云机器人的操作系统ROS,创建动态Agent。
[0005]所述的基于动态Agent的云机器人分布式控制系统,还包括云计算Agent:在云端实现,当云机器人的操作系统ROS的计算能力低于任务要求时,以云端服务的形式提供额外计算能力。
[0006]所述动态Agent在其任务完成后卸载。
[0007]所述核心Agent和动态Agent是以ROS节点的形式运行在云机器人的操作系统ROS上的,R0S master负责ROS节点之间的通信和数据交换。
[0008]所述动态Agent和知识库Agent之间的通信、动态Agent和云计算Agent之间的通信及调用通过RosCPP编程实现,RosCPP是开发ROS软件包时调用的开发包,采用Rosbridge来连接动态Agent和ROS。
[0009]—种米用所述云机器人分布式控制系统的云机器人分布式控制方法,包括:
步骤1、搭建云机器人ROS节点:本地搭建核心Agent作为ROS节点,并将其部署到本地云机器人的操作系统R0S; 步骤2、部署知识库Agent:利用RosCPP编写知识库Agent,包含适合于机器人的若干功能应用;
步骤3、云机器人接受任务指令,核心Agent连接到互联网,核心Agent与知识库Agent之间建立可靠的通信连接,并向知识库Agent申请下载任务指令对应的功能应用;
步骤4、知识库Agent接收到下载请求,寻找相应功能应用,将其下载到本地云机器人的操作系统ROS,作为动态Agent ;
步骤5、当云机器人的操作系统ROS的计算能力低于任务要求时,根据用户需求,动态Agent向云端申请创建以云端服务的形式提供额外计算能力的云计算Agent;
步骤6、核心Agent激活动态Agent,动态Agent执行任务,任务执行结果由核心Agent返回给用户;
步骤7、任务完成后,核心Agent控制动态Agent卸载云计算Agent,然后核心Agent卸载动态Agent,实现动态卸载。
[0010]有益效果:
本发明结合云计算和机器人技术,提出了一种基于Agent的功能服务化、动态可扩展的云机器人分布式控制系统及方法,解决云机器人执行复杂任务时,计算能力和功能受到限制的问题,能够根据用户的需求动态加载和卸载服务,云机器人可以通过云端的知识库Agent来下载所需功能应用,并根据计算能力需求创建云计算Agent,本发明能够应对多变的任务需求,同时可以申请云计算资源,提高了云机器人的计算能力,执行多样和复杂的任务,从而极大地拓展了每一台云机器人的能力。本发明实现了云机器人功能的按需加载和动态卸载,能够节省云机器人的计算资源和存储资源。
【附图说明】
[0011]图1是本发明【具体实施方式】的基于动态Agent的云机器人分布式控制系统结构框图;
图2是本发明【具体实施方式】采用的云机器人的硬件控制结构框图;
图3是本发明【具体实施方式】云机器人分布式控制方法流程图。
【具体实施方式】
[0012]为了使本发明的目的、技术方案和要点更加清楚,下面将结合附图对本发明的【具体实施方式】进行进一步阐述。显然,阐述时,所描述的实例仅仅是本发明的一部分实例。基于本发明的实例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实例,均属于本发明保护的范围。
[0013]本实施方式中的云机器人采用四轮驱动轮式机器人,该机器人的硬件控制结构如图2所示,其运动控制模块由驱动轮电机和陀螺仪组成;信息采集模块采用Kinect摄像头模块,并由搭载有ROS操作系统的上位机控制。
[0014]一种基于动态Agent的云机器人分布式控制系统,如图1所示,包括:
知识库Agent:在云端实现,包含适合于云机器人的若干功能应用;
核心Agent:在云机器人的操作系统ROS实现,控制云机器人的机械运动、传感器调用以及云机器人与云端的通信连接,核心Agent通过与云端进行通信连接,下载位于知识库Agent的功能应用至云机器人的操作系统ROS,创建动态Agent。动态Agent在其任务完成后卸载。核心Agent和动态Agent是以ROS节点的形式运行在云机器人的操作系统ROS上的,ROSmaster负责ROS节点之间的通信和数据交换。动态Agent和知识库Agent之间的通信、动态Agent和云计算Agent之间的通信及调用通过RosCPP编程实现,采用Rosbridge来联通Agent和 ROS 0
[00?5] 基于动态Agent的云机器人分布式控制系统,还包括云计算Agent:在云端实现,当云机器人的操作系统ROS的计算能力低于任务要求时,以云端服务的形式提供额外计算能力。
[0016]一种采用所述云机器人分布式控制系统的云机器人分布式控制方法,如图3所示,包括:
步骤1、搭建云机器人ROS节点:本地搭建核心Agent作为ROS节点,并将其部署到本地机器人的操作系统R0S;
本实施方式的云机器人分布式控制系统中,构建有操作系统Ubuntu、云机器人的操作系统ROS,操作系统ROS运行在操作系统Ubuntu上。在本地搭建核心Agent作为ROS节点,并将其部署到本地机器人。核心Agent用来控制整个云机器人分布式控制系统的运行,具体是:核心Agent控制云机器人的机械运动、包括但不限于前进、后退、转向等动作;控制Kinect摄像头的调用;管理本地机器人的操作系统ROS与云端的通信连接。
[0017]步骤2、部署知识库Agent:利用RosCPP编程语言编写知识库Agent,包含适合于云机器人的若干功能应用;
利用roscpp编程语言编写知识库Agent,包含适合于云机器人的若干功能应用,如三维重构、视觉导航、场景识别等。将其上传并部署到公共云。
[0018]步骤3、云机器人接受任务指令,核心Agent连接到互联网,核心Agent与知识库Agent之间建立可靠的通信连接,并向知识库Agent申请下载任务指令对应的服务功能应用;
本实施方式中云机器人接受场景识别任务指令,核心Agent向知识库Agent申请下载的功能应用是场景识别模块,场景识别模块用来完成室内场景识别的任务,其工作方式为:提取场景图像的PHOG特征,通过SVM分类确定室内场景种类。
[0019]步骤4、知识库Agent接收到下载请求,寻找相应功能应用,将其下载到本地机器人的操作系统ROS,作为动态Agent ;
步骤5、当云机器人的操作系统ROS的计算能力低于任务要求时,根据用户需求,动态Agent向云端申请创建以云端服务的形式提供额外计算能力的云计算Agent;
在本实施方式中场景识别通过SVM完成,首先要对SVM进行训练,需要提取大量的训练图像的PHOG特征,计算量较大,如果用本地机器人的操作系统ROS提取,效率将成为主要的瓶颈,计算能力无法满足任务要求。因此,动态Agent在云端申请创建云计算Agent,用于提供必要的计算服务,云计算Agent利用亚马逊云提供的云服务EMR,并行提取训练图片的PHOG特征训练SVM。
[°02°] 步骤6、核心Agent激活动态Agent,动态Agent执行任务,任务执行结果由核心Agent返回给用户;
云计算Agent并行提取训练图像的PHOG特征,将特征发送至动态Agent,用于训练SVM0核心Agent调用Kinect摄像头采集室内场景图像,动态Agent提取场景图像的PHOG特征,用SVM进行分类,分类结果作为任务执行结果最终由核心Agent返回给用户。
[0021 ] 步骤7、任务完成后,核心Agent控制动态Agent卸载云计算Agent,然后核心Agent卸载动态Agent,实现动态卸载。
【主权项】
1.一种基于动态Agent的云机器人分布式控制系统,其特征在于,包括: 知识库Agent:在云端实现,包含适合于云机器人的若干功能应用; 核心Agent:在云机器人的操作系统ROS实现,控制云机器人的机械运动、传感器调用以及云机器人与云端的通信连接,核心Agent通过与云端进行通信连接,下载位于知识库Agent的功能应用至云机器人的操作系统ROS,创建动态Agent。2.根据权利要求1所述的基于动态Agent的云机器人分布式控制系统,其特征在于,还包括云计算Agent:在云端实现,当云机器人的操作系统ROS的计算能力低于任务要求时,以云端服务的形式提供额外计算能力。3.根据权利要求1所述的基于动态Agent的云机器人分布式控制系统,其特征在于,所述动态Agent在其任务完成后卸载。4.根据权利要求1所述的基于动态Agent的云机器人分布式控制系统,其特征在于,所述核心Agent和动态Agent是以ROS节点的形式运行在云机器人的操作系统ROS上的,R0Smaster负责ROS节点之间的通信和数据交换。5.根据权利要求1所述的基于动态Agent的云机器人分布式控制系统,其特征在于,所述动态Agent和知识库Agent之间的通信、动态Agent和云计算Agent之间的通信及调用通过RosCPP实现,采用Rosbridge来联通动态Agent和ROS。6.—种米用权利要求1所述云机器人分布式控制系统的云机器人分布式控制方法,其特征在于,包括: 步骤1、搭建云机器人ROS节点:本地搭建核心Agent作为ROS节点,并将其部署到本地机器人的操作系统R0S; 步骤2、部署知识库Agent:利用Roscpp编程语言编写知识库Agent,包含适合于机器人的若干功能应用; 步骤3、云机器人接受任务指令,核心Agent连接到互联网,核心Agent与知识库Agent之间建立可靠的通信连接,并向知识库Agent申请下载任务指令对应的功能应用; 步骤4、知识库Agent接收到下载请求,寻找相应功能应用,将其下载到本地机器人的操作系统ROS,作为动态Agent ; 步骤5、当云机器人的操作系统ROS的计算能力低于任务要求时,根据用户需求,动态Agent向云端申请创建以云端服务的形式提供额外计算能力的云计算Agent; 步骤6、核心Agent激活动态Agent,动态Agent执行任务,任务执行结果由核心Agent返回给用户; 步骤7、任务完成后,核心Agent控制动态Agent卸载云计算Agent,然后核心Agent卸载动态Agent,实现动态卸载。
【文档编号】B25J9/16GK105945943SQ201610316741
【公开日】2016年9月21日
【申请日】2016年5月12日
【发明人】张云洲, 胡涛, 祁玉晓, 李世鹏
【申请人】东北大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1