[論文レビュー] Towards a distributed and real-time framework for robots: Evaluation of ROS 2.0 communications for real-time robotic applications
この論文は、Linux PREEMPT-RTカーネルとDDSベース通信を用いて、ROS 2.0のリアルタイム性能を、ネットワークおよび計算負荷の変動下で評価している。適切な設定—特にksoftirqdの優先順位付けとRT設定—を施すことで、中程度の負荷下では、デッドラインを逸脱しない上限付きのエンドツーエンド遅延を達成できることが示されたが、高トラフィックや継続的な通信負荷がかかると、顕著な遅延スパイクとメッセージ損失が発生する。
In this work we present an experimental setup to show the suitability of ROS 2.0 for real-time robotic applications. We disclose an evaluation of ROS 2.0 communications in a robotic inter-component (hardware) communication case on top of Linux. We benchmark and study the worst case latencies and missed deadlines to characterize ROS 2.0 communications for real-time applications. We demonstrate experimentally how computation and network congestion impacts the communication latencies and ultimately, propose a setup that, under certain conditions, mitigates these delays and obtains bounded traffic.
研究の動機と目的
- 分散型組み込みシステムにおけるリアルタイムロボットアプリケーションへのROS 2.0の適性を評価すること。
- さまざまなネットワークおよび計算負荷下での最悪ケースのエンドツーエンド通信遅延とデッドライン逸脱の有無を評価すること。
- ネットワーク混雑、ペイロードサイズ、システム負荷がROS 2.0通信の決定論的特性に与える影響を分析すること。
- リアルタイム性能を向上させ、遅延ジターリダクションを実現するための設定パrameterを同定すること。
- 組み込みロボットプラットフォームにおけるROS 2.0通信の決定論的動作の実用的限界を確立すること。
提案手法
- リアルタイムスケジューリングを実現するPREEMPT-RTカーネルを搭載した2台の組み込みLinuxシステムにROS 2.0ノードをデプロイした。
- ノード間通信に、UDP上でのRTPSを用いたデータ配布サービス(DDS)を採用し、設定可能な品質(QoS)設定を有する。
- ネットワークトラフィック(1 Mbps ~ 80 Mbps)とペイロードサイズ(32 KB, 128 KB)を変動させた複数のテストシナリオで、往復遅延を測定した。
- iperf3を用いて同時に複数のトラフィックを発生させ、遅延、デッドライン逸脱、メッセージ損失を監視した。
- ソフトIRQ処理遅延を低減し、割り込み処理の決定論的特性を向上させるために、ksoftirqdスレッドにリアルタイム優先度を適用した。
- 持続的負荷下での安定性と長期遅延挙動を評価するため、最大12時間の長時間テストを実施した。
実験結果
リサーチクエスチョン
- RQ1通常および負荷がかかるネットワーク条件下で、ROS 2.0通信の最悪ケースのエンドツーエンド遅延はどの程度か?
- RQ2RT設定などの異なるQoS設定が、ROS 2.0の遅延とデッドライン逸脱に与える影響は何か?
- RQ3ペイロードサイズやネットワークトラフィックの増加が、ROS 2.0通信の決定論的特性に与える影響はどの程度か?
- RQ4ksoftirqdスレッドの優先順位付けが、遅延スパイクの低減とリアルタイム性能の向上に顕著な効果をもたらすか?
- RQ5持続的負荷下において、ROS 2.0の上限付き遅延の実用的限界は何か?
主な発見
- RT QoS設定とksoftirqdの優先順位付けを適用した場合、80 Mbpsの同時トラフィック下でも最大エンドツーエンド遅延は3,509 µsに留まり、デッドライン逸脱は発生しなかった。
- ksoftirqdの優先順位付けを行わなかった場合、80 Mbpsの負荷下で最大遅延が59,762 µsに達し、36,315通のメッセージのうち240通がデッドラインを逸脱した。
- 40 Mbpsのトラフィック下で12時間にわたる連続運用を実施した結果、最良の設定(DDS 1)では最大遅延が4,942 µs、メッセージ損失はたった3通にとどまった。
- 128 KBのペイロードを負荷下で送信した場合、最大遅延は176,074 µsに達し、1,991通のメッセージがデッドラインを逸脱した。これは、大容量データ送信時の顕著な性能低下を示している。
- ksoftirqdの優先順位付けにより、デフォルト設定と比較して最悪ケースの遅延が50%以上低減され、特に高負荷下で顕著な改善が得られ、最良のシナリオではデッドライン逸脱が完全に解消された。
- 32 KBのペイロードとRT設定に加え、ksoftirqdの優先順位付けを適用した場合でさえ、80 Mbpsの持続的トラフィック下でも、デッドライン逸脱はゼロ、メッセージ損失も最小限に抑えられた。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。