docs: update camera feature documentation

This commit is contained in:
slz
2026-04-27 16:41:07 +08:00
parent af9b03e7db
commit 627af59d4f
17 changed files with 358 additions and 118 deletions
@@ -181,10 +181,12 @@ OrbbecSDK ROS2 封装为 Orbbec 相机与 ROS 2 环境提供无缝集成。它
| **产品列表** | **推荐固件版本** | **启动文件** |
| ----------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------- |
| Gemini 305 | [1.0.30](https://doc.orbbec.com/documentation/Gemini%20305%20Series%20Documentation/Firmware%20Release%20of%20Gemini%20305) | gemini305.launch.py |
| Gemini 305G | [1.0.54](https://doc.orbbec.com/documentation/Gemini%20305%20Series%20Documentation/Firmware%20Release%20of%20Gemini%20305) | gemini305_g.launch.py |
| Astra Mini Pro | [2.0.03](https://github.com/orbbec/OrbbecFirmware/releases/tag/Astra-Mini-Pro) | astra.launch.py |
| Astra Mini S Pro | [2.0.03](https://github.com/orbbec/OrbbecFirmware/releases/tag/Astra-Mini-S-Pro) | astra.launch.py |
| Gemini 435Le | [1.3.6](https://github.com/orbbec/OrbbecFirmware/releases/tag/Gemin435Le-Firmware) | gemini435_le.launch.py |
| Gemini 330 series | [1.6.00](https://orbbec-debian-repos-aws.s3.amazonaws.com/product/Gemini330_Release_1.6.00.zip) | gemini_330_series.launch.py |
| Gemini 338/338L/338Le/338Lg/331L | 以发布包内推荐固件为准 | gemini_330_series.launch.py |
| Gemini 215 | [1.0.9](https://github.com/orbbec/OrbbecFirmware/releases/tag/Gemini215-Firmware) | gemini210.launch.py |
| Gemini 210 | [1.0.9](https://github.com/orbbec/OrbbecFirmware/releases/tag/Gemini210-Firmware) | gemini210.launch.py |
| Gemini 2 | [1.4.98](https://github.com/orbbec/OrbbecFirmware/releases/tag/Gemini2-Firmware) | gemini2.launch.py |
@@ -20,3 +20,7 @@ sudo udevadm control --reload-rules && sudo udevadm trigger
此步骤对于 Linux 用户是**必需的**。
`注意:` 如果不执行此脚本,由于权限问题,打开设备将会失败。您需要使用 sudo(管理员权限)运行示例程序。
### 新增设备规则
v2.8.x 版本的 udev 规则新增了 Gemini 305 系列和 Gemini 338 系列相关 PID,包括 Gemini 305 (`0840/0841`)、Gemini 305G (`0842`)、Gemini 301G (`0843`)、Gemini 338L/338Le/338Lg、Gemini 331L 等。升级 ROS 包后请重新安装 udev 规则并重新插拔设备,确保系统应用最新权限规则。
@@ -40,19 +40,14 @@
* ROS 2消息服务质量(QoS)设置。可能的值为 `SYSTEM_DEFAULT`、`DEFAULT`、`PARAMETER_EVENTS`、`SERVICES_DEFAULT`、`PARAMETERS`、`SENSOR_DATA`,不区分大小写。这些分别对应 `rmw_qos_profile_system_default`、`rmw_qos_profile_default`、`rmw_qos_profile_parameter_events`、`rmw_qos_profile_services_default`、`rmw_qos_profile_parameters` 和 `SENSOR_DATA`。
* **`color.image_raw.enable_pub_plugins`**
* 启用彩色图像传输插件。默认值:`["image_transport/compressed", "image_transport/raw", "image_transport/theora"]`。
> **支持版本**: wrapper version 2.6.3 及以上。
* **`depth.image_raw.enable_pub_plugins`**
* 启用深度图像传输插件。默认值:`["image_transport/compressedDepth", "image_transport/raw"]`。
> **支持版本**: wrapper version 2.6.3 及以上。
* **`left_ir.image_raw.enable_pub_plugins`**
* 启用左红外图像传输插件。默认值:`["image_transport/compressed", "image_transport/raw", "image_transport/theora"]`。
> **支持版本**: wrapper version 2.6.3 及以上。
* **`right_ir.image_raw.enable_pub_plugins`**
* 启用右红外图像传输插件。默认值:`["image_transport/compressed", "image_transport/raw", "image_transport/theora"]`。
> **支持版本**: wrapper version 2.6.3 及以上。
* **`point_cloud_decimation_filter_factor`**
* 点云下采样因子。范围:`1–8`,`1`表示不下采样,数值越大下采样倍数越大。
> **支持版本**: wrapper version 2.6.3 及以上。
### 传感器控制
@@ -71,18 +66,22 @@
* 设置彩色白平衡。
* **`color_ae_max_exposure`**
* 设置彩色自动曝光的最大曝光值。
* **`color_ae_max_gain`**
* 设置彩色自动曝光的最大增益。Gemini 2 固件 `1.5.04` 及以上、Gemini 2L 固件 `1.5.09` 及以上支持。范围通常为 `16–112`,具体范围以设备属性为准。
* **`color_brightness`**、**`color_sharpness`**、**`color_gamma`**、**`color_saturation`**、**`color_contrast`**、**`color_hue`**
* 设置彩色亮度、锐度、伽马、饱和度、对比度和色调。
* **`color_backlight_compensation`**
* 启用彩色相机的背光补偿功能。**范围**:`0–6`,**默认值**:`3`。
* **`color_powerline_freq`**
* 设置电源线频率。可能的值为 `disable`、`50hz`、`60hz`、`auto`。
* **`color_anti_flicker`**
* 启用彩色防闪烁功能。Gemini 330 系列固件 `1.7.13` 及以上支持;Gemini 305 系列固件 `1.0.54` 及以上支持。
* **`enable_color_decimation_filter`** / **`color_decimation_filter_scale`**
* 启用彩色抽取滤波器并设置其比例。
* **`color_ae_roi_[left|right|top|bottom]`**
* 设置彩色自动曝光ROI。
* **`color_denoising_level`**
* 启用Gemini 330系列设备的ISP降噪功能。**范围:** `0–8`,**默认值:** `0`(自动)。
* 启用ISP彩色降噪功能。**范围:** `0–8`,`0`表示自动。支持 Gemini 330 系列、Gemini 2 固件 `1.5.04` 及以上、Gemini 2L 固件 `1.5.09` 及以上;该功能需要开启彩色自动曝光并依赖新固件支持。
#### 深度流
@@ -143,19 +142,14 @@
* 设置网络设备的IP地址和端口(通常为 `8090`)。
* **`force_ip_enable`**
* 启用强制IP功能。**默认值:** `false`
> **支持版本**: wrapper version 2.5.4 及以上。
* **`force_ip_mac`**
* 连接多个相机时的目标设备MAC地址(例如,`"54:14:FD:06:07:DA"`)。您可以使用 `list_devices_node` 查找每个设备的MAC。**默认值:** `""`
> **支持版本**: wrapper version 2.5.4 及以上。
* **`force_ip_address`**
* 要分配的静态IP地址。**默认值:** `192.168.1.10`
> **支持版本**: wrapper version 2.5.4 及以上。
* **`force_ip_subnet_mask`**
* 静态IP的子网掩码。**默认值:** `255.255.255.0`
> **支持版本**: wrapper version 2.5.4 及以上。
* **`force_ip_gateway`**
* 静态IP的网关地址。**默认值:** `192.168.1.1`
> **支持版本**: wrapper version 2.5.4 及以上。
> 用于 [网络相机](../5_advanced_guide/configuration/net_camera.md)。
@@ -165,27 +159,23 @@
* **`enable_ptp_config`**
* 启用PTP时间同步。仅适用于Gemini 335Le。需要 `enable_sync_host_time` 设置为 `false`。
> **支持模组**:Gemini 335Le。
> **支持版本**: wrapper version 2.3.4 及以上。
* **`preset_resolution_config`**
* 摄像头设备的预设分辨率配置。格式: "width,height,ir_decimation_factor,depth_decimation_factor". Example: "1280,720,4,4". 留空禁用。
> **支持模组**:Gemini 435Le。
> **支持版本**: wrapper version 2.6.3 及以上。
* **`ae_mode`**
* `colorbased`:自动曝光基于彩色流。`depthbased`:自动曝光基于深度流。**默认值:** `depthbased`
> **支持模组**:Gemini 305。
> **支持版本**: wrapper version 2.7.2 及以上。
* **`enalbe_sports_mode`**
* 是否开启运动模式。**默认值:** `false`
> **支持模组**:Gemini 305。
> **支持版本**: wrapper version 2.7.2 及以上。
* **`ae_reference_stream`**
* 设置自动曝光参考流。可选值:`depth`、`color`,默认值为 `depth`。
> **支持模组**:Gemini 305 系列。
> **兼容说明**:该参数替代旧参数 `ae_mode`,旧值 `depthbased/colorbased` 对应新值 `depth/color`。
* **`ae_strategy`**
* 设置自动曝光策略。可选值:`default`、`motion`,默认值为 `motion`。
> **支持模组**:Gemini 305 系列。
> **兼容说明**:该参数替代旧参数 `enable_sports_mode`。
* **`depth_downscale`** / **`left_ir_downscale`** /**`right_ir_downscale`**
* 设置下采样倍数。可用`ros2 run orbbec_camera list_camera_profile_mode_node`查看可设置分辨率。**默认值:** `1`
> **支持模组**:Gemini 305。
> **支持版本**: wrapper version 2.7.2 及以上。
* **`enable_false_positive_filter`**
* 启用鬼影滤波。可减少重影噪声。
> **支持模组**: DaBaiA/DaBaiAL/Gemini345/Gemini345Lg.
> **支持版本**: wrapper version 2.7.6 及以上;firmware version 1.9.03 及以上。
#### 视差
* **`disparity_to_depth_mode`**
@@ -215,13 +205,12 @@
* `DEPTH`:将彩色对齐到深度。
- **`intra_camera_sync_reference`**
- 设置相机内同步的参考点。适用于Gemini 330系列设备,当 `sync_mode` 设置为**软件**或**硬件触发**模式时。**选项:** `Start`、`Middle`、`End`。设置为空时,长基线设备默认End,短基线设备默认Middle。
> **支持版本**: wrapper version 2.6.3 及以上。
### 基础与通用参数
#### 固件与后端
* **`upgrade_firmware`**
* 输入参数为固件路径。
* 输入参数为固件路径。新版本建议使用独立工具 `firmware_update_tool` 进行固件升级。
* **`preset_firmware_path`**
* 输入参数为预设固件路径。如果输入多个路径,每个路径需要用 `,` 分隔,最多可输入3个固件路径。
* **`uvc_backend`**
@@ -249,16 +238,21 @@
* **`time_sync_period`**
* 相机时间与主机系统同步的间隔(秒)。
> **注意**:仅当 **`enable_sync_host_time = true`** 且 **`time_domain = device`** 时需要设置此参数。
> **支持版本**: wrapper version 2.6.3 及以上。
* **`enable_frame_sync`**
* 启用帧同步。
* **`enable_frame_timestamp_csv`**
* 启用帧时间戳CSV记录。主要用于分析彩色/深度帧时间戳、发布延迟和同步问题。
* **`frame_timestamp_csv_file`**
* 帧时间戳CSV文件路径。为空时使用默认路径;建议在排查时指定到可写目录。
#### 日志与诊断
* **`log_level`**
* SDK日志级别。默认为 `info`。可选值:`debug`、`info`、`warn`、`error`、`fatal`。
* SDK和ROS节点日志级别。默认只输出设备当前状态;需要更多调试信息时可设置为 `debug`。可选值:`none`、`debug`、`info`、`warn`、`error`、`fatal`。
* SDK日志和崩溃文件默认保存在 `~/.ros/Log`,ROS日志仍保存在 `~/.ros/log`。
* **`log_file_name`**
* 保存的SDK日志文件名。当`log_level`为`debug`时生效。
> **支持版本**: wrapper version 2.6.3 及以上。
* **`enable_firmware_log`**
* 启用固件日志。该开关与 `enable_heartbeat` 解耦,适合在需要抓取固件日志时单独开启。
* **`diagnostic_period`**
* 诊断周期(秒)。
* **`enable_heartbeat`**
@@ -311,6 +305,10 @@
* 启用深度空间快速滤波器。使用 `spatial_fast_filter_radius` 设置。
* **`enable_spatial_moderate_filter`**
* 启用深度空间中等滤波器。使用 `spatial_moderate_filter_diff_threshold` 等设置。
* **`enable_mgc_noise_removal_filter`**
* 启用 MGC 降噪滤波器,主要用于支持该滤波能力的 OpenNI 设备。
* **`enable_lut_noise_removal_filter`**
* 启用 LUT 降噪滤波器,主要用于支持该滤波能力的 OpenNI 设备。
---
@@ -128,7 +128,6 @@
```bash
ros2 service call /camera/get_laser_status orbbec_camera_msgs/srv/GetBool '{}'
```
> **支持版本**: wrapper version 2.6.3 及以上。
* `/camera/set_ldp_enable` & `/camera/get_ldp_status`
```bash
ros2 service call /camera/set_ldp_enable std_srvs/srv/SetBool '{data: true}'
@@ -217,6 +216,26 @@
# 设置 SpatialModerateFilter: [disp_diff, magnitude, radius]
ros2 service call /camera/set_filter orbbec_camera_msgs/srv/SetFilter '{filter_name: SpatialModerateFilter, filter_enable: true, filter_param: [160,1,3]}'
# 设置 FalsePositiveFilter: []
ros2 service call /camera/set_filter orbbec_camera_msgs/srv/SetFilter '{filter_name: FalsePositiveFilter, filter_enable: true, filter_param: []}'
# 设置 MgcNoiseRemovalFilter / LutNoiseRemovalFilter: []
ros2 service call /camera/set_filter orbbec_camera_msgs/srv/SetFilter '{filter_name: MgcNoiseRemovalFilter, filter_enable: true, filter_param: []}'
ros2 service call /camera/set_filter orbbec_camera_msgs/srv/SetFilter '{filter_name: LutNoiseRemovalFilter, filter_enable: true, filter_param: []}'
```
滤波状态会在服务调用后同步更新到 `/camera/depth_filter_status` 和 `/camera/depth_filters/status`。其中 `/camera/depth_filters/status` 使用结构化消息 `orbbec_camera_msgs/msg/DepthFiltersStatus`,包含每个滤波器的使能状态和参数。
### 视差配置
* `/camera/set_disparity_range_mode`
```bash
ros2 service call /camera/set_disparity_range_mode orbbec_camera_msgs/srv/SetInt32 '{data: 0}'
```
* `/camera/set_disparity_search_offset`
```bash
ros2 service call /camera/set_disparity_search_offset orbbec_camera_msgs/srv/SetInt32 '{data: 0}'
```
### 数据捕获与校准管理
@@ -238,7 +257,6 @@
ros2 service call /camera/read_customer_data orbbec_camera_msgs/srv/GetString '{}'
```
> **支持模组**:Gemini 435Le。
> **支持版本**: wrapper version 2.5.4 及以上。
* `/camera/set_user_calib_params` & `/camera/get_user_calib_params`
```bash
ros2 service call /camera/set_user_calib_params orbbec_camera_msgs/srv/SetUserCalibParams \
@@ -260,28 +278,27 @@
ros2 service call /camera/get_user_calib_params orbbec_camera_msgs/srv/GetUserCalibParams '{}'
```
> **支持模组**:Gemini 435Le。
> **支持版本**: wrapper version 2.5.4 及以上。
* `/camera/set_ae_mode`
* `/camera/set_ae_reference_stream`
```bash
# depthbased or colorbased
ros2 service call /camera/set_ae_mode orbbec_camera_msgs/srv/SetString "data: depthbased"
# depth or color
ros2 service call /camera/set_ae_reference_stream orbbec_camera_msgs/srv/SetString "{data: depth}"
```
> **支持模组**:Gemini 305。
> **支持版本**: wrapper version 2.7.2 及以上。
* `/camera/set_sports_mode`
> **支持模组**:Gemini 305 系列。
> **兼容说明**:替代旧服务 `/camera/set_ae_mode`,旧值 `depthbased/colorbased` 对应新值 `depth/color`。
* `/camera/set_ae_strategy`
```bash
ros2 service call /camera/set_sports_mode std_srvs/srv/SetBool "data: true"
# default or motion
ros2 service call /camera/set_ae_strategy orbbec_camera_msgs/srv/SetString "{data: motion}"
```
> **支持模组**:Gemini 305。
> **支持版本**: wrapper version 2.7.2 及以上。
> **支持模组**:Gemini 305 系列。
> **兼容说明**:替代旧服务 `/camera/set_sports_mode`。
### 点云下采样
* `/camera/set_point_cloud_decimation`
```bash
ros2 service call /camera/set_point_cloud_decimation orbbec_camera_msgs/srv/SetInt32 '{data: 8}'
```
> **支持版本**: wrapper version 2.6.3 及以上。
* `/camera/get_point_cloud_decimation`
```bash
ros2 service call /camera/get_point_cloud_decimation orbbec_camera_msgs/srv/GetInt32 '{}'
```
> **支持版本**: wrapper version 2.6.3 及以上。
@@ -21,7 +21,6 @@
* 深度流的相机校准数据和元数据。
* `/camera/depth/metadata`
* 来自深度流固件的底层元数据。
* `/camera/ir/image_raw`
* 红外(IR)流的原始图像数据。
* `/camera/ir/camera_info`
@@ -61,7 +60,11 @@
* 报告相机设备的当前状态。
* `/camera/depth_filter_status`
* 报告深度传感器后处理滤波器的状态。
* 报告深度传感器后处理滤波器的状态,类型为 `std_msgs/msg/String`,内容为 JSON 字符串。
* `/camera/depth_filters/status`
* 报告深度传感器后处理滤波器的结构化状态,类型为 `orbbec_camera_msgs/msg/DepthFiltersStatus`。
* 消息中包含 `DepthFilterState[] filters`,每个滤波器状态包含 `filter_name`、`enabled` 和 `DepthFilterParam[] params`。
* `/diagnostics`
* 发布相机节点的诊断信息。目前包括设备温度。
@@ -44,38 +44,80 @@ ros2 launch orbbec_camera femto_mega.launch.py enumerate_net_device:=false net_d
ros2 launch orbbec_camera multi_net_camera.launch.py
```
## set_device_ip 工具
可以使用 `list_devices_node` 查看当前连接设备。v2.8.x 之后,该工具会额外输出固件版本、网口设备本地网卡名和 IP 来源类型(`NONE`、`LLA`、`DHCP`、`PERSISTENT`)。
**`set_device_ip`** 可执行文件允许您直接从 ROS 2 配置网络相机的 IP 设置,包括在 DHCP 和静态 IP 之间切换,以及设置子网掩码和网关。这对于快速分配或更新 IP 地址而无需修改启动文件非常有用。
## ip_config_tool 工具
> **注意:**使用 `set_device_ip` 应用的 IP 设置是**永久性的**,如果设备断电或重启,**不会重置**。
> **支持版本**: wrapper version 2.6.3 及以上。
**`ip_config_tool`** 可执行文件允许您直接从 ROS 2 配置网络相机的 IP 设置,包括 DHCP、静态 IP、Force IP 和 DHCP 分配 IP 超时时间。这对于快速分配或更新 IP 地址而无需修改启动文件非常有用。
> **注意:** 通过 `dhcp` 或 `set_ip` 应用的配置会写入设备。`force_ip` 是临时强制 IP,设备断电或重启后需要重新应用。
> **兼容说明**:`set_device_ip` 仍作为兼容别名保留,实际调用 `ip_config_tool`。旧参数 `old_ip` 已更名为 `current_ip`。
**示例用法**
查看帮助:
```bash
ros2 run orbbec_camera set_device_ip --ros-args \
-p old_ip:=192.168.1.10 \
-p dhcp:=false \
-p new_ip:=192.168.1.11 \
-p mask:=255.255.255.0 \
-p gateway:=192.168.1.1
ros2 run orbbec_camera ip_config_tool -- --help
```
开启 DHCP:
```bash
ros2 run orbbec_camera ip_config_tool -- \
dhcp \
--current_ip 192.168.1.10 \
--enable_dhcp true
```
关闭 DHCP 并设置静态 IP:
```bash
ros2 run orbbec_camera ip_config_tool -- \
set_ip \
--current_ip 192.168.1.10 \
--new_ip 192.168.1.11 \
--mask 255.255.255.0 \
--gateway 192.168.1.1
```
通过 MAC 地址 Force IP:
```bash
ros2 run orbbec_camera ip_config_tool -- \
force_ip \
--force_ip_mac 54:14:FD:06:07:DA \
--new_ip 192.168.1.50 \
--mask 255.255.255.0 \
--gateway 192.168.1.1
```
设置 DHCP 分配 IP 超时时间:
```bash
ros2 run orbbec_camera ip_config_tool -- \
set_dhcp_timeout \
--current_ip 192.168.1.10 \
--timeout 10
```
**参数**
- **`old_ip`** – 设备的当前 IP 地址。
- **`dhcp`** – 设置为 `true` 使用 DHCP 或 `false` 使用静态 IP。
- **`new_ip`** – 禁用 DHCP 时要分配的静态 IP 地址。
- **`current_ip`** – 设备的当前 IP 地址。
- **`enable_dhcp`** – 在 `dhcp` 或 `force_ip` 子命令中设置是否启用 DHCP。
- **`new_ip`** – 要分配的静态 IP 地址。
- **`mask`** – 新 IP 的子网掩码。
- **`gateway`** – 新 IP 的网关地址。
- **`force_ip_mac`** – Force IP 目标设备 MAC 地址。
- **`timeout`** / **`dhcp_assign_ip_timeout`** – DHCP 分配 IP 超时时间,单位为秒。
> **版本说明**:`ip_config_tool` 在 wrapper version 2.8.0 集成;`LLA` 开关在 wrapper version 2.8.1 后已从该工具移除;`set_dhcp_timeout` 在 wrapper version 2.8.5 后支持。
## 强制 IP 功能
**强制 IP** 功能允许您为网络相机分配**静态 IP 地址**,覆盖 DHCP 设置。当连接多个网络相机时,这非常有用,您需要每个设备具有固定的 IP 以实现可靠的通信。
> **注意:**如果设备断电或重启,强制 IP 配置**将被重置**。您需要在重启后重新应用设置。
> **支持版本**: wrapper version 2.6.3 及以上。
**参数**
@@ -38,6 +38,16 @@
| Binned Sparse Default | 小盲区、低功耗、高帧率 |
| Unbinned Sparse Default | 平衡质量和功耗,提升低反和半室外效果 |
### Gemini 2L 双 IR 模式
Gemini 2L 支持通过 YAML 配置切换到双 IR 模式:
```bash
ros2 launch orbbec_camera gemini2L.launch.py config_file_path:=gemini2L_dual_ir.yaml
```
该配置文件位于 `orbbec_camera/config/gemini2L_dual_ir.yaml`,会将 `depth_work_mode` 设置为 `In-scene Calibration`,关闭普通 `ir` 流,并开启 `left_ir` 与 `right_ir`。
## Gemini 305
| 预设 | 特点 |
@@ -4,7 +4,6 @@
此示例节点用于 **4 台 Orbbec 相机** 的同步采集与时间戳验证。
它可用于验证多相机主从同步(Primary / Secondary Synced)模式下的帧对齐精度。
> **支持版本**: wrapper version 2.6.3 及以上。
---
## 使用教程
@@ -1,5 +1,52 @@
# 其他工具
## firmware_update_tool 工具
`firmware_update_tool` 用于从 ROS 2 命令行升级设备固件或烧录 preset 文件。升级前请确认设备连接稳定;多设备连接时建议指定序列号,避免升级到错误设备。
查看帮助:
```bash
ros2 run orbbec_camera firmware_update_tool -- --help
```
升级单个设备固件:
```bash
ros2 run orbbec_camera firmware_update_tool -- \
--serial_number <SN> \
--firmware_path /path/to/firmware.bin
```
烧录 preset 文件:
```bash
ros2 run orbbec_camera firmware_update_tool -- \
--serial_number <SN> \
--preset_path /path/to/preset.bin
```
批量升级多个设备时,`--serial_number` 支持逗号分隔;如希望某个设备失败后继续处理后续设备,可增加 `--continue_on_error`。
```bash
ros2 run orbbec_camera firmware_update_tool -- \
--serial_number SN1,SN2 \
--firmware_path /path/to/firmware.bin \
--continue_on_error
```
## 帧时间戳 CSV 记录
开启 `enable_frame_timestamp_csv` 后,相机节点会记录彩色和深度帧的时间戳数据到 CSV 文件,用于分析帧同步、发布延迟和时间戳异常。
```bash
ros2 launch orbbec_camera gemini_330_series.launch.py \
enable_frame_timestamp_csv:=true \
frame_timestamp_csv_file:=/tmp/frame_timestamp.csv
```
CSV 中包含 SDK frame index、hardware frame number、sensor timestamp、device/global/system timestamp、arrival timestamp、publish timestamp、相邻帧 delta 以及 SDK delay 等字段。
## Ob_benchmark 工具
> 此工具的目标是对各种 OrbbecSDK_ROS2 相机配置的性能进行基准测试。基准测试结果取决于使用的相机和设置。(目前仅适用于 ROS2 Humble)