行業新聞

機器人的操作系統ROS

來源:??????2017-12-26 17:15:42??????點擊:

一、簡介

ROS是Robot Operating System(機器人操作系統)的簡寫,是一個面向機器人的開源元操作系統(open-source,meta-operating system)。它能夠提供類似傳統操作系統的諸多功能,如硬件抽象、底層設備控制、進程間消息傳遞和程序包管理等。此外,它還提供相關工具和庫,用于獲取、編譯、編輯代碼以及在多個計算機之間運行程序完成分布式計算。ROS的運行架構是一種使用ROS通信??槭迪幟?榧銹2P的松耦合的網絡連接的處理架構,它執行若干種類型的通訊,包括基于服務的同步RPC(遠程過程調用)通訊、基于Topic的異步數據流通訊,還有參數服務器上的數據存儲。
 

二、特點

ROS的主要特點可以歸納為以下幾條:

(1)點對點設計

ROS通過點對點設計以及服務和節點管理器等機制可以分散由于計算機視覺和語音識別等功能帶來的實時計算壓力,這種設計能適應服務機器人遇到的調戰。

(2)不依賴編程語言

ROS支持多種現代高級編程語言,C++、Python和Lisp語言已經在ROS中實現編譯,并得到應用,Octave和Java的測試庫也已經實現。為了支持多語言編程,ROS采用了一種語言中立的接口定義語言(language-neutral interface definition language,IDL )來實現各??櫓淶南⒋?。

(3)精簡與集成

ROS建立的系統具有??榛奶氐?,各??櫓械拇肟梢緣ザ辣嘁?,而且編譯使用的CMake工具使它很容易的就實現精簡的理念。ROS基本將復雜的代碼封裝在庫里,只是創建了一些小的應用程序為ROS顯示庫的功能,這就允許了對簡單的代碼超越原型進行移植和重新使用。作為一種新加入的有優勢,單元測試當代碼在庫中分散后也變得非常的容易,一個單獨的測試程序可以測試庫中很多的特點。

ROS不修改用戶的主函數,所以代碼可以被其他的機器人軟件使用。其優點是ROS很容易和其他的機器人軟件平臺集成。例如,在計算機視覺方面,ROS已經與OpenCV實現集成。在驅動、導航和模擬器方面,ROS已經與Player系統實現集成。在規劃算法方面,ROS也已與OpenAVE系統實現集成。

(4)便于測試

為機器人開發軟件比其他軟件開發更具挑戰性,主要是因為調試準備時間長,且調試過程復雜??鑾?,因為硬件維修、經費有限等因素,不一定隨時有機器人可供使用。ROS提供兩種策略來解決上述問題。
 

1.精心設計的ROS系統框架將底層硬件控制??楹投ゲ閌荽磧刖霾吣?櫸擲?,從而可以使用模擬器替代底層硬件???,獨立測試頂層部分,提高測試效率。

2.ROS另外提供了一種簡單的方法可以在調試過程中記錄傳感器數據及其他類型的消息數據,并在試驗后按時間戳回放。通過這種方式,每次運行機器人可以獲得更多的測試機會。例如,可以記錄傳感器的數據,并通過多次回放測試不同的數據處理算法

(5)開源

ROS遵從BSD協議,這給了使用者很大的自由,使開發者可以清楚的查看、自由的使用源代碼,如果有需要,可以根據不同的系統及硬件環境對源代碼進行修改,或者進行二次開發。

(6)強大的庫及社區:

ROS提供了廣泛的庫文件實現以機動性、操作控制、感知為主的機器人功能。同時由于其開源特性,ROS的支持與發展依托著一個強大的社區。其官方網站尤其關注兼容性和支持文檔,提供了一套“一站式”的方案使得用戶得以搜索并學習來自全球開發者數以千計的ROS程序包。

三、小結

隨著技術的發展及人們需求的提高,機器人集成了越來越多的功能、傳感器,對用戶來說這越來越方便,但對開發者來說恰恰相反,功能的增加帶來開發與集成難度迅速上升,機器人操作系統的出現有效緩解了這種問題。從計算機和智能手機的發展過程來看,合適與成熟的操作系統是智能機器人行業大規模發展和在人們的生活中普及的必要條件??梢栽ぜ?,未來幾年將會出現眾多機器人操作系統,在經過充分的發展競爭后將會有為數不多的幾個操作系統會發展壯大并占據絕大部分市場,就像曾經的計算機操作系統和現在的手機操作系統。

体彩彩票电子票号 大赢家江西时时 二八杠棋牌玩法 98nba篮球网 网上购彩何时恢复 福利彩票模拟投注器 比分网足球即时比分 手机彩票计划软件哪个好 pk10技巧稳赚五码论坛 北京pk拾赛车高手论坛 开心彩票注册送50元 聚享捕鱼app官方下载 彩神v官网 七星彩几种特殊打法 内蒙古时时历史开奖号码查询 新时时软件免费版