资源描述
导言本文对目前现役实用机器人的软件开发平台进行整体的评测。主要内容是根 据本人对这些平台的实际使用经验编写的。什么是机器人软件开发平台?所谓的“机器人软件开发平台”我们指的是用来给多种机器人设备开发程 序的软件包。它一般包括下列内容:统一的编程环境统一的编译执行环境可重用的组建库完备的调试/仿真环境对多种机器人硬件设备的“驱动”程序支持通用的常用功能控制组件,例如计算机视觉技术、导航技术和机械手臂控 制等。大家可以看到,一个机器人软件开发平台需要包含很多东西。就我本人的观点, 现在还没有一个现有的产品能满足所有的要求。它们总是或多或少的缺了什么东 西。机器人软件平台平台名称所属类型EvolutionRobotics ERSP平台商用Microsoft Robotics Studio平台非商业用途免费OROCOS控件库开源且免费Skilligent机器学 习插件商用URBI平台商用Webots仿真环 境商用Player, Stage, Gazebo平台开源且免费iRobot AWARE平台商用OpenJAUS平台开源CLARAty平台开源为什么要使用机器人软件开发平台?机器人控制软件的花费在整个机器人应用系统预算中占据了很大比例。比如,一 个自动控制项目的80%工作量都集中在系统集成方面,包括软件的发开和定制。所以机器人开发平台的作用就是减少软件工程师的工作量,同时减少项目开支。除了软件工程的问题外,在一个真正的机器人项目中还要涉及大量的人工智能。 一个集成了许多现成的、可靠的组件库的统一软件开发平台,在应付各种机器人 工程时能帮上大忙。最后的问题是“行为协作”。许多文献中都有对行为协作的讨论。正因为这是一 个普遍存在的问题,所以一些平台提供了统一的解决方案。应用功能测评 EvolutionMicrosoftOROCOSSkilligentURBIWebotsPlayer,Stage, Gazebo开源否否是否否否是免费否非商业用 途是否否否是支持Windows是是否是是是是(仿 真)支持 Linux是否是是是是是分布式 环境否是否是是 是(有限 的)行为协 作是是否是是否否内置机 械手臂 控制模 块否否是是否否否内置物体识别模块是否否是否否否内置导航模块是否否是否否否学习工 具否否否是否否否仿真环 境否是否否是(Webots)是是硬件支持范围小大中中大大中可重用 自定义 组件是是是Not applcbl是否否实时系 统否否是否否否否Evolution Roboticss ERSPEvolution Robotics是一个集设计和销售机器人软硬件的开发平台,简称ERSP。 整个软件非常成熟。它集成了视觉识别系统(VIRP)和视觉导航绘图系统(VSLAM)。 它所用的视觉系统是基于David Lowe开发的算法(已注册专利)。平台提供了可视化的编程环境工具,通过搭建图标来构建程序。FlipE 护的可视化编程界面系统通过运行时的“任务”程序来激活或停止“行为”组件。系统不支持仿真。 它在Windows 和Linux下运行.Microsoft Robotics Studio微 软最近成立了专门的团队开发机器人软件平台,产品叫做Microsoft Robotics Studio(MSRS)。它能在 Windows 和 Windows CE 下运行。分布运行的 开发环境承担了大部分的信息传递和线程管理任务。它的行为协作基于“服务优 先级”的概念。它提供了完备的仿真和图形化开发环境。可视化编程界面仿真环境在 微软大旗的感召下,越来越多的机器人设备厂商宣布支持MSRS。(不知道在 这个领域会不会出现WINDOWS的局面?不过我想应该不会,根据我的经验,在 涉 及程序开发这个领域微软的感召力仅局限与WINDOWS平台,根据他们公司的一贯 作风来看,应该是不会做包打天下的产品的。译者注)OROCOSOROCOS是一个开源的控件库。这些控件主要用于高级运动控制和机器人控制。 它自己带有一个针对实时运行环境优化了的开发平台。该环境使用“锁无关缓冲 区”技术,满足应用程序对实时性严格的要求。Kinematics Dynamics LibraryComponents for ControlBayesian Filtering LibraryOROCOS体系HeatTimeToolkitOROCOS提供一系列可重用组件和硬件驱动。独立的运动学与动力学开发框架能 让用户进行物理运动学的建模和计算。应用的领域有机器人、人体工程、计算机 动画、工业机械建模等。该系统没有统一的图形化编程环境或者仿真环境。Skilligent从严格意义上说,Skilligent不属于机器人软件开发平台。因为它提供的是一 种对机器人编程的仿真训练,而不是真正意义上编写实际运行在机器人上面的程 序。Skilligent的机器人行为控制系统是基于“developmental robotics”一种新型的对多用途的、非特定任务控制的自治机器人系统进行学习人工智能系 统。Skilligent让一个常规的机器人变成一个能与终端用户交流并能被训练的友好 的机器人。系统控制软件的良好的交互性能让用户与机器人之间的交流和协作更 自然。用户可以通过手势、声音、控制操作和共同注意(joint attention)”。用户在训练机器人剽:|修吟Ofi-mr*I API日翼9E5 辱质B GMsoc 31 inter故hoc. gBtun&s imtrac hen. S 们 isgli cOjttt 疹HQ七1泯野弩2推AUG0SKill teamingircorilroSbdal 1门电任亡阮11| Jkulnt intension;Skilligent行为控制系统| Control system JIAcluaEcirsGOfflipUlU 用耐 系统的关键技术是一系列将实际应用情况中的任务或者技能转换成普适模型的 算法。系统针对物体识别、声音识别和视觉导航的学习进行了优化。严格来说,Skilligent倒不是一个平台,而更象是一个系统插件,因为它能够 和本文中介绍的其他平台很好的结合在一起。URBIURBI是由Gostai开发的平台。它没有提供流行的图形编程界面,而是独立提供 了一种语言。语言的特点是针对建立平行、分布式的事件驱动程序进行了优化。对每一种机器人硬件平台,Gostai都承诺提供一种单独的专门的程序语言。目 前,Gostai已经为数个机器人产品提供了服务,包括索尼Aibo,乐高Mindstorms 和 K-Team 的 Khepera.URBI是一种分布式的平台。利用它用户可以组建一个计算机群来协同运行服务 程序。Gostai的合作者负责提供视觉识别和语音识别的组件。该平台没有自带的仿真平台,但是近期它宣布与Webots合作。Webots是一个流 行的商用机器人仿真平台。WebotsWebots是一个流行的机器人快速建模和仿真商用平台,由Cyberbotics公司出 品。这个系统不算是一个软件开发平台,说是一个带有建模能力的仿真引擎比较 贴切。该系统提供了多种常见的机器人模型比如两足、轮式和机械手臂。Webots快速建模和仿真环境Player, Stage, GazeboPlayer,是一个支持多种机器人硬件平台、开源的、基于TCP/IP的技术硬件抽象 层。Stage和Gazebo提供的是内建的仿真环境。这个系统适合用于机器人集群 冲突/协作的研究。Player, Stage, GazeboPlayer还能提供一个在机器人上运行的简易界面用来通过IP网络读取传感器数 据、向激励器发送命令和配置运行中的设备。其他平台还有其他的平台例如iRobot AWARE, OpenJAUS, CLARAty, YARP。作者还没有机 会深入学习。下列是一些相关的信息: iRobot AWARE是一个由iRobot公司出品的软件平台。他们的平台专用于 美国军方的军用机器人。根据Rodney Brooks的说法,该公司利用一些开 源代码来改进自己的产品。从现有的资料来看,我们还不能确定AWARE 是否采用了 Rodney Brooks行为协作和控制包容体系结构(subsumption architecture for behavior coordination and control) OpenJAUS是一个开源的无人职守系统。Vecna公司似乎在改进OpenJAUS 系统并将之用于他们的BEAR机器人。 CLARAty是一个由美国宇航局开发并开源发布的项目。不过它不是完全免 费的,这个软件好象是提供了一些有趣的算法,比如视觉导航、姿态控制 和可视化的轮子下陷预测等。市场展望对于机器人平台开发公司来说,最美妙的事情莫过于将来大批量出产的机器人上 都预装自己的系统,正象WINDOWS预装在PC上面那样。当然目前为止,我们还 看不到有这种可能。在这个梦想成为现实之前,教育和科研机构还是最主要的客 户。微软的介入让其他的公司倍感压力。微软凭借自身实力将具有竞争力的产品免费 的投放市场,这将有可能使当前的教育科研市场受到冲击。目前,教育科研和业余爱好者的市场看上去已经趋于饱和,而且这个市场本身的 容量就不大。各公司必须找到进军工业机器人和商用机器人领域的切入口。在工业机器人领域,大部分的机器人器材制造商在产品中附带自己开发的平台 (例如ABB)。他们也许更愿意使用自己的软件而不是使用第三方的产品。对于这种情 况OMG小组正在发起一场建立一系列标准的活动,以试图打破这种卖方 垄断的局面。尽管目前收效甚微,但是我们希望他们能建立行之有效的中长期标 准。另一方面,在欧洲同样也有志同道合的人在独立的做这方面的努力(European Robotics Platform)。在商用机器人领域,我们可能看到民用机器人软件平台标准的出台,特别是在 军用机器人(对嵌入式系统兼容性要求严格)方面。在美国,绝大部分的机器人 研究成果受美军科研机构控制。所以,我们相信很快会有关于远程控制、集群 协作和导航组件的标准出现。另一方面,欧洲的科研力量集中在建立工业机器人 和家庭、办公领域机器人的应用标 准上。最近Skilligent出品了新的机器人平台,他们的软件让机器人能在与人的交流 过程中自主学习技能。从理论上说,这很大程度上将 很多传统的商用机器人开 发环境被废弃,因为机器人可以直接训练而不用编写程序。但是另一个方面,那 些不能由用户提供的技能还是需要传统的编程。所以,我们能够望这样的系统 能越来越聪明一一在将不久的将来,能够自主学习的灵活多变的机器人能越来越 多的出现在我们身边。消费机器人市场价格敏感程度要远高于其他领域。当前最受关注的家用真空吸尘 机器人,其价格已经远远低于大多数机器人软件开发平台的价格。所以现在谈论 消费机器人的软件开发平台还为时尚早。还 有一个方面,那就是操作系统一一Linux与Windows的竞争。Linux得到绝大 多数开发平台的支持。而微软正致力于将Windows XP/CE推广成机器人标准平台。 我的猜想是在未来的市场上他们都将各据其地,谁也吃不掉谁。至于市场份额比 例,那只有以后才知道了。
展开阅读全文