現在地: » 私たちについて » ブログ » ワイヤレス メッシュ上の ROS 2: モバイル ロボット チームの DDS QoS 設定

ワイヤレス メッシュ上の ROS 2: モバイル ロボット チームの DDS QoS 設定

ビュー: 0     著者: サイト編集者 公開時刻: 2026-07-14 起源: サイト

お問い合わせ

フェイスブックの共有ボタン
ツイッター共有ボタン
ライン共有ボタン
wechat共有ボタン
リンクされた共有ボタン
Pinterestの共有ボタン
WhatsApp共有ボタン
カカオ共有ボタン
スナップチャット共有ボタン
この共有ボタンを共有します

モバイル ロボット チームは、多くの場合、ラボ内で確実に通信を行った後、コマンドの開発が遅れたり、センサーの更新が欠落したり、メッシュ ルートが変更された場合に回復が遅くなったりします。あ ROS 2 ワイヤレス メッシュで は、帯域幅の変動、パケット損失、ホップ カウントの変化が追加されますが、DDS ではすでに古くなったデータを再送信したり、キューに入れたりすることができます。 QoS 設定は、各トピックの信頼性、履歴、深さ、耐久性、期限、有効期間を制御するのに役立ちますが、パブリッシャーとサブスクライバーのポリシーに互換性がない場合、配信が完全に停止する可能性があります。

重要なのは、どのストリームがすべてのサンプルを必要とするのか、どのストリームが最新のサンプルのみを必要とするのか、また、大きなペイロードが復旧中のリンクを圧倒するのを防ぐ方法を知ることです。

QoS メニューではなくトラフィックから始める

新鮮さと完全性のどちらが重要かを判断する

まず、メッセージが失われた場合に何が起こるか、メッセージが遅れて到着した場合に何が起こるかを尋ねます。 LiDAR スキャン、カメラ フレーム、オドメトリ、ローカリゼーションの更新、およびモーション テレメトリは継続的に置き換えられます。 1 つのサンプルが失われることは許容できる場合がありますが、いくつかの新しいサンプルの後でそれを配信すると、ローカルの決定が損なわれたり、処理時間が無駄になったりする可能性があります。

ミッションの移行、タスクの割り当て、構成の変更、安全イベント、および一部のマップの転送には、異なる要件があります。離散イベントが欠落すると、ロボットが一貫性のない動作状態になる可能性があるため、制限された再送信が正当化されます。この区別はペイロード タイプだけよりも重要です。小さな速度コマンドは古くなると危険になる可能性がありますが、大きなマップ スナップショットは遅延後も有用である可能性があります。

トラフィックを新しさと完全性によって分類すると、一般的な ROS 2 ワイヤレス メッシュの間違いを防ぐことができます。すべてのトピックを RELIABLE に設定します。これは、信頼できる方が安全であると思われるためです。信頼性の高い DDS は、未確認のサンプルを保持し、欠落したデータを再送信するため、ベストエフォート通信では回避できるオーバーヘッドが発生します。したがって、標準の ROS 2 センサー データ プロファイルでは、より小さいキューでベスト エフォート型の信頼性が使用され、一般にタイムリーな配信がすべての読み取り値を受信することよりも重要になります。

各トピックに配信予算を与える

各クロスロボット トピックには、有効メッセージの最大有効期間、許容可能な損失率、必要な更新頻度、切断後の最大回復時間という 4 つの制限が必要です。これらの制限により、「低遅延」などの漠然とした期待がテスト可能な要件に変わります。コマンド ストリームには数十ミリ秒単位で測定される経過時間制限が必要な場合がありますが、マップ スナップショットでは、ロボットがローカル コピーで安全に動作し続ける場合は数秒を許容できます。

シリアル化されたペイロード サイズ、パブリケーション レート、宛先の数から提供される負荷を推定します。次に、その数値を、無線の公称データ レートではなく、測定されたマルチホップ グッドプットと比較します。確認応答、再送信、検出トラフィック、ルート管理トラフィック、および同時パブリッシャー用の容量を残しておきます。

ロボットの内部トラフィックを共有メッシュから遠ざける

すべての ROS 2 トピックがロボットの境界を越えるべきではありません。生のカメラ フィード、完全な点群、デバッグ データ、および中間知覚出力は、多くの場合、それらを生成するロボットの内部に属します。検出、オブジェクト追跡、ローカル計画、クラウドの削減、またはマップの変更のみを公開すると、DDS の動作を変更することなく、共有チャネルの需要が軽減されます。

このフィルタリング手順は、1 つの不要な高速ストリームが複数の調整トピックに必要な容量を消費する可能性があるマルチロボット ROS 2 ワイヤレス メッシュで特に価値があります。通常、トラフィックを削除すると、より深いキューや追加の再試行で過負荷のリンクを保護しようとするよりも、より予測可能なシステムが生成されます。

一般的なフリート トピックの実用的な QoS プロファイル

センサーのストリームと頻繁に更新される状態

通常、高レートのセンサーと状態のトピックには、完全な履歴シーケンスではなく、利用可能な最新のサンプルが必要です。実際の開始プロファイルは、深さが 1 ~ 5 の BEST_EFFORT、VOLATILE、および KEEP_LAST です。深さ 1 はすぐに置き換えられるデータに適していますが、キューを少し大きくすると、長いバックログを構築せずにコールバック スケジュールの短い遅延を吸収できます。

LIFESPAN は、有効期間が経過するとメッセージを期限切れにすることで、別の保護手段を追加できます。 DEADLINE は別の目的を果たします。つまり、メッセージ間の予想される間隔を表し、その予想が外れたときにイベントをトリガーできます。どちらのポリシーもリンク容量を増加させるものではありませんが、両方とも古いストリームや中断されたストリームの検出と処理を容易にします。

正確なプロファイルは消費者を反映している必要があります。ローカルの障害物回避ノードでは、使用期間を最小限に抑えた頻繁なスキャンが必要になる場合がありますが、フリート ダッシュボードでは、より低い更新レートを受け入れることができます。同じ ROS 2 ワイヤレス メッシュを介して両方を送信しても、同じ信頼性、深さ、または寿命の設定が必要になるわけではありません。

フリートのトピック

信頼性

耐久性

歴史と奥深さ

主な目的

LiDAR、カメラ、オドメトリ

ベストエフォート

揮発性

最後を維持、1 ~ 5

鮮度を保つ

連続動作コマンド

ベストエフォートまたは慎重に制限された信頼できる

揮発性

最後に保持、1

古い制御を防ぐ

タスクとモードのイベント

信頼性のある

揮発性

最後に境界を保持

有効なトランジションを提供する

現在のマップまたは構成

信頼性のある

一時的なローカル

最後に保持 (多くの場合 1)

遅れて参加する人をサポートする

歴史上の出来事の記録

信頼性のある

アプリケーション固有の

リソースに制限される

必要なイベントを保存する

コマンドと調整イベントには別の処理が必要です

連続コマンドと離散調整イベントは、1 つのデフォルト プロファイルを共有すべきではありません。速度、ステアリング、フォーメーション補正ストリームは繰り返し更新されるため、古いサンプルが再送信の後にキューに入れられることはありません。履歴が浅く、存続期間が短く、アプリケーション レベルのタイムアウトにより、新しいコマンドが消えたときにロボットが停止するか、定義されたフォールバック モードに入ることが保証されます。

タスクの受け入れ、動作モードの変更、およびミッションの移行には、各イベントが共有状態を変更するため、信頼性の高い配信が必要な場合があります。それでも歴史には限界があるはずだ。ルートが回復した後に、置き換えられたコマンドの長いシーケンスを再生することは、中断を報告して現在のミッション状態を再同期するよりも有害である可能性があります。

DDS の信頼性は保護の 1 層にすぎません。すべてのモバイル ロボットは、ネットワークとは独立して、ローカル コマンドの有効期限、動作の制約、および通信切断の動作を強制する必要があります。 ROS 2 ワイヤレス メッシュは到達距離とルートの復元力を向上させることができますが、古いコマンドが依然として安全かどうかを判断することはできません。

マップ、構成、後から参加するロボット

参加または再接続するロボットに最新の公開された状態が必要な場合は、TRANSIENT_LOCAL とともに RELIABLE を使用します。現在のマップ、ジオフェンス、共有動作モード、構成スナップショットは、多くの場合、このパターンに当てはまります。 KEEP_LAST(1) は、最新の完全なスナップショットのみが操作上関連するため、すべてのバージョンを保持するよりも適切です。

KEEP_ALL は、完全なシーケンスが本当に重要であり、リソース要件がわかっているデータ用に予約する必要があります。 Keep-all ストレージは依然としてミドルウェア リソースの制限を受けるため、無制限の保証ではありません。一時的なローカルの耐久性により、パブリッシャーは後から参加するサブスクリプションのサンプルを保持する責任も負います。

互換性は両側で確認する必要があります。ベストエフォートのパブリッシャーは信頼できるサブスクライバーを満足させることができず、揮発性のパブリッシャーは一時的なローカルのサブスクリプションを満足させることはできません。信頼できるパブリッシャーはベストエフォート型のサブスクライバーにサービスを提供できますが、一時的なローカル パブリッシャーは不安定なサブスクライバーに新しいメッセージを送信できます。履歴を保持した配信には、互換性のある一時ローカル設定が必要です。

ROS 2 ワイヤレスメッシュ

再試行を追加する前に断片化を軽減する

画像、占有グリッド、高密度点群は、ネットワークを通過する前に複数のトランスポート ユニットに分割されます。大きな UDP データグラムが IP 層で断片化されると、1 つの断片が失われると完全なデータグラムの再構築ができなくなります。残りのフラグメントは有効期限が切れるまでカーネル バッファを占有する可能性があり、接続が停止しているように見え、新しいトラフィックがブロックされます。

無線 ROS 2 接続における大きなペイロードの低下は、一般に、過剰な IP フラグメンテーション、非効率的な再送信タイミング、および混雑したバッファ バーストという 3 つの接続メカニズムに関連しています。標準互換の DDS パラメータを変更すると、別のアプリケーション プロトコルを必要とせずに、これらの影響を軽減できます。

暗号化、トンネル、仮想インターフェイス、およびすべてのルーティングされたセグメントを含む、完全な ROS 2 ワイヤレス メッシュ全体にわたる実際のパス MTU を測定します。トランスポート構成が許可する場合は、ネットワーク層の断片化を避けるために、RTPS または UDP メッセージのサイズを十分に小さくしてください。ヘッダーとカプセル化によって使用可能なサイズが減少する可能性があるため、1500 バイトのイーサネット MTU から計算された値は単なる出発点の仮説にすぎません。

履歴キューを回復ウィンドウよりも小さく保つ

ルートの中断中、信頼できるパブリッシャは、確認応答の到着が停止している間もメッセージの作成を続けることができます。未確認のサンプルは、リソース制限に達するまで履歴に蓄積されます。接続が回復すると、復元されたパスは現在のパブリケーション、制御トラフィック、および保持されているバックログを同時に伝送する必要があります。

再接続後に役立つサンプルの数から履歴の深さを選択します。有効期間が 250 ミリ秒の 20 Hz 状態ストリームでは、数十のキューに入れられたサンプルが必要になることはほとんどありません。それらのほとんどはすでに古くなってしまいます。置換可能な状態では最新のサンプルが優先される必要がありますが、重要なイベント シーケンスでは制限付きの回復計画が必要です。

信頼性の高い大規模なサンプルには、追加のチェックが必要です。つまり、予想される最も弱いルートが、現在のトラフィックを遅らせることなくキューを排出できるか?履歴が深いと、即時のデータ損失は軽減される可能性がありますが、メモリ使用量、回復時間、および停止後のトラフィック急増の可能性も増加します。履歴が過剰に保持されると、バッファ バーストが発生し、接続が回復した後に輻輳が悪化する可能性があります。

再送信バーストに注意する

信頼性の高い DDS は、ハートビートと確認応答の交換を使用して欠落したサンプルを特定し、再送信をトリガーします。回復サイクルが頻繁に行われないと、再送信されるまでにいくつかの損失が蓄積し、リンクの瞬間容量を超える短いバーストが発生する可能性があります。ハートビート期間、断片化、および再送信間隔も、損失の多い無線条件下では密接に相互作用します。

1 つの値をフリート全体に適用するのではなく、各トピックの公開間隔に対して再送信タイミングをテストします。変更のたびに、回復遅延、テール レイテンシー、ジッター、制御パケットのオーバーヘッド、CPU 負荷を測定します。リカバリ シグナリングが高速になると、遅延とバースト サイズが減少する可能性がありますが、過剰な制御トラフィックにより処理と帯域幅が消費される可能性があります。

持続的に提供される負荷が使用可能なグッドプットを超える ROS 2 ワイヤレス メッシュを救済するタイミング調整はありません。リンクが飽和状態のままの場合、再試行により、すでに過負荷になっているパスにトラフィックが追加されます。

代わりにいつペイロードを変更するかを決定します

QoS チューニングは、アプリケーション アーキテクチャがより大きな問題となるところで終了する必要があります。ビジュアル ストリームがチャネルを支配している場合は、画像の解像度、エンコード品質、またはフレーム レートを下げます。チームメイトが生の観測を必要としない場合は、送信前に点群をトリミングまたはダウンサンプリングし、オブジェクト追跡、通過可能性の結果、またはローカルマップの更新を公開します。

多くの場合、エッジ処理は最もクリーンなソリューションを提供します。各ロボットは高帯域幅のセンサー データをローカルに保持し、調整に必要な情報のみを配信できます。これは DDS の信頼性を犠牲にするものではありません。通信需要をモバイル ネットワークの物理容量に合わせるのは、意図的な決定です。

ベンチネットワークだけでなく、移動ロボットでプロファイルをテストする

フリートが遭遇するルートと障害を再作成する

固定ワンホップ テストは、モバイル ROS 2 ワイヤレス メッシュを表すことはできません。検証には、最短ルート、計画された最大ホップ数、中継位置間の移動、干渉の増加、非対称トラフィック、短時間の停止、長時間の停止、再接続、遅延参加、および複数のロボットによる同時パブリッシュが含まれる必要があります。

平均以上の遅延を記録します。有用な測定には次のようなものがあります。

 受信した更新頻度とメッセージ損失率。

 メッセージの経過時間、レイテンシーの中央値、テール レイテンシー、およびジッター。

 パス変更後の検出時間または再接続時間。

 中断中にライターとリーダーのキューが増加します。

 有用な保持データを消去するのに必要な時間。

 パブリッシャとサブスクライバの両方での CPU とメモリの使用。

それぞれの結果を、以前に作成した配信予算と比較して評価します。最終的にすべてのサンプルが到着した場合でも、更新頻度が制御要件を下回るために、ローカリゼーション トピックが失敗する可能性があります。逆に、マップ転送は、許可された回復ウィンドウ内に完了する場合、待ち時間が長くても通過する可能性があります。

メッシュ テレメトリを使用して DDS の動作を説明する

ROS 2 メトリクスはアプリケーションで何が起こったかを明らかにし、メッシュ テレメトリはそれが起こった理由を説明するのに役立ちます。トピックのパフォーマンスをホップ数、トポロジーの変更、信号強度、信号対雑音比、アップロードおよびダウンロードのトラフィック、ルート切り替えのタイミングと比較します。両方の層を相関させることで、チームが無線パスの変更を QoS のせいにしたり、パブリッシャとサブスクライバの設定の互換性のなさをメッシュのせいにしたりすることがなくなります。

WDS MIMOmesh OEM/ODM モジュールと軽量の航空機搭載ユニットは、分散型センターレス ダイナミック ルーティングとマルチホップ リレー モードを備えたオール IP アーキテクチャを使用します。ネットワーク管理機能は、トポロジ、電界強度、SNR、トラフィック、ノード距離、動作ステータスの情報を提供し、エンジニアはこれらを ROS 2 の遅延、損失、キューの動作と比較できます。

製品のデータ レートとシングル ホップ遅延の数値は、アプリケーションのパフォーマンスを保証するものではなく、計画上の参考値として残す必要があります。実際のエンドツーエンドの動作には、ルートの深さ、チャネル占有、パケット回復、シリアル化、ミドルウェア キュー、ノード処理も含まれます。で ROS 2 ワイヤレス メッシュの移動、最も弱い運用ルートで測定されたグッドプットにより、公開率と履歴制限が推進されるはずです。

一度に 1 つの変数を変更します

まず、トピック名、メッセージ タイプ、QoS 互換性を確認します。ピアを決して検出しないノードには、一致したエンドポイントのパケット損失とは異なる障害が発生するため、データ転送とは別に検出をテストします。互換性のない QoS イベントは、アプリケーションがエラーを原因不明のままにするのではなく、ポリシーの不一致を検出するのに役立ちます。

再現可能なルートと移動パターンを確立し、実行ごとに 1 つの変数を調整します。信頼性、深度、耐久性、寿命、公開速度、ペイロード サイズ、または断片化のしきい値を個別に変更します。同じシナリオを繰り返すと、明らかな改善が QoS の変更によるものなのか、無線パスの改善によるものなのかを識別することができます。

テスト前に合格条件を設定します。例には、最大コマンド経過時間、最小ローカリゼーション頻度、再接続ロボットが現在のマップを受信するまでの最大時間、バックログ ドレイン時間の制限などが含まれます。最終的なプロファイルは、テストベンチで単に優れた平均を提供するだけでなく、最も弱い現実的なルートを通過する必要があります。

 

結論

信頼性の高いフリート通信は、DDS の動作が各トピックの目的に一致するかどうかに依存します。通常、新しいセンサー ストリームには浅いベスト エフォート キューが必要ですが、ミッション イベントやロボットの再接続には、制限された信頼性や一時的なローカル耐久性が必要な場合があります。断片化、バックログの増大、測定されたマルチホップ グッドプットが最終的なプロファイルを形成するはずです。

ROS 2 ワイヤレス メッシュを構築するチーム向けに、Shenzhen Sinosun Technology Co., Ltd. は、モバイル マルチホップ展開用の MIMOmesh OEM/ODM モジュールと軽量の航空機無線機を提供しています。これらのプラットフォームは、規律ある QoS テストと組み合わせることで、古くなったトラフィックを削減し、回復を短縮し、運用上有用なデータに重点​​を置いた共有帯域幅を維持するのに役立ちます。

 

よくある質問

Q: ROS 2 は無線マルチロボット通信に適していますか?

A: はい、ただしワイヤレス リンクにはトピック固有の QoS 設定が必要です。信頼性、キューの深さ、耐久性、およびペイロード レートは、パケット損失、遅延、モビリティ、および利用可能な帯域幅を反映する必要があります。

Q: ROS 2 ワイヤレス メッシュで最も効果的な QoS 信頼性設定はどれですか?

A: 頻繁に更新されるセンサー ストリームと、見逃せないコマンド、ミッション イベント、マップ、または構成データの限定された信頼性の高い配信には、ベスト エフォートを使用します。

Q: ROS 2 パブリッシャーとサブスクライバーが時々接続に失敗するのはなぜですか?

A: QoS ポリシーに互換性がない場合、通信が妨げられる可能性があります。一般的な不一致には、発行者が提供するプロファイルと購読者が要求するプロファイルの間の信頼性、耐久性、期限、または活性度の設定が関係します。

Q: メッシュ ネットワーク上で大きな LiDAR またはカメラ メッセージをどのように処理する必要がありますか?

A: ペイロード サイズを削減し、IP 断片化を回避し、パブリケーション レートを制限し、キューを浅く保ちます。多くの場合、ローカル処理または圧縮出力は、生のセンサー サンプルをすべて送信するよりもパフォーマンスが向上します。

Q: モバイル ロボット チームはどのような履歴の深さを使用する必要がありますか?

A: メッセージの有効期間と回復のニーズに応じて深さを選択してください。置換可能な状態には深さ 1 を使用しますが、重要なイベントにはより大きくても厳密に制限されたキューが必要になる場合があります。

クイックリンク

製品カテゴリー

  +86-852-4401-7395
  +86-755-8384-9417
  中国広東省深セン市福田区台蘭サイエンスパーク南蒼松ビル3A17号室。
著作権©️  2024 深センSinosunテクノロジー株式会社すべての権利予約。 |によるサポート Leadong.com