aptpod Advent Calendar 2021の17日目を担当するProtocol/Robotics Teamの酒井 (@neko_suki) です。
弊社では、intdash_ros2bridgeというROS2上で「任意のトピック、サービス、アクションのC++実装によるブリッジ」を実現するソフトウェアの開発を進めています。ブリッジとは、ROS2空間の内部のデータを、インターネット経由で伝送できるメッセージ形式に橋渡しをする処理のことを指します。
このintdash_ros2bridgeによって離れた2つのROS2空間をつなぐことが可能になります。このintdash_ros2bridgeによって、ROS1*1と同様にROS2でも遠隔制御やモニタリングなどが実現できます。
過去に書いた紹介記事では、intdash_ros2bridgeで実現できることや、技術的な実現方法をご紹介してきました。
今回の記事では、intdash_ros2bridgeと、 ROSメッセージのブリッジによく使われる rosbridge_server のメッセージ伝送の遅延を比較しましたので、その結果をご紹介します。
- 遅延値による性能の比較
- 計測の構成
- intdash_ros2bridge
- rosbridge_server
- 計測に使用したソフトウェア
- rosbridge_server
- 計測に使用するフォーマット
- 計測に使用するトピック
- Struct256
- Array1k
- PointCloud512k
- 計測に使用したマシン
- 計測の構成
- 計測結果
- Struct256
- Array1k
- PointCloud512k
- 考察
- ペイロードのサイズ確認
- rosbridge connector 処理時間
- まとめ
*1:弊社では、 ROSの任意トピックをC++ノードでPublish/Subscribeする方法 - aptpod Tech Blog に書かれている技術を用いた intdash_bridge というROS1で離れた2つのROS1空間をつなぐプロダクトを提供しています。