stereolabs/zed-ros2-wrapper

ROS 2 wrapper for the ZED SDK

何であるか

zed-ros2-wrapper は、Stereolabs の ZED 深度センシングカメラを ROS 2 ロボットシステム内で使用できるようにする公式 ROS 2 パッケージです。ZED SDK(CUDA 対応 GPU 上で実行)をラップし、カメラのデータを標準的な ROS 2 トピックとして公開します。

主な機能(README に記載)

機能 ROS 2 で得られるもの
画像ストリーム 正規化/非正規化されたカラーおよびグレースケール画像。
深度 ピクセル単位の深度マップ。
ポイントクラウド 色付き 3D ポイントクラウド(オプションのポイントクラウド・トランスポート圧縮あり)。
位置追跡およびマッピング オドメトリ、SLAM スタイルのマッピング、および地球基準の局所化のためのオプションの GNSS フュージョン。
物体検出 GPU 加速の組み込み物体検出器と、オプションのカスタム YOLO スタイル ONNX モデル。
ボディトラッキング 人間のスケルトン抽出。
センサデータ IMU、気圧計、磁気計(カメラが対応している場合)。
シミュレーションモード NVIDIA Isaac Sim からストリーミングされる仮想 ZED に対して同じパイプラインを実行可能。ハードウェアなしでテストに有用。
統合 NVIDIA Isaac ROS / NITROS と連携し、データ転送を高速化。

動作させる方法

  1. 前提条件 – Ubuntu 20.04/22.04/24.04/26.04、ZED SDK v5.2、CUDA、およびサポートされている ROS 2 ディストロ(Humble、Jazzy、Lyrical、Foxy(後方互換性用)、または開発者向けの Rolling)。
  2. インストール – リポジトリを ROS 2 ワークスペースにクローンし、rosdep で依存関係をインストール、colcon build --symlink-install でビルド。
  3. 起動 – 提供された起動ファイルを使用:
    ros2 launch zed_wrapper zed_camera.launch.py camera_model:=<model>
    
    <model> をお使いの ZED モデル(例:zed2i、zedx、virtual など)に置き換えてください。
  4. 設定 – すべてのパラメータは zed_wrapper/config 下の YAML ファイル(例:common_stereo.yaml、zed2.yaml)にあります。解像度、フレームレート、物体検出、マッピング、GNSS フュージョンの有効/無効などを変更できます。
  5. 可視化 – 事前構成済みの RViz2 設定が提供されています。rviz2 -d ./zed_wrapper/config/rviz2/<model>.rviz を実行するか、ヘルパー zed_display_rviz2 パッケージを起動してください。
  6. シミュレーション – sim_mode:=true use_sim_time:=true を起動コマンドに追加して、合成カメラデータをストリーミングする Isaac Sim インスタンスに接続します。

どのような人にとって有用か?

  • ロボット開発者:高解像度深度、物体検出、または人間のポーズ推定が必要な ROS 2 上のセンシングパイプラインを構築する人。
  • 研究者:リアルタイム動画ストリーム上で SLAM、GNSS フュージョン局所化、AI に基づく物体検出を実験する人。
  • シミュレーションエンジニア:ハードウェアにデプロイする前に、NVIDIA Isaac Sim で仮想 ZED カメラでプロトタイピングしたい人。

README に記載された制限事項

  • 一部の機能(物体検出、ボディトラッキング、GNSS フュージョン、2D モードなど)は、古い1世代目の ZED カメラや ZED X One モデルでは利用不可です。
  • ポイントクラウド・トランスポートはオプションです。圧縮されたポイントクラウドが必要な場合は、ros-$ROS_DISTRO-point-cloud-transport を自分でインストールする必要があります。
  • このパッケージは公式に LTS ROS 2 リリースでのみテストされています。新しい非LTSリリースは動作する可能性がありますが、保証されません。
  • Jetson プラットフォーム(JP6)では、CUDA_TOOLKIT_ROOT_DIR を nvidia-jetpack パッケージ経由で設定する必要がある場合があります。

クイックスタートチートシート

# 1. ワークスペースのセットアップ
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/stereolabs/zed-ros2-wrapper.git
cd ..
rosdep update && rosdep install --from-paths src --ignore-src -r -y

# 2. ビルド
colcon build --symlink-install --cmake-args=-DCMAKE_BUILD_TYPE=Release
source install/local_setup.bash

# 3. ZED カメラを実行(モデルを必要に応じて変更)
ros2 launch zed_wrapper zed_camera.launch.py camera_model:=zed2i

上記のすべての情報はリポジトリの README から直接取得したものであり、追加の機能は推測されていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト