1
/
5

【TechBlog】ROS2で任意のメッセージをC++ノードでブリッジする方法

Protocol/Robotics Teamの酒井 (@neko_suki) です。

以前「ROS2メッセージの遠隔リアルタイムデータ伝送を実現する新プロダクトのご紹介」という記事で開発中の intdash_ros2bridge というプロダクトを紹介しました。

今回は、前回記載したとおり、技術にフォーカスして技術的な詳細を含めた進捗をご紹介します。

intdash_ros2bridgeは、ROS2上で「任意のトピック、サービス、アクションのC++実装によるブリッジ」を実現します。ブリッジとは、ROS2空間の内部のデータからインターネット経由で伝送できるメッセージ形式への橋渡しをする処理のことを指します。

intdash_ros2bridgeによって遠隔地のROS2空間をつなぐことが可能になります。その結果ROS1と同様にROS2でも遠隔制御やモニタリングなどが実現できます。


intdash_ros2bridgeではROSメッセージの伝送のために以下の2つの方法でブリッジを行います。

  • 効率的なメッセージ伝送のための Common Data Representation (CDR) 形式という生データに近いフォーマットへのブリッジ
  • 弊社製品のVisual M2M Data Visualizer で可視化するための、JSONへのブリッジ

今回の記事では、最初にトピック、サービス、アクションをブリッジする方法について簡単に紹介します。次に、トピックをブリッジする方法、トピックをJSONに変換して伝送する方法の2点を詳細に掘り下げて説明します。

目次

  1. ROSメッセージをブリッジする方法
  2. トピックのブリッジ
    1. subscribe
    2. publish
  3. JSONへのブリッジ
  4. まとめ
  5. Appendix
    1. create_generic_subscriptionの実装
    2. create_generic_publisherの実装
    3. MessageMembers の取得方法

続きは、弊社のテックブログからご覧ください!


--

株式会社アプトポッド's job postings

Weekly ranking

Show other rankings
If this story triggered your interest, go ahead and visit them to learn more