Files
OrbbecSDK_ROS2/docs/multi_camera_syned_CN.MD
T
2025-03-31 20:16:47 +08:00

2.9 KiB

多机同步存图及脚本解析

本节介绍如何在ROS 2环境中使用多个Orbbec摄像头同步存图,并使用脚本解析数据。

连接准备

请根据指导连接多个Orbbec摄像头和多机同步器。

多机同步器连接示意图

多机同步存图

查看设备的USB端口

ros2 run orbbec_camera list_devices_node

查看设备的USB端口

参数配置

multi_camera_synced.launch.py
  1. usb_port 设置为设备的USB端口。
  2. device_num 设置为2,说明启动了两个相机。
  3. sync_mode 设置为 primary,说明相机设备设置为主机模式。
  4. 从机设置 trigger_out_enabled 为 false。

launch配置

multi_save_rgbir_params.json

配置多个设备的USB端口和名称。

json配置

camera_params.yaml

启用左IR摄像头。

enable_left_ir: true

start_multi_sync.sh

{data: 100} 表示每台相机的每个流存储100张图片。

脚本配置

启动多机同步存图

启动多个Orbbec摄像头(选择1)。

  • 终端1
cd  ~/ros2_ws/src/OrbbecSDK_ROS2/orbbec_camera/tools
sudo chmod +x start_multi_sync.sh
bash start_multi_sync.sh

启动脚本

同步保存图片(选择4)。

  • 终端2
cd  ~/ros2_ws/src/OrbbecSDK_ROS2/orbbec_camera/tools
bash start_multi_sync.sh

脚本解析

multicamera_sync - 保存图片以及解析脚本存放目录。

  • ouput - 保存图片目录
  • Python - 解析脚本目录

注意:multicamera_sync 需要复制到当前工作空间目录(与 install 目录同级)。

配置文件

  • Config.ini 配置相机实际帧率和最大误差时间戳阈值。
  • DevicesInfo.txt 配置相机数量以及相机的pid、vid、SN号等参数。
  • StreamProfileInfo.txt 配置相机分辨率、帧率以及编码格式。

注意:DevicesInfo.txt 和 StreamProfileInfo.txt 是解析脚本所需要的文件,需要复制到 TotalModeFrames 文件夹同级目录( TotalModeFrames 目录由存图脚本创建,用于存储多相机同步采集的图像数据)。

运行脚本

运行解析脚本解析多机同步存储的图片。

cd  ~/ros2_ws/multicamera_sync/Python
python3 SyncFramesMain.py

输出结果

  • matchFrames:同一组摄像头不完整的数据集,存在摄像头图片信息缺失。
  • notMatchFrames:同一组摄像头完整的数据集。
  • abnormal:同一组摄像头完整的数据集,且相机同步时间超过 Config.ini 设置的参数 tspRangeThreshold。