LoginSignup
3
2

More than 3 years have passed since last update.

ROS2 - 分散ノード

Last updated at Posted at 2019-05-12

ROSとROS2の通信

DDS(Data Distribution Service)に関しての記事です。
最後にはROS2でのリモートデータ通信のやり方も提示しています。

ROSとROS2の違い

ROSではSSHの接続によりデータの送受信を行なっていました。
しかし、ROSでは独自のパッケージ実装により、
その信頼性は低いのが現状です。

その点を克服したのがROS2であり、RMWです。
RMWはDDS(Data Distribution Service)を裏で利用し、ワイヤ相互運用性プロトコルを通じてデータの送受信を行います。
これは、UDPという信頼のできないトランスポートを通じて通信を行うことを目的に設計されています。
そのため、リモートで高速な通信が可能というメリットがあります。
反対にデータの欠損が発生してしまうことがあります。

また、DDSは
・軍事
・宇宙
・大規模インフラ
で既に使用されているため、信頼性という点ではROSよりも上をいっているのがわかります。
https://www.co-nss.co.jp/products/middleware/dds.html
こちらを参照していただければ幸いです。

実行

必要なセットアップを行います。

[ PC1 , PC2 ]

export ROS_DOMAIN_ID="好きな数字"

以上で設定は完了です。
同一のネットワークに所属していれば、
以下の操作によりNodeとTopicが見えます。

[ PC1 ]

ros2 run demo_nodes_cpp talker

[ PC2 ]

ros2 run demo_nodes_cpp listener

まとめ

今後は非力なマイコンをロボットには搭載し、
必要な時にのみ外部へ重い処理を委託することが、
より簡単に行うことができます。

ありがとうございました。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2