<liclass="toctree-l3"><aclass="reference internal"href="../../1_overview/introduction.html#support-hardware-products">1.1.1. Support Hardware Products</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../1_overview/introduction.html#orbbec-camera-datasheet">1.1.2. Orbbec camera datasheet</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../1_overview/introduction.html#support-platforms">1.1.3. Support Platforms</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#build-your-first-camera-application">3.1.2. Build your First Camera Application</a><ul>
<liclass="toctree-l4"><aclass="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>
<liclass="toctree-l4"><aclass="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>
<liclass="toctree-l4"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#step-3-visualize-in-rviz2">3.1.2.3. Step 3: Visualize in RViz2</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#list-available-topics-services-parameters">3.1.3.1. List available topics / services/ parameters</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#echo-a-topic">3.1.3.2. Echo a topic</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#call-a-service">3.1.3.3. Call a service</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../3_quickstarts/quickstart.html#record-with-rosbag2">3.1.3.4. Record with rosbag2</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../3_quickstarts/orbbecviewer.html#connect-the-device">3.2.2. Connect the device</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../3_quickstarts/orbbecviewer.html#camera-control">3.2.3. Camera Control</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../3_quickstarts/orbbecviewer.html#device-information-and-firmware-upgrade">3.2.4. Device information and firmware upgrade</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/launch_parameters.html#basic-general-parameters">4.1.4. Basic & General Parameters</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/launch_parameters.html#firmware-backend">4.1.4.1. Firmware & Backend</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/launch_parameters.html#tf-extrinsics-calibration">4.1.4.2. TF, Extrinsics & Calibration</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/launch_parameters.html#time-synchronization">4.1.4.3. Time Synchronization</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/launch_parameters.html#logging-diagnostics">4.1.4.4. Logging & Diagnostics</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../4_application_guide/services.html">4.2. All available services for camera control</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/services.html#ir-stream">4.2.1.3. IR Stream</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/services.html#all-streams">4.2.1.4. All Streams</a></li>
</ul>
</li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/services.html#sensor-emitter-control">4.2.2. Sensor & Emitter Control</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/services.html#device-information-management">4.2.3. Device Information & Management</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/services.html#synchronization-triggering">4.2.4. Synchronization & Triggering</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/services.html#data-capture-calibration-management">4.2.6. Data Capture & Calibration Management</a></li>
</ul>
</li>
<liclass="toctree-l2"><aclass="reference internal"href="../../4_application_guide/topics.html">4.3. Available Topics</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/topics.html#device-status-diagnostics">4.3.4. Device Status & Diagnostics</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../4_application_guide/coordinate_and_tf.html">4.4. Coordinate Systems and TF Transforms</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/coordinate_and_tf.html#camera-sensor-structure">4.4.1. Camera sensor structure</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/coordinate_and_tf.html#ros2-robot-coordinate-system-vs-camera-optical-coordinate-system">4.4.2. ROS2 Robot Coordinate System vs Camera Optical Coordinate System</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/coordinate_and_tf.html#using-ros2-tf-tools">4.4.3. Using ROS2 TF Tools</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/coordinate_and_tf.html#view-tf-tree-structure">4.4.3.1. View TF Tree Structure</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/coordinate_and_tf.html#visualize-tf-tree-in-rviz2">4.4.3.2. Visualize TF Tree in rviz2</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/coordinate_and_tf.html#camera-tf-calculation-and-publishing-mechanism">4.4.4. Camera TF Calculation and Publishing Mechanism</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/coordinate_and_tf.html#function-breakdown">4.4.4.2. Function Breakdown</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../4_application_guide/point_cloud.html">4.6. Enabling and Visualizing Point Cloud in ROS 2</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/point_cloud.html#enabling-depth-point-cloud">4.6.1. Enabling Depth Point Cloud</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/point_cloud.html#command-to-enable-depth-point-cloud">4.6.1.1. Command to Enable Depth Point Cloud</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/point_cloud.html#visualizing-depth-point-cloud-in-rviz2">4.6.1.2. Visualizing Depth Point Cloud in RViz2</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../4_application_guide/point_cloud.html#enabling-colored-point-cloud">4.6.2. Enabling Colored Point Cloud</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/point_cloud.html#command-to-enable-colored-point-cloud">4.6.2.1. Command to Enable Colored Point Cloud</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../../4_application_guide/point_cloud.html#visualizing-colored-point-cloud-in-rviz2">4.6.2.2. Visualizing Colored Point Cloud in RViz2</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../advanced_guide.html#performance-optimization">5.1. Performance & Optimization</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../performance/lower_cpu_usage.html">5.1.1. Reducing CPU Usage with Orbbec ROS Package</a><ul>
<liclass="toctree-l4"><aclass="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>
<liclass="toctree-l4"><aclass="reference internal"href="../performance/lower_cpu_usage.html#launch-files-used-for-testing">5.1.1.2. Launch Files Used for Testing</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../performance/lower_cpu_usage.html#test-environment">5.1.1.3. Test environment</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../performance/lower_cpu_usage.html#test-setup">5.1.1.4. Test Setup</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../performance/lower_cpu_usage.html#test-results">5.1.1.5. Test Results</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../performance/lower_cpu_usage.html#further-optimizationa">5.1.1.6. Further Optimizationa</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../performance/fastdds_tuning.html">5.1.3. Fast DDS Optimization for Orbbec Camera with ROS2</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../performance/fastdds_tuning.html#adjusting-system-parameters">5.1.3.1. Adjusting System Parameters</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../performance/fastdds_tuning.html#fast-dds-configuration">5.1.3.2. Fast DDS Configuration</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../multi_camera/multi_camera.html#no-data-stream-from-multiple-cameras">5.2.1.1. No Data Stream from Multiple Cameras</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../multi_camera/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>
<liclass="toctree-l4"><aclass="reference internal"href="../multi_camera/multi_camera_synced.html#checking-camera-port-with-orbbecsdk-ros2">5.2.2.2. Checking camera port with OrbbecSDK_ROS2</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../multi_camera/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>
<liclass="toctree-l5"><aclass="reference internal"href="../multi_camera/multi_camera_synced_verification_tool.html#launch-and-verification">5.2.3.1.3. <strong>Launch and Verification</strong></a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../multi_camera/multi_camera_synced_verification_tool.html#system-configuration-requirements">5.2.3.2. System Configuration Requirements</a><ul>
<liclass="toctree-l5"><aclass="reference internal"href="../multi_camera/multi_camera_synced_verification_tool.html#increase-usb-buffer-memory">5.2.3.2.1. <strong>Increase USB Buffer Memory</strong></a></li>
<liclass="toctree-l5"><aclass="reference internal"href="../multi_camera/multi_camera_synced_verification_tool.html#configure-fast-dds">5.2.3.2.2. <strong>Configure Fast DDS</strong></a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../multi_camera/gmsl_camera.html#single-gmsl-camera">5.2.4.1. Single GMSL camera</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../multi_camera/gmsl_camera.html#multi-gmsl-camera">5.2.4.2. Multi GMSL camera</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../multi_camera/gmsl_camera.html#multi-gmsl-camera-synced">5.2.4.3. Multi GMSL camera synced</a></li>
<liclass="toctree-l2 current"><aclass="reference internal"href="../advanced_guide.html#configuration-modes">5.3. Configuration & Modes</a><ulclass="current">
<liclass="toctree-l3"><aclass="reference internal"href="align_depth_color.html">5.3.1. Aligning Depth to Color in ROS 2</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="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>
<liclass="toctree-l4"><aclass="reference internal"href="align_depth_color.html#selecting-topics-in-rviz2">5.3.1.2. Selecting Topics in RViz2</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="align_depth_color.html#example-of-depth-to-color-overlay">5.3.1.3. Example of Depth to Color Overlay</a></li>
</ul>
</li>
<liclass="toctree-l3"><aclass="reference internal"href="configuration_of_depth_NFOV_and_WFOV_modes.html">5.3.2. Configuration of depth NFOV and WFOV modes</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="depth_work_mode_switch.html">5.3.3. Depth work mode switch</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="#femto-mega-gemini-435le-gemini-335le">5.3.7.1. Femto Mega & Gemini 435Le & Gemini 335Le</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../6_benchmark/introduction.html#common-benchmark-node">6.1.1. common benchmark node</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../6_benchmark/introduction.html#service-benchmark-node">6.1.2. service benchmark node</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../6_benchmark/benchmark_usage.html#using-common-benchmark-node">6.2.1. Using common benchmark node</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../6_benchmark/benchmark_usage.html#using-service-benchmark-node">6.2.2. Using service benchmark node</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../../6_benchmark/benchmark_data.html#common-benckmark-data">6.3.1. Common Benckmark Data</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../6_benchmark/benchmark_data.html#service-benchmark-data">6.3.2. Service Benchmark Data</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../7_developer_guide/migration_guide.html">7.1. Migrating from main to Open-Source v2-main</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../../7_developer_guide/migration_guide.html#advantages-of-migrating-from-main-to-v2-main">7.1.2. Advantages of Migrating from main to v2-main</a><ul>
<liclass="toctree-l4"><aclass="reference internal"href="../../7_developer_guide/migration_guide.html#transparency-and-extensibility">7.1.2.2. <strong>Transparency and Extensibility</strong></a></li>
<liclass="toctree-l4"><aclass="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>
<liclass="toctree-l4"><aclass="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>
<liclass="toctree-l3"><aclass="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>
<liclass="toctree-l2"><aclass="reference internal"href="../../7_developer_guide/building_a_Debian_Package.html">7.2. Building a Debian Package</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../../7_developer_guide/building_a_Debian_Package.html#preparing-the-environment">7.2.1. Preparing the Environment</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../../7_developer_guide/building_a_Debian_Package.html#building-the-package">7.2.3. Building the Package</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../../8_FAQ/FAQ.html#no-data-stream-from-multiple-cameras">8.2. No Data Stream from Multiple Cameras</a></li>
<liclass="toctree-l2"><aclass="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>
<liclass="toctree-l2"><aclass="reference internal"href="../../8_FAQ/FAQ.html#how-to-launch-a-specific-camera-when-multiple-cameras-are-connected">8.5. How to Launch a Specific Camera When Multiple Cameras Are Connected</a></li>
<div><p>This section describes how to use Net camera in OrbbecSDK_ROS2.Currently, only Femto_Mega, Gemini 335Le and Gemini 435Le devices are supported, and other Net devices will be supported in the near future.</p>
<p>You can find example usage code in the <aclass="reference external"href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/examples">example</a>.</p>
<h2><spanclass="section-number">5.3.7.1. </span>Femto Mega & Gemini 435Le & Gemini 335Le<aclass="headerlink"href="#femto-mega-gemini-435le-gemini-335le"title="Link to this heading"></a></h2>
<p>Network device settings: <codeclass="docutils literal notranslate"><spanclass="pre">enumerate_net_device</span></code> is set to true, which will automatically enumerate network devices.</p>
<p>If you do not want to automatically enumerate network devices,you can set <codeclass="docutils literal notranslate"><spanclass="pre">enumerate_net_device</span></code> to false, <codeclass="docutils literal notranslate"><spanclass="pre">net_device_ip</span></code> to the device’s IP address, and <codeclass="docutils literal notranslate"><spanclass="pre">net_device_port</span></code> to the default value of 8090.</p>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">net_device_ip</span></code> : Setting net device’s IP address.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">net_device_port</span></code> : Setting net device’s port.Usually, you can set it to 8090.</p></li>
<div><p>If you need to run Gemini 435Le/Gemini 335Le, you only need to replace <aclass="reference external"href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/launch/femto_mega.launch.py">femto_mega.launch.py </a>in the run command with <aclass="reference external"href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/launch/gemini435_le.launch.py">gemini435_le.launch.py</a>/<aclass="reference external"href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/launch/gemini_330_series.launch.py">gemini_330_series.launch.py</a></p>
<p>For <aclass="reference external"href="https://github.com/orbbec/OrbbecSDK_ROS2/tree/v2-main/orbbec_camera/launch/femto_mega.launch.py">femto_mega.launch.py</a> as an example:</p>
<li><p><strong>Specify IP address to start the device:</strong></p></li>
</ul>
<p>Note: <codeclass="docutils literal notranslate"><spanclass="pre">net_device_ip</span></code> needs to be changed to the IP address of the device, here it is 192.168.1.10</p>
<p>For <aclass="reference external"href="https://github.com/orbbec/OrbbecSDK_ROS2/blob/v2-main/orbbec_camera/examples/net_camera/multi_net_camera.launch.py">multi_net_camera.launch.py</a> as an example:</p>
<h2><spanclass="section-number">5.3.7.2. </span>set_device_ip Utility<aclass="headerlink"href="#set-device-ip-utility"title="Link to this heading"></a></h2>
<p>The <strong><codeclass="docutils literal notranslate"><spanclass="pre">set_device_ip</span></code></strong> executable allows you to configure the IP settings of a network camera directly from ROS 2, including switching between DHCP and static IP, and setting subnet mask and gateway. This is useful for quickly assigning or updating IP addresses without modifying launch files.</p>
<blockquote>
<div><p><strong>Note:</strong> The IP settings applied with <codeclass="docutils literal notranslate"><spanclass="pre">set_device_ip</span></code> are <strong>permanent</strong> and <strong>will not be reset</strong> if the device is powered off or restarted.</p>
<li><p><strong><codeclass="docutils literal notranslate"><spanclass="pre">old_ip</span></code></strong>– Current IP address of the device.</p></li>
<li><p><strong><codeclass="docutils literal notranslate"><spanclass="pre">dhcp</span></code></strong>– Set to <codeclass="docutils literal notranslate"><spanclass="pre">true</span></code> to use DHCP or <codeclass="docutils literal notranslate"><spanclass="pre">false</span></code> for static IP.</p></li>
<li><p><strong><codeclass="docutils literal notranslate"><spanclass="pre">new_ip</span></code></strong>– Static IP address to assign when DHCP is disabled.</p></li>
<li><p><strong><codeclass="docutils literal notranslate"><spanclass="pre">mask</span></code></strong>– Subnet mask for the new IP.</p></li>
<li><p><strong><codeclass="docutils literal notranslate"><spanclass="pre">gateway</span></code></strong>– Gateway address for the new IP.</p></li>
</ul>
</section>
<sectionid="force-ip-function">
<h2><spanclass="section-number">5.3.7.3. </span>Force IP Function<aclass="headerlink"href="#force-ip-function"title="Link to this heading"></a></h2>
<p>The <strong>Force IP</strong> feature allows you to assign a <strong>static IP address</strong> to a network camera, overriding DHCP settings. This is useful when multiple network cameras are connected, and you need each device to have a fixed IP for reliable communication.</p>
<blockquote>
<div><p><strong>Note:</strong> The Force IP configuration <strong>will be reset if the device is powered off or restarted</strong>. You need to reapply the settings after reboot.</p>
</div></blockquote>
<p><strong>Parameters</strong></p>
<ulclass="simple">
<li><p><strong><codeclass="docutils literal notranslate"><spanclass="pre">force_ip_enable</span></code></strong>– Enable the Force IP function. <strong>Default:</strong><codeclass="docutils literal notranslate"><spanclass="pre">false</span></code></p></li>
<li><p><strong><codeclass="docutils literal notranslate"><spanclass="pre">force_ip_mac</span></code></strong>– Target device MAC address when multiple cameras are connected (e.g., <codeclass="docutils literal notranslate"><spanclass="pre">"54:14:FD:06:07:DA"</span></code>). You can use the <codeclass="docutils literal notranslate"><spanclass="pre">list_devices_node</span></code> to find the MAC of each device. <strong>Default:</strong><codeclass="docutils literal notranslate"><spanclass="pre">""</span></code></p></li>
<li><p><strong><codeclass="docutils literal notranslate"><spanclass="pre">force_ip_address</span></code></strong>– Static IP address to assign . <strong>Default:</strong><codeclass="docutils literal notranslate"><spanclass="pre">192.168.1.10</span></code></p></li>
<li><p><strong><codeclass="docutils literal notranslate"><spanclass="pre">force_ip_subnet_mask</span></code></strong>– Subnet mask for the static IP. <strong>Default:</strong><codeclass="docutils literal notranslate"><spanclass="pre">255.255.255.0</span></code></p></li>
<li><p><strong><codeclass="docutils literal notranslate"><spanclass="pre">force_ip_gateway</span></code></strong>– Gateway address for the static IP. <strong>Default:</strong><codeclass="docutils literal notranslate"><spanclass="pre">192.168.1.1</span></code></p></li>
</ul>
<p><strong>Example Usage</strong></p>
<ulclass="simple">
<li><p><strong>Enable Force IP for a specific device:</strong></p></li>
<div><p>Tip: Make sure the camera is connected and its MAC address is correct before enabling Force IP. Use <codeclass="docutils literal notranslate"><spanclass="pre">list_devices_node</span></code> to check the MAC address of all connected cameras.</p>