想象一下身处一个新兴行业的诞生之时。这是一个基于突破性新技术的行业,其中少数几家老牌公司销售用于商业用途的高度专业化设备,而大量快速增长的初创公司生产创新的玩具、业余爱好者的工具以及其他有趣的利基产品。但它也是一个高度分散的行业,几乎没有共同的标准或平台。项目复杂,进展缓慢,实际应用相对罕见。事实上,尽管充满了兴奋和希望,但没有人能够确定这个行业何时——甚至是否——会达到临界规模。但如果它真的实现了,它很可能会改变世界。
当然,以上段落可能是对 1970 年代中期计算机行业的描述,大约在保罗·艾伦和我创立微软的时候。那时,大型、昂贵的大型计算机为主要公司、政府部门和其他机构运行后台运营。领先大学和工业实验室的研究人员正在创建将信息时代变为可能的基本构建模块。英特尔刚刚推出了 8080 微处理器,雅达利正在销售流行的电子游戏 Pong。在自制的计算机俱乐部里,爱好者们努力弄清楚这项新技术到底有什么用。但我真正想到的是更现代的东西:机器人行业的兴起,它的发展方式与 30 年前的计算机业务非常相似。将目前用于汽车装配线上的工业机器人视为昨天的大型机。该行业的利基产品包括执行外科手术的机械臂、部署在伊拉克和阿富汗的用于处理路边炸弹的监视机器人,以及为地板吸尘的家用机器人。电子公司已经制造出模仿人、狗或恐龙的机器人玩具,而业余爱好者则渴望获得最新版本的乐高机器人系统。
与此同时,世界上一些最聪明的人正试图解决机器人技术中最棘手的问题,例如视觉识别、导航和机器学习。他们正在取得成功。在 2004 年美国国防高级研究计划局 (DARPA) 大挑战赛中,这是一项旨在制造能够自主导航穿越莫哈韦沙漠崎岖 142 英里赛道的机器人车辆的比赛,最优秀的参赛者仅行驶了 7.4 英里就发生故障。2005 年,有五辆车跑完了全程。2007 年 11 月,有六辆车完成了穿越模拟城市环境的 60 英里赛程,在赛程中,它们需要并入移动的车流、穿过繁忙的十字路口、避开障碍物并找到停车位。(在机器人和计算机行业之间另一个有趣的相似之处是,DARPA 也资助了 Arpanet 的创建工作,Arpanet 是互联网的前身。)
支持科学新闻报道
如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道 订阅。通过购买订阅,您正在帮助确保有关塑造我们当今世界的发现和想法的具有影响力的故事的未来。
更重要的是,机器人行业面临的挑战与我们三十年前在计算领域解决的挑战类似。机器人公司没有标准的操作系统,可以使流行的应用程序程序在各种设备上运行。机器人处理器和其他硬件的标准化程度有限。每当有人想制造一个新的机器人时,他们通常都必须从头开始。
尽管存在这些困难,但当我与机器人领域的从业人员——从大学研究人员到企业家、业余爱好者和高中生——交谈时,他们的兴奋和期望程度让我想起了保罗·艾伦和我看到新技术融合并梦想着有一天每张办公桌和每个家庭都将拥有一台电脑的那段时光。当我审视现在开始融合的趋势时,我可以预见一个机器人设备将成为我们日常生活中几乎无处不在的一部分的未来。我相信,分布式计算、语音和视觉识别以及无线宽带连接等技术将为新一代自主设备打开大门,使计算机能够代表我们在物理世界中执行任务。我们可能正处于一个新时代的边缘,个人电脑将从桌面上站起来,让我们能够在我们没有亲身在场的地点看到、听到、触摸和操纵物体。
[break] 从科幻小说到现实
“机器人”一词在 1921 年由捷克剧作家卡雷尔·恰佩克普及,但人们在数千年前就幻想创造类似机器人的设备。在希腊和罗马神话中,金属工艺之神建造了用黄金制成的机械仆人。公元一世纪,伟大的工程师亚历山大港的希罗因发明第一台蒸汽机而闻名,他设计了有趣的自动机,其中包括据说具有说话能力的自动机。列奥纳多·达·芬奇 1495 年绘制的机械骑士草图,它可以坐起来并移动手臂和腿,被认为是第一个人形机器人计划。
在过去的一个世纪里,拟人化机器通过艾萨克·阿西莫夫的《我,机器人》等书籍、星球大战等电影和星际迷航等电视节目,已成为流行文化中熟悉的人物。机器人在小说中的流行表明,人们乐于接受这些机器有一天会作为助手甚至同伴在我们中间行走的想法。然而,尽管机器人在汽车制造等行业中发挥着至关重要的作用——大约每 10 名工人就有一台机器人——但在真正的机器人赶上其科幻小说中的同类产品之前,我们还有很长的路要走。
造成这种差距的原因之一是,让机器人拥有人类认为理所当然的能力比预期的要困难得多——例如,在房间内相对于物体定位自己的能力,对声音做出反应和解释语音,以及抓取各种尺寸、纹理和易碎性的物体。即使像区分打开的门和窗户这样简单的事情对于机器人来说也可能非常棘手。
但研究人员开始找到答案。帮助他们的一个趋势是计算机处理能力的巨大增长。1970 年花费超过 7,000 美元的 1 兆赫处理能力,现在只需几美分即可购买。1 兆位存储的价格也出现了类似的下降。廉价计算能力的获得使科学家能够研究许多对于使机器人实用化至关重要的难题。例如,如今,语音识别程序可以很好地识别单词,但更大的挑战将是构建能够理解这些单词在上下文中的含义的机器。随着计算能力的持续扩展,机器人设计师将拥有他们需要的处理能力来解决日益复杂的难题。
机器人发展的另一个障碍是硬件成本高昂,例如使机器人能够确定到物体距离的传感器以及使机器人能够以力量和灵巧度操纵物体的电机和伺服机构。但价格正在迅速下降。机器人技术中用于精确测量距离的激光测距仪几年前的成本约为 10,000 美元,而现在只需约 2,000 美元即可购买。基于超宽带雷达的新型更精确的传感器甚至更便宜。
现在,机器人制造商还可以合理的价格添加全球定位系统芯片、摄像机、阵列麦克风(比传统麦克风更擅长区分语音和背景噪声)以及大量额外的传感器。由此带来的功能增强,加上扩展的处理能力和存储空间,使得今天的机器人能够完成诸如为房间吸尘或帮助拆除路边炸弹等任务——这些任务在几年前对于商业生产的机器来说是不可能完成的。
[break] BASIC 方法
2004 年 2 月,我访问了包括卡内基梅隆大学、康奈尔大学和伊利诺伊大学在内的多所顶尖大学,讨论了计算机在解决社会一些最紧迫问题中可以发挥的强大作用。我的目标是帮助学生了解计算机科学是多么令人兴奋和重要,我希望鼓励他们中的一些人考虑从事技术职业。在每所大学,在发表演讲后,我都有机会参观该校计算机科学系一些最有趣的研究项目。几乎无一例外,我至少看到一个涉及机器人的项目。
当时,我在微软的同事也从学术界和商业机器人公司的人员那里听到,他们想知道我们公司是否在机器人技术领域开展任何工作,可以帮助他们进行自己的开发工作。我们没有,所以我们决定仔细研究一下。我请我的战略团队成员、在微软工作了 26 年的老将坦迪·特劳尔与机器人社区的人员交谈。他发现的是对机器人技术的潜力的普遍热情以及整个行业对使开发更容易的工具的渴望。“许多人认为机器人行业正处于技术转折点,转向 PC 架构越来越有意义,”坦迪在他的实况调查任务后给我的报告中写道。“正如 [卡内基梅隆大学] 参加 DARPA 大挑战赛的负责人雷德·惠特克最近指出的那样,硬件能力基本上已经具备;现在的问题是如何使软件正确。”
早在个人电脑的早期,我们就意识到我们需要一种成分,使所有开创性的工作都能达到临界规模,凝聚成一个能够大规模生产真正有用的产品的真正的行业。事实证明,我们需要的是 Microsoft BASIC。当我们在 1970 年代创建这种编程语言时,我们提供了通用的基础,使为一套硬件开发的程序能够在另一套硬件上运行。BASIC 还使计算机编程变得更加容易,这吸引了越来越多的人进入该行业。尽管许多人为个人电脑的发展做出了重要贡献,但 Microsoft BASIC 是使 PC 革命成为可能的关键催化剂之一。
在阅读了坦迪的报告后,在我看来很清楚,在机器人行业能够像 30 年前的 PC 行业那样实现飞跃之前,它也需要找到缺失的成分。所以我请他组建一个小型团队,与机器人领域的人员合作,创建一套编程工具,这些工具将提供必要的管道,以便任何对机器人感兴趣的人都可以轻松编写机器人应用程序,这些应用程序可以在不同类型的硬件上工作。目标是看看是否有可能为将硬件和软件集成到机器人设计中提供与 Microsoft BASIC 为计算机程序员提供的相同的基础。
坦迪的机器人小组借鉴了克雷格·蒙迪(微软首席研究和战略官)领导的团队开发的多项先进技术。其中一项技术将有助于解决机器人设计师面临的最困难的问题之一:如何同时处理来自多个传感器的所有数据,并将适当的命令发送到机器人的电机,这被称为并发性挑战。一种传统方法是编写一个传统的单线程程序——一个长循环,首先从传感器读取所有数据,然后处理该输入,最后传递输出,该输出决定机器人的行为,然后再重新开始循环。缺点显而易见:如果您的机器人有新的传感器数据表明机器正处于悬崖边缘,但程序仍处于循环的底部,根据之前的传感器输入计算轨迹并告诉车轮转得更快,那么机器人很可能在处理新信息之前就会从楼梯上摔下去。
并发性是一个超越机器人技术的挑战。如今,随着越来越多的应用程序是为计算机分布式网络编写的,程序员们仍在努力弄清楚如何有效地协调在许多不同服务器上同时运行的代码。随着具有单处理器的计算机被具有多处理器和“多核”处理器(集成电路,其中两个或多个处理器连接在一起以提高性能)的机器所取代,软件设计师将需要一种新的方法来编程解决并发性问题的桌面应用程序和操作系统。
一种解决并发性的方法是多线程编程,它允许数据沿着多条路径传输。但是,任何编写过多线程代码的开发人员都可以告诉您,这是编程中最困难的任务之一。克雷格的团队设计的答案是一种称为并发性和协调运行时 (CCR) 的东西。CCR 是一个函数库——执行特定任务的软件代码序列——它使编写协调多个并发活动的多线程应用程序变得容易。它旨在帮助程序员利用多核和多处理器系统的强大功能,现在正被用于编程科学建模应用程序、构建传感器网络以及为金融交易公司开发软件。事实证明,CCR 也非常适合机器人技术。通过利用这个库来编写他们的程序,机器人设计师可以大大降低他们的创造物撞到墙壁的可能性,因为它们的软件过于忙于向车轮发送输出而无法读取来自传感器的输入。
除了解决并发性问题外,克雷格的团队所做的工作还将通过一种称为分散式软件服务 (DSS) 的技术简化分布式机器人应用程序的编写。DSS 使开发人员能够创建应用程序,在这些应用程序中,服务——程序中读取传感器或控制电机的部分——作为单独的进程运行,这些进程可以以与 Web 页面上聚合来自多个服务器的文本、图像和信息非常相似的方式进行协调。由于 DSS 允许软件组件彼此隔离运行,因此如果机器人的单个组件发生故障,可以将其关闭并重新启动——甚至更换——而无需重新启动机器。与宽带无线技术相结合,这种架构可以轻松地使用 Web 浏览器从远程位置监控和控制机器人。
更重要的是,控制机器人设备的 DSS 应用程序不必完全驻留在机器人本身上,而是可以分布在多台计算机上。因此,机器人可以成为一种相对便宜的设备,将复杂的处理任务委托给当今家用 PC 上的高性能硬件。我相信,这种进步将为一类全新的机器人铺平道路,这些机器人本质上是移动的无线外围设备,它们利用台式 PC 的强大功能来处理视觉识别和导航等处理密集型任务。由于这些设备可以联网在一起,我们可以期待看到机器人组的出现,它们可以协同工作以实现诸如绘制海底地图或种植农作物等目标。
这些技术是坦迪团队为机器人行业构建的软件开发工具包的关键组成部分。该工具包还包括一些工具,这些工具使使用各种编程语言创建机器人应用程序变得更加容易。一个例子是仿真工具,它允许机器人制造商在三维虚拟环境中测试他们的应用程序,然后再在现实世界中进行测试。该软件开发工具包旨在提供一个经济实惠的开放平台,使机器人开发人员能够轻松地将硬件和软件集成到他们的设计中,自 2006 年发布以来,它已被下载超过 150,000 次。我们还与多所大学合作,以支持机器人研究计划。一个例子是佐治亚理工学院和布林莫尔学院的个人机器人教育研究所,该研究所的创建旨在探索使用机器人作为一种让学生参与工程、数学和科学学习的方式。
[break] 我们应该称它们为机器人吗?
机器人多久才能成为我们日常生活的一部分?根据国际机器人联合会的数据,2004 年全球约有 200 万台个人机器人在使用,到今年年底还将安装 700 万台。在韩国,信息通信部希望到 2013 年在每个家庭都放置一台机器人。日本机器人协会预测,到 2025 年,全球个人机器人产业的价值将超过每年 500 亿美元,而今天约为 50 亿美元。
与 1970 年代的 PC 行业一样,不可能准确预测哪些应用程序将推动这个新兴产业。然而,机器人很可能在为老年人提供身体帮助甚至陪伴方面发挥重要作用。机器人设备可能会帮助残疾人四处走动,并扩展士兵、建筑工人和医务人员的力量和耐力。机器人将维护危险的工业机器并处理有害物质。它们将使医疗保健工作者能够诊断和治疗可能远在千里之外的患者,它们将成为安全系统和搜救行动的核心特征。
尽管未来的一些机器人可能类似于星球大战中看到的拟人化设备,但大多数机器人看起来都不会像人形机器人 C-3PO。事实上,随着移动外围设备变得越来越普遍,可能越来越难以确切地说什么是机器人。由于新机器将如此专业化和无处不在——并且看起来与科幻小说中的双腿自动机如此不同——我们可能甚至不会称它们为机器人。但是,随着这些设备变得消费者负担得起,它们可能会像过去 30 年的 PC 一样,对我们工作、沟通、学习和娱乐自身的方式产生同样深远的影响。
[break] 作者
比尔·盖茨是微软公司(全球最大的软件公司)的联合创始人兼董事长。在 1970 年代就读哈佛大学期间,盖茨为第一台微型计算机 MITS Altair 开发了 BASIC 编程语言的一个版本。大三时,盖茨离开哈佛大学,全身心投入到微软,这是他于 1975 年与童年好友保罗·艾伦共同创办的公司。2000 年,盖茨和他的妻子梅琳达成立了比尔及梅琳达·盖茨基金会,该基金会专注于改善全球健康、减少贫困和增加技术普及。