6.4. Other Tools
6.4.1. Ob_benchmark tool
The goal of this tool is to benchmark the performance of various OrbbecSDK_ROS2 camera configurations. The benchmark results depend on the camera and settings used.(Currently only works with ROS2 Humble)
You can find example usage code in the example.
6.4.1.1. Tool Configuration (start_benchmark_params.json)
{
"start_benchmark_params": {
"camera_name": [
"camera_01",
"camera_02",
"camera_03",
"camera_04"
],
"process_name": "component_conta",
"switch_cycle": 300,
"test_cycle": 1,
"skip_number": 30
}
}
camera_name: Names of the cameras to be configured. Example:"camera_01","camera_02", etc.process_name: The name of the process to be monitored. For example,"component_conta"will monitor the data of the container process.switch_cycle: The cycle time for switching configurations, in seconds. For example, setting it to300means the configuration will switch every 300 seconds.test_cycle: The testing cycle, in seconds. For example, setting it to1means the tool will collect data for the monitored process every 1 second.skip_number: The number of data points to skip. For example, setting it to30means that the first 30 data points will be ignored.
6.4.1.2. Camera configuration (launch files)
In the launch folder, there are multiple.launch.py files (ob_benchmark_0.launch.py, ob_benchmark_1.launch.py, …, ob_benchmark_19.launch.py). Each file corresponds to a different camera configuration.
6.4.1.3. Running the ob_benchmark tool
To run the tool, use the following commands:
source install/setup.bash
ros2 run orbbec_camera ob_benchmark_node
6.4.1.4. Output Data Files
The output data files will be stored in the ob_benchmark folder with filenames like 0.csv, 1.csv, …, 19.csv. For example:
0.csvcontains data from theob_benchmark_0.launch.pyconfiguration.1.csvcontains data from theob_benchmark_1.launch.pyconfiguration.