mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-04 12:07:46 +08:00
116 lines
3.2 KiB
Plaintext
116 lines
3.2 KiB
Plaintext
# 性能基准测试使用
|
|
|
|
本节介绍如何在 C++ 和 Python 中使用性能基准测试工具,并提供示例 YAML 配置文件。
|
|
|
|
## 使用通用基准测试节点
|
|
|
|
```
|
|
ros2 run orbbec_camera common_benchmark_node.py \
|
|
--run_time 2h \
|
|
--csv_file /path/to/log.csv
|
|
```
|
|
|
|
* **参数**
|
|
* **--run_time**:监控持续时间,指定为时间字符串,如 `"10s"`、`"5m"`、`"1h"`、`"2d"`。默认为 10 秒。
|
|
* **--csv_file**:输出 CSV 文件的路径。默认情况下,它保存在工作空间目录中,名称为 "camera_monitor_log.csv"。
|
|
|
|
## 使用服务基准测试节点
|
|
|
|
### ROS2 C++
|
|
|
|
* **单个服务基准测试**
|
|
|
|
```
|
|
ros2 run orbbec_camera service_benchmark_node \
|
|
--ros-args \
|
|
-p service_name:=/camera/get_depth_gain \
|
|
-p service_type:=orbbec_camera_msgs/srv/GetInt32 \
|
|
-p count:=10
|
|
```
|
|
|
|
* **多个服务基准测试(YAML 配置)**
|
|
|
|
```
|
|
ros2 run orbbec_camera service_benchmark_node \
|
|
--ros-args \
|
|
-p yaml_file:=/path/to/default_service_cpp.yaml
|
|
```
|
|
|
|
### ROS2 Python
|
|
|
|
* **单个服务基准测试**
|
|
|
|
```
|
|
ros2 run orbbec_camera service_benchmark_node.py --service /camera/get_depth_gain --count 10
|
|
```
|
|
|
|
* **多个服务基准测试(YAML 配置)**
|
|
|
|
```
|
|
ros2 run orbbec_camera service_benchmark_node.py --yaml_file /path/to/default_service.yaml
|
|
```
|
|
|
|
### **示例 YAML 配置**
|
|
|
|
我们提供了一个示例 YAML 配置,位于 `scripts` 目录中,名为 `service_default.yaml`。
|
|
|
|
```yaml
|
|
default_count: 50
|
|
|
|
services:
|
|
- name: /camera/get_auto_white_balance
|
|
type: orbbec_camera_msgs/srv/GetInt32
|
|
- name: /camera/get_color_exposure
|
|
type: orbbec_camera_msgs/srv/GetInt32
|
|
- name: /camera/get_color_gain
|
|
type: orbbec_camera_msgs/srv/GetInt32
|
|
- name: /camera/get_depth_exposure
|
|
type: orbbec_camera_msgs/srv/GetInt32
|
|
- name: /camera/get_depth_gain
|
|
type: orbbec_camera_msgs/srv/GetInt32
|
|
- name: /camera/get_device_info
|
|
type: orbbec_camera_msgs/srv/GetDeviceInfo
|
|
- name: /camera/send_software_trigger
|
|
type: std_srvs/srv/SetBool
|
|
request: {data: false}
|
|
- name: /camera/set_auto_white_balance
|
|
type: std_srvs/srv/SetBool
|
|
request: {data: false}
|
|
- name: /camera/set_color_ae_roi
|
|
type: orbbec_camera_msgs/srv/SetArrays
|
|
request: {data_param: [0,1279,0,719]}
|
|
- name: /camera/set_color_auto_exposure
|
|
type: std_srvs/srv/SetBool
|
|
request: {data: false}
|
|
- name: /camera/set_color_exposure
|
|
type: orbbec_camera_msgs/srv/SetInt32
|
|
request: {data: 30}
|
|
- name: /camera/set_color_flip
|
|
type: std_srvs/srv/SetBool
|
|
request: {data: false}
|
|
- name: /camera/set_color_gain
|
|
type: orbbec_camera_msgs/srv/SetInt32
|
|
request: {data: 20}
|
|
- name: /camera/set_color_mirror
|
|
type: std_srvs/srv/SetBool
|
|
request: {data: false}
|
|
- name: /camera/set_color_rotation
|
|
type: orbbec_camera_msgs/srv/SetInt32
|
|
request: {data: 90}
|
|
- name: /camera/set_depth_ae_roi
|
|
type: orbbec_camera_msgs/srv/SetArrays
|
|
request: {data_param: [0,1279,0,719]}
|
|
- name: /camera/set_depth_auto_exposure
|
|
type: std_srvs/srv/SetBool
|
|
request: {data: false}
|
|
- name: /camera/set_depth_exposure
|
|
type: orbbec_camera_msgs/srv/SetInt32
|
|
request: {data: 3000}
|
|
- name: /camera/set_depth_flip
|
|
type: std_srvs/srv/SetBool
|
|
request: {data: false}
|
|
- name: /camera/set_depth_gain
|
|
type: orbbec_camera_msgs/srv/SetInt32
|
|
request: {data: 200}
|
|
```
|