docs: update migration guide and topic reference

This commit is contained in:
slz
2026-07-23 10:08:23 +08:00
parent e87a25320f
commit 45ee00cabb
4 changed files with 84 additions and 38 deletions
@@ -23,6 +23,12 @@ These topics provide the raw image data and corresponding calibration informatio
* Camera calibration data and metadata for the depth stream. * Camera calibration data and metadata for the depth stream.
* `/camera/depth/metadata` * `/camera/depth/metadata`
* Low-level metadata from the depth stream firmware. * Low-level metadata from the depth stream firmware.
* `/camera/depth/image_unaligned`
* Depth image before software alignment.
* **Condition:** Published when `depth_registration` is `true` and `align_mode` is `SW`; it is not published for hardware alignment.
* `/camera/confidence/image_raw`
* Confidence image generated by `EnhancedDepthFilter`, encoded as `mono8` or `mono16` according to the confidence frame format.
* **Condition:** Published when enhanced depth filtering succeeds and the topic has a subscriber.
* `/camera/ir/image_raw` * `/camera/ir/image_raw`
* Raw image data from the infrared (IR) stream. * Raw image data from the infrared (IR) stream.
@@ -63,6 +69,28 @@ The Inertial Measurement Unit (IMU) topics provide accelerometer and gyroscope d
* Synchronized data stream containing both accelerometer and gyroscope data in a single message. * Synchronized data stream containing both accelerometer and gyroscope data in a single message.
* **Condition:** Published when `enable_sync_output_accel_gyro` is `true`. * **Condition:** Published when `enable_sync_output_accel_gyro` is `true`.
* `/camera/accel/imu_info`
* Accelerometer calibration and noise characteristics. The type is `orbbec_camera_msgs/msg/IMUInfo`.
* **Condition:** Available with accelerometer output.
* `/camera/gyro/imu_info`
* Gyroscope calibration and noise characteristics. The type is `orbbec_camera_msgs/msg/IMUInfo`.
* **Condition:** Available with gyroscope output.
### Extrinsics Topics
The following topics publish stream-to-stream extrinsics with type `orbbec_camera_msgs/msg/Extrinsics`:
* `/camera/depth_to_ir`
* `/camera/depth_to_color`
* `/camera/depth_to_left_ir`
* `/camera/depth_to_right_ir`
* `/camera/depth_to_accel`
* `/camera/depth_to_gyro`
* `/camera/left_color_to_right_color`
**Condition:** `enable_publish_extrinsic` must be `true`, and both streams represented by the selected topic must be enabled. Only topics supported by the connected device are published.
### Device Status & Diagnostics ### Device Status & Diagnostics
* `/camera/device_status` * `/camera/device_status`
@@ -34,9 +34,9 @@ With an open-source SDK, developers can directly submit issues and pull requests
### **Launch File Differences** ### **Launch File Differences**
1. In v2-main, new low-power launch file has been added for the Gemini 330 series: 1. In v2-main, a new low-CPU launch file has been added for the Gemini 330 series:
- `gemini_330_series_low_cpu.launch.py` - `gemini_330_series_low_cpu.launch.py`
2. v2-main introduces support for **Gemini 435Le**, **Gemini 345**, and **Gemini 345Lg** cameras. 2. v2-main introduces support for **Gemini 210**, **Gemini 301 series**, **Gemini 435Le**, **Gemini 345**, and **Gemini 345Lg** cameras.
3. Since **OrbbecSDK_v2 only supports UVC devices**, the range of camera models supported in v2-main is slightly narrower than in main. Detailed information is provided in the table below. 3. Since **OrbbecSDK_v2 only supports UVC devices**, the range of camera models supported in v2-main is slightly narrower than in main. Detailed information is provided in the table below.
| **camera** | **main** | **v2-main** | | **camera** | **main** | **v2-main** |
@@ -46,20 +46,21 @@ With an open-source SDK, developers can directly submit issues and pull requests
| Gemini 345Lg | Not supported | gemini345_lg.launch.py | | Gemini 345Lg | Not supported | gemini345_lg.launch.py |
| Gemini 330 series | gemini_330_series.launch.py | gemini_330_series.launch.py | | Gemini 330 series | gemini_330_series.launch.py | gemini_330_series.launch.py |
| Gemini 330 low cpu | - | gemini_330_series_low_cpu.launch.py | | Gemini 330 low cpu | - | gemini_330_series_low_cpu.launch.py |
| Gemini 210 | gemini210.launch.py | gemini210.launch.py | | Gemini 301 series | Not supported | gemini_301_series.launch.py |
| Gemini 210 | Not supported | gemini210.launch.py |
| Gemini 2 | gemini2.launch.py | gemini2.launch.py | | Gemini 2 | gemini2.launch.py | gemini2.launch.py |
| Gemini 2L | gemini2L.launch.py | gemini2.launch.py | | Gemini 2L | gemini2L.launch.py | gemini2L.launch.py |
| Gemini 2XL | gemini2XL.launch.py | - | | Gemini 2XL | gemini2XL.launch.py | - |
| Femto Bolt | femto_bolt.launch.py | femto_bolt.launch.py | | Femto Bolt | femto_bolt.launch.py | femto_bolt.launch.py |
| Femto Mega | femto_mega.launch.py | femto_mega.launch.py | | Femto Mega | femto_mega.launch.py | femto_mega.launch.py |
| Femto | femto.launch.py | femto.launch.py | | Femto | femto.launch.py | femto.launch.py |
| Astra 2 | astra2.launch.py | astra2.launch.py | | Astra 2 | astra2.launch.py | astra2.launch.py |
| Astra | astra.launch.py | astra.launch.py | | Astra | astra.launch.py | astra.launch.py |
| Astra Mini Pro / S Pro | astra_mini_pro.launch.py ... | astra.launch.py |
| Multi-Camera (Synchronized) | multi_camera_synced.launch.py | multi_camera_synced.launch.py | | Multi-Camera (Synchronized) | multi_camera_synced.launch.py | multi_camera_synced.launch.py |
| Multi-Camera (Generic / Universal) | multi_camera.launch.py | multi_camera.launch.pyorbbec_multicamera.launch.py | | Multi-Camera (Generic / Universal) | multi_camera.launch.py | multi_camera.launch.py |
| Single-Camera Generic Launch | ob_camera.launch.py | orbbec_camera.launch.py | | Single-Camera Generic Launch | ob_camera.launch.py | Not provided |
| OpenNI devices (Dabai、Deeya) | Corresponding model independent file | Not supported | | Dabai models | Model-specific launch files | dabai_a.launch.py, dabai_al.launch.py, dabai_dcw2.launch.py, dabai_max_pro.launch.py |
| Deeya | deeya.launch.py | Not supported |
### **Parameter Differences** ### **Parameter Differences**
@@ -136,24 +137,18 @@ With an open-source SDK, developers can directly submit issues and pull requests
| right_ir.image_raw.enable_pub_plugins | - | Added | Right IR transport plugins | | right_ir.image_raw.enable_pub_plugins | - | Added | Right IR transport plugins |
| force_ip_enable | - | Added | Force IP feature | | force_ip_enable | - | Added | Force IP feature |
| force_ip_mac | - | Added | Force IP MAC address | | force_ip_mac | - | Added | Force IP MAC address |
| force_ip_dhcp | - | Added | DHCP auto assignment |
| force_ip_address | - | Added | Force IP static address | | force_ip_address | - | Added | Force IP static address |
| force_ip_subnet_mask | - | Added | Force IP subnet mask | | force_ip_subnet_mask | - | Added | Force IP subnet mask |
| force_ip_gateway | - | Added | Force IP gateway | | force_ip_gateway | - | Added | Force IP gateway |
**Removed Parameters (main only, removed in v2-main)** **Removed or Renamed Parameters**
| **Parameter** | **Description** | | **Parameter** | **Description** |
| ------------------------------------ | ------------------------------------------------------------ | | ------------------------------------ | ------------------------------------------------------------ |
| enable_3d_reconstruction_mode | 3D reconstruction mode deprecated | | enable_3d_reconstruction_mode | Removed; no direct replacement |
| enable_hardware_reset | Hardware reset interface deprecated | | enable_hardware_reset | Removed |
| enable_hardware_noise_removal_filter | Hardware noise removal filter deprecated | | laser_on_off_mode | Renamed to `enable_laser` |
| laser_on_off_mode | Old laser on/off interface, replaced by interleave / laser_index | | enable_trigger_out | Renamed to `trigger_out_enabled` |
| enable_3d_reconstruction_mode | 3D reconstruction mode repeated; no longer used in v2-main |
| device_preset | Some logic migrated to new firmware / interleave parameters |
| enable_trigger_out | Old software trigger interface replaced by software_trigger_enabled |
| retry_on_usb3_detection_failure | Optional; logic adjusted or removed in v2-main |
| enable_color_undistortion | Old interface logic integrated elsewhere; still exists in v2-main but usage may be adjusted |
### **Topic Differences** ### **Topic Differences**
@@ -23,6 +23,12 @@
* 深度流的相机校准数据和元数据。 * 深度流的相机校准数据和元数据。
* `/camera/depth/metadata` * `/camera/depth/metadata`
* 来自深度流固件的底层元数据。 * 来自深度流固件的底层元数据。
* `/camera/depth/image_unaligned`
* 软件对齐前的深度图像。
* **条件:** 在 `depth_registration` 为 `true` 且 `align_mode` 为 `SW` 时发布;硬件对齐时不发布。
* `/camera/confidence/image_raw`
* `EnhancedDepthFilter` 生成的置信度图像,根据置信度帧格式编码为 `mono8` 或 `mono16`。
* **条件:** 增强深度滤波成功且该话题有订阅者时发布。
* `/camera/ir/image_raw` * `/camera/ir/image_raw`
* 红外(IR)流的原始图像数据。 * 红外(IR)流的原始图像数据。
* `/camera/ir/camera_info` * `/camera/ir/camera_info`
@@ -62,6 +68,28 @@
* 包含加速度计和陀螺仪数据的同步数据流(单条消息)。 * 包含加速度计和陀螺仪数据的同步数据流(单条消息)。
* **条件:** 在 `enable_sync_output_accel_gyro` 为 `true` 时发布。 * **条件:** 在 `enable_sync_output_accel_gyro` 为 `true` 时发布。
* `/camera/accel/imu_info`
* 加速度计标定信息和噪声特性,类型为 `orbbec_camera_msgs/msg/IMUInfo`。
* **条件:** 随加速度计输出提供。
* `/camera/gyro/imu_info`
* 陀螺仪标定信息和噪声特性,类型为 `orbbec_camera_msgs/msg/IMUInfo`。
* **条件:** 随陀螺仪输出提供。
### 外参话题
以下话题使用 `orbbec_camera_msgs/msg/Extrinsics` 类型发布数据流之间的外参:
* `/camera/depth_to_ir`
* `/camera/depth_to_color`
* `/camera/depth_to_left_ir`
* `/camera/depth_to_right_ir`
* `/camera/depth_to_accel`
* `/camera/depth_to_gyro`
* `/camera/left_color_to_right_color`
**条件:** `enable_publish_extrinsic` 必须为 `true`,且所选话题对应的两个数据流均已启用。仅发布连接设备支持的话题。
### 设备状态与诊断 ### 设备状态与诊断
* `/camera/device_status` * `/camera/device_status`
@@ -34,9 +34,9 @@ v2-main 分支提供全功能支持,包括新功能开发、性能优化和错
### **启动文件差异** ### **启动文件差异**
1. 在 v2-main 中,为 Gemini 330 系列添加了新的低功耗启动文件: 1. 在 v2-main 中,为 Gemini 330 系列添加了新的低 CPU 启动文件:
- `gemini_330_series_low_cpu.launch.py` - `gemini_330_series_low_cpu.launch.py`
2. v2-main 引入了对 **Gemini 435Le**、**Gemini 345** 和 **Gemini 345Lg** 相机的支持。 2. v2-main 引入了对 **Gemini 210**、**Gemini 301 系列**、**Gemini 435Le**、**Gemini 345** 和 **Gemini 345Lg** 相机的支持。
3. 由于 **OrbbecSDK_v2 仅支持 UVC 设备**,v2-main 中支持的相机型号范围比 main 略窄。详细信息见下表。 3. 由于 **OrbbecSDK_v2 仅支持 UVC 设备**,v2-main 中支持的相机型号范围比 main 略窄。详细信息见下表。
| **相机** | **main** | **v2-main** | | **相机** | **main** | **v2-main** |
@@ -46,20 +46,21 @@ v2-main 分支提供全功能支持,包括新功能开发、性能优化和错
| Gemini 345Lg | 不支持 | gemini345_lg.launch.py | | Gemini 345Lg | 不支持 | gemini345_lg.launch.py |
| Gemini 330 系列 | gemini_330_series.launch.py | gemini_330_series.launch.py | | Gemini 330 系列 | gemini_330_series.launch.py | gemini_330_series.launch.py |
| Gemini 330 低CPU | - | gemini_330_series_low_cpu.launch.py | | Gemini 330 低CPU | - | gemini_330_series_low_cpu.launch.py |
| Gemini 210 | gemini210.launch.py | gemini210.launch.py | | Gemini 301 系列 | 不支持 | gemini_301_series.launch.py |
| Gemini 210 | 不支持 | gemini210.launch.py |
| Gemini 2 | gemini2.launch.py | gemini2.launch.py | | Gemini 2 | gemini2.launch.py | gemini2.launch.py |
| Gemini 2L | gemini2L.launch.py | gemini2.launch.py | | Gemini 2L | gemini2L.launch.py | gemini2L.launch.py |
| Gemini 2XL | gemini2XL.launch.py | - | | Gemini 2XL | gemini2XL.launch.py | - |
| Femto Bolt | femto_bolt.launch.py | femto_bolt.launch.py | | Femto Bolt | femto_bolt.launch.py | femto_bolt.launch.py |
| Femto Mega | femto_mega.launch.py | femto_mega.launch.py | | Femto Mega | femto_mega.launch.py | femto_mega.launch.py |
| Femto | femto.launch.py | femto.launch.py | | Femto | femto.launch.py | femto.launch.py |
| Astra 2 | astra2.launch.py | astra2.launch.py | | Astra 2 | astra2.launch.py | astra2.launch.py |
| Astra | astra.launch.py | astra.launch.py | | Astra | astra.launch.py | astra.launch.py |
| Astra Mini Pro / S Pro | astra_mini_pro.launch.py ... | astra.launch.py |
| 多相机(同步) | multi_camera_synced.launch.py | multi_camera_synced.launch.py | | 多相机(同步) | multi_camera_synced.launch.py | multi_camera_synced.launch.py |
| 多相机(通用/通用) | multi_camera.launch.py | multi_camera.launch.py 或 orbbec_multicamera.launch.py | | 多相机(通用) | multi_camera.launch.py | multi_camera.launch.py |
| 单相机通用启动 | ob_camera.launch.py | orbbec_camera.launch.py | | 单相机通用启动 | ob_camera.launch.py | 未提供 |
| OpenNI 设备(大白、得雅) | 对应型号独立文件 | 不支持 | | 大白系列 | 对应型号独立启动文件 | dabai_a.launch.py、dabai_al.launch.py、dabai_dcw2.launch.py、dabai_max_pro.launch.py |
| 得雅 | deeya.launch.py | 不支持 |
### **参数差异** ### **参数差异**
@@ -136,24 +137,18 @@ v2-main 分支提供全功能支持,包括新功能开发、性能优化和错
| right_ir.image_raw.enable_pub_plugins | - | 已添加 | 右红外传输插件 | | right_ir.image_raw.enable_pub_plugins | - | 已添加 | 右红外传输插件 |
| force_ip_enable | - | 已添加 | 强制 IP 功能 | | force_ip_enable | - | 已添加 | 强制 IP 功能 |
| force_ip_mac | - | 已添加 | 强制 IP MAC 地址 | | force_ip_mac | - | 已添加 | 强制 IP MAC 地址 |
| force_ip_dhcp | - | 已添加 | DHCP 自动分配 |
| force_ip_address | - | 已添加 | 强制 IP 静态地址 | | force_ip_address | - | 已添加 | 强制 IP 静态地址 |
| force_ip_subnet_mask | - | 已添加 | 强制 IP 子网掩码 | | force_ip_subnet_mask | - | 已添加 | 强制 IP 子网掩码 |
| force_ip_gateway | - | 已添加 | 强制 IP 网关 | | force_ip_gateway | - | 已添加 | 强制 IP 网关 |
**已移除参数(仅 main 有,v2-main 中已移除)** **已移除或重命名的参数**
| **参数** | **描述** | | **参数** | **描述** |
| ------------------------------------ | ------------------------------------------------------------ | | ------------------------------------ | ------------------------------------------------------------ |
| enable_3d_reconstruction_mode | 3D 重建模式已弃用 | | enable_3d_reconstruction_mode | 已移除,无直接替代参数 |
| enable_hardware_reset | 硬件重置接口已弃用 | | enable_hardware_reset | 已移除 |
| enable_hardware_noise_removal_filter | 硬件噪声去除滤波器已弃用 | | laser_on_off_mode | 重命名为 `enable_laser` |
| laser_on_off_mode | 旧激光开关接口,由 interleave / laser_index 替换 | | enable_trigger_out | 重命名为 `trigger_out_enabled` |
| enable_3d_reconstruction_mode | 3D 重建模式重复;v2-main 中不再使用 |
| device_preset | 部分逻辑迁移到新固件 / 交错参数 |
| enable_trigger_out | 旧软件触发接口由 software_trigger_enabled 替换 |
| retry_on_usb3_detection_failure | 可选;v2-main 中逻辑已调整或移除 |
| enable_color_undistortion | 旧接口逻辑集成到其他地方;v2-main 中仍存在但使用可能已调整 |
### **话题差异** ### **话题差异**