导语
云机器人是机器人最新技术与新兴信息技术完美的融合,目前它是机器人领域最先进品种,将在未来智能生产乃至智能社会中发挥重要的作用。
去年有部美剧《超脑特工》,讲了一个名叫Gabriel的特工,在自己的大脑植入了一块芯片,就能够实时地和泛在地与互联网络联接,只要在没有被屏蔽的情况下,可以在任何时间、任何地点进行搜索和计算。
这当然是发生在科幻影视中情景。但是现实中的机器人平台中已经实现。因为机器人天然地就具备控制系统和芯片,可以方便地与互联网进行联接。云机器人就在网络日益发达、云计算日益成熟的今天应运而生。
进化的产物
目前,云机器人已成为机器人领域中最前沿的技术。部分工业机器人、以及当下大热的nao机器人、kiva机器人、谷歌的无人驾驶汽车、亚马逊的四旋翼无人机运输系统、达芬奇的手术系统及PR2www.cechina.cn,都属于云机器人。它们身上应用了机器人领域最优秀的技术。而它们身上都有接入无线网络的设备,这些机器人能实时与互联网络进行连接。为了实现上述意图,工程师们进行了大量的技术革新。
云机器人技术不是凭空出现的,而是经历了一个较长的演化过程。早在1995年,应用遥操作机器人技术(Tele-operation)的Telegarden系统出现了,是世界第一台允许公众可以经由互联网络来遥操作工业机器人系统,在当时引起轰动。
从遥操作机器人系统发展到网络机器人系统,多机器人可以在同一网络进行相互协作。虽然,存储和计算尚发生在机器人本体,但是机器人之间可经由通讯相互协调,共同完成复杂任务。这是网络机器人技术。云计算出现后,才进化成云机器人。
云机器人概念出现的时间并不长,许多国家很重视对它的研究开发,直到最近一两年国内才有研究,但是不乏成功案例。在国家863项目的支持下,南开大学从2012年开始用了两年,成功研制出云架构家庭服务机器人系统。
特点例说
云机器人是云计算与机器人学的一个结合。如同其他网络终端一样,机器人本身并不存储所有的资料信息或具备超强的计算能力,只要在需要的时候联接相关的服务器,并获得所需要信息。
云机器人作为机器人领域一个新的概念,其重要意义在于:互联网和云计算增强了机器人的自我学习能力,并减少开发人员的开发时间,并克服了单机器人不擅长自我学习的局限性。下面以两个例子来阐释云机器人的特点。
谷歌无人驾驶汽车系统。它是继谷歌3D可视化的数字地球技术、谷歌的街景采集车技术之后又一个受到人们高度关注的技术。近一年来,谷歌集中收购多家机器人技术开发公司,提出了无人驾驶汽车的概念。无人驾驶汽车,融合了谷歌自己的技术优势——实时接入到云端,有对自身的精确定位,有对环境的识别,又融进了被收购公司的传统优势技术。所以,谷歌才有勇气宣布:它的无人驾驶汽车可以在复杂的城市环境中实施作业,是能够作为无人出租车来使用。
亚马逊的kiva机器人系统。区别于以往的出入库作业系统,它不是独立工作的。传统的模式是静态的,像图书馆里员收到一个借书请求后,会迅速跑到书架,去看该区域的图书是否满足要求,如果符合要求就拿出来,交给借阅者。这是一种日常模式,无法满足亚马逊的海量需求。所以,kiva机器人系统应运而生。它先把需求控制工程网版权所有,如订单、输入输出,性能指标等,建好数学模型,然后由kiva机器人系统驮载着货架,自己来布局。可以在48小时之内,布局完一个大型的智能仓库。这样,在实际作业时,库管员就没有必要跑到货架前面了,只要在一个控制台前面,发出指令即可。而机器人之间会实现互相通讯,相互协调。而某一台机器人接受命令之后,会跑到货架下面把目标物品驮起来,运至控制台,库管员只需在激光的指引下把物品取出。之后,机器人又会把货柜驮走。这是目前一种十分先进的模式。这里面有两个关键性指标。一个是单位容积的送货量,另外一个是出入库的整体性能和整体效率。
支撑技术
在云机器人系统体系结构中,首先要有网络的基础设施,要有能够保证实时地、通畅地进行通讯的无线网络环境。近年来3G、4G、WIFI、甚至卫星通讯技术的飞速发展,极大地完善了网络基础设施,为云环境提供了一个很好的支撑。其次就是云技术,就是常说的云网格、云计算和云存储。在云机器人系统中,传感网络、多机器人系统、遥操作机器人是其设计单元重要的组成部分;而资源数据库也是另一不可或缺的重要组成部分。
云机器人与网络机器人(包括遥操作和多机器人系统)都是通过网络使得机器人彼此分享信息,扩展能力。但云机器人区别与网络机器人之处在于:
在云端动态地计算,为机器人分配资源,机器人获得的资源是弹性的、按需的;云机器人是“大脑在云端”,机器人通过网络获取处理后的结果。网络机器人的处理还是在本体。这是两者最本质的区别。这就给技术人员提出一个新的要求:采用云机器人的架构,要尽可能让输入和输出——机器人向云端发出的请求以及云端向机器人回馈的结果——足够的精炼,要把大的算法逻辑放至云端。
云机器人系统的五要素
云机器人无法独立工作,需要强大系统的支持。若要构成这个系统www.cechina.cn,则必须具备以下几个要素。
第一个要素是大数据。2012年有一部独立的科幻电影《机器人和弗兰克》,可视为未来生活的一个剪影。电影中有位老人越来越健忘。于是他的孩子送给他一部服务机器人,照料他的生活。对于机器人来说,这是一个非常复杂的问题。在一个特定的家庭里面,存在着数以千计的事物(信息),程序编得再好、模型建得再好的机器人,总会遇到这样或那样的以往没有见到过的事物。
例如,新买了一个遥控器,机器人没有见过,它就会猜这是什么。它可能会想,这是一个巧克力棒吗?应把它放在桌子上,还是冰箱里。可能它就会做出完出错误的判断。其原因就是它从未见过遥控器。而现在幸运的是,云机器人可以接入到Internet,令无限的云资源供其检索。云就是一个提供索引的图片、地图和对象数据的全球性数据库,机器人可以这个大数据库里检索和查找。如果这个数据库足够强大并且可以不断增长,则可包罗万象,让机器人查到以往没有见过的事物,然后正确判断,做该做的事情。这就是云环境对存储能力的提升,要远胜于机载存储器。
第二个要素是云计算。这里是针对机器人机载的计算能力的限制而言。一个机器人,哪怕仅有一人来高CONTROL ENGINEERING China版权所有,所能装载的计算单元是有限的。而许多问题恰恰需要更多的计算能力才能够解决。比如说基于视频的识别,音频的互动,或对一堆混杂在一起的事物进行分类,这对机器人来说是很难的,需要大计算量,于是在云环境下,机器人需要用统计学上的一个方法——信任空间(believe space)进行问题的求解。它开始要运用到概率分布的方法来对环境、传感器和运动进行建模,而believe space是一种有效的快速求解的形式。
第三个要素是开源。开源为云机器人提供的共享资源是非常关键的。设计者通过形成一种机制,使得机器人的开发代码、数据、算法和硬件设计能够在Web上进行方便的共享。举例来说,现在的机器人价格昂贵,因为它内部的各种设计都是独有技术,ABB与KUKA的产品之间不能通用,工业机器人与服务机器人之间也不能通用。于是,就出现了一些能够开源的ROS(Robot Operating System)产品。在这种情况下,就可以开发出人们买得起的机器人产品。前不久,科学家们提出了“10美元”计划,意即在10美元内,尝试能否做出一台机器人来。一批科学在短短数月内研制出28种样品,其中不乏很有创意的设计。其中一个是采用了索尼游戏机的遥控手柄,价值3~4美元,它上面有2个小电机,把它们拆下来后加上两个塑料轮子,作为驱动单元。机器人就有了可以行动的轮子。而遥控手柄就成为机器人本体了,在上面加装几个小指款灯。这就实现了机器人的基本构造。而发明人又在机器人底部加装了两个经过改动的波动式开关以避免它撞到障碍物。最后,这个机器人才仅有8.95美元的成本。
上面提到的ROS(Robot Operating System)是开源的、以提高代码复用率和开发效率的机器人操作系统。它提供类似操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,它也提供一些工具程序和库用于获取、建立、编写和运行多机整合的程序。它有4个典型要素。第一是它是多节点模块化分布式设计,与当前Lunux、安桌系统很类似;第二是它有丰富的工具包、仿真环境;第三是它涉及到机器人领域的方方面面,提供实现各项功能的程序包的支持;第四是它有Ecopysystem节点,即可以免费下载的开源软件—资源的平台。
第四个要素是机器人协作学习。机器人共存于一个云环境下,它们之间可以相互通讯、协调、共享轨迹、控制策略和可供统计机器学习方法分析的输出。以Kiva机器人为例,它们之间通过通讯与协调,共同在维持着一个最优的拓朴,如果地面上出现一个大片油污www.cechina.cn,某一个机器人有义务也有能力通知其他机器人,来对这片油污进行避绕,它们之间可以共享一些运行轨迹和及相应处理动作。这个例子表明,机器人之间可以通过相互的学习来进化。机器人可以从网络学习,彼此之间学习,自己的智能得到增长。今后的机器人的智能,未必都是人教会的,而是有了自我学习的能力,其前途不可限量。
第五个要素就是众包。众包用于评价、学习和错误恢复的离线与按需指导。机器人总会产生一种状况:不知道自己下一步要干什么,当前处在一种什么样的状态。这时应该让机器人马上寻求人的帮助,这就需要一个在线的数据中心。机器人在需要帮助的时候,可以及时地呼叫到人。把自己所能看到的图片、视频、状态信息传到人那里去,让人帮它做诊断,帮它从异常中恢复。这里就有一个关键问题,机器人对自己有一个置信度的度量,即需要知道自己在什么情况下已经失去判断了,在这个关键点上把控制权交还给人,请求人的帮助。众包就是让人来评价机器人的状态并帮助它从错误中恢复。