節點實現了機器人各種各樣的功能,但這些功能并不是獨立的,之間會有千絲萬縷的聯系,其中最重要的一種聯系方式就是話題,它是節點間傳遞數據的橋梁。
通信模型
以兩個機器人節點為例。A節點的功能是驅動相機這個硬件設備,獲取得到相機拍攝的圖像信息,B節點的功能是視頻監控,將相機拍攝到的圖像實時顯示給用戶查看。
大家可以想一下,這兩個節點是不是必然存在某種關系?沒錯,節點A要將獲取的圖像數據傳輸給節點B,有了數據,節點B才能做這樣可視化的渲染。
此時從節點A到節點B傳遞圖像數據的方式,在ROS中,我們就稱之為話題,它作為一個橋梁,實現了節點之間某一個方向上的數據傳輸。
發布/訂閱模型
從話題本身的實現角度來看,使用了基于DDS的發布/訂閱模型,什么叫發布和訂閱呢?
話題數據傳輸的特性是從一個節點到另外一個節點,發送數據的對象稱之為發布者,接收數據的對象稱之為訂閱者,每一個話題都需要有一個名字,傳輸的數據也需要有固定的數據類型。
打一個比方,大家平時應該也會看微信公眾號,比如有一個公眾號,它的名字叫做“古月居”,這個古月居就是話題名稱,公眾號的發布者是古月居的小編,他會把組織好的機器人知識排版成要求格式的公眾號文章,發布出去,這個文章格式,就是話題的數據類型。
如果大家對這個話題感興趣,就可以訂閱“古月居”,成為訂閱者之后自然就可以收到古月居的公眾號文章,沒有訂閱的話,也就無法收到。
類似這樣的發布/訂閱模型在生活中隨處可見,比如訂閱報紙、訂閱雜志等等。
-
機器人
+關注
關注
211文章
28501瀏覽量
207484 -
模型
+關注
關注
1文章
3261瀏覽量
48914 -
多節點
+關注
關注
0文章
2瀏覽量
861
發布評論請先 登錄
相關推薦
評論