机器人操作系统是为机器人标准化设计而构造的软件平台,它使得每一位机器人设计师都可以使用同样的平台来进行机器人软件开发。标准的机器人操作系统包括硬件抽象、底层设备控制、常用功能实现、进程间消息以及数据包管理等功能,一般而言可分为低层操作系统层和用户群贡献的机器人实现不同功能的各种软件包。
可以毫不夸张地说,现有的机器人操作系统架构基本都是源自于linux,微软机器人开发团队2007年也曾推出过一款“Windows版”机器人OS,然而如今业内公认的主流机器人操作系统无非只有以下几种,且都是依托于linux内核构建起来的:
ROS
ROS是专门为机器人设计的一套开源操作系统,2007年斯坦福大学人工智能实验室与机器人技术公司Willow Garage针对其个人机器人项目(Personal Robots Program)开发了ROS的雏形。经过这几年的发展,ROS从最初的无人问津的小众操作系统,到现在已是主流的机器人操作系统之一。
ROS充当的是通信中间件的角色,即在已有操作系统的基础上搭建了一整套针对机器人系统的实现框架。ROS还提供一组实用工具和软件库,用于维护、构建、编写和执行可用于多个计算平台的软件代码。
值得一提的是,ROS的设计者考虑到各开发者使用的开发语言不同,因此ROS的开发语言独立,支持C++,Python等多种开发语言。
ROS的系统结构设计也颇有特色,ROS运行时是由多个松耦合的进程组成,每个进程ROS称之为节点(Node),所有节点可以运行在一个处理器上,也可以分布式运行在多个处理器上。在实际使用时,这种松耦合的结构设计可以让开发者根据机器人所需功能灵活添加各个功能模块。
Ubuntu
Ubuntu由全球化的专业开发团队Canonical Ltd打造,基于Debian GNU/Linux开发,同时也支持x86、amd64/x64和ppc架构。Ubuntu的初衷是作为Debian的一个测试平台,向Debian提供通过测试的稳定软件,并且希望Ubuntu中的软件可以很好地与Debian兼容。由于它的易用性,而且获得众多社区的支持,Ubuntu发展成了一款不错且流行的Linux 发行版本。
Ubuntu拥有庞大的社区群支持它的开发,用户可以及时获得技术支持,软件更新快,系统运行稳定。Ubuntu所有系统相关的任务均需使用Sudo指令是它的一大特色,这种方式比传统的以系统管理员账号进行管理工作的方式更为安全,这也是Linux、Unix系统的基本思维之一。
随着物联网设备的风行,2015年Ubuntu首度推出了一个专门针对物联网设备设计的新 Snappy Ubuntu Core ,整合了更多云端和虚拟技术,并宣称能够在无人机、机器人上更顺畅地运行。
在众多开源桌面操作系统中,无论是性能还是界面Ubuntu都被公认为是最优秀的。
Android
Android系统对于我们来说已经是相当熟悉的“玩伴”了,平常在手机上见得多,其实在机器人领域它也是主流的操作系统,软银的Pepper机器人便是使用的Android系统。由于Android在应用程序的审核上相对宽松,因此目前来说使用Android系统开发智能机器人的企业要占绝大比例。
介绍完三家老牌的操作系统,我们来看看下面两家国内力捧的后起之秀:
小i机器人iBot OS
小i机器人相信从事机器人行业的朋友都不陌生,这可是咱们国家力捧的“智能机器人客服中国第一品牌”,看看它的客户群体你就知道人家有多牛X:
除了Nao和Ina这两个大家耳熟能详的智能机器人产品外,小i在操作系统上一样下了不少功夫:
由小i机器人自主研发的智能机器人云操作系统——iBot OS,采用离线和在线相结合的服务模式,能够帮助普通机器人和硬件设备实现深度学习的智能人机交互能力,使其具备智能感知能力、智能认知能力、智能协作能力、逻辑分析能力、自主学习能力和情感表达能力。
iBot OS具备全面的跨平台性和强大的硬件适配能力,“Lite版本”为单片机等嵌入式系统提供支持功能,可运行于低成本低主频的嵌入式硬件内,为硬件增加智能处理能力,同时也兼容x86和Arm等主流硬件平台,能够桥接ROS、Linux、Windows和Android等各种操作系统。
图灵机器人操作系统Turing OS
在国内,做智能机器人产品的数不胜数,但敢做并且有实力做智能机器人操作系统的,屈指可数,小i是一家,图灵机器人则是另外一家。
2015年11月,图灵机器人发布了他们的人工智能机器人专属操作系统Turing OS,依靠其背后运行的思维强化引擎、情感计算引擎以及自学习引擎,提升机器人的多模态交互能力。
思维强化引擎
Turing OS基于对人类宏观思维模式及微观思维模式的研究,为机器人研发了一套强大的思维强化引擎,让机器人具备多种宏观及微观思维模式,从而获得人类思维能力。据悉,目前搭载Turing OS的机器人在思维强化引擎的作用下,思维能力已达到4~5岁儿童水平。
情感计算引擎
情感计算引擎主要包含情感识别及情感表达两个方面。情感识别是对人类的正负向情绪,以及正负向情绪中的显性及隐性情绪进行判断。情感表达是帮助机器人可通过多维度输出情绪,如语言、表情及动作等。
自主学习引擎
自主学习引擎则是基于自学习算法和大数据支持,在超级计算机上快速迭代,提高机器的智能水平。
小结:目前很多机器人团队都是集成现有的AI引擎在一起进行开发,但这是远远不够的。机器人操作系统的出现实现了从底层设备控制到高层数据管理的一大集成,对于开发者来说绝对是一大利器。当然罗马城也不是一天建成的,机器人操作系统的完善不仅需要海量的硬件适配,也需要海量的开发者参与其中,我们也应该多多支持本土企业,让国产机器人系统早日冲出中国,走向世界。