
目錄
什么是ROS
ROS(Robot Operating System)是一個機器人軟件平臺,它能為異質計算機集群提供類似操作系統(tǒng)的功能。
ROS的前身是斯坦福人工智能實驗室為了支持斯坦福智能機器人STAIR而建立的交換庭(switchyard)項目。到2008年,主要由威樓加拉吉繼續(xù)該項目的研發(fā)。
ROS提供一些標準操作系統(tǒng)服務,例如硬件抽象,底層設備控制,常用功能實現(xiàn),進程間消息以及數(shù)據(jù)包管理。
ROS是基于一種圖狀架構,從而不同節(jié)點的進程能接受,發(fā)布,聚合各種信息(例如傳感,控制,狀態(tài),規(guī)劃等等)。
目前ROS主要支持Ubuntu。
ROS可以分成兩層,低層是上面描述的操作系統(tǒng)層,高層則是廣大用戶群貢獻的實現(xiàn)不同功能的各種軟件包,例如定位繪圖,行動規(guī)劃,感知,模擬等等。
ROS(低層)使用BSD許可證,所有是開源軟件,并能免費用于研究和商業(yè)用途。而高層的用戶提供的包則可以使用很多種不同的許可證。
以下來自ROS wiki的描述:

ROS的主要特點
ROS不是一種編程語言
ROS的主要代碼由C++語言編寫,本書后續(xù)章節(jié)也會介紹如何在ROS中使用C++進行編程??蛻舳藥斓木帉戇€可以使用Python4、Java5和Lisp6等其他多種語言編寫。
ROS 不僅是一個函數(shù)庫
除包含客戶端庫(Client Libraries)外,還包含一個中心服務器(Central Server)、一系列命令行工具、圖形化界面工具以及編譯環(huán)境。
ROS不是集成開發(fā)環(huán)境
幾乎所有的主流IDE都可用于基于ROS的軟件開發(fā),甚至可以使用普通的文本編輯器和命令行來完成相應的開發(fā),而無需任何IDE。
特點
ROS的運行架構是一種使用ROS通信模塊實現(xiàn)模塊間P2P的松耦合的網(wǎng)絡連接的處理架構,它執(zhí)行若干種類型的通訊,包括基于服務的同步RPC(遠程過程調用)通訊、基于Topic的異步數(shù)據(jù)流通訊,還有參數(shù)服務器上的數(shù)據(jù)存儲。但是ROS本身并沒有實時性。

ROS發(fā)布版本介紹

為嘛都是烏龜???