節(jié)點(diǎn)實(shí)現(xiàn)了機(jī)器人各種各樣的功能,但這些功能并不是獨(dú)立的,之間會有千絲萬縷的聯(lián)系,其中最重要的一種聯(lián)系方式就是話題,它是節(jié)點(diǎn)間傳遞數(shù)據(jù)的橋梁。
通信模型
以兩個機(jī)器人節(jié)點(diǎn)為例。A節(jié)點(diǎn)的功能是驅(qū)動相機(jī)這個硬件設(shè)備,獲取得到相機(jī)拍攝的圖像信息,B節(jié)點(diǎn)的功能是視頻監(jiān)控,將相機(jī)拍攝到的圖像實(shí)時(shí)顯示給用戶查看。
大家可以想一下,這兩個節(jié)點(diǎn)是不是必然存在某種關(guān)系?沒錯,節(jié)點(diǎn)A要將獲取的圖像數(shù)據(jù)傳輸給節(jié)點(diǎn)B,有了數(shù)據(jù),節(jié)點(diǎn)B才能做這樣可視化的渲染。
此時(shí)從節(jié)點(diǎn)A到節(jié)點(diǎn)B傳遞圖像數(shù)據(jù)的方式,在ROS中,我們就稱之為話題,它作為一個橋梁,實(shí)現(xiàn)了節(jié)點(diǎn)之間某一個方向上的數(shù)據(jù)傳輸。
發(fā)布/訂閱模型
從話題本身的實(shí)現(xiàn)角度來看,使用了基于DDS的發(fā)布/訂閱模型,什么叫發(fā)布和訂閱呢?
話題數(shù)據(jù)傳輸?shù)奶匦允菑囊粋€節(jié)點(diǎn)到另外一個節(jié)點(diǎn),發(fā)送數(shù)據(jù)的對象稱之為發(fā)布者,接收數(shù)據(jù)的對象稱之為訂閱者,每一個話題都需要有一個名字,傳輸?shù)臄?shù)據(jù)也需要有固定的數(shù)據(jù)類型。
打一個比方,大家平時(shí)應(yīng)該也會看微信公眾號,比如有一個公眾號,它的名字叫做“古月居”,這個古月居就是話題名稱,公眾號的發(fā)布者是古月居的小編,他會把組織好的機(jī)器人知識排版成要求格式的公眾號文章,發(fā)布出去,這個文章格式,就是話題的數(shù)據(jù)類型。
如果大家對這個話題感興趣,就可以訂閱“古月居”,成為訂閱者之后自然就可以收到古月居的公眾號文章,沒有訂閱的話,也就無法收到。
類似這樣的發(fā)布/訂閱模型在生活中隨處可見,比如訂閱報(bào)紙、訂閱雜志等等。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
機(jī)器人
-
模型
-
多節(jié)點(diǎn)
相關(guān)推薦
金航標(biāo)kinghelm薩科微slkor總經(jīng)理宋仕強(qiáng)介紹說,薩科微Al大模型機(jī)器人有哪些的優(yōu)勢?薩科微AI大模型機(jī)器人由清華大學(xué)畢業(yè)的天才少年
發(fā)表于 07-05 08:52
多任務(wù)實(shí)時(shí)操作系統(tǒng)VxWorks是什么?與傳統(tǒng)通信機(jī)制相比,模塊間通信模型有什么優(yōu)勢?基于VxWorks實(shí)時(shí)操作系統(tǒng)的通信模型該怎樣去設(shè)計(jì)?
發(fā)表于 04-26 06:25
提出一種高效可靠的移動Agent通信模型――D-C通信模型,結(jié)合域名字解析器和移動Agent系統(tǒng)中的Communicator實(shí)現(xiàn)移動Agent之間的通信。通過引入一種基于全局的、與位置無關(guān)的命名方法
發(fā)表于 04-16 08:53
?26次下載
針對基于多計(jì)算機(jī)機(jī)群構(gòu)成的網(wǎng)格的大規(guī)模并行計(jì)算的需要,對多級分組通信模型的單一機(jī)群分組通信進(jìn)行了研究。探討了在單一機(jī)群內(nèi)的主動節(jié)點(diǎn)、被動節(jié)點(diǎn)個數(shù)和各個計(jì)算
發(fā)表于 06-25 13:52
?12次下載
本文提出了一種任務(wù)間的通信模型,將用于網(wǎng)絡(luò)通信的UDP方式引進(jìn)到任務(wù)間的通信中,使通信更加靈活和便于管理,改善了整個系統(tǒng)的性能。
發(fā)表于 06-01 10:07
?1034次閱讀
機(jī)器人多傳感器測距系統(tǒng)研究與設(shè)計(jì)......
發(fā)表于 12-23 14:46
?10次下載
機(jī)器人多傳感器信息融合測距系統(tǒng)設(shè)計(jì)....
發(fā)表于 12-23 15:00
?16次下載
網(wǎng)絡(luò)通信模型,在基礎(chǔ)講解的前提下,建立數(shù)學(xué)模型來分析。
發(fā)表于 03-15 13:56
?9次下載
基于Zigbee的無線智能輸液通信模型設(shè)計(jì)_楊艷
發(fā)表于 03-16 08:00
?3次下載
針對云存儲中現(xiàn)有多節(jié)點(diǎn)失效修復(fù)模型的不足,給出了一種可以對多個系統(tǒng)節(jié)點(diǎn)或冗余節(jié)點(diǎn)同時(shí)修復(fù)的多節(jié)點(diǎn)協(xié)作的精確修復(fù)碼,證明了其存在性,并且將此修
發(fā)表于 02-27 15:23
?0次下載
完成的,它相當(dāng)于是ROS機(jī)器人系統(tǒng)中的神經(jīng)網(wǎng)絡(luò)。 通信模型 DDS的核心是通信,能夠?qū)崿F(xiàn)通信的模型和軟件框架非常多,這里我們列出常用的四種
發(fā)表于 11-24 17:50
?1484次閱讀
用到——那就是動作。從這個名字上就可以很好理解這個概念的含義,這種通信機(jī)制的目的就是便于對機(jī)器人某一完整行為的流程進(jìn)行管理。 通信模型 舉個例子,比如我們想讓機(jī)器人轉(zhuǎn)個圈,這肯定不是一
發(fā)表于 11-27 17:05
?628次閱讀
編程方法 相比之前話題和服務(wù)的程序,動作通信的例程相對較長,我們一起來運(yùn)行并分析一下。 運(yùn)行示例程序 $ source /opt/tros/local_setup.bash $ source
發(fā)表于 11-27 17:10
?429次閱讀
的數(shù)量并不是唯一的,可以稱之為是多對多的通信模型。 因?yàn)?b class='flag-5'>話題是多對多的模型,發(fā)布控制指令的搖桿可以有一個,也可以有2個、3個,訂閱控制指令的機(jī)器人可以有1個,也可以有2個、3個。 大家
發(fā)表于 11-27 17:42
?598次閱讀
/userdata/dev_ws/ $ colcon build 運(yùn)行示例程序 編譯成功后,我們嘗試運(yùn)行話題通信的Hello World例程,在這個例程中,我們會先創(chuàng)建一個發(fā)布者,發(fā)布話題“chatter”,周期發(fā)送“Hell
發(fā)表于 11-27 17:48
?386次閱讀
評論