机器人技术正在获得成为一种工程学科的动力。现在有多种平台和工具为它提供支持。本文是探讨这一主题的两篇动手项目文章之一。
要 点
设计者现在可以使用一些机器人技术开发平台。
机器人技术平台的开发工具正在成熟;在某些情况下,它们还落后于最先进的传统嵌入式软件开发工具数年时间。
参考设计与系统级开发工具使设计者能够跳过传统机器人项目中的很多定制创建和集成步骤。
机器人引人遐想。随着低成本开发平台变得日益唾手可得,人们将机器人用于教育与最终应用的机会也在不断增加。不过,“机器人”这个词汇是一个要加以定义的东西,因为人们通常会把这些装置拟人化,将它们看作仆人或宠物。大多数人能在第一眼时就认出一台机器人,但你会发现很难找到一种能够适用于所有或大多数机器人的定义。例如,iRobot把自己的Roomba叫做吸尘机器人,很多人毫无疑问会叫它机器人。另一方面,多数人很难把自动汽车叫做机器人,如今年DRAPA(美国国防部高级研究计划局)城市挑战赛上的那些车。这些功能近似的系统之间究竟有什么区别?更重要的是,一名设计者在建立这些类型系统时,他所使用的设计方案与开发资源有何差异?一个嵌入式自动或
半自动子系统的设计(如高档汽车中的刹车与牵引控制系统),与多数人认为的机器人设计之间有何区别?
所幸,机器人社区中越来越多的设计资源并不担心这些差异,并且他们每天都在向更广阔的人群打开机器人技术与自动化子系统的天地。这种进入非常重要,这些类型的系统是由大量通用型与专业型专家组成的跨学科团队的成果。机器人技术开发平台为这些团队提供了一个启动点,他们不需要成为传感器、机械与电机控制专家,就能开始自己的项目。用于这些系统的软件开发工具不断成熟,为行业专家的工作赋予了更强的动力,去完成这些系统的规格、设计、测试与部署。
本次动手项目的第一部分是项目的简单说明,然后主要涉及我准备用于项目实现的平台与开发工具。第二部分预计发表在EDN 2008年2月7日一期上,将描述用选定硬件与软件平台实现该项目的详细情况。本次动手项目将尝试满足多个目标。第一个目标是揭示那些能让开发团队立即开始建立自动化系统的资源,无论它们是嵌入式或独立式,也不管它们是全自动还是部分自动。另一个目标是揭示那些支持它们的最新平台与开发资源;重要的是要了解清楚,这些开发资源是否(或在多大程度上)处于或超出了早期使用者的完备水平。
第三个目标是表示一种在移动平台(而不是固定平台)上探测世界的概念。我看到过很多演示,尤其是在视觉探测方面,设计者将传感器安装在一个刚性架子上,以尽力消除在数据捕捉期间的任何运动可能性。似乎这种类型的系统正在用更多的计算负荷补偿一个牢固、稳定平台所不能获得的数据。在做自动汽车时,我的团队特意在探测场景中引入了运动,帮助我们识别和过滤掉传感器的异常情况,更容易判别出我们试图找到的东西。本项目是首次作运动辅助探测的灵活性测试,以最终降低正在增长的计算负荷,从而在探测中获得更好的数据识别与模式识别结果。对于这个项目,我尝试建立一个双耳探测系统,并证明它是一个双话筒、运动辅助、声音定位机器人。换句话说,机器人将尝试用两只话筒来互相定位,并用机器人的能力协调移动、指点并最终判别出声源的位置。
本项目并非试图彻底鉴别现有的机器人开发资源,因为这种技术还在不断发展之中;本项目的目标是对考虑用于本项目的几个移动机器人平台作出鉴定,也包括现有支持它们的开发资源。有关机器人开发资源请见博客文章《嵌入式机器人技术》(本文省略)。现在,让我们研究一下我为此项目准备的平台和开发资源。
要 点
设计者现在可以使用一些机器人技术开发平台。
机器人技术平台的开发工具正在成熟;在某些情况下,它们还落后于最先进的传统嵌入式软件开发工具数年时间。
参考设计与系统级开发工具使设计者能够跳过传统机器人项目中的很多定制创建和集成步骤。
机器人引人遐想。随着低成本开发平台变得日益唾手可得,人们将机器人用于教育与最终应用的机会也在不断增加。不过,“机器人”这个词汇是一个要加以定义的东西,因为人们通常会把这些装置拟人化,将它们看作仆人或宠物。大多数人能在第一眼时就认出一台机器人,但你会发现很难找到一种能够适用于所有或大多数机器人的定义。例如,iRobot把自己的Roomba叫做吸尘机器人,很多人毫无疑问会叫它机器人。另一方面,多数人很难把自动汽车叫做机器人,如今年DRAPA(美国国防部高级研究计划局)城市挑战赛上的那些车。这些功能近似的系统之间究竟有什么区别?更重要的是,一名设计者在建立这些类型系统时,他所使用的设计方案与开发资源有何差异?一个嵌入式自动或
所幸,机器人社区中越来越多的设计资源并不担心这些差异,并且他们每天都在向更广阔的人群打开机器人技术与自动化子系统的天地。这种进入非常重要,这些类型的系统是由大量通用型与专业型专家组成的跨学科团队的成果。机器人技术开发平台为这些团队提供了一个启动点,他们不需要成为传感器、机械与电机控制专家,就能开始自己的项目。用于这些系统的软件开发工具不断成熟,为行业专家的工作赋予了更强的动力,去完成这些系统的规格、设计、测试与部署。
本次动手项目的第一部分是项目的简单说明,然后主要涉及我准备用于项目实现的平台与开发工具。第二部分预计发表在EDN 2008年2月7日一期上,将描述用选定硬件与软件平台实现该项目的详细情况。本次动手项目将尝试满足多个目标。第一个目标是揭示那些能让开发团队立即开始建立自动化系统的资源,无论它们是嵌入式或独立式,也不管它们是全自动还是部分自动。另一个目标是揭示那些支持它们的最新平台与开发资源;重要的是要了解清楚,这些开发资源是否(或在多大程度上)处于或超出了早期使用者的完备水平。
第三个目标是表示一种在移动平台(而不是固定平台)上探测世界的概念。我看到过很多演示,尤其是在视觉探测方面,设计者将传感器安装在一个刚性架子上,以尽力消除在数据捕捉期间的任何运动可能性。似乎这种类型的系统正在用更多的计算负荷补偿一个牢固、稳定平台所不能获得的数据。在做自动汽车时,我的团队特意在探测场景中引入了运动,帮助我们识别和过滤掉传感器的异常情况,更容易判别出我们试图找到的东西。本项目是首次作运动辅助探测的灵活性测试,以最终降低正在增长的计算负荷,从而在探测中获得更好的数据识别与模式识别结果。对于这个项目,我尝试建立一个双耳探测系统,并证明它是一个双话筒、运动辅助、声音定位机器人。换句话说,机器人将尝试用两只话筒来互相定位,并用机器人的能力协调移动、指点并最终判别出声源的位置。
本项目并非试图彻底鉴别现有的机器人开发资源,因为这种技术还在不断发展之中;本项目的目标是对考虑用于本项目的几个移动机器人平台作出鉴定,也包括现有支持它们的开发资源。有关机器人开发资源请见博客文章《嵌入式机器人技术》(本文省略)。现在,让我们研究一下我为此项目准备的平台和开发资源。
平台
从1990年起,iRobot公司就一直在提供机器人,完成从清洁地板到清除爆炸物等各种工作。该公司使用自己专利的Aware机器人智能系统,可在家具之间导航行走,以及在废弃建筑物内搜索。该公司2005年10月以后制造的iRobot Roomba包含有iRobot Roomba SCI(串行指令接口)的电路与软件,使开发人员能够控制或修改自己Roomba的性能,并远程监控其传感器。Roomba SCI协议通过一个miniDIN连接器的外接串行端口,为Roomba提供了一个控制链路。SCI包含了控制Roomba所有促动器的命令,如电机、LED与扬声器,并能向系统内部的所有传感器请求数据。

2007年初,该公司推出了iRobot Create,这是一个预装的移动机器人平台,有32个内置传感器、促动器以及串行接口,现在起价为129.99美元(图1)。Create基于Roomba核心技术,并兼容Roomba的可充电电池、遥控器和其它附件。该平台包括一个开放式载荷仓,一个25针扩展口以及可以在机器人上安装市售传感器、促动器和其它第三方电子部件(如摄像头、臂和无线连接)的螺纹安装孔。

【