Skip to content

Latest commit

 

History

History
80 lines (49 loc) · 3.31 KB

File metadata and controls

80 lines (49 loc) · 3.31 KB

LiDARデータの可視化

概要

ロボットに搭載されているLiDARデータの可視化方法を紹介します。 今回もオドメトリ可視化の際と同様にLiDARデータ受信用スクリプトとLiDARデータ描画用スクリプトを組み合わせて可視化します。

本ステップ実行後の状態のSceneファイルはMobileRobotUITutorialProject/Assets/Scenes/Step5.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

手順

1. LiDARデータ受信用スクリプトをアタッチ

STEP4までと同様にAssets/Scripts/LaserScanSubscriber.csSubscriberオブジェクトにアタッチします。

ここまででSubscriberに追加したコンポーネントはTf SubscriberOdom SubscriberLaser Scan Subscriberの3つになります。

2. LiDARデータ描画用スクリプトをアタッチ

まず、スクリプトを用意します。UnityScripts/PointCloudフォルダをUnityプロジェクトのAssetsフォルダにコピー(Assets/PointCloudとして配置)します。

次に用意したスクリプトをアタッチしていきます。 Assets/PointCloud/Scripts/PointCloudLocator.cslidar_linkオブジェクト(raspimouse/base_footprint/base_link/urg_mount_link/lidar_link)にアタッチします。

lidar_linkオブジェクトを選択してInspectorウィンドウを開き、Point Cloud LocatorコンポーネントのSubscriber Game ObjectSubsciberオブジェクトを、Point PrefabAssets/PointCloud/Prefabs/Sphere.prefabを指定します。

以上で可視化の準備ができました。

3. Unityプロジェクトの実行

STEP2と同様に、

  1. 再生モードでUnityプロジェクトを実行
  2. Raspberry Pi Mouseでコマンドを実行
  3. 操作ボタンから移動指令送信

の手順でロボットを動かしてみます。

STEP4で可視化したオドメトリに加えてLiDARデータを可視化することができました。

Assets/PointCloud/Scripts/PointCloudLocator.csprivate static readonly int MaxPointCount = 100;を書き換えることで 描画する点群の数を変えることができます。

最後に、動作確認が終わったら全ての端末でCtrl+Cを押してコマンドを終了させます。

本STEPのまとめ

LiDARデータ受信用スクリプトとLiDARデータ描画用スクリプトを組み合わせて可視化する方法を紹介しました。 さらに描画する点群の数を変更する方法も紹介しました。

次はSTEP6でカメラ画像の可視化方法を紹介します。