多對(duì)多通信
大家再仔細(xì)想下這些可以訂閱的東西,是不是并不是唯一的,我們每個(gè)人可以訂閱很多公眾號(hào)、報(bào)紙、雜志,這些公眾號(hào)、報(bào)紙、雜志也可以被很多人訂閱。沒(méi)錯(cuò),ROS里的話題也是一樣,發(fā)布者和訂閱者的數(shù)量并不是唯一的,可以稱(chēng)之為是多對(duì)多的通信模型。
因?yàn)樵掝}是多對(duì)多的模型,發(fā)布控制指令的搖桿可以有一個(gè),也可以有2個(gè)、3個(gè),訂閱控制指令的機(jī)器人可以有1個(gè),也可以有2個(gè)、3個(gè)。
大家可以想象一下這個(gè)畫(huà)面,似乎還是挺魔性的,如果存在多個(gè)發(fā)送指令的節(jié)點(diǎn),建議大家要注意區(qū)分優(yōu)先級(jí),不然機(jī)器人可能不知道該聽(tīng)誰(shuí)的了。
異步通信
話題通信還有一個(gè)特性,那就是異步,這個(gè)詞可能有同學(xué)是第一次聽(tīng)說(shuō)?所謂異步,只要是指發(fā)布者發(fā)出數(shù)據(jù)后,并不知道訂閱者什么時(shí)候可以收到。
類(lèi)似古月居公眾號(hào)發(fā)布一篇文章,你什么時(shí)候閱讀的,古月居根本不知道,報(bào)社發(fā)出一份報(bào)紙,你什么時(shí)候收到,報(bào)社也是不知道的。這就叫做異步。
異步的特性也讓話題更適合用于一些周期發(fā)布的數(shù)據(jù),比如傳感器的數(shù)據(jù),運(yùn)動(dòng)控制的指令等等,如果某些邏輯性較強(qiáng)的指令,比如修改某一個(gè)參數(shù),用話題傳輸就不太合適了。
消息接口
最后,既然是數(shù)據(jù)傳輸,發(fā)布者和訂閱者就得統(tǒng)一數(shù)據(jù)的描述格式,不能一個(gè)說(shuō)英文,一個(gè)理解成了中文。在ROS中,話題通信數(shù)據(jù)的描述格式稱(chēng)之為消息,對(duì)應(yīng)編程語(yǔ)言中數(shù)據(jù)結(jié)構(gòu)的概念。
比如這里的一個(gè)圖像數(shù)據(jù),就會(huì)包含圖像的長(zhǎng)寬像素值、每個(gè)像素的RGB等等,在ROS中都有標(biāo)準(zhǔn)定義。
消息是ROS中的一種接口定義方式,與編程語(yǔ)言無(wú)關(guān),我們也可以通過(guò).msg后綴的文件自行定義,有了這樣的接口,各種節(jié)點(diǎn)就像積木塊一樣,通過(guò)各種各樣的接口進(jìn)行拼接,組成復(fù)雜的機(jī)器人系統(tǒng)。
-
機(jī)器人
+關(guān)注
關(guān)注
211文章
28704瀏覽量
208685 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7170瀏覽量
89707 -
異步通信
+關(guān)注
關(guān)注
1文章
57瀏覽量
10188 -
通信模型
+關(guān)注
關(guān)注
0文章
10瀏覽量
7860
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
多機(jī)通信串口通信中斷
MQTT的通信模型及消息
基于VxWorks實(shí)時(shí)操作系統(tǒng)的通信模型該怎樣去設(shè)計(jì)?
怎樣通過(guò)WebRTC實(shí)現(xiàn)多對(duì)多通信呢
移動(dòng)Agent位置透明通信模型的設(shè)計(jì)
數(shù)據(jù)網(wǎng)格中基于優(yōu)化機(jī)制的通信模型
異步通信,異步通信是什么意思
![<b class='flag-5'>異步</b><b class='flag-5'>通信</b>,<b class='flag-5'>異步</b><b class='flag-5'>通信</b>是什么意思](https://file.elecfans.com/web1/M00/E9/39/o4YBAGBtVnuAS_teAAAtG6XSQXI754.jpg)
基于VxWorks的通信模型設(shè)計(jì)
![基于VxWorks的<b class='flag-5'>通信模型</b>設(shè)計(jì)](https://file1.elecfans.com//web2/M00/A6/3D/wKgZomUMPHOAWAeAAAAS-UdumqI667.jpg)
評(píng)論