主流机器人软件开发平台
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
导言
本文对目前现役实用机器人的软件开发平台进行整体的评测。主要内容是根据本人对这些平台的实际使用经验编写的。
什么是机器人软件开发平台?
所谓的“机器人软件开发平台”我们指的是用来给多种机器人设备开发程
序的软件包。它一般包括下列内容:
•统一的编程环境
•统一的编译执行环境
•可重用的组建库
•完备的调试/仿真环境
•对多种机器人硬件设备的“驱动”程序支持
•通用的常用功能控制组件,例如计算机视觉技术、导航技术和机械手臂控制等。
大家可以看到,一个机器人软件开发平台需要包含很多东西。就我本人的观点,现在还没有一个现有的产品能满足所有的要求。它们总是或多或少的缺了什么东西。
机器人软件平台
为什么要使用机器人软件开发平台?
机器人控制软件的花费在整个机器人应用系统预算中占据了很大比例。比如,一个自动控制项目的80%工作量都集中在系统集成方面,包括软件的发开和定制。所以机器人开发平台的作用就是减少软件工程师的工作量,同时减少项目开支。
除了软件工程的问题外,在一个真正的机器人项目中还要涉及大量的人工智能。一个集成了许多现成的、可靠的组件库的统一软件开发平台,在应付各种机器人工程时能帮上大忙。
最后的问题是“行为协作”。许多文献中都有对行为协作的讨论。正因为这是一个普遍存在的问题,所以一些平台提供了统一的解决方案。
应用功能测评
内置导
航模块
是否否是否否否学习工
具
否否否是否否否
仿真环境否是否否
是
(Webots)
是是
硬件支
持范围
小大中中大大中可重用
自定义组件是是是
Not
applcbl
是否否
实时系
统
否否是否否否否Evolution Robotics's ERSP
Evolution Robotics是一个集设计和销售机器人软硬件的开发平台,简称ERSP。整个软件非常成熟。它集成了视觉识别系统(VIRP)和视觉导航绘图系统(VSLAM)。它所用的视觉系统是基于David Lowe开发的算法(已注册专利)。
平台提供了可视化的编程环境工具,通过搭建图标来构建程序。
可视化编程界面
系统通过运行时的“任务”程序来激活或停止“行为”组件。系统不支持仿真。它在Windows 和Linux下运行.
Microsoft Robotics Studio
微软最近成立了专门的团队开发机器人软件平台,产品叫做Microsoft Robotics Studio(MSRS)。它能在Windows和Windows CE下运行。分布运行的开发环境承担了大部分的信息传递和线程管理任务。它的行为协作基于“服务优先级”的概念。它提供了完备的仿真和图形化开发环境。
可视化编程界面
仿真环境
在微软大旗的感召下,越来越多的机器人设备厂商宣布支持MSRS。(不知道在这个领域会不会出现WINDOWS的局面?不过我想应该不会,根据我的经验,在涉及程序开发这个领域微软的感召力仅局限与WINDOWS平台,根据他们公司的一贯作风来看,应该是不会做包打天下的产品的。译者注)
OROCOS
OROCOS是一个开源的控件库。这些控件主要用于高级运动控制和机器人控制。它自己带有一个针对实时运行环境优化了的开发平台。该环境使用“锁无关缓冲区”技术,满足应用程序对实时性严格的要求。
OROCOS体系
OROCOS提供一系列可重用组件和硬件驱动。独立的运动学与动力学开发框架能让用户进行物理运动学的建模和计算。应用的领域有机器人、人体工程、计算机动画、工业机械建模等。
该系统没有统一的图形化编程环境或者仿真环境。
Skilligent
从严格意义上说,Skilligent不属于机器人软件开发平台。因为它提供的是一种对机器人编程的仿真训练,而不是真正意义上编写实际运行在机器人上面的程序。
Skilligent的机器人行为控制系统是基于“developmental robotics”——一种新型的对多用途的、非特定任务控制的自治机器人系统进行学习人工智能系统。
Skilligent让一个常规的机器人变成一个能与终端用户交流并能被训练的友好的机器人。系统控制软件的良好的交互性能让用户与机器人之间的交流和协作更自然。用户可以通过手势、声音、控制操作和“共同注意(joint attention)”。
用户在训练机器人
Skilligent行为控制系统
系统的关键技术是一系列将实际应用情况中的任务或者技能转换成普适模型的算法。系统针对物体识别、声音识别和视觉导航的学习进行了优化。
严格来说,Skilligent倒不是一个平台,而更象是一个系统插件,因为它能够和本文中介绍的其他平台很好的结合在一起。
URBI
URBI是由Gostai开发的平台。它没有提供流行的图形编程界面,而是独立提供了一种语言。语言的特点是针对建立平行、分布式的事件驱动程序进行了优化。
对每一种机器人硬件平台,Gostai都承诺提供一种单独的专门的程序语言。目前,Gostai已经为数个机器人产品提供了服务,包括索尼Aibo, 乐高Mindstorms 和 K-Team的Khepera.
URBI是一种分布式的平台。利用它用户可以组建一个计算机群来协同运行服务程序。Gostai的合作者负责提供视觉识别和语音识别的组件。
该平台没有自带的仿真平台,但是近期它宣布与Webots合作。Webots是一个流行的商用机器人仿真平台。
Webots