《基于ROS的服务机器人云端协同计算框架》
云机器人计算框架(Cloud Robot Computing Framework )通过云端,将智能家居及其他硬件与机器人相结合,并且通过互联网连接第三方应用API。
CRCF旨在利用云端大数据处理能力来提高机器人的计算和存储能力。本文通过远程语音控制机器人的实验 , 验证了CRCF系统平台在结合硬件设备以及第三方云端应用的功能和性能 。
CRCF框架作为信息共享中心,将智能硬件设备的数据和第三方云端应用的数据集成起来,统一管理;CRCF 框架作为服务机器人存储和运算的拓展 , 服务机器人的传感器数据、 图像数据等存储在 CRCF 框架的存储单元中 , 可供其它硬件设备使用 ;CRCF 框架中的 Hadoop 集群,可以为服务机器人提供并行计算能力。
[分布式计算网络浅谈](http://www.cnblogs.com/mushroom/p/4959904.html “博客链接地址”)
Hadoop简介
Hadoop是一套海量数据计算存储的基础平台架构:
- 其中计算指的是MapReduce,这是做分布式计算用的。
- 存储指的是HDFS,基于此上层的有HBase、Hive,用来做数据存储用的。
- 平台,指可以给多个用户使用,比如小明有一计算需求,他只需要按照对应的接口编写业务逻辑即可,然后把程序以包的形式发布到平台上,平台进行分配调度计算等。
下面是 Hadoop 的概览图:
云机器人系统架构
- 机器人与云端相结合:
M2M/M2C(machine to machine/machine to cloud);UNR-PF(Ubiquitous Networked Robot Platform)。 - 服务的应用模式方面:
面向服务的架构(Service Oriented Architecture, SOA);机器人即服务(Robot as a Service, RaaS)。
基于M2M/M2C系统架构的机器人与云端结合主要有三种典型的弹性计算模型结构:对等模型,代理模型以及科隆模型。
UNR-PF系统架构对机器人的硬件进行抽象,并提供统一的接口来供应开发人员调用。机器人与服务端的应用都连接并注册到UNR-PF网络当中,服务端的应用与机器人通过UNR-PF网络相互连接到一起。
CDCF框架利用云端将智能硬件以及云端的服务与机器人结合起来。此外,CRCF框架结合了ROS在机器人算法以及硬件设备管理上的优点,使机器人本身的算法和硬件管理与云端相互分离,从而带来更加灵活与便利的管理。
CRCF架构:
CRCF云端部分:控制节点用来处理与机器人信息交流。对于机器人的请求,控制节点需要决定哪些服务及信息是需要作为应答。对于云端处理完机器人请求之后的动作指令或数据结果也将通过节点下发到机器人,控制节点需要指定特定的ROS中的Topic来执行该指令或存储云端运算的数据结果。
此外,CRCF云端平台与Hadoop集群相连接,可用于并行处理机器人的计算请求。
机器人部分:基于ROS的机器人将master节点开启在机器人本身,并通过CRCF的通用接口API与云端建立联系。当网络出现故障的时候,也不会影响机器人独立运作。机器人既是服务的提供者,也是服务的请求者,当使用多个机器人的时候,机器人与机器人之间通过CRCF框架来通过信息共享方式建立联系。
Web界面部分:提供给能够访问web的终端设备(如手机,电脑,平板等),通过浏览器查看和控制机器人的功能。
通用接口部分:主要讲信息表示成JSON格式,标注信息的发出者,接收者,接收的节点,信息的类型等,接口用于终端设备以及机器人与CRCF云端平台建立连接,用于传输数据和指令,接口部分的设计主要考虑简单通用性。
系统验证
远程语音控制机器人实验
- 语音录入:通过web界面进行语音的控制,所有能够访问web的终端设备都可以进行语音控制。
- 音字转换:语音录入结束,会通过Web断上传到CRCF的云端平台。CRCF的云端平台结合第三方云端应用 API 将语音翻译成文字。本实验中采用的是百度语音识别在线API。
- 文字到指令的翻译:通过提取文字中的关键字指令词,再根据具体的指令词翻译成机器人指令。如“向左走五米”->“{angle:90,diatance:5}”。
- 指令下发以及机器人执行指令:CRCF的云端平台将JSON格式的指令下发到ROS的指定Topic。因为实验中ROS的Topic接收的是Twist类型的信息,所以有一个JSON到Twist转换的过程。
网友评论