mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-04 03:57:46 +08:00
2.9 KiB
2.9 KiB
多机同步存图及脚本解析
本节介绍如何在ROS 2环境中使用多个Orbbec摄像头同步存图,并使用脚本解析数据。
连接准备
请根据指导连接多个Orbbec摄像头和多机同步器。
- 有关多机同步器的详细指导,请参阅设置相机进行外部同步。
- 多个Orbbec摄像头和多机同步器的连接示例。
多机同步存图
查看设备的USB端口
ros2 run orbbec_camera list_devices_node
参数配置
multi_camera_synced.launch.py
usb_port设置为设备的USB端口。device_num设置为2,说明启动了两个相机。sync_mode设置为 primary,说明相机设备设置为主机模式。- 从机设置
trigger_out_enabled为 false。
multi_save_rgbir_params.json
配置多个设备的USB端口和名称。
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。





