Raspberry Pi Mouseに搭載したウェブカメラのデータを可視化する方法を紹介します。
本ステップ実行後の状態のSceneファイルはMobileRobotUITutorialProject/Assets/Scenes/Step6.unity
から入手できます。
- Windows
- Windows 10 Home バージョン 21H2
- Windows 11 Pro バージョン 22H2
- Unity
- Unity 2021.3.4f1
- Unity 2022.3.8f1
- Unity-Technologies/ROS-TCP-Connector v0.7.0
- ROS 2
- ROS 2 Foxy Fitzroy
- ROS 2 Humble Hawksbill
STEP6までと同様にAssets/Scripts/ImageSubscriber.cs
をSubscriber
オブジェクトにアタッチします。
ここまででSubscriber
に追加したコンポーネントはTf Subscriber
、Odom Subscriber
、Laser Scan Subscriber
、Image Subscriber
の4つになります。
HierarchyウィンドウのCanvas
オブジェクトの子オブジェクトとしてRawImage
形式のGameObjectをRawImage
という名前で作成します。
RawImage
オブジェクトについてInspectorウィンドウから表示位置を変更します。
Rect Transform
コンポーネントのAnchor Presetsは右下寄せになるright-bottomを選択します。
Pos X, Pos Y, Pos Z, Width, Heightはそれぞれ-170, 460, 0, 320, 240にします。
次に、Subscriber
オブジェクトを選択してInspectorウィンドウを開き、Image Subscriber
コンポーネントのRaw Image
に先程作成したRawImage
オブジェクトをを指定します。
*Subscriber
オブジェクトのImage Subscriber
にて、ROS Topic Name
がimage_raw/compressed
になっていることを確認してください。
STEP2と同様に、
- 再生モードでUnityプロジェクトを実行
- Raspberry Pi Mouseでコマンドを実行
- 操作ボタンから移動指令送信
の手順でロボットを動かしてみます。
オドメトリとLiDARデータに加えて、カメラデータを可視化することができました。
最後に、動作確認が終わったら全ての端末でCtrl+Cを押してコマンドを終了させます。
カメラデータ受信用スクリプトとカメラデータ描画用オブジェクトを追加し、カメラデータを可視化する方法を紹介しました。