節點實現了機器人各種各樣的功能,但這些功能并不是獨立的,之間會有千絲萬縷的聯系,其中最重要的一種聯系方式就是話題,它是節點間傳遞數據的橋梁。
通信模型
以兩個機器人節點為例。A節點的功能是驅動相機這個硬件設備,獲取得到相機拍攝的圖像信息,B節點的功能是視頻監控,將相機拍攝到的圖像實時顯示給用戶查看。
大家可以想一下,這兩個節點是不是必然存在某種關系?沒錯,節點A要將獲取的圖像數據傳輸給節點B,有了數據,節點B才能做這樣可視化的渲染。
此時從節點A到節點B傳遞圖像數據的方式,在ROS中,我們就稱之為話題,它作為一個橋梁,實現了節點之間某一個方向上的數據傳輸。
發布/訂閱模型
從話題本身的實現角度來看,使用了基于DDS的發布/訂閱模型,什么叫發布和訂閱呢?
話題數據傳輸的特性是從一個節點到另外一個節點,發送數據的對象稱之為發布者,接收數據的對象稱之為訂閱者,每一個話題都需要有一個名字,傳輸的數據也需要有固定的數據類型。
打一個比方,大家平時應該也會看微信公眾號,比如有一個公眾號,它的名字叫做“古月居”,這個古月居就是話題名稱,公眾號的發布者是古月居的小編,他會把組織好的機器人知識排版成要求格式的公眾號文章,發布出去,這個文章格式,就是話題的數據類型。
如果大家對這個話題感興趣,就可以訂閱“古月居”,成為訂閱者之后自然就可以收到古月居的公眾號文章,沒有訂閱的話,也就無法收到。
類似這樣的發布/訂閱模型在生活中隨處可見,比如訂閱報紙、訂閱雜志等等。
-
機器人
+關注
關注
211文章
28646瀏覽量
208434 -
模型
+關注
關注
1文章
3313瀏覽量
49232 -
多節點
+關注
關注
0文章
2瀏覽量
865
發布評論請先 登錄
相關推薦
基于VxWorks實時操作系統的通信模型該怎樣去設計?
移動Agent位置透明通信模型的設計
數據網格中基于優化機制的通信模型
基于VxWorks的通信模型設計
![基于VxWorks的<b class='flag-5'>通信模型</b>設計](https://file1.elecfans.com//web2/M00/A6/3D/wKgZomUMPHOAWAeAAAAS-UdumqI667.jpg)
云存儲多節點修復協作編碼
什么是通信模型DDS
機器人通信模型有哪些
![<b class='flag-5'>機器人</b><b class='flag-5'>通信模型</b>有哪些](https://file1.elecfans.com/web2/M00/B3/2B/wKgZomVkWo-AesUSAAMSGZc5CD8033.jpg)
機器人多節點動作通信編程方法
![<b class='flag-5'>機器人多節點</b>動作<b class='flag-5'>通信</b>編程方法](https://file1.elecfans.com/web2/M00/B3/2C/wKgZomVkW_mAddR6AADv-oONNaY089.jpg)
通信模型的多對多通信、異步通信和消息接口是什么
![<b class='flag-5'>通信模型</b>的多對多<b class='flag-5'>通信</b>、異步<b class='flag-5'>通信</b>和消息接口是什么](https://file1.elecfans.com/web2/M00/B3/2D/wKgZomVkYgKAYwbRAAH-RD3_czM854.jpg)
機器人多節點話題通信編程方法
![<b class='flag-5'>機器人多節點</b><b class='flag-5'>話題</b><b class='flag-5'>通信</b>編程方法](https://file1.elecfans.com/web2/M00/B3/2E/wKgZomVkZJqAKkquAAC0rE2tVTA080.jpg)
評論