機器人操作系統(ROS)史話篇連載3(起源)

張新宇

計算機使用的操作系統,英語稱為Operating System,縮寫為OS。它是一種計算機程序,幫助使用計算機的人操控計算機硬體、管理各種應用軟體。人們聽說過的硬體包括:CPU、主板、內存、硬碟、顯示器、印表機、U盤等;人們常用的應用軟體有:文字處理軟體,比如微軟開發的Word,幻燈片製作軟體,比如微軟開發的PowerPoint,看電影的軟體,比如微軟的視頻播放器,瀏覽網頁的軟體,比如谷歌的Chrome、聊天軟體,比如騰訊的QQ和微信等等。

一開始,計算機比較簡單,並沒有操作系統,人們通過各種操作按鈕就可以控制計算機,但是這種操作方式效率比較低。後來人們通過有孔的紙帶將程序輸入計算機進行編譯,再通過程序員自己編寫的程序運行,這種方式效率還是很低。為了更有效的管理計算機硬體,並提高計算機程序的開發效率,就出現了操作系統。

與計算機操作系統類似,機器人操作系統的出現也遵循這樣一個規律:為了提高機器人設計和開發的效率。機器人操作系統英語稱為Robot Operating System,縮寫為ROS。

故事起源

ROS最早是在美國斯坦福大學[1]的人工智慧實驗室和矽谷的一家機器人公司Willow Garage開展的一個個人機器人項目[2]。

ROS的系統架構是由Morgan Quigley設計的,他當時還是美國斯坦福大學博士生,他的博士導師是中國知名度非常高的Andrew Ng(吳恩達)[3]。

在與Willow Garage合作之前,Morgan Quigley就已經開始在美國斯坦福大學人工智慧實驗室內部的STAIR[4]機器人項目中負責軟體架構設計和項目開發了。

當時這個STAIR項目希望完成一個服務機器人原型,在視覺的輔助下,可以在複雜環境中運動,還可以通過機械臂操控環境中的物體。STAIR機器人配備了一個運動底盤,一個小型機械臂,立體攝像頭、激光雷達。一個STAIR項目由幾個小組分別負責不同的模塊,分頭推進。Morgan Quigley負責導航組,同時負責軟硬體模塊的系統集成。Morgan Quigley發現將操控、導航、視覺等各種功能集成在一個機器人上非常不容易,因此他考慮採用「分散式計算」的方式。2007年,Morgan Quigley和吳恩達將STAIR的成果發表在IEEE 國際機器人與自動化會議上,文章的題目是《STAIR: Hardware and Software Architecture》,軟體系統的名稱是Switchyard[5]。這個Switchyard就是ROS前身。

後來 吳恩達與Willow Garage合作共同開發ROS,Morgan Quigley將前期在STAIR項目積累的經驗發揮的淋漓盡致,成為ROS開發框架的核心人物。2009年Morgan Quigley、吳恩達和Willow Garage機器人公司的工程師們,在當年的IEEE 國際機器人與自動化會議上發表了《ROS: An Open-Source Robot Operating System》,正式向外界介紹ROS。

正如文章中說強調的:

ROS is not an operating system in the traditional sense of process management and scheduling; rather, it provides a structured communications layer above the host operating systems of a heterogenous compute cluster. (ROS不是傳統意義上的操作系統,不是用於進程管理和調度,而是構建在其它操作系統之上的一種結構化的通訊層。)

圖: 從左到右: Morgan Quigley,Andrew Ng(吳恩達),美國斯坦福大學的人工智慧實驗室的STAIR機器人不同版本。人們一般很難想像,老氣橫秋的大鬍子Morgan Quigley是看著青春無限Andrew Ng的學生。吳恩達因為是華人,所以特別受中國人的追捧,中國的互聯網公司「百度」一時還聘請他做了首席科學家。

從2008年開始, Willow Garage開始主導ROS的開發,Morgan Quigley監督著ROS的進展。

2010年,隨著PR2正式對外發布,Willow Garage也正式推出ROS1.0。

---------------------------------------------------------------------

[1] 斯坦福大學(Stanford University):位於美國矽谷,世界頂級大學,以創新創業出名。想了解斯坦福大學和矽谷的故事,推薦看一看《矽谷傳奇》(吳軍著)和《大學之路》(吳軍著)兩本書。

[2] ROS: An Open-Source Robot Operating System,2009年在IEEE機器人與自動化大會發表(IEEE ICRA 2009)

[3] 吳恩達的經歷非常豐富,最早成名於斯坦福大學AI實驗室,在斯坦福大學開設了一門慕課(MOOC,網上開放課程)「機器學習」,聽課的學生有十萬多人,後來他跟他的好朋友創辦了在線教育平台Coursera。現在Coursera已經發展成世界最大的慕課平台。還在谷歌領導了「谷歌大腦」項目,擔任百度公司首席科學家,領導百度的「人工智慧研究院」。吳恩達2017年3月從百度離職。

[4] STAIR: STanford Artificial Intelligence Robot

[5] Morgan Quigley, Eric Berger, Andrew Y. Ng. STAIR: Hardware and Software Architecture, IEEE ICRA 2007


推薦閱讀:

TAG:機器人 | 機器人操作平台ROS |