mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-10 06:29:50 +08:00
docs: update example links and descriptions for net and GMSL multi-camera configurations
This commit is contained in:
@@ -38,7 +38,7 @@ ros2 launch orbbec_camera femto_mega.launch.py enumerate_net_device:=false net_d
|
||||
|
||||
**Multi Net camera**
|
||||
|
||||
For [multi_net_camera.launch.py](https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/examples/net_camera/multi_net_camera.launch.py) as an example:
|
||||
For [multi_net_camera.launch.py](https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/examples/multi_net_camera/multi_net_camera.launch.py) as an example:
|
||||
|
||||
```bash
|
||||
ros2 launch orbbec_camera multi_net_camera.launch.py
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
# GMSL_camera
|
||||
# GMSL Multi-Camera Synchronization
|
||||
|
||||
> This section describes how to use GMSL cameras in OrbbecSDK_ROS2.
|
||||
> This section describes how to synchronize multiple GMSL-connected Gemini 330 Series cameras in OrbbecSDK_ROS2.
|
||||
|
||||
You can find example usage code in the [example](https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples).
|
||||
The example is available in [gmsl_multi_camera_sync](https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples/gmsl_multi_camera_sync).
|
||||
|
||||
## Single GMSL camera
|
||||
## Configure device file permissions
|
||||
|
||||
The usage of GMSL camera in OrbbecSDK_ROS2 is the same as that of Gemini 330 series camera via USB. ROS2 v2.10.1 supports Gemini 335Lg, Gemini 338Lg, Gemini 345Lg, and Gemini 305g.
|
||||
Before starting the cameras, grant access to the camera synchronization device:
|
||||
|
||||
```bash
|
||||
ros2 launch orbbec_camera gemini_330_gmsl.launch.py
|
||||
sudo chmod 777 /dev/camsync
|
||||
```
|
||||
|
||||
## Multi GMSL camera
|
||||
## Configure the cameras
|
||||
|
||||
To get the `usb_port` of the GMSL camera, plug in the camera and run the following command in the terminal:
|
||||
|
||||
@@ -20,38 +20,26 @@ To get the `usb_port` of the GMSL camera, plug in the camera and run the followi
|
||||
ros2 run orbbec_camera list_devices_node
|
||||
```
|
||||
|
||||
For example, the obtained gmsl camera `usb_port`: `gmsl2-1`
|
||||
For example, a reported GMSL camera `usb_port` may be `gmsl2-1`.
|
||||
|
||||
Go to the [multi_gmsl_camera.launch.py](https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/examples/gmsl_camera/multi_gmsl_camera.launch.py) file and change the `usb_port`.
|
||||
Update the `usb_port` values in [multi_gmsl_camera_synced.launch.py](https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/examples/gmsl_multi_camera_sync/multi_gmsl_camera_synced.launch.py) to match the GMSL links reported by your system. The example uses the standard `gemini_330_series.launch.py` for both cameras.
|
||||
|
||||
```bash
|
||||
ros2 launch orbbec_camera multi_gmsl_camera.launch.py
|
||||
```
|
||||
## Synchronization setup
|
||||
|
||||
> Note: By default, multi_gmsl_camera.launch.py only starts color and depth. If you want to start other sensors, please go to [camera_secondary_params.yaml](https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/config/camera_secondary_params.yaml) to modify them.
|
||||
|
||||
Use `gemini_330_gmsl.launch.py` for Gemini 335Lg / 338Lg, `gemini_301_series.launch.py` for Gemini 305g, and `gemini345_lg.launch.py` for Gemini 345Lg when composing a multi-camera launch.
|
||||
|
||||
## Multi GMSL camera synced
|
||||
|
||||
First, please see how to use [multi_camera_synced](./multi_camera_synced.md).
|
||||
|
||||
In addition, GMSL multi-camera synced does not require Multi-Camera Sync Hub Pro, so there is no need to set the `primary` mode. Each GMSL camera is `secondary`.
|
||||
GMSL multi-camera synchronization does not require Multi-Camera Sync Hub Pro. Both cameras use `secondary_synced` mode. The receiving camera starts first; the camera that enables the host-side GMSL trigger starts two seconds later.
|
||||
|
||||
**Additional Parameter Settings**
|
||||
|
||||
* `gmsl_trigger_fps` : set hardware soc trigger source frame rate.
|
||||
* `enable_gmsl_trigger` : enable hardware soc trigger.
|
||||
* `gmsl_trigger_fps`: Sets the hardware SoC trigger source frame rate.
|
||||
* `enable_gmsl_trigger`: Enables the hardware SoC trigger. Enable it on only one camera in the group.
|
||||
|
||||
**Run the launch**
|
||||
|
||||
Please refer to the configuration in [multi_gmsl_camera_synced.launch.py.](https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/examples/gmsl_camera/multi_gmsl_camera_synced.launch.py)
|
||||
|
||||
```bash
|
||||
ros2 launch orbbec_camera multi_gmsl_camera_synced.launch.py
|
||||
```
|
||||
|
||||
> Note: By default, multi_gmsl_camera_synced.launch.py only starts color and depth. If you want to start other sensors, please go to [camera_secondary_params.yaml](https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/config/camera_secondary_params.yaml) and [camera_params.yaml](https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/config/camera_params.yaml) to modify them.
|
||||
> Note: Both cameras load [camera_secondary_params.yaml](https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/config/camera_secondary_params.yaml), which enables color and depth by default. Modify that file to configure other streams.
|
||||
|
||||
## Usage Limitations of GMSL Cameras
|
||||
|
||||
|
||||
+15
-1
@@ -26,7 +26,21 @@ Further details on efficient intra-process communication can be found [here](htt
|
||||
|
||||
Load other component nodes (consumers of the wrapper topics) in the same way.
|
||||
|
||||
**Using a launch file**
|
||||
**Using the shared multi-camera container example**
|
||||
|
||||
The [multi_camera_shared_container](https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples/multi_camera_shared_container) example creates one multithreaded component container and loads two Gemini 330 Series camera components into it. Update the two `usb_port` values in `multi_camera_shared_container.launch.py`, then run:
|
||||
|
||||
```bash
|
||||
ros2 launch orbbec_camera multi_camera_shared_container.launch.py
|
||||
```
|
||||
|
||||
The example passes the following arguments to both camera includes:
|
||||
|
||||
* `attach_to_shared_component_container=true`: Loads the camera component into an existing container instead of creating another container.
|
||||
* `component_container_name=shared_orbbec_container`: Selects the target container. The value must match the name of the container created by the parent launch file.
|
||||
* `use_intra_process_comms=true`: Enables intra-process communication for the camera component.
|
||||
|
||||
**Using the single-camera intra-process demonstration launch**
|
||||
|
||||
```bash
|
||||
ros2 launch orbbec_camera gemini_intra_process_demo_launch.py
|
||||
|
||||
Reference in New Issue
Block a user