[docs]Update docs

This commit is contained in:
jj
2024-12-18 18:35:58 +08:00
parent eca5beffcc
commit 0fcf1ea16f
152 changed files with 4338 additions and 589 deletions
+30
View File
@@ -0,0 +1,30 @@
.. 这一页是模块目录树
.. .. image:: ../image/product_h4.png
.. image:: ../image/product_h5.png
======================================================
Multiple cameras
======================================================
This section describes how to configure and use multiple Orbbec cameras simultaneously in a ROS 2 environment.
======================================================
.. toctree::
:maxdepth: 2
:caption: This Section Covers:
start_multi_camera.md
======================================================
.. image:: ../image/product_h1.png
+97
View File
@@ -0,0 +1,97 @@
<!-- docs/source/4_start_multi_camera/start_multi_camera.md -->
# Multiple cameras
This section describes how to configure and use multiple Orbbec cameras simultaneously in a ROS 2 environment.
- Table of contents
- [Script to list connected cameras](#script-to-list-connected-cameras)
- [Setup for multiple camera launch](#setup-for-multiple-camera-launch)
- [Running the launch file](#running-the-launch-file)
- [Configuring the TF tree for multiple cameras](#configuring-the-tf-tree-for-multiple-cameras)
- [Example TF configuration for two cameras](#example-tf-configuration-for-two-cameras)
## List connected cameras
To determine which USB ports the cameras are connected to, you can execute the following command.
This Command lists all Orbbec devices attached to the system along with their USB port and serial number:
```bash
$ ros2 run orbbec_camera list_devices_node
```
As follows:
```
USB port_id: 4-1.1-3
Modified USB port_id: 4-1.1
[INFO]serial: CP7X54P0004D
[INFO]usb port: 4-1.1
[INFO]usb connect type: USB3.2
USB port_id: 4-1.2-5
Modified USB port_id: 4-1.2
[INFO]serial: CP7X54P000AA
[INFO]usb port: 4-1.2
[INFO]usb connect type: USB3.2
```
From the log above, it appears that the two USB cameras you are connected to are using USB ports **4-1.1 and 4-1.2**.
## Setup for multiple camera launch
You can launch multiple cameras by specifying different USB ports for each camera. You can refer to orbbec_multicamera.launch.py to implement the multicamera launch script you need..
## Running the launch file
To execute the launch configuration for multiple cameras, use the command:
```
ros2 launch orbbec_camera orbbec_multicamera.launch.py config_file_path:=multicamera.yaml
```
**Note:**
1. Multiple devices default config reference config/multicamera.yaml
2. Multiple cameras synced config reference config/multicamera_synced.yaml
## Example TF configuration for two cameras
When using multiple cameras, it's essential to calibrate them and publish a static TF tree for each camera. The following Python script configures the TF tree based on your calibration results:
```python
from launch import LaunchDescription
from launch_ros.actions import Node
# Define the extrinsics for each camera (x, y, z, roll, pitch, yaw)
camera_01_transform = ['0.1', '0', '0.2', '0', '0', '1.57'] # Example parameters
camera_02_transform = ['-0.1', '0', '0.2', '0', '0', '-1.57'] # Example parameters
def generate_launch_description():
ld = LaunchDescription([
Node(
package='tf2_ros',
executable='static_transform_publisher',
name='camera_01_tf',
arguments=camera_01_transform + ['base_link', 'camera_01_link'],
output='screen'
),
Node(
package='tf2_ros',
executable='static_transform_publisher',
name='camera_02_tf',
arguments=camera_02_transform + ['base_link', 'camera_02_link'],
output='screen'
)
])
return ld
```
Save this configuration as `multi_camera_tf.launch.py` in the launch directory of the Orbbec camera package. To run it, use:
```bash
ros2 launch orbbec_camera multi_camera_tf.launch.py
```