mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-07 05:27:45 +08:00
Add camera datasheet and the benchmark chapter
This commit is contained in:
@@ -122,7 +122,6 @@ Here is the device support list of main branch (v1.x) and v2-main branch (v2.x):
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
**Note**: If you do not find your device, please contact our FAE or sales representative for help.
|
||||
|
||||
**Definition**:
|
||||
@@ -139,8 +138,8 @@ The following devices are supported by the OrbbecSDK ROS2 Wrapper v2-main branch
|
||||
|
||||
For optimal performance, we strongly recommend updating to the latest firmware version. This ensures that you benefit from the most recent enhancements and bug fixes.
|
||||
|
||||
| Product List | Minimal Firmware Version | **Launch File** |
|
||||
| :------------- | :----------------------- | :-------------------------- |
|
||||
| Product List | Minimal Firmware Version | **Launch File** |
|
||||
|:-------------- |:------------------------ |:--------------------------- |
|
||||
| Gemini 435Le | 1.2.04 | gemini435_le.launch.py |
|
||||
| Gemini 335 | 1.2.20 | gemini_330_series.launch.py |
|
||||
| Gemini 336 | 1.2.20 | gemini_330_series.launch.py |
|
||||
@@ -160,6 +159,102 @@ For optimal performance, we strongly recommend updating to the latest firmware v
|
||||
All launch files are essentially similar, with the primary difference being the default values of the parameters set
|
||||
for different models within the same series. Differences in USB standards, such as USB 2.0 versus USB 3.0, may require adjustments to these parameters. If you encounter a startup failure, please carefully review the specification manual. Pay special attention to the resolution settings in the launch file, as well as other parameters, to ensure compatibility and optimal performance.
|
||||
|
||||
## Orbbec camera datasheet
|
||||
|
||||
Refer to the camera datasheet for more information.
|
||||
|
||||
<style>
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
th, td {
|
||||
border: 1px solid #ccc;
|
||||
padding: 8px;
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
}
|
||||
thead th {
|
||||
background-color: #1f4e78;
|
||||
color: white;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
}
|
||||
</style>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Product Series</th>
|
||||
<th>Product</th>
|
||||
<th>Datasheet</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align: center;">Gemini 435Le</td>
|
||||
<td>Gemini 435Le</td>
|
||||
<td><a href="https://new-orbbec3d-s3.s3.amazonaws.com/wp-content/uploads/2025/06/04011158/Orbbec-Gemini-435Le-Datasheet-V1.pdf">Orbbec Gemini 435Le Datasheet</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: center;" rowspan="6">Gemini 330</td>
|
||||
<td>Gemini 335</td>
|
||||
<td rowspan="4"><a href="https://new-orbbec3d-s3.s3.amazonaws.com/wp-content/uploads/2025/04/22062452/Gemini-330-series-Datasheet-V1.6.pdf">Gemini 330 Series Datasheet for USB Devices</a></td>
|
||||
</tr>
|
||||
<tr><td>Gemini 336</td></tr>
|
||||
<tr><td>Gemini 335L</td></tr>
|
||||
<tr><td>Gemini 336L</td></tr>
|
||||
<tr>
|
||||
<td>Gemini 335Lg</td>
|
||||
<td><a href="https://new-orbbec3d-s3.s3.amazonaws.com/wp-content/uploads/2024/10/22030914/Gemini-335Lg-Datasheet-V1.0-241022.pdf">Gemini 330 Series Datasheet for GMSL Devices</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Gemini 335Le</td>
|
||||
<td><a href="https://new-orbbec3d-s3.s3.amazonaws.com/wp-content/uploads/2025/03/24023151/Orbbec-Gemini-335Le-Datasheet-V1-2.pdf">Gemini 330 Series Datasheet for Ethernet Devices</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: center;" rowspan="3">Gemini 2</td>
|
||||
<td>Gemini 2</td>
|
||||
<td rowspan="2"><a href="https://xm917ch2uk.feishu.cn/file/Khxfb2vdioUghexIMqJcAyL3nXf">Orbbec Gemini 2 Series Datasheet</a></td>
|
||||
</tr>
|
||||
<tr><td>Gemini 2 L</td></tr>
|
||||
<tr>
|
||||
<td>Gemini 2 XL</td>
|
||||
<td><a href="https://xm917ch2uk.feishu.cn/file/QW2vbNvwxoocRIxSL6Zcvut2npS">Orbbec Gemini 2 XL Datasheet</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: center;" rowspan="3">Femto</td>
|
||||
<td>Femto Bolt</td>
|
||||
<td><a href="https://d1cd332k3pgc17.cloudfront.net/wp-content/uploads/2024/08/ORBBEC_Datasheet_Femto-Bolt-v1.0.pdf">Orbbec Femto Bolt Datasheet</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Femto Mega</td>
|
||||
<td><a href="https://d1cd332k3pgc17.cloudfront.net/wp-content/uploads/2023/04/ORBBEC_Datasheet_Femto-Mega1.pdf">Orbbec Femto Mega Datasheet</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Femto Mega I</td>
|
||||
<td><a href="https://d1cd332k3pgc17.cloudfront.net/wp-content/uploads/2023/08/ORBBEC_Datasheet_Femto-Mega-I.pdf">Orbbec Femto Mega I Datasheet</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: center;" rowspan="3">Astra</td>
|
||||
<td>Astra 2</td>
|
||||
<td><a href="https://d1cd332k3pgc17.cloudfront.net/wp-content/uploads/2023/04/ORBBEC_Datasheet_Astra-2_V1.2.pdf">Orbbec Astra 2 Datasheet</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Astra+</td>
|
||||
<td><a href="https://xm917ch2uk.feishu.cn/file/Qk0zbx26Doh8XMxw0rIcOgQYnff">Orbbec Astra+ Datasheet</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Astra Mini Pro</td>
|
||||
<td><a href="https://d1cd332k3pgc17.cloudfront.net/wp-content/uploads/2023/04/ORBBEC_Datasheet_Astra-Mini-Pro-1.pdf">Orbbec Astra Mini Pro Datasheet</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
## Support Platforms
|
||||
|
||||
- Linux x64: tested on Ubuntu 22.04
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
Benchmark
|
||||
======================================================
|
||||
|
||||
This chapter introduces how to use the benchmark tool and provides test results for different cameras.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
introduction.md
|
||||
benchmark_usage.md
|
||||
benchmark_data.md
|
||||
@@ -0,0 +1,3 @@
|
||||
# Benchmark Data
|
||||
|
||||
This section records the data of using the benchmark tool to test different cameras
|
||||
@@ -0,0 +1,119 @@
|
||||
# Benchmark Usage
|
||||
|
||||
This section introduces how to use the benchmark tool in C++ and Python, and provides an example YAML configuration file.
|
||||
|
||||
## Using common benchmark node
|
||||
|
||||
```
|
||||
ros2 run orbbec_camera common_benchmark_node.py \
|
||||
--run_time 2h \
|
||||
--csv_file /path/to/log.csv
|
||||
```
|
||||
|
||||
|
||||
|
||||
* **Parameters**
|
||||
* **--run_time**: Duration for monitoring, specified as time strings like `"10s"`, `"5m"`, `"1h"`, `"2d"`. Default is 10 seconds.
|
||||
* **--csv_file**: Path to the output CSV file. By default, it is saved in the workspace directory with the name "camera_monitor_log.csv".
|
||||
|
||||
## Using service benchmark node
|
||||
|
||||
### ROS2 C++
|
||||
|
||||
* **Single service benchmark**
|
||||
|
||||
```
|
||||
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
|
||||
```
|
||||
|
||||
* ****Multiple services benchmark (YAML config)****
|
||||
|
||||
```
|
||||
ros2 run orbbec_camera service_benchmark_node \
|
||||
--ros-args \
|
||||
-p yaml_file:=/path/to/default_service_cpp.yaml
|
||||
```
|
||||
|
||||
### ROS2 Python
|
||||
|
||||
* **Single service benchmark**
|
||||
|
||||
```
|
||||
ros2 run orbbec_camera service_benchmark_node.py --service /camera/get_depth_gain --count 10
|
||||
```
|
||||
|
||||
* ****Multiple services benchmark (YAML config)****
|
||||
|
||||
```
|
||||
ros2 run orbbec_camera service_benchmark_node.py --yaml_file /path/to/default_service.yaml
|
||||
```
|
||||
|
||||
|
||||
|
||||
### **Example YAML configuration**
|
||||
|
||||
We provide an example YAML configuration, located in the `scripts` directory as `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}
|
||||
```
|
||||
@@ -0,0 +1,45 @@
|
||||
# Introduction
|
||||
|
||||
This section introduces the benchmark tool, explaining its purpose, features, and what it can help you measure.
|
||||
|
||||
## common benchmark node
|
||||
|
||||
`common_benchmark_node.py` is a tool for monitoring the performance of Orbbec cameras running in a ROS environment. It collects and records key camera metrics such as frame rate, latency, system resource usage, and packet loss rate in real time, helping users evaluate the stability and performance of camera nodes (updated once per second).
|
||||
|
||||
**Features**
|
||||
|
||||
- Measure published image frame rate and latency (current, min, max, average)
|
||||
|
||||
- Monitor the camera node's CPU/ARM usage (current, min, max, average)
|
||||
|
||||
- Track frame drop rate (publisher) and packet loss rate (subscriber)
|
||||
|
||||
- Print real-time statistics (1 Hz) to the terminal and save results to a CSV file
|
||||
|
||||
- Support configurable runtime duration and CSV output path
|
||||
|
||||
**Example**
|
||||
|
||||
In ROS1, both frame drop rate and packet loss rate can be measured, while in ROS2, the header lacks the `seq` field, so only the publisher-side frame drop rate is calculated.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## service benchmark node
|
||||
|
||||
The `service_benchmark_node` tool is used to monitor the performance of service calls. It can measure the success rate of service calls and the time required to execute service.
|
||||
|
||||
**Features**
|
||||
|
||||
- Benchmark a single service call, measuring latency and success rate
|
||||
|
||||
- Benchmark multiple services as defined in a YAML configuration file
|
||||
|
||||
- Optionally save benchmark results to a CSV file
|
||||
|
||||
**Example**
|
||||
|
||||

|
||||
|
||||
When you need to collect data for multiple services, it is recommended to use a CSV file for analysis.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 93 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 163 KiB |
Reference in New Issue
Block a user