質(zhì)量服務(wù)策略QoS
DDS為ROS的通信系統(tǒng)提供了哪些特性呢?我們通過這個通信模型圖來看下。
DDS中的基本結(jié)構(gòu)是Domain,Domain將各個應(yīng)用程序綁定在一起進(jìn)行通信,回憶下之前我們配置樹莓派和電腦通信的時候,配置的那個DOMAIN ID,就是對全局?jǐn)?shù)據(jù)空間的分組定義,只有處于同一個DOMAIN小組中的節(jié)點才能互相通信。這樣可以避免無用數(shù)據(jù)占用的資源。
DDS中另外一個重要特性就是質(zhì)量服務(wù)策略,QoS。
QoS是一種網(wǎng)絡(luò)傳輸策略,應(yīng)用程序指定所需要的網(wǎng)絡(luò)傳輸質(zhì)量行為,QoS服務(wù)實現(xiàn)這種行為要求,盡可能地滿足客戶對通信質(zhì)量的需求,可以理解為數(shù)據(jù)提供者和接收者之間的合約。
具體會有哪些策略?比如:
DEADLINE策略,表示通信數(shù)據(jù)必須要在每次截止時間內(nèi)完成一次通信;
HISTORY策略,表示針對歷史數(shù)據(jù)的一個緩存大小;
RELIABILITY策略,表示數(shù)據(jù)通信的模式,配置成BEST_EFFORT,就是盡力傳輸模式,網(wǎng)絡(luò)情況不好的時候,也要保證數(shù)據(jù)流暢,此時可能會導(dǎo)致數(shù)據(jù)丟失,配置成RELIABLE,就是可信賴模式,可以在通信中盡量保證圖像的完整性,我們可以根據(jù)應(yīng)用功能場景選擇合適的通信模式;
DURABILITY策略,可以配置針對晚加入的節(jié)點,也保證有一定的歷史數(shù)據(jù)發(fā)送過去,可以讓新節(jié)點快速適應(yīng)系統(tǒng)。
所有這些策略在ROS系統(tǒng)中都可以通過類似這樣的結(jié)構(gòu)體配置,如果不配置的話,系統(tǒng)也會使用默認(rèn)的參數(shù)。
舉一個機(jī)器人的例子便于大家理解。
比如我們遙控一個無人機(jī)航拍,如果網(wǎng)絡(luò)情況不好的話,遙控器向無人機(jī)發(fā)送運(yùn)動指令的過程,可以用reliable通信模式,保證每一個命令都可以順利發(fā)送給無人機(jī),但是可能會有一些延時,無人機(jī)傳輸圖像的過程可以用best effort模式,保證視頻的流暢性,但是可能會有掉幀。
如果此時出現(xiàn)一個黑客黑入我們的網(wǎng)絡(luò),也沒有關(guān)系,我們可以給ROS2的通信數(shù)據(jù)進(jìn)行加密,黑客也沒有辦法直接控制無人機(jī)。
DDS的加入,讓ROS2的通信系統(tǒng)煥然一新,多眾多樣的通信配置,可以更好的滿足不同場景下的機(jī)器人應(yīng)用。
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
29563瀏覽量
211920 -
通信
+關(guān)注
關(guān)注
18文章
6185瀏覽量
137472 -
DDS
+關(guān)注
關(guān)注
22文章
671瀏覽量
154144 -
ROS
+關(guān)注
關(guān)注
1文章
286瀏覽量
17601
發(fā)布評論請先 登錄
ROS系統(tǒng)是什么?ROS系統(tǒng)主要特點有哪些?創(chuàng)龍RK3568J+Debian的ROS2系統(tǒng)案例

ROS讓機(jī)器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!
基于串口的STM32通過rosserial和ROS系統(tǒng)通信的代碼
如何在ROS上使用serial包進(jìn)行串口通信
RT-Thread實時操作系統(tǒng)與ROS2是怎樣進(jìn)行通信的
ROS讓機(jī)器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!
最新RX65N微控制器,可以支持ROS 2的DDS

ROS與STM32通信

ROS1的通信架構(gòu)的基礎(chǔ)通信方式及相關(guān)概念

什么是通信模型DDS
ros1和ros2的通信模型

評論