1.ROS文件系統(tǒng)級
1.1 文件系統(tǒng)組成
文件系統(tǒng)級是指ROS內(nèi)部的文件結(jié)構(gòu)組成,包括各文件夾却舀、核心文件螃诅、代碼等袭艺。主要有功能包轰传、消息度帮、服務(wù)、清單瓣履、代碼等組成率翅。
1.2 功能包(package)
功能包是一組實(shí)現(xiàn)特定功能的文件集合
功能包是程序運(yùn)行的基礎(chǔ)載體
通過功能包清單管理功能包
1.3 功能包集(stack)
功能包集是多個(gè)功能包的組合用于實(shí)現(xiàn)特定應(yīng)用--ex.導(dǎo)航功能包集
1.4 消息(message)
程序與程序間的通話方式
通過msg文件設(shè)定消息類型
消息的傳遞是多對象可拆分的,類似短信機(jī)制袖迎,通信過程中可以選擇多個(gè)對象冕臭。
1.5 服務(wù)(service)
程序與程序間的另一種通話方式
通過srv文件設(shè)定信息類型
服務(wù)的傳遞是單對象排他的,類似于電話機(jī)制燕锥,通信過程中只有兩個(gè)通話者辜贵。
1.6 代碼(code)
系統(tǒng)中最小的程序單元,實(shí)現(xiàn)最基本的信息流動归形。
2.ROS計(jì)算圖級
2.1 計(jì)算圖集組成
計(jì)算圖集是ROS運(yùn)行過程中后臺的通信網(wǎng)絡(luò)
網(wǎng)絡(luò)描繪抽象出的信息單元托慨、功能單元的連接
包括節(jié)點(diǎn)、消息暇榴、主題厚棵、服務(wù)、節(jié)點(diǎn)管理器蔼紧、參數(shù)服務(wù)器窟感、消息記錄包
2.2 節(jié)點(diǎn)(node)
節(jié)點(diǎn)是基本的計(jì)算執(zhí)行進(jìn)程
實(shí)現(xiàn)一個(gè)或多個(gè)功能
用于與其他節(jié)點(diǎn)交互
使用c++或python編寫
2.3 節(jié)點(diǎn)管理器(master)
用于節(jié)點(diǎn)的名稱注冊和查找,是實(shí)現(xiàn)網(wǎng)絡(luò)的必要步驟
roscore命令加載節(jié)點(diǎn)管理器及其他核心組件
2.4 參數(shù)服務(wù)器(parameter server)
將數(shù)據(jù)通過關(guān)鍵詞存儲在系統(tǒng)中
通過參數(shù)可在運(yùn)行時(shí)配置節(jié)點(diǎn)或改變節(jié)點(diǎn)任務(wù)
2.5 消息(message)
節(jié)點(diǎn)通過消息完成溝通
2.6 主題(topic)
ROS網(wǎng)絡(luò)對消息管理的數(shù)據(jù)總線歉井。
主題名稱必須唯一
主題的訂閱和發(fā)布者之間是非耦合柿祈,只通過主題橋接,不直接影響
主題類似微博話題,消息類似微博正文躏嚎,訂閱和發(fā)布節(jié)點(diǎn)類似話題發(fā)起者和關(guān)注者
一個(gè)發(fā)起者發(fā)布不同話題蜜自,一各關(guān)注者可以專注不同話題。
關(guān)注者可以是話題的發(fā)起者卢佣。
2.7 服務(wù)(service)
服務(wù)是私人的通信重荠,用于單對單的請求與應(yīng)答
只有當(dāng)請求應(yīng)答啟動時(shí),服務(wù)生效
服務(wù)類似電話虚茶,只有主叫與被叫連線時(shí)戈鲁,通話才能進(jìn)行。通話內(nèi)容不是公開廣播的形式嘹叫。
2.8 消息記錄包(bag)
用于保存消息數(shù)據(jù)的文件格式婆殿,用于存儲數(shù)據(jù)
可以進(jìn)行信號的監(jiān)測
3.ROS開源社區(qū)級
3.1 ros開源社區(qū)組成
ros開源社區(qū)主要用于維護(hù)各類ros資料,通過開源社區(qū)分享軟件和知識
3.2 發(fā)行版
ros發(fā)行版是可獨(dú)立安裝的具備版本號的系列功能集罩扇。
3.3 軟件源
ros分享開源代碼與軟件的主機(jī)服務(wù)婆芦,不同機(jī)構(gòu)在軟件源中發(fā)布各自的機(jī)器人軟件與程序
3.4 ROS Wiki
Wiki是記錄關(guān)于ROS系統(tǒng)信息的論壇,所有用戶可以貢獻(xiàn)自己的程序或編寫教程
3.5 郵件列表
郵件列表是關(guān)于ROS的交流渠道喂饥,交流及問答消约。