mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-04 20:17:47 +08:00
65 lines
2.7 KiB
Plaintext
65 lines
2.7 KiB
Plaintext
# 常见问题
|
||
|
||
### 意外崩溃
|
||
|
||
如果相机节点意外崩溃,它将在当前运行目录中生成崩溃日志:`Log/camera_crash_stack_trace_xx.log`。请将此日志发送给支持团队或提交到GitHub issue以获得进一步帮助。
|
||
|
||
### 多相机无数据流
|
||
|
||
**电源供应不足**:
|
||
|
||
- 确保每个相机连接到单独的集线器。
|
||
- 使用有源集线器为每个相机提供足够的电力。
|
||
|
||
**高分辨率**:
|
||
|
||
- 尝试降低分辨率以解决数据流问题。
|
||
|
||
**增加usbfs_memory_mb值**:
|
||
|
||
- 通过运行以下命令将 `usbfs_memory_mb` 值增加到128MB(这是参考值,可根据系统需求调整):
|
||
|
||
```
|
||
echo 128 | sudo tee /sys/module/usbcore/parameters/usbfs_memory_mb
|
||
```
|
||
|
||
- 要使此更改永久生效,请查看[此链接](https://github.com/OpenKinect/libfreenect2/issues/807)。
|
||
|
||
### 其他故障排除
|
||
|
||
- 如果遇到其他问题,将 `log_level` 参数设置为 `debug`。这将在运行目录中生成SDK日志文件:`Log/OrbbecSDK.log.txt`。请将此文件提供给支持团队以获得进一步帮助。
|
||
- 如果需要固件日志,将 `enable_heartbeat` 设置为 `true` 以激活此功能。
|
||
|
||
### 为什么有这么多启动文件?
|
||
|
||
- 不同的相机具有不同的默认分辨率和图像格式。
|
||
- 为简化使用,每个相机都有自己的启动文件。
|
||
|
||
### 多相机连接时如何指定启动某一个相机
|
||
|
||
如果启动文件未显式指定要使用的设备,在同时连接多台相机时,驱动会默认连接到其中一个(默认设备)。
|
||
|
||
可以先通过以下命令查看设备序列号:
|
||
```bash
|
||
ros2 run orbbec_camera list_devices_node
|
||
```
|
||
|
||
然后在启动时显式指定序列号,例如:
|
||
```bash
|
||
ros2 launch orbbec_camera femto_bolt.launch.py serial_number:=CL8H741005J
|
||
```
|
||
|
||
### 多相机启动或切换流时为什么需要设置延迟?
|
||
|
||
多相机系统对带宽和设备初始化时序要求较高。如果在同一时间启动或切换多个相机流,可能会引发带宽瞬时拥塞,进而导致设备初始化失败、流启动异常或丢帧等问题。为确保系统稳定性,建议注意以下几点:
|
||
|
||
- **多相机启动阶段**
|
||
|
||
在启动多个相机时,建议在每个相机启动之间增加适当的延迟(例如 **2s**),以避免瞬时带宽过载或底层设备初始化冲突。
|
||
|
||
- **流开关与模式切换阶段**
|
||
|
||
在调用开关流相关服务(如 `set_streams_enable`、`toggle_depth`、`toggle_color`)时,不建议同时触发多个接口调用,应在各操作之间设置合理的时间间隔(例如 **20 ms**),以保证流状态切换的可靠性。
|
||
|
||
遵循上述时序控制原则,有助于提升多相机系统在启动和运行过程中的稳定性,减少异常和不可预期行为的发生。
|