家家有机器人

PC 革命的领袖预测下一个热门领域将是机器人技术

想象一下身处一个新兴产业的诞生之时。这是一个基于突破性新技术的产业,其中少数几家老牌公司销售用于商业用途的高度专业化设备,而数量快速增长的初创公司则生产创新的玩具、业余爱好者的玩意儿和其他有趣的利基产品。但它也是一个高度分散的产业,几乎没有通用标准或平台。项目复杂,进展缓慢,实际应用相对罕见。事实上,尽管充满了兴奋和希望,但没有人能够确切地说出这个行业何时——甚至是否——能够达到临界规模。然而,如果它真的实现了,它很可能会改变世界。

当然,上面的段落可能是在描述 1970 年代中期的计算机行业,大约在保罗·艾伦和我创办微软的时候。那时,大型、昂贵的大型计算机为主要公司、政府部门和其他机构运行后台操作。领先大学和工业实验室的研究人员正在创建使信息时代成为可能的基本构建模块。英特尔刚刚推出了 8080 微处理器,而雅达利正在销售流行的电子游戏《Pong》。在本土计算机俱乐部中,爱好者们正努力弄清楚这项新技术到底有什么用。

但我真正想到的是更现代的东西:机器人产业的兴起,它的发展方式与 30 年前的计算机业务非常相似。将目前在汽车装配线上使用的制造机器人视为昨天大型计算机的等价物。该行业的利基产品包括执行外科手术的机械臂、部署在伊拉克和阿富汗用于处理路边炸弹的监视机器人,以及用于吸尘的家用机器人。电子公司制造了可以模仿人、狗或恐龙的机器人玩具,而爱好者们则渴望获得最新版本的乐高机器人系统。


支持科学新闻报道

如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道 订阅。通过购买订阅,您正在帮助确保有关塑造我们当今世界的发现和想法的具有影响力的故事的未来。


与此同时,世界上一些最优秀的头脑正在努力解决机器人技术中最棘手的问题,例如视觉识别、导航和机器学习。他们正在取得成功。在 2004 年美国国防高级研究计划局 (DARPA) 大挑战赛中,这是一场旨在制造出第一辆能够自主导航穿越莫哈韦沙漠 142 英里崎岖赛道的机器人车辆的比赛,最优秀的参赛者在抛锚前仅行驶了 7.4 英里。然而,在 2005 年,有五辆汽车完成了全程,而比赛的获胜者以平均每小时 19.1 英里的速度完成了比赛。(在机器人和计算机行业之间另一个有趣的相似之处是,DARPA 也资助了促成互联网前身 Arpanet 诞生的工作。)

更重要的是,机器人行业面临的挑战与我们三十年前在计算机领域处理的挑战相似。机器人公司没有标准的操作系统,可以使流行的应用程序在各种设备上运行。机器人处理器和其他硬件的标准化程度有限,并且在一台机器中使用的编程代码很少能应用于另一台机器。每当有人想制造一个新的机器人时,他们通常都必须从头开始。

尽管存在这些困难,但当我与机器人领域的从业人员——从大学研究人员到企业家、爱好者和高中生——交谈时,他们的兴奋和期望程度让我想起了保罗·艾伦和我看到新技术融合并梦想着有一天每张办公桌和每个家庭都有一台电脑的时候。当我审视现在开始融合的趋势时,我可以预见一个未来,机器人设备将成为我们日常生活中几乎无处不在的一部分。我相信,诸如分布式计算、语音和视觉识别以及无线宽带连接等技术将为新一代自主设备打开大门,使计算机能够代表我们在物理世界中执行任务。我们可能正处于一个新时代的边缘,个人电脑将从桌面上站起来,让我们能够在我们不亲身在场的地点看到、听到、触摸和操纵物体。

从科幻小说到现实
“机器人”这个词在 1921 年由捷克剧作家卡雷尔·恰佩克普及,但人们构想创造类似机器人的设备已经有数千年的历史了。在希腊和罗马神话中,金属工艺之神制造了用黄金制成的机械仆人。公元一世纪,伟大的工程师亚历山大港的希罗——因发明第一台蒸汽机而闻名——设计了有趣的自动机,其中包括据说具有说话能力的自动机。列奥纳多·达·芬奇 1495 年绘制的机械骑士草图,它可以坐起来并移动手臂和腿,被认为是第一个人形机器人的设计方案。

在过去的一个世纪里,拟人化机器通过艾萨克·阿西莫夫的《我,机器人》、电影如《星球大战》和电视节目如《星际迷航》等书籍,已成为流行文化中熟悉的人物。机器人在小说中的流行表明,人们乐于接受这些机器有一天会作为助手甚至同伴在我们中间行走的想法。然而,尽管机器人在汽车制造等行业中发挥着至关重要的作用——大约每 10 名工人就有一台机器人——但事实是,在真正的机器人赶上他们的科幻小说同行之前,我们还有很长的路要走。

造成这种差距的一个原因是,使计算机和机器人能够感知周围环境并快速准确地做出反应,这比预期的要困难得多。事实证明,让机器人具备人类认为理所当然的能力极其困难——例如,在房间内相对于物体定位自身的能力、对声音做出反应并解释语音的能力,以及抓取不同尺寸、纹理和易碎性的物体的能力。即使像区分打开的门和窗户这样简单的事情,对于机器人来说也可能非常棘手。

但研究人员正在开始找到答案。帮助他们的一个趋势是计算机算力的可用性大大提高。1970 年花费超过 7,000 美元的一兆赫兹处理能力,现在只需几美分即可购买。一兆位存储的价格也出现了类似的下降。廉价计算能力的获得,使得科学家们能够致力于解决许多对于使机器人实用至关重要的难题。例如,如今,语音识别程序可以很好地识别单词,但更大的挑战将是构建能够理解这些单词在上下文中的含义的机器。随着计算能力的不断扩展,机器人设计师将拥有他们需要的处理能力来解决日益复杂的问题。

机器人发展的另一个障碍是硬件成本高昂,例如使机器人能够确定到物体距离的传感器,以及允许机器人以力量和灵巧度操纵物体的电机和伺服系统。但价格正在迅速下降。几年前,用于机器人技术中精确测量距离的激光测距仪的价格约为 10,000 美元;今天,它们可以以大约 2,000 美元的价格购买。而基于超宽带雷达的更新、更精确的传感器甚至更便宜。

现在,机器人制造商还可以以合理的费用添加全球定位系统芯片、摄像机、阵列麦克风(比传统麦克风更擅长区分语音和背景噪音)以及大量额外的传感器。由此带来的功能增强,加上扩展的处理能力和存储空间,使得今天的机器人能够完成诸如吸尘或帮助拆除路边炸弹等任务——这些任务对于仅仅几年前商业化生产的机器来说是不可能的。

BASIC 方法
2004 年 2 月,我访问了包括卡内基梅隆大学、麻省理工学院、哈佛大学、康奈尔大学和伊利诺伊大学在内的多所顶尖大学,讨论计算机在解决社会一些最紧迫问题方面可以发挥的强大作用。我的目标是帮助学生了解计算机科学是多么令人兴奋和重要,我希望鼓励他们中的一些人考虑从事技术职业。在每所大学,在发表演讲后,我都有机会亲身了解该校计算机科学系一些最有趣的研究项目。几乎无一例外,我至少看到一个涉及机器人的项目。

那时,我在微软的同事也从学术界和商业机器人公司的人那里听说,想知道我们公司是否在机器人技术领域做任何工作,可以帮助他们进行自己的开发工作。我们没有,所以我们决定仔细研究一下。我请我的战略人员坦迪·特罗沃——一位在微软工作了 25 年的老员工——进行一次扩展的实况调查任务,并与机器人社区的人们交谈。他发现人们普遍对机器人技术的潜力充满热情,并且整个行业都渴望能够使开发更容易的工具。“许多人认为机器人行业正处于技术转折点,转向 PC 架构越来越有意义,”坦迪在他的实况调查任务后给我的报告中写道。“正如[卡内基梅隆大学]参加 DARPA 大挑战赛的负责人雷德·惠特克最近指出的那样,硬件能力基本上已经到位;现在的问题是把软件做好。”

早在个人电脑的早期,我们就意识到我们需要一种成分,使所有开创性的工作都能够达到临界规模,凝聚成一个能够大规模生产真正有用的产品的真实产业。事实证明,所需要的正是 Microsoft BASIC。当我们在 1970 年代创建这种编程语言时,我们提供了通用的基础,使为一个硬件集合开发的程序能够在另一个硬件上运行。BASIC 还使计算机编程变得更加容易,这吸引了越来越多的人进入这个行业。尽管许多个人为个人电脑的发展做出了重要贡献,但 Microsoft BASIC 是促成软件和硬件创新的关键催化剂之一,这些创新使个人电脑革命成为可能。

阅读坦迪的报告后,我清楚地意识到,在机器人行业能够像 30 年前的个人电脑行业那样实现量子飞跃之前,它也需要找到缺失的成分。所以我请他组建一个小团队,与机器人领域的人员合作,创建一套编程工具,提供必要的基础设施,以便任何对机器人感兴趣的人,即使对计算机编程只有最基本的了解,也能够轻松编写机器人应用程序,这些应用程序可以与不同类型的硬件一起工作。目标是看看是否有可能为将硬件和软件集成到机器人设计中提供与 Microsoft BASIC 为计算机程序员提供的相同类型的通用、低级基础。

坦迪的机器人小组已经能够利用克雷格·蒙迪——微软首席研究和战略官——领导的团队开发的一些先进技术。其中一项技术将有助于解决机器人设计师面临的最困难的问题之一:如何同时处理来自多个传感器的所有数据,并将适当的命令发送到机器人的电机,这被称为并发性挑战。传统方法是编写传统的单线程程序——一个长循环,首先从传感器读取所有数据,然后处理这些输入,最后交付输出,确定机器人的行为,然后再重新开始循环。缺点是显而易见的:如果您的机器人有新的传感器数据表明机器处于悬崖边缘,但程序仍然在循环的底部,根据之前的传感器输入计算轨迹并告诉轮子转得更快,那么机器人很可能在能够处理新信息之前就从楼梯上掉下来了。

并发性是一个超越机器人技术的挑战。如今,随着越来越多的应用程序是为计算机分布式网络编写的,程序员一直在努力弄清楚如何有效地协调同时在许多不同服务器上运行的代码。并且随着具有单个处理器的计算机被具有多个处理器和“多核”处理器——为增强性能而连接在一起的两个或多个处理器的集成电路——的机器所取代,软件设计师将需要一种新的方式来编程桌面应用程序和操作系统。为了充分利用并行工作的处理器的强大功能,新软件必须处理并发性问题。

处理并发性的一种方法是编写允许多条路径传输数据的多线程程序。但是,任何编写过多线程代码的开发人员都可以告诉您,这是编程中最困难的任务之一。克雷格的团队针对并发性问题设计的答案是称为并发和协调运行时 (CCR) 的东西。CCR 是一个函数库——执行特定任务的软件代码序列——它可以轻松编写可以协调多个并发活动的多线程应用程序。CCR 旨在帮助程序员利用多核和多处理器系统的强大功能,事实证明它也非常适合机器人技术。通过利用这个库编写他们的程序,机器人设计师可以大大降低他们的创作会撞到墙的几率,因为它的软件太忙于向轮子发送输出而无法读取来自传感器的输入。

除了解决并发性问题外,克雷格的团队所做的工作还将通过一种称为分散式软件服务 (DSS) 的技术,简化分布式机器人应用程序的编写。DSS 使开发人员能够创建应用程序,其中服务——程序的各个部分,例如读取传感器或控制电机——作为单独的进程运行,这些进程可以以与网页上聚合来自多个服务器的文本、图像和信息大致相同的方式进行协调。由于 DSS 允许软件组件彼此隔离运行,因此如果机器人的单个组件发生故障,可以将其关闭并重新启动——甚至更换——而无需重新启动机器。结合宽带无线技术,这种架构使得可以使用 Web 浏览器从远程位置轻松监控和调整机器人。

更重要的是,控制机器人设备的 DSS 应用程序不必完全驻留在机器人本身上,而是可以分布在多台计算机上。因此,机器人可以是一个相对便宜的设备,可以将复杂的处理任务委托给当今家用 PC 上发现的高性能硬件。我相信这一进步将为全新一类机器人铺平道路,这些机器人本质上是移动、无线外围设备,它们利用台式 PC 的强大功能来处理诸如视觉识别和导航等处理密集型任务。并且由于这些设备可以联网在一起,我们可以期待看到成群的机器人出现,它们可以协同工作以实现诸如绘制海底地图或种植农作物等目标。

这些技术是 Microsoft Robotics Studio 的关键组成部分,Microsoft Robotics Studio 是坦迪团队构建的新软件开发工具包。Microsoft Robotics Studio 还包括一些工具,这些工具使使用各种编程语言创建机器人应用程序变得更加容易。一个例子是模拟工具,它允许机器人制造商在三维虚拟环境中测试他们的应用程序,然后再在现实世界中试用它们。我们此版本的目的是创建一个经济实惠的开放平台,使机器人开发人员能够轻松地将硬件和软件集成到他们的设计中。

我们应该称它们为机器人吗?
机器人多久才能成为我们日常生活的一部分?根据国际机器人联合会的数据,2004 年全球约有 200 万台个人机器人在使用,到 2008 年还将安装 700 万台。在韩国,信息通信部希望到 2013 年在每个家庭都放置一台机器人。日本机器人协会预测,到 2025 年,全球个人机器人产业的价值将超过每年 500 亿美元,而今天约为 50 亿美元。

与 1970 年代的个人电脑行业一样,不可能准确预测哪些应用程序将推动这个新兴产业。然而,机器人似乎很可能在为老年人提供身体帮助甚至陪伴方面发挥重要作用。机器人设备可能会帮助残疾人四处走动,并扩展士兵、建筑工人和医疗专业人员的力量和耐力。机器人将维护危险的工业机器、处理有害材料和监控远程石油管道。它们将使医护人员能够诊断和治疗可能远在千里之外的患者,并且它们将成为安全系统和搜索救援行动的核心特征。

尽管未来的一些机器人可能类似于《星球大战》中看到的拟人化设备,但大多数机器人看起来都不会像人形机器人 C-3PO。事实上,随着移动外围设备变得越来越普遍,可能越来越难以确切地说出什么是机器人。由于新机器将如此专业化和无处不在——并且看起来与科幻小说中的双足自动机如此不同——我们可能甚至不会称它们为机器人。但是,随着这些设备变得消费者负担得起,它们可能会像个人电脑在过去 30 年中那样,对我们工作、交流、学习和娱乐的方式产生同样深远的影响。

有关机器人技术的一般信息,请访问

机器人和个人电脑可以成为朋友

更好的编程意味着更少的摔倒

一个产业的诞生

大众科学 Magazine Vol 296 Issue 1本文最初以 “家家有机器人” 为标题发表于 《大众科学》杂志 第 296 卷第 1 期(
doi:10.1038/scientificamerican012007-MA3kU6tOcysVnzHeRQ6z5
© . All rights reserved.