| 家家都有機器人 |
||
|
|
想像一下親身參與某個新產業的誕生。這是個以創新技術為基礎的產業,其中有幾家知名企業銷售高度專業的商用設備,但也有越來越多新興公司在製造新穎的玩具、專供玩家收藏的玩意兒,以及其他有趣的利基產品。這也是個極為分化的產業,少有共通的標準或平台;計畫很複雜,進展相當遲緩,實際應用也相對稀少。儘管有種種激勵人心的消息與承諾,事實上卻沒有人可以確定這個產業何時(或甚至能否)達到臨界質量(critical mass)。不過如果達到的話,世界很可能就此改變。 當然,這段話也能用來描述1970年代中期的電腦產業,那時艾倫(Paul Allen)和我剛剛創辦了微軟。回到當時,各大公司行號、政府部門與其他機構,全都採用昂貴的大型主機支援運算,一流大學與業界實驗室的研究員正在創造資訊時代的基本構件;英特爾剛剛推出8080微處理器,雅達利(Atari)正在販售紅極一時的電動遊戲「乒乓」(Pong);在自家成立的電腦俱樂部裡,熱心人士努力想發掘出這項新科技究竟能帶來什麼好處。 但我心裡所想的是更遠的未來:機器人產業的興起。這項產業的發展和30年前的電腦業有許多相似之處。想想看,當今自動裝配線上所使用的工業機器人,就如同昨日的大型主機。這項產業的利基產品包括手術專用的機器手臂、部署在伊朗與阿富汗地區用來掃除路邊詭雷的檢查用機器人,以及清理地板的家用機器人。電子公司生產了會模仿人、狗或恐龍的機器玩具,玩家也急欲擁有最新版的樂高機器人系統。 值此同時,一些全球頂尖的人才正試著解決機器人學裡最困難的問題,好比視覺辨識、導航與機器學習,而且漸有成果。2004年,美國國防部高等研究計畫署(DARPA)在加州莫哈未沙漠長達230公里的顛簸道路上,舉辦了一場自動導航機器人「大挑戰」賽車,結果第一名只跑了12公里,車輛就故障了。但是到了2005年,卻有五輛賽車跑完全程,而且冠軍車的平均速度達到每小時30公里。(機器人與電腦產業之間還有另一項有趣的相同點:當今網際網路的前身Arpanet,當初也是由DARPA贊助而催生的。) 不僅如此,機器人產業所面臨的挑戰,也很類似我們30年前在電腦產業裡處理的問題。機器人公司沒有標準的作業軟體,所以可在各種裝置上運作的大眾化應用程式也不存在。機器人處理器與其他硬體的標準化還相當有限,某部機器所用的程式碼鮮少能應用在另一部機器上。無論何時,任何人若想建造新的機器人,通常都得從頭開始。 儘管困難重重,但每當我和機器人領域的人交談時──包括學院內的研究者、創業家、業餘玩家與高中學生,那種興奮與期盼之情,一再讓我回想起艾倫和我當初看著新技術整合,並且夢想總有一天每個家庭的每張書桌上都會有一部電腦的情景。現在,我又看到一股整合的趨勢開始了,可以想見,機器人裝置未來終將成為我們日常生活中普遍存在的一個角色。我相信,許多技術將為新一代的自動裝置開啟大門,包括分散式運算、聲音與視覺辨識,以及無線寬頻連線等,將讓電腦得以代替我們完成實體世界裡的各項工作。我們即將邁入新時代,在這個新時代裡,個人電腦即將起身走下書桌,讓我們能夠看到、聽到、摸到、並且操控另一個地方的物件。
特羅爾的機器人小組已經開始應用微軟的數種先進技術了。這些技術由微軟首席研究暨策略長蒙迪帶領的小組所研發,其中一項技術解決了機器人設計師最困難的問題之一:如何同時處理來自多個感應器的資料,並且傳送適宜的指令給機器人的馬達,也就是知名的「同作」(concurrency)問題。常見的解決方法為傳統的單執行緒程式──有一個長迴圈,一開始先讀入來自感應器的所有資料,然後處理資料,最後送出結果並決定機器人的行為;然後再一次重頭開始執行迴圈。這個方式的缺點很明顯:即使機器人從感應器收到的最新訊息是,機器已經臨近懸崖邊緣,但由於程式還在迴圈後半部計算軌跡的部份,所以會根據先前輸入的資料,命令輪子快點運轉,機器人很可能根本沒有機會處理新資訊,就跌下了樓梯。 「同作」不僅是機器人學所面臨的挑戰,現在有越來越多的應用軟體是為了分散式電腦網路而寫。程式設計師煞費苦心尋找有效率的編碼方式,好讓程式同時在不同的伺服器上運作。單一處理器的電腦已漸漸被多處理器及「多核心」處理器(具有兩個以上處理器的積體電路,可提升效能)的機器所取代,軟體設計師必須以新的方法,來設計桌上型電腦的應用程式與作業系統。為了充份利用平行處理器的效能,新軟體也必須處理同作問題。 處理同作的方式之一,是撰寫多執行緒程式,允許資料透過不同的路徑傳送。但每個撰寫多執行緒程式碼的設計師都會告訴你,這是非常困難的程式設計工作。蒙迪小組針對同作問題的解答是:「執行期同作協調」(CCR)。這是一個函式庫,也就是一組可以執行特定工作的軟體程式碼,協助設計師更輕易撰寫出可協調多項同步活動的多執行緒應用程式。CCR的設計原本是為了協助程式設計師發揮多核心與多處理器系統的效能,但是結果對機器人學也有同樣的好處。機器人設計師運用函式庫撰寫程式,可大幅降低他們的軟體因為急著把輸出資料傳送給輪子,而無暇讀取來自感應器的輸入,使得機器人撞牆的機會。 不僅如此,控制機器人裝置的DSS應用程式,再也不需要全部都安裝在機器人身上,而可分散放置於多部電腦內。如此一來,可把複雜的處理工作分派給當今家用電腦裡的高性能硬體處理,機器人的價格或許就不再那麼昂貴了。我相信這個進展會促使全新類型的機器人出現,基本上,這種機器人是可移動的,具有無線設備可與桌上型個人電腦相連,讓電腦負責處理運算需求高的工作,好比視覺辨識與導航。也由於這些周邊設備能以網路彼此連結,可想見的,機器人將可集體合作,完成海底探勘或種植作物等工作。 這些正是微軟的「機器人工坊」(Robotics Studio)的關鍵技術。機器人工坊是特羅爾小組新設計出來的軟體開發套件,其中還有些工具能協助設計師輕易以各種程式語言撰寫機器人應用程式。例如,裡面有種模擬工具可讓機器人設計師在立體的虛擬環境中測試應用程式,而不需要實境測試自己的作品。我們發佈這項產品是為了提供一種人人可負擔的開放平台,協助機器人開發者將軟硬體一併整合進他們的設計中。 家家都有機器人 究竟還要多久,機器人才會變成我們日常生活中的一部份?根據國際機器人聯盟的估計,2004年全球各地個人所用的機器人大約有200萬具,到了2008年,這個數目得再加上700萬。南韓的資訊通訊部希望在2013年之前,能讓國內每個家庭裡都有一具機器人。日本機器人協會則預言,到了2025年,個人機器人產業每年全球的產值將超過500億美元。今天,這個數目約為50億美元。 未來,也許有些機器人會長得像「星際大戰」裡的人型裝置,但絕大部份應該和機器人C-3PO一點兒也不像。事實上,隨著移動式周邊設備越來越普遍,我們也許也會越難精確說出機器人到底是什麼,新機器將變得專業、無所不在,但一點兒也不像科幻片裡的兩腳機器人。到了那時候,我們可能甚至不以機器人來稱呼它們了。但由於這些設備將是人人皆可負擔,對我們的工作、通訊、學習與娛樂也將發生重大的衝擊,就像是個人電腦過去30年來造成的影響一樣。 新家庭成員:未來有些家用機器人也許會長得和科幻小說裡的人型機器一樣,但數量更多的可能是負責做特定家事的移動式周邊設備。 |



留言列表

