想象一下身處一個新興行業的誕生之時。這是一個基於突破性新技術的行業,其中少數幾家老牌公司銷售用於商業用途的高度專業化裝置,而大量快速增長的初創公司生產創新的玩具、業餘愛好者的工具以及其他有趣的利基產品。但它也是一個高度分散的行業,幾乎沒有共同的標準或平臺。專案複雜,進展緩慢,實際應用相對罕見。事實上,儘管充滿了興奮和希望,但沒有人能夠確定這個行業何時——甚至是否——會達到臨界規模。但如果它真的實現了,它很可能會改變世界。
當然,以上段落可能是對 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 年,蓋茨和他的妻子梅琳達成立了比爾及梅琳達·蓋茨基金會,該基金會專注於改善全球健康、減少貧困和增加技術普及。