機器人操作系統,除了Android還有一個ROS
你知道市面上的機器人都採用了哪些操作系統嗎?
估計大多數人給出的答案就是Android了。從市面上的產品來看,基於Android系統開發的機器人確實是主流,但是還有一種操作系統卻鮮為人知,它叫ROS(機器人操作系統,Robot Operating System),是專門為機器人設計的一套開源操作系統,時至今日已經誕生八年時間了。
ROS究竟為何物?
ROS的前身是斯坦福人工智能實驗室為了支持STAIR(斯坦福大學人工智能機器人項目)而建立的交換庭(Switchyard)項目。要了解ROS的發展歷程,則要從2007年開始談起。
當時,Morgan Quigley,Eric Berger和Andrew Ng發佈了一紙有關STAIR的論文,該文件講述的就是用Switchyard可以在各軟件程序之間傳遞信息,進而幫助機器人有效的完成一些複雜的任務。起初,這個項目是斯坦福大學和機器人技術公司Willow Garage的個人機器人項目(Personal Robots Program)合作進行的,2008年後完全由這家公司推廣。到2009年,相關文件提到Switchyard可以讓機器人編譯模塊化,而且不需要重新設計框架,ROS操作系統也就隨之問世了。
2012年,ROS團隊從Willow Garage獨立出來,並且成立了一個非盈利組織(OSRF)。經過這幾年的發展,ROS從最初的無人問津的小眾操作系統,到現在已是主流的機器人操作系統之一。
根據市場調查,目前已經有很多機器人公司採用了ROS系統來開發一些應用於全新市場的產品,如ClearPath,Rethink,Unbounded,Neurala,Blue River,最典型的就是Willow Garage的PR2機器人。還有數據顯示,僅2015年,相關風險投資機構就在基於ROS操作系統的機器人公司投資了超過1.5億美元。
除此之外,還有不少大型公司開始注意到了這個操作系統,例如,Nvidia、博世、高通、英特爾、寶馬以及大疆等。
當然,ROS要普及離不開開發者的支持。據不完全統計,今年5月全球共有70000多個獨立IP下載了900萬次ROS程序包。另外,在ROS開發者社區裏面的1840位成員一共寫出了1000萬行代碼。
ROS有何特點?
事實上,ROS和Android一樣是開源的,功能上也是相差無幾,它可以提供硬件抽象,底層設備控制,常用功能實現,進程間消息以及數據包管理。其獨特之處在於,能夠支持多種語言,如C++、Python、Octave和LISP,甚至支持多種語言混合使用,這可以簡化開發者的工作。因為它是基於Linux的系統,其可靠性也會更高,體積可以做到更小,適合嵌入式設備。
另外,ROS是一種分佈式處理框架,開發者可以單獨設計可執行文件。不同節點的進程能接收、發佈各種信息(例如傳感,控制,狀態,規劃等等)。
但是就目前來看,在業界公認的機器人三大操作系統——Ubuntu,Android和ROS中 ,就目前來看,使用Android操作系統的企業居多。
資料來源:雷鋒網
作者/編輯:程弢