论文部分内容阅读
随着机器人应用范围地不断扩大,传统机器人在处理即时定位与构图、物体识别及抓取、导航等任务时,由于其自身计算能力、存储能力等方面的限制,表现通常不够理想。当今时代是云计算的时代,而OpenStack是云计算发展中的引领力量。只有把机器人和云计算结合起来,才能顺应时代发展的潮流,才能突破传统机器人发展中遇到的瓶颈——计算能力、存储能力、学习能力,使机器人发展到一个全新的时代,即云机器人时代。但如何才能使传统机器人高效按需的使用云中虚拟资源,使其转变为云机器人,这一问题已成为全世界科研人员新的研究热点。针对该问题,本文依托东北大学流程工业综合自动化国家重点实验室,提出了一种基于OpenStack云机器人控制中间件的方法。主要研究工作归纳如下:(1)对OpenStack核心组件进行了深入研究,通过分析其各核心组件的工作过程及相互关系,熟悉了 OpenStack云工作原理,掌握了 OpenStack云平台的日常管理方法(为研究课题创建新的镜像),为控制中间件的设计与实现奠定了坚实的基础。(2)对OpenStack云内部使用的消息中间件RabbitMQ进行了深入的剖析,掌握了其消息传递方法,对控制中间件中的消息中间件进行设计与实现,确保机器人请求消息被可靠、高效地接收、存储、转发。(3)对机器人请求消息进行JSON形式封装,并设计实现消息解析器。其接收消息中间件传递来的机器人请求消息,解析出参数信息提供给虚拟资源自动配置模块使用。(4)使用OpenStack Python SDK实现了控制中间件中的虚拟资源自动配置模块,其接收解析器解析出的参数信息,调用相应资源调度优化算法,选择出最优物理主机,并在其上为机器人自动创建配置虚拟资源,实现机器人按需获取云中资源的能力。(5)利用Ubuntu和机器人操作系统(ROS)实现了控制中间件中的控制模块。按机器人请求消息创建的虚拟机集成了 Ubuntu和ROS,在其上可以运行不同的机器人控制算法,实现对机器人的不同控制。(6)设计部署实验所需的OpenStack云平台,并利用RabbitMQ Web管理器和Nao机器人进行相关实验验证。通过实验证明了基于OpenStack云机器人控制中间件功能的正确性、可行性,为云机器人的发展提供了一种全新的思路。