跳至主要内容

Multi-Sensor Function

此範例示範如何同時串流多組感測器資料並平行運行多個 ISAAC 功能。


安裝​

注意

需為研華平台、剩餘空間 ≥ 3 GB、Ubuntu 英文介面並可連網。

資訊

支援版本
本文件適用於以下 Isaac ROS 與 ROS 2 版本組合:

Isaac ROSROS 2Tensorrt
v3.2 (release-3.2)Humblev10.7.0
v4.5 (release-4.5)Jazzyv10.13.3
注意

YOLOv8 模型需求

  • 由於授權限制,本套件不包含預先轉換完成的 YOLOv8 模型檔案(yolov8s.plan)。
  • TensorRT 版本相容性: TensorRT Engine(.plan)必須使用與所提供 Isaac ROS 容器相同的 TensorRT 版本產生。
  • 執行此範例之前,請依照 NVIDIA Isaac ROS YOLOv8 Documentation 的說明匯出 YOLOv8 模型,並將 yolov8s.plan 放置於以下位置: /home/ubuntu/workspaces/isaac_ros-dev/isaac_ros_assets/models/yolov8/yolov8s.plan
  1. 按照安裝程式說明選擇並安裝 Multi Sensor Function,路徑:/usr/local/Advantech/ros/container/ros-demokit/isaac_ros_kit。
  2. 執行:
    $ ./launch_isaac.sh advanced_examples/isaac_ros_multi_sensor_demo
  3. 首次啟動會下載資源,完成後自動顯示 RViz 介面。


設定指南​

此範例以兩顆實體相機資料同時驅動 nvblox、yolov8、unet 等 ISAAC workload。RViz 版面:

啟動內容​

執行 ./launch_isaac.sh advanced_examples/isaac_ros_multi_sensor_demo 後會:

  • 播放含兩顆相機的 ROS bag(RGB、Depth、IR、camera_info、/tf_static 等)
  • visual_slam 取用 RGB-D + TF 估測姿態
  • nvblox 利用姿態與深度建立 3D 重建
  • yolov8 對 RGB 影像做偵測
  • unet 平行進行語意分割
  • RViz 將各輸出整合成儀表板

使用方式​

  • Camera 0:提供 RGB/Depth/IR,供 visual_slam、UNet、nvblox 使用
  • Camera 1:額外 RGB 視角給 YOLOv8,維持推論品質

流程:

  1. 執行啟動腳本,容器會掛載、啟動 ROS bag 並啟動所有工作負載。
  2. 觀察 RViz:YOLOv8 在左下、nvblox 在中央、UNet 在右上,右側顯示 RGB/Depth。

若要套用到自家硬體,可用雙相機資料錄製相同 Topic 的 bag 取代預設檔案,即可沿用此 demo 作為校正、同步與 GPU 負載驗證。


適用情境​

  • 想以同一套感測器展示多個 ISAAC 能力,不需切換多個功能來進行展示
  • 上線前驗證相機同步、TF 設定或啟動參數
  • 希望同時比較偵測/分割/3D 重建輸出,便於調參或展示

GitHub​

詳細的配置可以參考Robotic suite GitHub