5.2.4. GMSL_camera
This section describes how to use GMSL camera in OrbbecSDK_ROS2.Currently, only Gemini 335Lg and Gemini 345Lg, other GMSL devices will be supported in the near future.
You can find example usage code in the example.
5.2.4.1. Single GMSL camera
The usage of GMSL camera in OrbbecSDK_ROS2 is the same as that of Gemini 330 series camera via USB.
ros2 launch orbbec_camera gemini_330_gmsl.launch.py
5.2.4.2. Multi GMSL camera
To get the usb_port of the GMSL camera, plug in the camera and run the following command in the terminal:
ros2 run orbbec_camera list_devices_node
For example, the obtained gmsl camera usb_port: gmsl2-1
Go to the multi_gmsl_camera.launch.py file and change the usb_port.
ros2 launch orbbec_camera multi_gmsl_camera.launch.py
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 to modify them.
5.2.4.3. Multi GMSL camera synced
First, please see how to use multi_camera_synced.
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.
Additional Parameter Settings
gmsl_trigger_fps: set hardware soc trigger source frame rate.enable_gmsl_trigger: enable hardware soc trigger.
Run the launch
Please refer to the configuration in multi_gmsl_camera_synced.launch.py.
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 and camera_params.yaml to modify them.
5.2.4.4. Usage Limitations of GMSL Cameras
GMSL cameras interface with various deserializer chips such as MAX9296 and MAX92716. Orbbec GMSL cameras support multiple streams including depth, color, IR, and IMU data, but certain usage limitations apply:
GMSL only supports V4L2 and YUYV format; MJPG format is not supported. RGB output is derived from YUYV format conversion.
Metadata for Gemini-335Lg is provided via a separate node, while metadata for other models is embedded within video frames, which remains transparent to users.
When using the Max96712 as a deserializer chip, due to the characteristics of the Max96712 chip, a multi - machine synchronous trigger signal must be provided in the secondary_synced mode. Otherwise, data flow interruption will occur when switching the data stream
Two cameras connected on the same MAX9296, MAX96712 LinkA/B, or MAX96712 LinkC/D have the following limitations:
Before driver version v1.2.02, there was a restriction that the RGB of one camera and the right IR of another camera could not stream simultaneously. After driver version v1.2.02, the restriction was modified to that the RGB of one camera and the left IR of another camera cannot stream simultaneously.
Before driver version v1.2.02, there was a restriction that the DEPTH of one camera and the left IR of another camera could not stream simultaneously. After driver version v1.2.02, the restriction was modified to that the DEPTH of one camera and the right IR of another camera cannot stream simultaneously.
The combined maximum number of active streams from both cameras is limited to four (satisfying the above two conditions ensures compliance).
For further known limitations, please refer to Usage Limitations of Orbbec GMSL Cameras