ROSの画像メッセージを遠隔監視したいと思ったことがあるみなさん、
こんにちは。ソリューションアーキテクトの伊勢です。
以前、当ブログではロボット開発プラットフォームのROSとインターネットをつなぐ技術「intdash Bridge」をご紹介しました。
この intdash Bridge が2023年2月から画像のROSメッセージに対応したので、適用例とともにご紹介します。
その前に
おことわり
これはあくまで"やってみた"記事です。
正式なインストール手順などは公式ドキュメントをご参照ください。
使われている機能
これからご覧いただく動画の構成要素です。
intdash Bridge
ROSメッセージをintdash Serverと双方向通信するためのソフトウェアです。
MJPEG形式とH.264形式でROSデータを送受信できるようになりました。
ROSを流れる画像 (/sensor_msgs/Image
/sensor_msgs/CompressedImage
)をMJPEGで、または動画データ(H.264)に変換してリアルタイムで可視化したり、別のエッジデバイスにPublishしたりできます。
今回はUSBカメラの画像データを確認しています。
なお、ROS2版である intdash ROS2Bridge でも対応しています。
intdash CONTROL CENTER
複数モビリティの運行管制向けソリューションフレームワークです。
以前、一部のコンポーネントをご紹介しました。
今回は2つのコンポーネントでカメラとロボットに制御コマンドを届けています。
遠隔指示コマンドVisual Parts
Data Visualizerからエッジデバイスにコマンドを送信します。
遠隔指示コマンドデバイスコネクタ(ROS)
エッジデバイスでサーバーからコマンドを受信してintdash Bridgeに連携します。
本題
お待たせしました。
それでは、動画をご覧ください。9分半ほどです。
このような構成になっています。
ROSの説明や構成図を飛ばしたい方は6:44ぐらいからどうぞ。
まとめ
今回は、intdash Bridgeとintdash CONTROL CENTERの組み合わせによるエッジデバイスでのカメラ制御を行いました。
ROSは柔軟にノードを追加してメッセージを再利用できるところがいいですね。
intdashを使ってインターネットと双方向通信ができることでさらに応用の幅が広がります。
なお、Upstreamした画像データは他データと同期したタイムスタンプでクラウドに保存されるため、あとから再生・確認・分析が可能です。
参考
ちなみに今回ROSノードはこのような構成にしました。
/switcher
ノードが
- カメラの画像メッセージをSubscribe
- intdash Bridgeからコマンド
/intdash/ctl_cmd_string
をSubscribe - コマンドのカメラ番号に一致する画像メッセージを画像変換
/switcher/image_raw
にPublish
/intdash/intdash_bridge
ノードが
/switcher/image_raw
をAgentに連携- カメラ番号や
/rosbridge_websocket
から受けたロボット制御プログラムのセンサーデータもAgentに連携
しています。
予告
intdash CONTROL CENTERでは、複数モビリティへのタスク配分やルート設定など運行管理機能の拡充も予定しています。近々、当ブログでご紹介したいと思います。