This commit is contained in:
obyalian
2025-10-22 03:11:03 +00:00
parent 12609c41d8
commit 0d2f98c1da
641 changed files with 33911 additions and 1284 deletions
@@ -0,0 +1,446 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="../../../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.2.4. GMSL_camera &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../../_static/custom.css?v=63de077d" />
<link rel="shortcut icon" href="../../../_static/orbbec_footerlogo_3d_world.svg"/>
<script src="../../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../../../_static/documentation_options.js?v=5929fcd5"></script>
<script src="../../../_static/doctools.js?v=9bcbadda"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
<link rel="next" title="5.3.1. Aligning Depth to Color in ROS 2" href="../configuration/align_depth_color.html" />
<link rel="prev" title="5.2.3. Multi_camera_synced_verification_tool" href="multi_camera_synced_verification_tool.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../../index.html" class="icon icon-home">
OrbbecSDK V2 ROS2 Wrapper
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../1_overview/overview.html">1. Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../1_overview/introduction.html">1.1. Introduction</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/introduction.html#support-hardware-products">1.1.1. Support Hardware Products</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/introduction.html#orbbec-camera-datasheet">1.1.2. Orbbec camera datasheet</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/introduction.html#support-platforms">1.1.3. Support Platforms</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html">1.2. Orbbec SDK Overview</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#terms">1.2.1. Terms</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#orbbec-sdk-v2-architecture-overview">1.2.2. Orbbec SDK v2 Architecture Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#sdk-concept-overview">1.2.3. SDK Concept Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#sdk-programming-model">1.2.4. SDK Programming Model</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../2_installation/installation.html">2. Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../2_installation/build_the_package.html">2.1. Build from Source</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../2_installation/build_the_package.html#environment">2.1.1. Environment</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../2_installation/build_the_package.html#linux-ros2-wrapper-compilation">2.1.2. Linux ROS2 Wrapper Compilation</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../2_installation/registration_script.html">2.2. Registration script (required)</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../3_quickstarts/quickstarts.html">3. Quickstarts</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../3_quickstarts/quickstart.html">3.1. ROS Package QuickStarts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/quickstart.html#introduction">3.1.1. Introduction</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/quickstart.html#build-your-first-camera-application">3.1.2. Build your First Camera Application</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#step-1-source-ros-2-and-workspace">3.1.2.1. Step 1: Source ROS 2 and Workspace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#step-2-launch-the-camera-node">3.1.2.2. Step 2: Launch the Camera Node</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#step-3-visualize-in-rviz2">3.1.2.3. Step 3: Visualize in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/quickstart.html#sample-features">3.1.3. Sample Features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#list-available-topics-services-parameters">3.1.3.1. List available topics / services/ parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#echo-a-topic">3.1.3.2. Echo a topic</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#call-a-service">3.1.3.3. Call a service</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#record-with-rosbag2">3.1.3.4. Record with rosbag2</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html">3.2. OrbbecViewer QuickStarts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#download">3.2.1. Download</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#connect-the-device">3.2.2. Connect the device</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#camera-control">3.2.3. Camera Control</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#device-information-and-firmware-upgrade">3.2.4. Device information and firmware upgrade</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../4_application_guide/application_guide.html">4. Application Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/launch_parameters.html">4.1. Launch parameters</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#core-stream-configuration">4.1.1. Core &amp; Stream Configuration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#sensor-controls">4.1.2. Sensor Controls</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#color-stream">4.1.2.1. Color Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#depth-stream">4.1.2.2. Depth Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#ir-stream">4.1.2.3. IR Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#laser-ldp">4.1.2.4. Laser / LDP</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#device-sync-advanced-features">4.1.3. Device, Sync &amp; Advanced Features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#multi-camera-synchronization">4.1.3.1. Multi-Camera Synchronization</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#network-cameras">4.1.3.2. Network Cameras</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#device-specific">4.1.3.3. Device-Specific</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#disparity">4.1.3.4. Disparity</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#interleave-ae-mode">4.1.3.5. Interleave AE Mode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#intra-camera-synchronization">4.1.3.6. Intra-Camera Synchronization</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#basic-general-parameters">4.1.4. Basic &amp; General Parameters</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#firmware-backend">4.1.4.1. Firmware &amp; Backend</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#tf-extrinsics-calibration">4.1.4.2. TF, Extrinsics &amp; Calibration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#time-synchronization">4.1.4.3. Time Synchronization</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#logging-diagnostics">4.1.4.4. Logging &amp; Diagnostics</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#miscellaneous">4.1.4.5. Miscellaneous</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#imu">4.1.5. IMU</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#depth-filters">4.1.6. Depth Filters</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/services.html">4.2. All available services for camera control</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#stream-control">4.2.1. Stream Control</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#color-stream">4.2.1.1. Color Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#depth-stream">4.2.1.2. Depth Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#ir-stream">4.2.1.3. IR Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#all-streams">4.2.1.4. All Streams</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#sensor-emitter-control">4.2.2. Sensor &amp; Emitter Control</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#device-information-management">4.2.3. Device Information &amp; Management</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#synchronization-triggering">4.2.4. Synchronization &amp; Triggering</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#depth-filter-configuration">4.2.5. Depth Filter Configuration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#data-capture-calibration-management">4.2.6. Data Capture &amp; Calibration Management</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/topics.html">4.3. Available Topics</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#image-streams">4.3.1. Image Streams</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#point-cloud-topics">4.3.2. Point Cloud Topics</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#imu-topics">4.3.3. IMU Topics</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="../advanced_guide.html">5. Advanced Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../advanced_guide.html#performance-optimization">5.1. Performance &amp; Optimization</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../performance/lower_cpu_usage.html">5.1.1. Reducing CPU Usage with Orbbec ROS Package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#recommended-settings-for-lower-cpu-usage">5.1.1.1. Recommended Settings for Lower CPU Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#launch-files-used-for-testing">5.1.1.2. Launch Files Used for Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#test-environment">5.1.1.3. Test environment</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#test-setup">5.1.1.4. Test Setup</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#test-results">5.1.1.5. Test Results</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#further-optimizationa">5.1.1.6. Further Optimizationa</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../performance/efficient_intra_process_communication.html">5.1.2. Efficient intra-process communication:</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../performance/efficient_intra_process_communication.html#introduction">5.1.2.1. Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/efficient_intra_process_communication.html#example">5.1.2.2. Example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../performance/fastdds_tuning.html">5.1.3. Fast DDS Optimization for Orbbec Camera with ROS2</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../performance/fastdds_tuning.html#adjusting-system-parameters">5.1.3.1. Adjusting System Parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/fastdds_tuning.html#fast-dds-configuration">5.1.3.2. Fast DDS Configuration</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2 current"><a class="reference internal" href="../advanced_guide.html#multi-camera">5.2. Multi-Camera</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="multi_camera.html">5.2.1. Multi-Camera</a><ul>
<li class="toctree-l4"><a class="reference internal" href="multi_camera.html#no-data-stream-from-multiple-cameras">5.2.1.1. No Data Stream from Multiple Cameras</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera.html#image-topic-frame-rate-too-low-from-multiple-cameras">5.2.1.2. Image topic frame rate too low from Multiple Cameras</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="multi_camera_synced.html">5.2.2. Multi_camera synced Instructions</a><ul>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced.html#setup-instructions">5.2.2.1. Setup instructions</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced.html#checking-camera-port-with-orbbecsdk-ros2">5.2.2.2. Checking camera port with OrbbecSDK_ROS2</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced.html#orbbecsdk-ros2-multi-camera-synced-configuration">5.2.2.3. OrbbecSDK_ROS2 multi-camera synced configuration</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced.html#run-the-following-command-to-start-the-multi-camera-synced">5.2.2.4. Run the following command to start the multi-camera synced</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="multi_camera_synced_verification_tool.html">5.2.3. Multi_camera_synced_verification_tool</a><ul>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced_verification_tool.html#directory-structure">5.2.3.1. Directory Structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced_verification_tool.html#preparation-for-operation">5.2.3.2. Preparation for operation</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced_verification_tool.html#run-this-example">5.2.3.3. Run this example</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced_verification_tool.html#files-that-need-to-be-changed">5.2.3.4. Files that need to be changed</a></li>
</ul>
</li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">5.2.4. GMSL_camera</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#single-gmsl-camera">5.2.4.1. Single GMSL camera</a></li>
<li class="toctree-l4"><a class="reference internal" href="#multi-gmsl-camera">5.2.4.2. Multi GMSL camera</a></li>
<li class="toctree-l4"><a class="reference internal" href="#multi-gmsl-camera-synced">5.2.4.3. Multi GMSL camera synced</a></li>
<li class="toctree-l4"><a class="reference internal" href="#usage-limitations-of-gmsl-cameras">5.2.4.4. Usage Limitations of GMSL Cameras</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../advanced_guide.html#configuration-modes">5.3. Configuration &amp; Modes</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../configuration/align_depth_color.html">5.3.1. Aligning Depth to Color in ROS 2</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/align_depth_color.html#commands-to-align-and-view-depth-and-color-images">5.3.1.1. Commands to Align and View Depth and Color Images</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/align_depth_color.html#selecting-topics-in-rviz2">5.3.1.2. Selecting Topics in RViz2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/align_depth_color.html#example-of-depth-to-color-overlay">5.3.1.3. Example of Depth to Color Overlay</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/configuration_of_depth_NFOV_and_WFOV_modes.html">5.3.2. Configuration of depth NFOV and WFOV modes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/depth_work_mode_switch.html">5.3.3. Depth work mode switch</a></li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/disparity_search_offset.html">5.3.4. Disparity_search_offset</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/disparity_search_offset.html#function-introduction">5.3.4.1. Function Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/disparity_search_offset.html#parameter-introduction">5.3.4.2. Parameter Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/disparity_search_offset.html#run-the-launch">5.3.4.3. Run the launch</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/interleave_ae_mode.html">5.3.5. Using interleave_ae with Gemini330 series cameras</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/interleave_ae_mode.html#parameter-introduction">5.3.5.1. Parameter Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/interleave_ae_mode.html#run-the-launch">5.3.5.2. Run the launch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/interleave_ae_mode.html#multi-camera-synced-interleave-ae">5.3.5.3. Multi_camera_synced + Interleave_ae</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/predefined_presets.html">5.3.6. Predefined presets</a></li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/net_camera.html">5.3.7. Net_camera</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/net_camera.html#femto-mega-gemini-435le-gemini-335le">5.3.7.1. Femto Mega &amp; Gemini 435Le &amp; Gemini 335Le</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/net_camera.html#set-device-ip-utility">5.3.7.2. set_device_ip Utility</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/net_camera.html#force-ip-function">5.3.7.3. Force IP Function</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../6_benchmark/benchmark.html">6. Benchmark</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/introduction.html">6.1. Introduction</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/introduction.html#common-benchmark-node">6.1.1. common benchmark node</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/introduction.html#service-benchmark-node">6.1.2. service benchmark node</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html">6.2. Benchmark Usage</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#using-common-benchmark-node">6.2.1. Using common benchmark node</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#using-service-benchmark-node">6.2.2. Using service benchmark node</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#ros2-c">6.2.2.1. ROS2 C++</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#ros2-python">6.2.2.2. ROS2 Python</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#example-yaml-configuration">6.2.2.3. <strong>Example YAML configuration</strong></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/benchmark_data.html">6.3. Benchmark Data</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_data.html#common-benckmark-data">6.3.1. Common Benckmark Data</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_data.html#service-benchmark-data">6.3.2. Service Benchmark Data</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/othertools.html">6.4. Other Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/othertools.html#ob-benchmark-tool">6.4.1. Ob_benchmark tool</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#tool-configuration-start-benchmark-params-json">6.4.1.1. Tool Configuration (start_benchmark_params.json)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#camera-configuration-launch-files">6.4.1.2. Camera configuration (launch files)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#running-the-ob-benchmark-tool">6.4.1.3. Running the ob_benchmark tool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#output-data-files">6.4.1.4. Output Data Files</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../7_developer_guide/developer_guide.html">7. Developer Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../7_developer_guide/migration_guide.html">7.1. Migrating from main to Open-Source v2-main</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#introduction">7.1.1. <strong>Introduction</strong></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#advantages-of-migrating-from-main-to-v2-main">7.1.2. <strong>Advantages of Migrating from main to v2-main</strong></a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#comprehensive-device-support">7.1.2.1. <strong>Comprehensive Device Support</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#transparency-and-extensibility">7.1.2.2. <strong>Transparency and Extensibility</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#advantages-in-maintenance-and-updates">7.1.2.3. Advantages in Maintenance and Updates</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#community-and-ecosystem-support">7.1.2.4. <strong>Community and Ecosystem Support</strong></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#comparison-between-main-and-v2-main-branches">7.1.3. Comparison Between main and v2-main Branches</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#launch-file-differences">7.1.3.1. <strong>Launch File Differences</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#parameter-differences">7.1.3.2. <strong>Parameter Differences</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#topic-differences">7.1.3.3. <strong>Topic Differences</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#service-differences">7.1.3.4. <strong>Service Differences</strong></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html">7.2. Building a Debian Package</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html#preparing-the-environment">7.2.1. Preparing the Environment</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html#configuring-ros-dependencies">7.2.2. Configuring ROS Dependencies</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html#building-the-package">7.2.3. Building the Package</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../8_FAQ/FAQ.html">8. Frequently Asked Questions</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#unexpected-crash">8.1. Unexpected Crash</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#no-data-stream-from-multiple-cameras">8.2. No Data Stream from Multiple Cameras</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#additional-troubleshooting">8.3. Additional Troubleshooting</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#why-are-there-so-many-launch-files">8.4. Why Are There So Many Launch Files?</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../../index.html">OrbbecSDK V2 ROS2 Wrapper</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../advanced_guide.html"><span class="section-number">5. </span>Advanced Guide</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.2.4. </span>GMSL_camera</li>
<li class="wy-breadcrumbs-aside">
<a href="../../../_sources/source/5_advanced_guide/multi_camera/gmsl_camera.md.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="gmsl-camera">
<h1><span class="section-number">5.2.4. </span>GMSL_camera<a class="headerlink" href="#gmsl-camera" title="Link to this heading"></a></h1>
<blockquote>
<div><p>This section describes how to use GMSL camera in OrbbecSDK_ROS2.Currently, only Gemini 335Lg GMSL devices are supported, and other GMSL devices will be supported in the near future.</p>
</div></blockquote>
<p>You can find example usage code in the <a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples">example</a>.</p>
<section id="single-gmsl-camera">
<h2><span class="section-number">5.2.4.1. </span>Single GMSL camera<a class="headerlink" href="#single-gmsl-camera" title="Link to this heading"></a></h2>
<p>The usage of GMSL camera in OrbbecSDK_ROS2 is the same as that of Gemini 330 series camera via USB.</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>gemini_330_gmsl.launch.py
</pre></div>
</div>
</section>
<section id="multi-gmsl-camera">
<h2><span class="section-number">5.2.4.2. </span>Multi GMSL camera<a class="headerlink" href="#multi-gmsl-camera" title="Link to this heading"></a></h2>
<p>To get the <code class="docutils literal notranslate"><span class="pre">usb_port</span></code> of the GMSL camera, plug in the camera and run the following command in the terminal:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>run<span class="w"> </span>orbbec_camera<span class="w"> </span>list_devices_node
</pre></div>
</div>
<p>For example, the obtained gmsl camera <code class="docutils literal notranslate"><span class="pre">usb_port</span></code>: <code class="docutils literal notranslate"><span class="pre">gmsl2-1</span></code></p>
<p>Go to the <a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/examples/gmsl_camera/multi_gmsl_camera.launch.py">multi_gmsl_camera.launch.py</a> file and change the <code class="docutils literal notranslate"><span class="pre">usb_port</span></code>.</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>multi_gmsl_camera.launch.py
</pre></div>
</div>
<blockquote>
<div><p>Note: By default, multi_gmsl_camera.launch.py only starts color and left_ir. If you want to start other sensors, please go to <a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/config/camera_secondary_params.yaml">camera_secondary_params.yaml</a> to modify them.</p>
</div></blockquote>
</section>
<section id="multi-gmsl-camera-synced">
<h2><span class="section-number">5.2.4.3. </span>Multi GMSL camera synced<a class="headerlink" href="#multi-gmsl-camera-synced" title="Link to this heading"></a></h2>
<p>First, please see how to use <a class="reference internal" href="multi_camera_synced.html"><span class="doc">multi_camera_synced</span></a>.</p>
<p>In addition, GMSL multi-camera synced does not require Multi-Camera Sync Hub Pro, so there is no need to set the <code class="docutils literal notranslate"><span class="pre">primary</span></code> mode. Each GMSL camera is <code class="docutils literal notranslate"><span class="pre">secondary</span></code>.</p>
<p><strong>Additional Parameter Settings</strong></p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">gmsl_trigger_fps</span></code> : set hardware soc trigger source frame rate.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">enable_gmsl_trigger</span></code> : enable hardware soc trigger.</p></li>
</ul>
<p><strong>Run the launch</strong></p>
<p>Please refer to the configuration in <a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/examples/gmsl_camera/multi_gmsl_camera_synced.launch.py">multi_gmsl_camera_synced.launch.py.</a></p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>multi_gmsl_camera_synced.launch.py
</pre></div>
</div>
<blockquote>
<div><p>Note: By default, multi_gmsl_camera_synced.launch.py only starts color and left_ir. If you want to start other sensors, please go to <a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/config/camera_secondary_params.yaml">camera_secondary_params.yaml</a> and <a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/config/camera_params.yaml">camera_params.yaml</a> to modify them.</p>
</div></blockquote>
</section>
<section id="usage-limitations-of-gmsl-cameras">
<h2><span class="section-number">5.2.4.4. </span>Usage Limitations of GMSL Cameras<a class="headerlink" href="#usage-limitations-of-gmsl-cameras" title="Link to this heading"></a></h2>
<p><a class="reference external" href="https://github.com/orbbec/MIPI_Camera_Platform_Driver/tree/main?tab=readme-ov-file#usage-limitations-of-gmsl-cameras"></a></p>
<p>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:</p>
<ul class="simple">
<li><p>GMSL only supports V4L2 and YUYV format; MJPG format is not supported. RGB output is derived from YUYV format conversion.</p></li>
<li><p>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.</p></li>
<li><p>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</p></li>
<li><p>Two cameras connected on the same MAX9296, MAX96712 LinkA/B, or MAX96712 LinkC/D have the following limitations:</p>
<ul>
<li><p>Before driver version v12.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 v12.02, the restriction was modified to that the RGB of one camera and the left IR of another camera cannot stream simultaneously.</p></li>
<li><p>Before driver version v12.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 v12.02, the restriction was modified to that the DEPTH of one camera and the right IR of another camera cannot stream simultaneously.</p></li>
<li><p>The combined maximum number of active streams from both cameras is limited to four (satisfying the above two conditions ensures compliance).</p></li>
</ul>
</li>
</ul>
<p>For further known limitations, please refer to <a class="reference external" href="https://github.com/orbbec/MIPI_Camera_Platform_Driver/blob/main/doc/Instructions%20for%20Using%20GMSL%20Camera.md">Usage Limitations of Orbbec GMSL Cameras</a></p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="multi_camera_synced_verification_tool.html" class="btn btn-neutral float-left" title="5.2.3. Multi_camera_synced_verification_tool" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../configuration/align_depth_color.html" class="btn btn-neutral float-right" title="5.3.1. Aligning Depth to Color in ROS 2" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-22 03:10:57.
</span></p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
@@ -0,0 +1,474 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="../../../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.2.1. Multi-Camera &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../../_static/custom.css?v=63de077d" />
<link rel="shortcut icon" href="../../../_static/orbbec_footerlogo_3d_world.svg"/>
<script src="../../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../../../_static/documentation_options.js?v=5929fcd5"></script>
<script src="../../../_static/doctools.js?v=9bcbadda"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
<link rel="next" title="5.2.2. Multi_camera synced Instructions" href="multi_camera_synced.html" />
<link rel="prev" title="5.1.3. Fast DDS Optimization for Orbbec Camera with ROS2" href="../performance/fastdds_tuning.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../../index.html" class="icon icon-home">
OrbbecSDK V2 ROS2 Wrapper
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../1_overview/overview.html">1. Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../1_overview/introduction.html">1.1. Introduction</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/introduction.html#support-hardware-products">1.1.1. Support Hardware Products</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/introduction.html#orbbec-camera-datasheet">1.1.2. Orbbec camera datasheet</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/introduction.html#support-platforms">1.1.3. Support Platforms</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html">1.2. Orbbec SDK Overview</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#terms">1.2.1. Terms</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#orbbec-sdk-v2-architecture-overview">1.2.2. Orbbec SDK v2 Architecture Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#sdk-concept-overview">1.2.3. SDK Concept Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#sdk-programming-model">1.2.4. SDK Programming Model</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../2_installation/installation.html">2. Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../2_installation/build_the_package.html">2.1. Build from Source</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../2_installation/build_the_package.html#environment">2.1.1. Environment</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../2_installation/build_the_package.html#linux-ros2-wrapper-compilation">2.1.2. Linux ROS2 Wrapper Compilation</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../2_installation/registration_script.html">2.2. Registration script (required)</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../3_quickstarts/quickstarts.html">3. Quickstarts</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../3_quickstarts/quickstart.html">3.1. ROS Package QuickStarts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/quickstart.html#introduction">3.1.1. Introduction</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/quickstart.html#build-your-first-camera-application">3.1.2. Build your First Camera Application</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#step-1-source-ros-2-and-workspace">3.1.2.1. Step 1: Source ROS 2 and Workspace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#step-2-launch-the-camera-node">3.1.2.2. Step 2: Launch the Camera Node</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#step-3-visualize-in-rviz2">3.1.2.3. Step 3: Visualize in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/quickstart.html#sample-features">3.1.3. Sample Features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#list-available-topics-services-parameters">3.1.3.1. List available topics / services/ parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#echo-a-topic">3.1.3.2. Echo a topic</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#call-a-service">3.1.3.3. Call a service</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#record-with-rosbag2">3.1.3.4. Record with rosbag2</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html">3.2. OrbbecViewer QuickStarts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#download">3.2.1. Download</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#connect-the-device">3.2.2. Connect the device</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#camera-control">3.2.3. Camera Control</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#device-information-and-firmware-upgrade">3.2.4. Device information and firmware upgrade</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../4_application_guide/application_guide.html">4. Application Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/launch_parameters.html">4.1. Launch parameters</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#core-stream-configuration">4.1.1. Core &amp; Stream Configuration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#sensor-controls">4.1.2. Sensor Controls</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#color-stream">4.1.2.1. Color Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#depth-stream">4.1.2.2. Depth Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#ir-stream">4.1.2.3. IR Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#laser-ldp">4.1.2.4. Laser / LDP</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#device-sync-advanced-features">4.1.3. Device, Sync &amp; Advanced Features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#multi-camera-synchronization">4.1.3.1. Multi-Camera Synchronization</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#network-cameras">4.1.3.2. Network Cameras</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#device-specific">4.1.3.3. Device-Specific</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#disparity">4.1.3.4. Disparity</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#interleave-ae-mode">4.1.3.5. Interleave AE Mode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#intra-camera-synchronization">4.1.3.6. Intra-Camera Synchronization</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#basic-general-parameters">4.1.4. Basic &amp; General Parameters</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#firmware-backend">4.1.4.1. Firmware &amp; Backend</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#tf-extrinsics-calibration">4.1.4.2. TF, Extrinsics &amp; Calibration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#time-synchronization">4.1.4.3. Time Synchronization</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#logging-diagnostics">4.1.4.4. Logging &amp; Diagnostics</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#miscellaneous">4.1.4.5. Miscellaneous</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#imu">4.1.5. IMU</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#depth-filters">4.1.6. Depth Filters</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/services.html">4.2. All available services for camera control</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#stream-control">4.2.1. Stream Control</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#color-stream">4.2.1.1. Color Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#depth-stream">4.2.1.2. Depth Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#ir-stream">4.2.1.3. IR Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#all-streams">4.2.1.4. All Streams</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#sensor-emitter-control">4.2.2. Sensor &amp; Emitter Control</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#device-information-management">4.2.3. Device Information &amp; Management</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#synchronization-triggering">4.2.4. Synchronization &amp; Triggering</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#depth-filter-configuration">4.2.5. Depth Filter Configuration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#data-capture-calibration-management">4.2.6. Data Capture &amp; Calibration Management</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/topics.html">4.3. Available Topics</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#image-streams">4.3.1. Image Streams</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#point-cloud-topics">4.3.2. Point Cloud Topics</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#imu-topics">4.3.3. IMU Topics</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="../advanced_guide.html">5. Advanced Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../advanced_guide.html#performance-optimization">5.1. Performance &amp; Optimization</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../performance/lower_cpu_usage.html">5.1.1. Reducing CPU Usage with Orbbec ROS Package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#recommended-settings-for-lower-cpu-usage">5.1.1.1. Recommended Settings for Lower CPU Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#launch-files-used-for-testing">5.1.1.2. Launch Files Used for Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#test-environment">5.1.1.3. Test environment</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#test-setup">5.1.1.4. Test Setup</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#test-results">5.1.1.5. Test Results</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#further-optimizationa">5.1.1.6. Further Optimizationa</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../performance/efficient_intra_process_communication.html">5.1.2. Efficient intra-process communication:</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../performance/efficient_intra_process_communication.html#introduction">5.1.2.1. Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/efficient_intra_process_communication.html#example">5.1.2.2. Example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../performance/fastdds_tuning.html">5.1.3. Fast DDS Optimization for Orbbec Camera with ROS2</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../performance/fastdds_tuning.html#adjusting-system-parameters">5.1.3.1. Adjusting System Parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/fastdds_tuning.html#fast-dds-configuration">5.1.3.2. Fast DDS Configuration</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2 current"><a class="reference internal" href="../advanced_guide.html#multi-camera">5.2. Multi-Camera</a><ul class="current">
<li class="toctree-l3 current"><a class="current reference internal" href="#">5.2.1. Multi-Camera</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#no-data-stream-from-multiple-cameras">5.2.1.1. No Data Stream from Multiple Cameras</a></li>
<li class="toctree-l4"><a class="reference internal" href="#image-topic-frame-rate-too-low-from-multiple-cameras">5.2.1.2. Image topic frame rate too low from Multiple Cameras</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="multi_camera_synced.html">5.2.2. Multi_camera synced Instructions</a><ul>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced.html#setup-instructions">5.2.2.1. Setup instructions</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced.html#checking-camera-port-with-orbbecsdk-ros2">5.2.2.2. Checking camera port with OrbbecSDK_ROS2</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced.html#orbbecsdk-ros2-multi-camera-synced-configuration">5.2.2.3. OrbbecSDK_ROS2 multi-camera synced configuration</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced.html#run-the-following-command-to-start-the-multi-camera-synced">5.2.2.4. Run the following command to start the multi-camera synced</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="multi_camera_synced_verification_tool.html">5.2.3. Multi_camera_synced_verification_tool</a><ul>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced_verification_tool.html#directory-structure">5.2.3.1. Directory Structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced_verification_tool.html#preparation-for-operation">5.2.3.2. Preparation for operation</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced_verification_tool.html#run-this-example">5.2.3.3. Run this example</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced_verification_tool.html#files-that-need-to-be-changed">5.2.3.4. Files that need to be changed</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gmsl_camera.html">5.2.4. GMSL_camera</a><ul>
<li class="toctree-l4"><a class="reference internal" href="gmsl_camera.html#single-gmsl-camera">5.2.4.1. Single GMSL camera</a></li>
<li class="toctree-l4"><a class="reference internal" href="gmsl_camera.html#multi-gmsl-camera">5.2.4.2. Multi GMSL camera</a></li>
<li class="toctree-l4"><a class="reference internal" href="gmsl_camera.html#multi-gmsl-camera-synced">5.2.4.3. Multi GMSL camera synced</a></li>
<li class="toctree-l4"><a class="reference internal" href="gmsl_camera.html#usage-limitations-of-gmsl-cameras">5.2.4.4. Usage Limitations of GMSL Cameras</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../advanced_guide.html#configuration-modes">5.3. Configuration &amp; Modes</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../configuration/align_depth_color.html">5.3.1. Aligning Depth to Color in ROS 2</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/align_depth_color.html#commands-to-align-and-view-depth-and-color-images">5.3.1.1. Commands to Align and View Depth and Color Images</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/align_depth_color.html#selecting-topics-in-rviz2">5.3.1.2. Selecting Topics in RViz2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/align_depth_color.html#example-of-depth-to-color-overlay">5.3.1.3. Example of Depth to Color Overlay</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/configuration_of_depth_NFOV_and_WFOV_modes.html">5.3.2. Configuration of depth NFOV and WFOV modes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/depth_work_mode_switch.html">5.3.3. Depth work mode switch</a></li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/disparity_search_offset.html">5.3.4. Disparity_search_offset</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/disparity_search_offset.html#function-introduction">5.3.4.1. Function Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/disparity_search_offset.html#parameter-introduction">5.3.4.2. Parameter Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/disparity_search_offset.html#run-the-launch">5.3.4.3. Run the launch</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/interleave_ae_mode.html">5.3.5. Using interleave_ae with Gemini330 series cameras</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/interleave_ae_mode.html#parameter-introduction">5.3.5.1. Parameter Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/interleave_ae_mode.html#run-the-launch">5.3.5.2. Run the launch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/interleave_ae_mode.html#multi-camera-synced-interleave-ae">5.3.5.3. Multi_camera_synced + Interleave_ae</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/predefined_presets.html">5.3.6. Predefined presets</a></li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/net_camera.html">5.3.7. Net_camera</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/net_camera.html#femto-mega-gemini-435le-gemini-335le">5.3.7.1. Femto Mega &amp; Gemini 435Le &amp; Gemini 335Le</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/net_camera.html#set-device-ip-utility">5.3.7.2. set_device_ip Utility</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/net_camera.html#force-ip-function">5.3.7.3. Force IP Function</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../6_benchmark/benchmark.html">6. Benchmark</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/introduction.html">6.1. Introduction</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/introduction.html#common-benchmark-node">6.1.1. common benchmark node</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/introduction.html#service-benchmark-node">6.1.2. service benchmark node</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html">6.2. Benchmark Usage</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#using-common-benchmark-node">6.2.1. Using common benchmark node</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#using-service-benchmark-node">6.2.2. Using service benchmark node</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#ros2-c">6.2.2.1. ROS2 C++</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#ros2-python">6.2.2.2. ROS2 Python</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#example-yaml-configuration">6.2.2.3. <strong>Example YAML configuration</strong></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/benchmark_data.html">6.3. Benchmark Data</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_data.html#common-benckmark-data">6.3.1. Common Benckmark Data</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_data.html#service-benchmark-data">6.3.2. Service Benchmark Data</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/othertools.html">6.4. Other Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/othertools.html#ob-benchmark-tool">6.4.1. Ob_benchmark tool</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#tool-configuration-start-benchmark-params-json">6.4.1.1. Tool Configuration (start_benchmark_params.json)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#camera-configuration-launch-files">6.4.1.2. Camera configuration (launch files)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#running-the-ob-benchmark-tool">6.4.1.3. Running the ob_benchmark tool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#output-data-files">6.4.1.4. Output Data Files</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../7_developer_guide/developer_guide.html">7. Developer Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../7_developer_guide/migration_guide.html">7.1. Migrating from main to Open-Source v2-main</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#introduction">7.1.1. <strong>Introduction</strong></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#advantages-of-migrating-from-main-to-v2-main">7.1.2. <strong>Advantages of Migrating from main to v2-main</strong></a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#comprehensive-device-support">7.1.2.1. <strong>Comprehensive Device Support</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#transparency-and-extensibility">7.1.2.2. <strong>Transparency and Extensibility</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#advantages-in-maintenance-and-updates">7.1.2.3. Advantages in Maintenance and Updates</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#community-and-ecosystem-support">7.1.2.4. <strong>Community and Ecosystem Support</strong></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#comparison-between-main-and-v2-main-branches">7.1.3. Comparison Between main and v2-main Branches</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#launch-file-differences">7.1.3.1. <strong>Launch File Differences</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#parameter-differences">7.1.3.2. <strong>Parameter Differences</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#topic-differences">7.1.3.3. <strong>Topic Differences</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#service-differences">7.1.3.4. <strong>Service Differences</strong></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html">7.2. Building a Debian Package</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html#preparing-the-environment">7.2.1. Preparing the Environment</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html#configuring-ros-dependencies">7.2.2. Configuring ROS Dependencies</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html#building-the-package">7.2.3. Building the Package</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../8_FAQ/FAQ.html">8. Frequently Asked Questions</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#unexpected-crash">8.1. Unexpected Crash</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#no-data-stream-from-multiple-cameras">8.2. No Data Stream from Multiple Cameras</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#additional-troubleshooting">8.3. Additional Troubleshooting</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#why-are-there-so-many-launch-files">8.4. Why Are There So Many Launch Files?</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../../index.html">OrbbecSDK V2 ROS2 Wrapper</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../advanced_guide.html"><span class="section-number">5. </span>Advanced Guide</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.2.1. </span>Multi-Camera</li>
<li class="wy-breadcrumbs-aside">
<a href="../../../_sources/source/5_advanced_guide/multi_camera/multi_camera.md.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="multi-camera">
<h1><span class="section-number">5.2.1. </span>Multi-Camera<a class="headerlink" href="#multi-camera" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>To get the <code class="docutils literal notranslate"><span class="pre">usb_port</span></code> of the camera, plug in the camera and run the following command in the terminal:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>run<span class="w"> </span>orbbec_camera<span class="w"> </span>list_devices_node
</pre></div>
</div>
<ul class="simple">
<li><p>Set the <code class="docutils literal notranslate"><span class="pre">device_num</span></code> parameter to the number of cameras you have.</p></li>
<li><p>Go to the <code class="docutils literal notranslate"><span class="pre">OrbbecSDK_ROS2/launch/multi_xxx.launch.py</span></code> file and change the <code class="docutils literal notranslate"><span class="pre">usb_port</span></code>.</p></li>
<li><p>Don’t forget to put the <code class="docutils literal notranslate"><span class="pre">include</span></code> tag inside the <code class="docutils literal notranslate"><span class="pre">group</span></code> tag.
Otherwise, the parameter values of different cameras may become contaminated.</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">launch</span><span class="w"> </span><span class="kn">import</span> <span class="n">LaunchDescription</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">launch.actions</span><span class="w"> </span><span class="kn">import</span> <span class="n">DeclareLaunchArgument</span><span class="p">,</span> <span class="n">IncludeLaunchDescription</span><span class="p">,</span> <span class="n">GroupAction</span><span class="p">,</span> <span class="n">ExecuteProcess</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">launch.launch_description_sources</span><span class="w"> </span><span class="kn">import</span> <span class="n">PythonLaunchDescriptionSource</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">launch_ros.actions</span><span class="w"> </span><span class="kn">import</span> <span class="n">Node</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">ament_index_python.packages</span><span class="w"> </span><span class="kn">import</span> <span class="n">get_package_share_directory</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
<span class="k">def</span><span class="w"> </span><span class="nf">generate_launch_description</span><span class="p">():</span>
<span class="c1"># Include launch files</span>
<span class="n">package_dir</span> <span class="o">=</span> <span class="n">get_package_share_directory</span><span class="p">(</span><span class="s1">&#39;orbbec_camera&#39;</span><span class="p">)</span>
<span class="n">launch_file_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">package_dir</span><span class="p">,</span> <span class="s1">&#39;launch&#39;</span><span class="p">)</span>
<span class="n">launch1_include</span> <span class="o">=</span> <span class="n">IncludeLaunchDescription</span><span class="p">(</span>
<span class="n">PythonLaunchDescriptionSource</span><span class="p">(</span>
<span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">launch_file_dir</span><span class="p">,</span> <span class="s1">&#39;gemini2L.launch.py&#39;</span><span class="p">)</span>
<span class="p">),</span>
<span class="n">launch_arguments</span><span class="o">=</span><span class="p">{</span>
<span class="s1">&#39;camera_name&#39;</span><span class="p">:</span> <span class="s1">&#39;camera_01&#39;</span><span class="p">,</span>
<span class="s1">&#39;usb_port&#39;</span><span class="p">:</span> <span class="s1">&#39;6-2.4.4.2&#39;</span><span class="p">,</span> <span class="c1"># replace your usb port here</span>
<span class="s1">&#39;device_num&#39;</span><span class="p">:</span> <span class="s1">&#39;2&#39;</span>
<span class="p">}</span><span class="o">.</span><span class="n">items</span><span class="p">()</span>
<span class="p">)</span>
<span class="n">launch2_include</span> <span class="o">=</span> <span class="n">IncludeLaunchDescription</span><span class="p">(</span>
<span class="n">PythonLaunchDescriptionSource</span><span class="p">(</span>
<span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">launch_file_dir</span><span class="p">,</span> <span class="s1">&#39;gemini2L.launch.py&#39;</span><span class="p">)</span>
<span class="p">),</span>
<span class="n">launch_arguments</span><span class="o">=</span><span class="p">{</span>
<span class="s1">&#39;camera_name&#39;</span><span class="p">:</span> <span class="s1">&#39;camera_02&#39;</span><span class="p">,</span>
<span class="s1">&#39;usb_port&#39;</span><span class="p">:</span> <span class="s1">&#39;6-2.4.1&#39;</span><span class="p">,</span> <span class="c1"># replace your usb port here</span>
<span class="s1">&#39;device_num&#39;</span><span class="p">:</span> <span class="s1">&#39;2&#39;</span>
<span class="p">}</span><span class="o">.</span><span class="n">items</span><span class="p">()</span>
<span class="p">)</span>
<span class="c1"># If you need more cameras, just add more launch_include here, and change the usb_port and device_num</span>
<span class="c1"># Launch description</span>
<span class="n">ld</span> <span class="o">=</span> <span class="n">LaunchDescription</span><span class="p">([</span>
<span class="n">GroupAction</span><span class="p">([</span><span class="n">launch1_include</span><span class="p">]),</span>
<span class="n">GroupAction</span><span class="p">([</span><span class="n">launch2_include</span><span class="p">]),</span>
<span class="p">])</span>
<span class="k">return</span> <span class="n">ld</span>
</pre></div>
</div>
<ul class="simple">
<li><p>To launch the cameras, run the following command:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>multi_camera.launch.py
</pre></div>
</div>
<section id="no-data-stream-from-multiple-cameras">
<h2><span class="section-number">5.2.1.1. </span>No Data Stream from Multiple Cameras<a class="headerlink" href="#no-data-stream-from-multiple-cameras" title="Link to this heading"></a></h2>
<p><strong>Insufficient Power Supply</strong>:</p>
<ul class="simple">
<li><p>Ensure that each camera is connected to a separate hub.</p></li>
<li><p>Use a powered hub to provide sufficient power to each camera.</p></li>
</ul>
<p><strong>High Resolution</strong>:</p>
<ul class="simple">
<li><p>Try lowering the resolution to resolve data stream issues.</p></li>
</ul>
<p><strong>Increase usbfs_memory_mb Value</strong>:</p>
<ul class="simple">
<li><p>Increase the <code class="docutils literal notranslate"><span class="pre">usbfs_memory_mb</span></code> value to 128MB (this is a reference value and can be adjusted based on your system’s needs)
by running the following command:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="nb">echo</span><span class="w"> </span><span class="m">128</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>sudo<span class="w"> </span>tee<span class="w"> </span>/sys/module/usbcore/parameters/usbfs_memory_mb
</pre></div>
</div>
<ul class="simple">
<li><p>To make this change permanent, check <a class="reference external" href="https://github.com/OpenKinect/libfreenect2/issues/807">this link</a>.</p></li>
</ul>
</section>
<section id="image-topic-frame-rate-too-low-from-multiple-cameras">
<h2><span class="section-number">5.2.1.2. </span>Image topic frame rate too low from Multiple Cameras<a class="headerlink" href="#image-topic-frame-rate-too-low-from-multiple-cameras" title="Link to this heading"></a></h2>
<p>Refer to the <a class="reference internal" href="../performance/fastdds_tuning.html"><span class="doc">Fast DDS Configuration</span></a> file.</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="../performance/fastdds_tuning.html" class="btn btn-neutral float-left" title="5.1.3. Fast DDS Optimization for Orbbec Camera with ROS2" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="multi_camera_synced.html" class="btn btn-neutral float-right" title="5.2.2. Multi_camera synced Instructions" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-22 03:10:57.
</span></p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
@@ -0,0 +1,462 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="../../../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.2.2. Multi_camera synced Instructions &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../../_static/custom.css?v=63de077d" />
<link rel="shortcut icon" href="../../../_static/orbbec_footerlogo_3d_world.svg"/>
<script src="../../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../../../_static/documentation_options.js?v=5929fcd5"></script>
<script src="../../../_static/doctools.js?v=9bcbadda"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
<link rel="next" title="5.2.3. Multi_camera_synced_verification_tool" href="multi_camera_synced_verification_tool.html" />
<link rel="prev" title="5.2.1. Multi-Camera" href="multi_camera.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../../index.html" class="icon icon-home">
OrbbecSDK V2 ROS2 Wrapper
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../1_overview/overview.html">1. Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../1_overview/introduction.html">1.1. Introduction</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/introduction.html#support-hardware-products">1.1.1. Support Hardware Products</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/introduction.html#orbbec-camera-datasheet">1.1.2. Orbbec camera datasheet</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/introduction.html#support-platforms">1.1.3. Support Platforms</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html">1.2. Orbbec SDK Overview</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#terms">1.2.1. Terms</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#orbbec-sdk-v2-architecture-overview">1.2.2. Orbbec SDK v2 Architecture Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#sdk-concept-overview">1.2.3. SDK Concept Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#sdk-programming-model">1.2.4. SDK Programming Model</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../2_installation/installation.html">2. Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../2_installation/build_the_package.html">2.1. Build from Source</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../2_installation/build_the_package.html#environment">2.1.1. Environment</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../2_installation/build_the_package.html#linux-ros2-wrapper-compilation">2.1.2. Linux ROS2 Wrapper Compilation</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../2_installation/registration_script.html">2.2. Registration script (required)</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../3_quickstarts/quickstarts.html">3. Quickstarts</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../3_quickstarts/quickstart.html">3.1. ROS Package QuickStarts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/quickstart.html#introduction">3.1.1. Introduction</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/quickstart.html#build-your-first-camera-application">3.1.2. Build your First Camera Application</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#step-1-source-ros-2-and-workspace">3.1.2.1. Step 1: Source ROS 2 and Workspace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#step-2-launch-the-camera-node">3.1.2.2. Step 2: Launch the Camera Node</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#step-3-visualize-in-rviz2">3.1.2.3. Step 3: Visualize in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/quickstart.html#sample-features">3.1.3. Sample Features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#list-available-topics-services-parameters">3.1.3.1. List available topics / services/ parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#echo-a-topic">3.1.3.2. Echo a topic</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#call-a-service">3.1.3.3. Call a service</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#record-with-rosbag2">3.1.3.4. Record with rosbag2</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html">3.2. OrbbecViewer QuickStarts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#download">3.2.1. Download</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#connect-the-device">3.2.2. Connect the device</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#camera-control">3.2.3. Camera Control</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#device-information-and-firmware-upgrade">3.2.4. Device information and firmware upgrade</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../4_application_guide/application_guide.html">4. Application Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/launch_parameters.html">4.1. Launch parameters</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#core-stream-configuration">4.1.1. Core &amp; Stream Configuration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#sensor-controls">4.1.2. Sensor Controls</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#color-stream">4.1.2.1. Color Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#depth-stream">4.1.2.2. Depth Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#ir-stream">4.1.2.3. IR Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#laser-ldp">4.1.2.4. Laser / LDP</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#device-sync-advanced-features">4.1.3. Device, Sync &amp; Advanced Features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#multi-camera-synchronization">4.1.3.1. Multi-Camera Synchronization</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#network-cameras">4.1.3.2. Network Cameras</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#device-specific">4.1.3.3. Device-Specific</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#disparity">4.1.3.4. Disparity</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#interleave-ae-mode">4.1.3.5. Interleave AE Mode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#intra-camera-synchronization">4.1.3.6. Intra-Camera Synchronization</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#basic-general-parameters">4.1.4. Basic &amp; General Parameters</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#firmware-backend">4.1.4.1. Firmware &amp; Backend</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#tf-extrinsics-calibration">4.1.4.2. TF, Extrinsics &amp; Calibration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#time-synchronization">4.1.4.3. Time Synchronization</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#logging-diagnostics">4.1.4.4. Logging &amp; Diagnostics</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#miscellaneous">4.1.4.5. Miscellaneous</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#imu">4.1.5. IMU</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#depth-filters">4.1.6. Depth Filters</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/services.html">4.2. All available services for camera control</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#stream-control">4.2.1. Stream Control</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#color-stream">4.2.1.1. Color Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#depth-stream">4.2.1.2. Depth Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#ir-stream">4.2.1.3. IR Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#all-streams">4.2.1.4. All Streams</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#sensor-emitter-control">4.2.2. Sensor &amp; Emitter Control</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#device-information-management">4.2.3. Device Information &amp; Management</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#synchronization-triggering">4.2.4. Synchronization &amp; Triggering</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#depth-filter-configuration">4.2.5. Depth Filter Configuration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#data-capture-calibration-management">4.2.6. Data Capture &amp; Calibration Management</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/topics.html">4.3. Available Topics</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#image-streams">4.3.1. Image Streams</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#point-cloud-topics">4.3.2. Point Cloud Topics</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#imu-topics">4.3.3. IMU Topics</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="../advanced_guide.html">5. Advanced Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../advanced_guide.html#performance-optimization">5.1. Performance &amp; Optimization</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../performance/lower_cpu_usage.html">5.1.1. Reducing CPU Usage with Orbbec ROS Package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#recommended-settings-for-lower-cpu-usage">5.1.1.1. Recommended Settings for Lower CPU Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#launch-files-used-for-testing">5.1.1.2. Launch Files Used for Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#test-environment">5.1.1.3. Test environment</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#test-setup">5.1.1.4. Test Setup</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#test-results">5.1.1.5. Test Results</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#further-optimizationa">5.1.1.6. Further Optimizationa</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../performance/efficient_intra_process_communication.html">5.1.2. Efficient intra-process communication:</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../performance/efficient_intra_process_communication.html#introduction">5.1.2.1. Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/efficient_intra_process_communication.html#example">5.1.2.2. Example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../performance/fastdds_tuning.html">5.1.3. Fast DDS Optimization for Orbbec Camera with ROS2</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../performance/fastdds_tuning.html#adjusting-system-parameters">5.1.3.1. Adjusting System Parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/fastdds_tuning.html#fast-dds-configuration">5.1.3.2. Fast DDS Configuration</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2 current"><a class="reference internal" href="../advanced_guide.html#multi-camera">5.2. Multi-Camera</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="multi_camera.html">5.2.1. Multi-Camera</a><ul>
<li class="toctree-l4"><a class="reference internal" href="multi_camera.html#no-data-stream-from-multiple-cameras">5.2.1.1. No Data Stream from Multiple Cameras</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera.html#image-topic-frame-rate-too-low-from-multiple-cameras">5.2.1.2. Image topic frame rate too low from Multiple Cameras</a></li>
</ul>
</li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">5.2.2. Multi_camera synced Instructions</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#setup-instructions">5.2.2.1. Setup instructions</a></li>
<li class="toctree-l4"><a class="reference internal" href="#checking-camera-port-with-orbbecsdk-ros2">5.2.2.2. Checking camera port with OrbbecSDK_ROS2</a></li>
<li class="toctree-l4"><a class="reference internal" href="#orbbecsdk-ros2-multi-camera-synced-configuration">5.2.2.3. OrbbecSDK_ROS2 multi-camera synced configuration</a></li>
<li class="toctree-l4"><a class="reference internal" href="#run-the-following-command-to-start-the-multi-camera-synced">5.2.2.4. Run the following command to start the multi-camera synced</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="multi_camera_synced_verification_tool.html">5.2.3. Multi_camera_synced_verification_tool</a><ul>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced_verification_tool.html#directory-structure">5.2.3.1. Directory Structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced_verification_tool.html#preparation-for-operation">5.2.3.2. Preparation for operation</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced_verification_tool.html#run-this-example">5.2.3.3. Run this example</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced_verification_tool.html#files-that-need-to-be-changed">5.2.3.4. Files that need to be changed</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gmsl_camera.html">5.2.4. GMSL_camera</a><ul>
<li class="toctree-l4"><a class="reference internal" href="gmsl_camera.html#single-gmsl-camera">5.2.4.1. Single GMSL camera</a></li>
<li class="toctree-l4"><a class="reference internal" href="gmsl_camera.html#multi-gmsl-camera">5.2.4.2. Multi GMSL camera</a></li>
<li class="toctree-l4"><a class="reference internal" href="gmsl_camera.html#multi-gmsl-camera-synced">5.2.4.3. Multi GMSL camera synced</a></li>
<li class="toctree-l4"><a class="reference internal" href="gmsl_camera.html#usage-limitations-of-gmsl-cameras">5.2.4.4. Usage Limitations of GMSL Cameras</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../advanced_guide.html#configuration-modes">5.3. Configuration &amp; Modes</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../configuration/align_depth_color.html">5.3.1. Aligning Depth to Color in ROS 2</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/align_depth_color.html#commands-to-align-and-view-depth-and-color-images">5.3.1.1. Commands to Align and View Depth and Color Images</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/align_depth_color.html#selecting-topics-in-rviz2">5.3.1.2. Selecting Topics in RViz2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/align_depth_color.html#example-of-depth-to-color-overlay">5.3.1.3. Example of Depth to Color Overlay</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/configuration_of_depth_NFOV_and_WFOV_modes.html">5.3.2. Configuration of depth NFOV and WFOV modes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/depth_work_mode_switch.html">5.3.3. Depth work mode switch</a></li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/disparity_search_offset.html">5.3.4. Disparity_search_offset</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/disparity_search_offset.html#function-introduction">5.3.4.1. Function Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/disparity_search_offset.html#parameter-introduction">5.3.4.2. Parameter Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/disparity_search_offset.html#run-the-launch">5.3.4.3. Run the launch</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/interleave_ae_mode.html">5.3.5. Using interleave_ae with Gemini330 series cameras</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/interleave_ae_mode.html#parameter-introduction">5.3.5.1. Parameter Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/interleave_ae_mode.html#run-the-launch">5.3.5.2. Run the launch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/interleave_ae_mode.html#multi-camera-synced-interleave-ae">5.3.5.3. Multi_camera_synced + Interleave_ae</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/predefined_presets.html">5.3.6. Predefined presets</a></li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/net_camera.html">5.3.7. Net_camera</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/net_camera.html#femto-mega-gemini-435le-gemini-335le">5.3.7.1. Femto Mega &amp; Gemini 435Le &amp; Gemini 335Le</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/net_camera.html#set-device-ip-utility">5.3.7.2. set_device_ip Utility</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/net_camera.html#force-ip-function">5.3.7.3. Force IP Function</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../6_benchmark/benchmark.html">6. Benchmark</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/introduction.html">6.1. Introduction</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/introduction.html#common-benchmark-node">6.1.1. common benchmark node</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/introduction.html#service-benchmark-node">6.1.2. service benchmark node</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html">6.2. Benchmark Usage</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#using-common-benchmark-node">6.2.1. Using common benchmark node</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#using-service-benchmark-node">6.2.2. Using service benchmark node</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#ros2-c">6.2.2.1. ROS2 C++</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#ros2-python">6.2.2.2. ROS2 Python</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#example-yaml-configuration">6.2.2.3. <strong>Example YAML configuration</strong></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/benchmark_data.html">6.3. Benchmark Data</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_data.html#common-benckmark-data">6.3.1. Common Benckmark Data</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_data.html#service-benchmark-data">6.3.2. Service Benchmark Data</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/othertools.html">6.4. Other Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/othertools.html#ob-benchmark-tool">6.4.1. Ob_benchmark tool</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#tool-configuration-start-benchmark-params-json">6.4.1.1. Tool Configuration (start_benchmark_params.json)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#camera-configuration-launch-files">6.4.1.2. Camera configuration (launch files)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#running-the-ob-benchmark-tool">6.4.1.3. Running the ob_benchmark tool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#output-data-files">6.4.1.4. Output Data Files</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../7_developer_guide/developer_guide.html">7. Developer Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../7_developer_guide/migration_guide.html">7.1. Migrating from main to Open-Source v2-main</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#introduction">7.1.1. <strong>Introduction</strong></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#advantages-of-migrating-from-main-to-v2-main">7.1.2. <strong>Advantages of Migrating from main to v2-main</strong></a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#comprehensive-device-support">7.1.2.1. <strong>Comprehensive Device Support</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#transparency-and-extensibility">7.1.2.2. <strong>Transparency and Extensibility</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#advantages-in-maintenance-and-updates">7.1.2.3. Advantages in Maintenance and Updates</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#community-and-ecosystem-support">7.1.2.4. <strong>Community and Ecosystem Support</strong></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#comparison-between-main-and-v2-main-branches">7.1.3. Comparison Between main and v2-main Branches</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#launch-file-differences">7.1.3.1. <strong>Launch File Differences</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#parameter-differences">7.1.3.2. <strong>Parameter Differences</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#topic-differences">7.1.3.3. <strong>Topic Differences</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#service-differences">7.1.3.4. <strong>Service Differences</strong></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html">7.2. Building a Debian Package</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html#preparing-the-environment">7.2.1. Preparing the Environment</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html#configuring-ros-dependencies">7.2.2. Configuring ROS Dependencies</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html#building-the-package">7.2.3. Building the Package</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../8_FAQ/FAQ.html">8. Frequently Asked Questions</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#unexpected-crash">8.1. Unexpected Crash</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#no-data-stream-from-multiple-cameras">8.2. No Data Stream from Multiple Cameras</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#additional-troubleshooting">8.3. Additional Troubleshooting</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#why-are-there-so-many-launch-files">8.4. Why Are There So Many Launch Files?</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../../index.html">OrbbecSDK V2 ROS2 Wrapper</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../advanced_guide.html"><span class="section-number">5. </span>Advanced Guide</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.2.2. </span>Multi_camera synced Instructions</li>
<li class="wy-breadcrumbs-aside">
<a href="../../../_sources/source/5_advanced_guide/multi_camera/multi_camera_synced.md.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="multi-camera-synced-instructions">
<h1><span class="section-number">5.2.2. </span>Multi_camera synced Instructions<a class="headerlink" href="#multi-camera-synced-instructions" title="Link to this heading"></a></h1>
<blockquote>
<div><p>The purpose of this document is to explain how to use multi-camera synced with OrbbecSDK_ROS2</p>
</div></blockquote>
<section id="setup-instructions">
<h2><span class="section-number">5.2.2.1. </span>Setup instructions<a class="headerlink" href="#setup-instructions" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p>Please read the Multi-Camera Synchronization Setup Guide:<a class="reference external" href="https://www.orbbec.com/docs/set-up-cameras-for-external-synchronization_v1-2/">Multi-Camera Synchronization Setup</a></p></li>
<li><p>Make sure the camera is correctly connected to the multi-camera synchronizer.</p></li>
</ul>
<p><img alt="Depth Point Cloud Visualization" src="../../../_images/multi_camera_synced1.png" /></p>
</section>
<section id="checking-camera-port-with-orbbecsdk-ros2">
<h2><span class="section-number">5.2.2.2. </span>Checking camera port with OrbbecSDK_ROS2<a class="headerlink" href="#checking-camera-port-with-orbbecsdk-ros2" title="Link to this heading"></a></h2>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>run<span class="w"> </span>orbbec_camera<span class="w"> </span>list_devices_node
</pre></div>
</div>
</section>
<section id="orbbecsdk-ros2-multi-camera-synced-configuration">
<h2><span class="section-number">5.2.2.3. </span>OrbbecSDK_ROS2 multi-camera synced configuration<a class="headerlink" href="#orbbecsdk-ros2-multi-camera-synced-configuration" title="Link to this heading"></a></h2>
<p>Open multi_camera_synced.launch.py, and configure the camera settings as shown below:</p>
<p><img alt="Depth Point Cloud Visualization" src="../../../_images/multi_camera_synced2.png" /></p>
<ol class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">gemini_330_series.launch.py</span></code> is the launch file for starting the camera.</p></li>
<li><p>Set <code class="docutils literal notranslate"><span class="pre">camera_name</span></code> to <code class="docutils literal notranslate"><span class="pre">G330_0</span></code>. For example, the published color image topic will be <code class="docutils literal notranslate"><span class="pre">/G330_0/color/image_raw</span></code>.</p></li>
<li><p>Set <code class="docutils literal notranslate"><span class="pre">usb_port</span></code> to <code class="docutils literal notranslate"><span class="pre">2-2</span></code>, indicating that the camera device on port <code class="docutils literal notranslate"><span class="pre">2-2</span></code> is being used. This value can be found in the output of the <code class="docutils literal notranslate"><span class="pre">ros2</span> <span class="pre">run</span> <span class="pre">orbbec_camera</span> <span class="pre">list_devices_node</span></code> command.</p></li>
<li><p>Set <code class="docutils literal notranslate"><span class="pre">device_num</span></code> to <code class="docutils literal notranslate"><span class="pre">2</span></code>, meaning two cameras will be used.</p></li>
<li><p>Set <code class="docutils literal notranslate"><span class="pre">sync_mode</span></code> to <code class="docutils literal notranslate"><span class="pre">primary</span></code> to indicate that the <code class="docutils literal notranslate"><span class="pre">2-7</span></code> camera device is in primary mode. The multi-camera sync mode options can be found in the figure below.</p></li>
<li><p>Parameters from the <code class="docutils literal notranslate"><span class="pre">config_file_path</span></code> can override the parameters set in <code class="docutils literal notranslate"><span class="pre">gemini_330_series.launch.py</span></code> (optional).</p></li>
<li><p>For slave cameras, set <code class="docutils literal notranslate"><span class="pre">trigger_out_enabled</span></code> to false.</p></li>
</ol>
<table border="1" class="docutils">
<thead>
<tr>
<th><strong>Pattern Nam</strong>e</th>
<th><strong>Setting effect description</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>free_run</td>
<td>-Support different frame rate settings<br />The -8-pin synchronization interface does not support external output of synchronization-related signals</td>
</tr>
<tr>
<td>standalone(default)</td>
<td>● Same as Primary by default<br />● Built-in RGBD frame synchronization<br />● 8-pin synchronous interface does not output signals to the outside by default</td>
</tr>
<tr>
<td>primary</td>
<td>● Set as primary camera<br />● 8-pin synchronous interface output signal to external device</td>
</tr>
<tr>
<td>secondary</td>
<td>● Set as secondary (passive synchronization; When there is a hardware continuous trigger signal input from the outside and the continuous trigger signal matches the currently set frame rate, the image is collected according to the external trigger signal; When there is no external trigger signal, the flow is stopped)<br />● 8-pin synchronous interface output signal to external device</td>
</tr>
<tr>
<td>secondary_synced</td>
<td>● Set to secondary synchronization (passive synchronization; When there is a hardware continuous trigger signal input from the outside and the continuous trigger signal matches the currently set frame rate, the image is collected according to the external trigger signal; When there is no external trigger signal, the image is collected according to the internal trigger signal at the set frame rate)<br />● 8-pin synchronous interface output signal to external device</td>
</tr>
<tr>
<td>hardware_triggering</td>
<td>● Set as hardware trigger (passive trigger; When there is a hardware trigger signal input from the outside and the trigger signal time interval is not less than the current upper limit, the image is collected according to the external trigger signal; When there is no external trigger signal, the image is not collected)<br />● 8-pin synchronous interface output signal to external device</td>
</tr>
<tr>
<td>software_triggering</td>
<td>● Set as software trigger (passive trigger; When there is a trigger command input from the host computer and the trigger command time interval is not less than the current upper limit, the image is collected according to the trigger command; When there is no trigger command, the image is not collected)<br />● 8-pin synchronous interface output signal to external device</td>
</tr>
</tbody>
</table><ul class="simple">
<li><p>The master camera should be launched last.</p></li>
<li><p>Ideally, there should be a 2-second delay between starting each camera.</p></li>
</ul>
</section>
<section id="run-the-following-command-to-start-the-multi-camera-synced">
<h2><span class="section-number">5.2.2.4. </span>Run the following command to start the multi-camera synced<a class="headerlink" href="#run-the-following-command-to-start-the-multi-camera-synced" title="Link to this heading"></a></h2>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>multi_camera_synced.launch.py
</pre></div>
</div>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="multi_camera.html" class="btn btn-neutral float-left" title="5.2.1. Multi-Camera" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="multi_camera_synced_verification_tool.html" class="btn btn-neutral float-right" title="5.2.3. Multi_camera_synced_verification_tool" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-22 03:10:57.
</span></p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
@@ -0,0 +1,530 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="../../../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5.2.3. Multi_camera_synced_verification_tool &mdash; OrbbecSDK V2 ROS2 Wrapper documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../../_static/custom.css?v=63de077d" />
<link rel="shortcut icon" href="../../../_static/orbbec_footerlogo_3d_world.svg"/>
<script src="../../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../../../_static/documentation_options.js?v=5929fcd5"></script>
<script src="../../../_static/doctools.js?v=9bcbadda"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
<link rel="next" title="5.2.4. GMSL_camera" href="gmsl_camera.html" />
<link rel="prev" title="5.2.2. Multi_camera synced Instructions" href="multi_camera_synced.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../../index.html" class="icon icon-home">
OrbbecSDK V2 ROS2 Wrapper
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../1_overview/overview.html">1. Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../1_overview/introduction.html">1.1. Introduction</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/introduction.html#support-hardware-products">1.1.1. Support Hardware Products</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/introduction.html#orbbec-camera-datasheet">1.1.2. Orbbec camera datasheet</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/introduction.html#support-platforms">1.1.3. Support Platforms</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html">1.2. Orbbec SDK Overview</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#terms">1.2.1. Terms</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#orbbec-sdk-v2-architecture-overview">1.2.2. Orbbec SDK v2 Architecture Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#sdk-concept-overview">1.2.3. SDK Concept Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../1_overview/orbbecsdk_overview.html#sdk-programming-model">1.2.4. SDK Programming Model</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../2_installation/installation.html">2. Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../2_installation/build_the_package.html">2.1. Build from Source</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../2_installation/build_the_package.html#environment">2.1.1. Environment</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../2_installation/build_the_package.html#linux-ros2-wrapper-compilation">2.1.2. Linux ROS2 Wrapper Compilation</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../2_installation/registration_script.html">2.2. Registration script (required)</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../3_quickstarts/quickstarts.html">3. Quickstarts</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../3_quickstarts/quickstart.html">3.1. ROS Package QuickStarts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/quickstart.html#introduction">3.1.1. Introduction</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/quickstart.html#build-your-first-camera-application">3.1.2. Build your First Camera Application</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#step-1-source-ros-2-and-workspace">3.1.2.1. Step 1: Source ROS 2 and Workspace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#step-2-launch-the-camera-node">3.1.2.2. Step 2: Launch the Camera Node</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#step-3-visualize-in-rviz2">3.1.2.3. Step 3: Visualize in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/quickstart.html#sample-features">3.1.3. Sample Features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#list-available-topics-services-parameters">3.1.3.1. List available topics / services/ parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#echo-a-topic">3.1.3.2. Echo a topic</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#call-a-service">3.1.3.3. Call a service</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../3_quickstarts/quickstart.html#record-with-rosbag2">3.1.3.4. Record with rosbag2</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html">3.2. OrbbecViewer QuickStarts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#download">3.2.1. Download</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#connect-the-device">3.2.2. Connect the device</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#camera-control">3.2.3. Camera Control</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../3_quickstarts/orbbecviewer.html#device-information-and-firmware-upgrade">3.2.4. Device information and firmware upgrade</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../4_application_guide/application_guide.html">4. Application Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/launch_parameters.html">4.1. Launch parameters</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#core-stream-configuration">4.1.1. Core &amp; Stream Configuration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#sensor-controls">4.1.2. Sensor Controls</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#color-stream">4.1.2.1. Color Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#depth-stream">4.1.2.2. Depth Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#ir-stream">4.1.2.3. IR Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#laser-ldp">4.1.2.4. Laser / LDP</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#device-sync-advanced-features">4.1.3. Device, Sync &amp; Advanced Features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#multi-camera-synchronization">4.1.3.1. Multi-Camera Synchronization</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#network-cameras">4.1.3.2. Network Cameras</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#device-specific">4.1.3.3. Device-Specific</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#disparity">4.1.3.4. Disparity</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#interleave-ae-mode">4.1.3.5. Interleave AE Mode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#intra-camera-synchronization">4.1.3.6. Intra-Camera Synchronization</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#basic-general-parameters">4.1.4. Basic &amp; General Parameters</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#firmware-backend">4.1.4.1. Firmware &amp; Backend</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#tf-extrinsics-calibration">4.1.4.2. TF, Extrinsics &amp; Calibration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#time-synchronization">4.1.4.3. Time Synchronization</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#logging-diagnostics">4.1.4.4. Logging &amp; Diagnostics</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#miscellaneous">4.1.4.5. Miscellaneous</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#imu">4.1.5. IMU</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/launch_parameters.html#depth-filters">4.1.6. Depth Filters</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/services.html">4.2. All available services for camera control</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#stream-control">4.2.1. Stream Control</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#color-stream">4.2.1.1. Color Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#depth-stream">4.2.1.2. Depth Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#ir-stream">4.2.1.3. IR Stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/services.html#all-streams">4.2.1.4. All Streams</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#sensor-emitter-control">4.2.2. Sensor &amp; Emitter Control</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#device-information-management">4.2.3. Device Information &amp; Management</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#synchronization-triggering">4.2.4. Synchronization &amp; Triggering</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#depth-filter-configuration">4.2.5. Depth Filter Configuration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/services.html#data-capture-calibration-management">4.2.6. Data Capture &amp; Calibration Management</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/topics.html">4.3. Available Topics</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#image-streams">4.3.1. Image Streams</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#point-cloud-topics">4.3.2. Point Cloud Topics</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#imu-topics">4.3.3. IMU Topics</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status &amp; Diagnostics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/coordinate_systems.html">4.4. ROS2 Robot vs Camera Optical Coordination Systems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/camera_sensor_structure.html">4.5. Camera sensor structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/tf_transformations.html">4.6. TF from coordinate A to coordinate B:</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/compressed_image.html">4.7. Compressed Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../4_application_guide/point_cloud.html">4.8. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.8.1. Enabling Depth Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.8.1.1. Command to Enable Depth Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.8.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.8.2. Enabling Colored Point Cloud</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.8.2.1. Command to Enable Colored Point Cloud</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.8.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="../advanced_guide.html">5. Advanced Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../advanced_guide.html#performance-optimization">5.1. Performance &amp; Optimization</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../performance/lower_cpu_usage.html">5.1.1. Reducing CPU Usage with Orbbec ROS Package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#recommended-settings-for-lower-cpu-usage">5.1.1.1. Recommended Settings for Lower CPU Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#launch-files-used-for-testing">5.1.1.2. Launch Files Used for Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#test-environment">5.1.1.3. Test environment</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#test-setup">5.1.1.4. Test Setup</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#test-results">5.1.1.5. Test Results</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/lower_cpu_usage.html#further-optimizationa">5.1.1.6. Further Optimizationa</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../performance/efficient_intra_process_communication.html">5.1.2. Efficient intra-process communication:</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../performance/efficient_intra_process_communication.html#introduction">5.1.2.1. Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/efficient_intra_process_communication.html#example">5.1.2.2. Example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../performance/fastdds_tuning.html">5.1.3. Fast DDS Optimization for Orbbec Camera with ROS2</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../performance/fastdds_tuning.html#adjusting-system-parameters">5.1.3.1. Adjusting System Parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="../performance/fastdds_tuning.html#fast-dds-configuration">5.1.3.2. Fast DDS Configuration</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2 current"><a class="reference internal" href="../advanced_guide.html#multi-camera">5.2. Multi-Camera</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="multi_camera.html">5.2.1. Multi-Camera</a><ul>
<li class="toctree-l4"><a class="reference internal" href="multi_camera.html#no-data-stream-from-multiple-cameras">5.2.1.1. No Data Stream from Multiple Cameras</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera.html#image-topic-frame-rate-too-low-from-multiple-cameras">5.2.1.2. Image topic frame rate too low from Multiple Cameras</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="multi_camera_synced.html">5.2.2. Multi_camera synced Instructions</a><ul>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced.html#setup-instructions">5.2.2.1. Setup instructions</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced.html#checking-camera-port-with-orbbecsdk-ros2">5.2.2.2. Checking camera port with OrbbecSDK_ROS2</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced.html#orbbecsdk-ros2-multi-camera-synced-configuration">5.2.2.3. OrbbecSDK_ROS2 multi-camera synced configuration</a></li>
<li class="toctree-l4"><a class="reference internal" href="multi_camera_synced.html#run-the-following-command-to-start-the-multi-camera-synced">5.2.2.4. Run the following command to start the multi-camera synced</a></li>
</ul>
</li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">5.2.3. Multi_camera_synced_verification_tool</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#directory-structure">5.2.3.1. Directory Structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="#preparation-for-operation">5.2.3.2. Preparation for operation</a></li>
<li class="toctree-l4"><a class="reference internal" href="#run-this-example">5.2.3.3. Run this example</a></li>
<li class="toctree-l4"><a class="reference internal" href="#files-that-need-to-be-changed">5.2.3.4. Files that need to be changed</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gmsl_camera.html">5.2.4. GMSL_camera</a><ul>
<li class="toctree-l4"><a class="reference internal" href="gmsl_camera.html#single-gmsl-camera">5.2.4.1. Single GMSL camera</a></li>
<li class="toctree-l4"><a class="reference internal" href="gmsl_camera.html#multi-gmsl-camera">5.2.4.2. Multi GMSL camera</a></li>
<li class="toctree-l4"><a class="reference internal" href="gmsl_camera.html#multi-gmsl-camera-synced">5.2.4.3. Multi GMSL camera synced</a></li>
<li class="toctree-l4"><a class="reference internal" href="gmsl_camera.html#usage-limitations-of-gmsl-cameras">5.2.4.4. Usage Limitations of GMSL Cameras</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../advanced_guide.html#configuration-modes">5.3. Configuration &amp; Modes</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../configuration/align_depth_color.html">5.3.1. Aligning Depth to Color in ROS 2</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/align_depth_color.html#commands-to-align-and-view-depth-and-color-images">5.3.1.1. Commands to Align and View Depth and Color Images</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/align_depth_color.html#selecting-topics-in-rviz2">5.3.1.2. Selecting Topics in RViz2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/align_depth_color.html#example-of-depth-to-color-overlay">5.3.1.3. Example of Depth to Color Overlay</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/configuration_of_depth_NFOV_and_WFOV_modes.html">5.3.2. Configuration of depth NFOV and WFOV modes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/depth_work_mode_switch.html">5.3.3. Depth work mode switch</a></li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/disparity_search_offset.html">5.3.4. Disparity_search_offset</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/disparity_search_offset.html#function-introduction">5.3.4.1. Function Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/disparity_search_offset.html#parameter-introduction">5.3.4.2. Parameter Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/disparity_search_offset.html#run-the-launch">5.3.4.3. Run the launch</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/interleave_ae_mode.html">5.3.5. Using interleave_ae with Gemini330 series cameras</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/interleave_ae_mode.html#parameter-introduction">5.3.5.1. Parameter Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/interleave_ae_mode.html#run-the-launch">5.3.5.2. Run the launch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/interleave_ae_mode.html#multi-camera-synced-interleave-ae">5.3.5.3. Multi_camera_synced + Interleave_ae</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/predefined_presets.html">5.3.6. Predefined presets</a></li>
<li class="toctree-l3"><a class="reference internal" href="../configuration/net_camera.html">5.3.7. Net_camera</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../configuration/net_camera.html#femto-mega-gemini-435le-gemini-335le">5.3.7.1. Femto Mega &amp; Gemini 435Le &amp; Gemini 335Le</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/net_camera.html#set-device-ip-utility">5.3.7.2. set_device_ip Utility</a></li>
<li class="toctree-l4"><a class="reference internal" href="../configuration/net_camera.html#force-ip-function">5.3.7.3. Force IP Function</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../6_benchmark/benchmark.html">6. Benchmark</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/introduction.html">6.1. Introduction</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/introduction.html#common-benchmark-node">6.1.1. common benchmark node</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/introduction.html#service-benchmark-node">6.1.2. service benchmark node</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html">6.2. Benchmark Usage</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#using-common-benchmark-node">6.2.1. Using common benchmark node</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#using-service-benchmark-node">6.2.2. Using service benchmark node</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#ros2-c">6.2.2.1. ROS2 C++</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#ros2-python">6.2.2.2. ROS2 Python</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/benchmark_usage.html#example-yaml-configuration">6.2.2.3. <strong>Example YAML configuration</strong></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/benchmark_data.html">6.3. Benchmark Data</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_data.html#common-benckmark-data">6.3.1. Common Benckmark Data</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/benchmark_data.html#service-benchmark-data">6.3.2. Service Benchmark Data</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../6_benchmark/othertools.html">6.4. Other Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../6_benchmark/othertools.html#ob-benchmark-tool">6.4.1. Ob_benchmark tool</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#tool-configuration-start-benchmark-params-json">6.4.1.1. Tool Configuration (start_benchmark_params.json)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#camera-configuration-launch-files">6.4.1.2. Camera configuration (launch files)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#running-the-ob-benchmark-tool">6.4.1.3. Running the ob_benchmark tool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../6_benchmark/othertools.html#output-data-files">6.4.1.4. Output Data Files</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../7_developer_guide/developer_guide.html">7. Developer Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../7_developer_guide/migration_guide.html">7.1. Migrating from main to Open-Source v2-main</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#introduction">7.1.1. <strong>Introduction</strong></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#advantages-of-migrating-from-main-to-v2-main">7.1.2. <strong>Advantages of Migrating from main to v2-main</strong></a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#comprehensive-device-support">7.1.2.1. <strong>Comprehensive Device Support</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#transparency-and-extensibility">7.1.2.2. <strong>Transparency and Extensibility</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#advantages-in-maintenance-and-updates">7.1.2.3. Advantages in Maintenance and Updates</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#community-and-ecosystem-support">7.1.2.4. <strong>Community and Ecosystem Support</strong></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#comparison-between-main-and-v2-main-branches">7.1.3. Comparison Between main and v2-main Branches</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#launch-file-differences">7.1.3.1. <strong>Launch File Differences</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#parameter-differences">7.1.3.2. <strong>Parameter Differences</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#topic-differences">7.1.3.3. <strong>Topic Differences</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../7_developer_guide/migration_guide.html#service-differences">7.1.3.4. <strong>Service Differences</strong></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html">7.2. Building a Debian Package</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html#preparing-the-environment">7.2.1. Preparing the Environment</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html#configuring-ros-dependencies">7.2.2. Configuring ROS Dependencies</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../7_developer_guide/building_a_Debian_Package.html#building-the-package">7.2.3. Building the Package</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../8_FAQ/FAQ.html">8. Frequently Asked Questions</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#unexpected-crash">8.1. Unexpected Crash</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#no-data-stream-from-multiple-cameras">8.2. No Data Stream from Multiple Cameras</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#additional-troubleshooting">8.3. Additional Troubleshooting</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../8_FAQ/FAQ.html#why-are-there-so-many-launch-files">8.4. Why Are There So Many Launch Files?</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../../index.html">OrbbecSDK V2 ROS2 Wrapper</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../advanced_guide.html"><span class="section-number">5. </span>Advanced Guide</a></li>
<li class="breadcrumb-item active"><span class="section-number">5.2.3. </span>Multi_camera_synced_verification_tool</li>
<li class="wy-breadcrumbs-aside">
<a href="../../../_sources/source/5_advanced_guide/multi_camera/multi_camera_synced_verification_tool.md.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="lang-switch" style="margin:0 0 1em 0; font-size:0.9em;"><a class="lang-other" href="#">中文</a> | <a class="lang-current" href="#">English</a></div><script>(function(){var p=window.location.pathname;var isEn=p.indexOf('/en/')!==-1 && p.indexOf('/zh/')===-1;if(p.indexOf('/zh/')!==-1) isEn=false;var other = isEn ? p.replace(/\/en\//, '/zh/') : p.replace(/\/zh\//, '/en/');var current=p;var sw=document.querySelector('.lang-switch'); if(!sw) return;var o=sw.querySelector('.lang-other'); var c=sw.querySelector('.lang-current');if(isEn){ o.textContent='中文'; c.textContent='English'; } else { o.textContent='English'; c.textContent='中文'; }o.setAttribute('href', other); c.setAttribute('href', current);})();</script><section id="multi-camera-synced-verification-tool">
<h1><span class="section-number">5.2.3. </span>Multi_camera_synced_verification_tool<a class="headerlink" href="#multi-camera-synced-verification-tool" title="Link to this heading"></a></h1>
<blockquote>
<div><p>This article will introduce how to verify the synchronization accuracy of multi-camera synchronization.</p>
<p>First, please see how to use <a class="reference internal" href="multi_camera_synced.html"><span class="doc">multi_camera_synced</span></a>.</p>
</div></blockquote>
<p>You can find example usage code in the <a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples">example</a>.</p>
<section id="directory-structure">
<h2><span class="section-number">5.2.3.1. </span>Directory Structure<a class="headerlink" href="#directory-structure" title="Link to this heading"></a></h2>
<div class="highlight-plaintext notranslate"><div class="highlight"><pre><span></span>.
├── multicamera_sync/
│ ├── output/
│ ├──20250218102900/
│ ├──DevicesInfo.txt
│ ├──StreamProfileInfo.txt
│ ├── Python/
│ ├──Config.ini
├── gemini_330_series_synced_verify.launch.py
├── multi_camera_synced_verify.launch.py
</pre></div>
</div>
<p><strong>multicamera_sync</strong></p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">gemini_330_series_synced_verify.launch.py</span></code> : Single camera runs launch, which provides the camera running node for multi_camera_synced_verify.launch.py.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">multi_camera_synced_verify.launch.py</span></code> : Multi camer synced + launch of save_rgbir tool.</p></li>
</ul>
<p><strong>output</strong></p>
<blockquote>
<div><p>The <code class="docutils literal notranslate"><span class="pre">ouput</span></code> folder is the folder where the camera pictures are output</p>
</div></blockquote>
<p>In the output example provided</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">20250218102900</span></code> : Represents the camera image information collected at 10:29:00 on February 18, 2025.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">TotalModeFrames</span></code> : Camera image information storage directory.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">results-2025-02-25_163648</span></code> : The result after analyzing and matching the image information of TotalModeFrames.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">DevicesInfo.txt</span></code> : Camera equipment basic information (need to be modified).</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">StreamProfileInfo.txt</span></code> : Camera video stream information (no need to modify).</p></li>
</ul>
<p><strong>Python</strong></p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">Config.ini</span></code> : Configuration file for Python analysis script (need to be modified).</p></li>
</ul>
</section>
<section id="preparation-for-operation">
<h2><span class="section-number">5.2.3.2. </span>Preparation for operation<a class="headerlink" href="#preparation-for-operation" title="Link to this heading"></a></h2>
<p><strong>save_rgbir node</strong></p>
<p>Edit multi_camera_synced_verify.launch.py and fill in the activated camera device,we can find that save_rgbir is started at the end.</p>
<blockquote>
<div><p>IMPORTANT</p>
<p>If you are using ROS 2 Foxy, you need to launch the save_rgbir node first.</p>
</div></blockquote>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Launch description</span>
<span class="n">ld</span> <span class="o">=</span> <span class="n">LaunchDescription</span><span class="p">(</span>
<span class="p">[</span>
<span class="n">shared_orbbec_container</span><span class="p">,</span>
<span class="n">TimerAction</span><span class="p">(</span><span class="n">period</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">actions</span><span class="o">=</span><span class="p">[</span><span class="n">GroupAction</span><span class="p">([</span><span class="n">launch2_include</span><span class="p">])]),</span>
<span class="n">TimerAction</span><span class="p">(</span><span class="n">period</span><span class="o">=</span><span class="mf">2.0</span><span class="p">,</span> <span class="n">actions</span><span class="o">=</span><span class="p">[</span><span class="n">GroupAction</span><span class="p">([</span><span class="n">launch1_include</span><span class="p">])]),</span>
<span class="c1"># The primary camera should be launched at last</span>
<span class="n">TimerAction</span><span class="p">(</span><span class="n">period</span><span class="o">=</span><span class="mf">6.0</span><span class="p">,</span> <span class="n">actions</span><span class="o">=</span><span class="p">[</span><span class="n">GroupAction</span><span class="p">([</span><span class="n">save_rgbir</span><span class="p">])]),</span>
<span class="c1"># save_rgbir is synced verification tool</span>
<span class="p">]</span>
<span class="p">)</span>
<span class="k">return</span> <span class="n">ld</span>
</pre></div>
</div>
<p>save_rgbir is a tool for saving images. The configuration file of this tool is in <a class="reference external" href="../../config/tools/multisavergbir/multi_save_rgbir_params.json">multi_save_rgbir_params.json</a>.</p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;save_rgbir_params&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;time_domain&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;global&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;usb_ports&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="s2">&quot;2-1&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="s2">&quot;2-3&quot;</span>
<span class="w"> </span><span class="p">],</span>
<span class="w"> </span><span class="nt">&quot;camera_name&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="s2">&quot;camera_01&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="s2">&quot;camera_02&quot;</span>
<span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="p">}</span>
<span class="p">}</span>
</pre></div>
</div>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">time_domain</span></code> : Timestamp Type</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">usb_ports</span></code> : “primary”, “secondary 1”, “secondary 2”, “secondary 3”, fill in as many usb_ports as there are cameras</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">camera_name</span></code> : The name of the camera setting, for example: camera_01</p></li>
</ul>
<p><strong>DevicesInfo.txt</strong></p>
<p>Edit DevicesInfo.txt. Only the <code class="docutils literal notranslate"><span class="pre">primarySerialNumber</span></code>, <code class="docutils literal notranslate"><span class="pre">index</span></code> and <code class="docutils literal notranslate"><span class="pre">serialNumber</span></code> parameters need to be changed. Other parameters do not need to be changed.Refer to the example of <a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples/multi_camera_synced_verification_tool/multicamera_sync/output/20250218102900">20250218102900</a>.</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">primarySerialNumber</span></code> : The SN serial number of the primary camera</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">index</span></code> : Camera index</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">serialNumber</span></code> : The SN serial number of the camera</p></li>
</ul>
<p><strong>Config.ini</strong></p>
<p>Edit Config.ini.Modify <code class="docutils literal notranslate"><span class="pre">frameRate</span></code> and <code class="docutils literal notranslate"><span class="pre">tspRangeThreshold</span></code>.</p>
</section>
<section id="run-this-example">
<h2><span class="section-number">5.2.3.3. </span>Run this example<a class="headerlink" href="#run-this-example" title="Link to this heading"></a></h2>
<p><strong>Run launch and save camera pictures</strong></p>
<ul class="simple">
<li><p>First terminal</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>launch<span class="w"> </span>orbbec_camera<span class="w"> </span>multi_camera_synced_verify.launch.py
</pre></div>
</div>
<ul class="simple">
<li><p>Second terminal</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ros2<span class="w"> </span>service<span class="w"> </span>call<span class="w"> </span>/save_rgbir/start_capture<span class="w"> </span>orbbec_camera_msgs/srv/SetInt32<span class="w"> </span><span class="s1">&#39;{data: 100}&#39;</span>
</pre></div>
</div>
<p>When the terminal displays “over”, the image is saved.A new multicamera_sync folder will be generated under the workspace.</p>
<p><strong>Camera pictures naming format</strong></p>
<p>Take <a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples/multi_camera_synced_verification_tool/multicamera_sync/output/20250218102900/TotalModeFrames/SNCP1E5420006D_Index0/color_SNCP1E5420006D_Index0_g1739874543227_f0_s1739874543327_e50_d16_.jpg">color_SNCP1E5420006D_Index0_g1739874543227_f0_s1739874543327_e50_d16_.jpg</a> as an example</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">color</span></code> : This image is a snapshot of the color stream.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">SNCP1E5420006D</span></code> : The camera’s SN serial number is CP1E5420006D.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">Index0</span></code> : Camera 0 (usually referred to primary camera).</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">g1739874543227</span></code> : “g” represents the global timestamp, which means the global timestamp of this frame is 1739874543227.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">f0</span></code> : The 0th picture of the color stream acquisition of this camera.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">s1739874543327</span></code> : “s” represents the timestamp of the current system, which means the current system timestamp of this frame is 1739874543327.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">e50</span></code> : The exposure of this frame is 50.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">d16</span></code> : The gain of this frame is 16.</p></li>
</ul>
<p><strong>Analyzing camera image data</strong></p>
<p>You need to copy the modified <a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples/multi_camera_synced_verification_tool//multicamera_sync/Python">Python folder</a> to the new multi_camera_synced subdirectory, and copy the modified <a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples/multi_camera_synced_verification_tool/multicamera_sync/output/20250218102900/DevicesInfo.txt">DevicesInfo.txt </a>and <a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples/multi_camera_synced_verification_tool//multicamera_sync/output/20250218102900/StreamProfileInfo.txt">StreamProfileInfo.txt</a> to the same level directory as the TotalModeFrames folder.</p>
<ul class="simple">
<li><p>Finally everything is ready, run the python script</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span><span class="w"> </span>multicamera_sync/Python
python3<span class="w"> </span>SyncFramesMain.py
</pre></div>
</div>
<p>After the operation is successful, you can view the synchronization effect in the <code class="docutils literal notranslate"><span class="pre">results</span> <span class="pre">folder</span></code></p>
</section>
<section id="files-that-need-to-be-changed">
<h2><span class="section-number">5.2.3.4. </span>Files that need to be changed<a class="headerlink" href="#files-that-need-to-be-changed" title="Link to this heading"></a></h2>
<p><strong>Analysis tools</strong></p>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/config/tools/multisavergbir/multi_save_rgbir_params.json">multi_save_rgbir_params.json</a></p></li>
<li><p><a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples/multi_camera_synced_verification_tool//multicamera_sync/output/20250218102900/DevicesInfo.txt">DevicesInfo.txt </a></p></li>
<li><p><a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples/multi_camera_synced_verification_tool//multicamera_sync/Python/Config.ini">Config.ini</a></p></li>
</ul>
<p><strong>Camera Configuration</strong></p>
<p><a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/config/camera_params.yaml">camera_params.yaml</a>(Camera startup parameter settings)</p>
<p><a class="reference external" href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples/multi_camera_synced_verification_tool//multi_camera_synced_verify.launch.py">multi_camera_synced_verify.launch.py</a></p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="multi_camera_synced.html" class="btn btn-neutral float-left" title="5.2.2. Multi_camera synced Instructions" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="gmsl_camera.html" class="btn btn-neutral float-right" title="5.2.4. GMSL_camera" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2025, ORBBEC INC. www.orbbec.com..
<span class="lastupdated">Last updated on 2025-10-22 03:10:57.
</span></p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>