> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs-staging.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# QIR SDK sample applications

The QIR SDK provides various sample applications. You can use ROS 2 to obtain device CPU load, accelerate AI model inference on Qualcomm platform from ROS 2 nodes, and perform robot simulation. The sample applications fall into different categories: AI, robotics, and platform.

By combining different samples, you can implement various functionalities.

## Summary of samples in the QIR SDK

<Note>
  **Note**

  Some samples require specific hardware peripherals. For the required hardware, see the following tables.
</Note>

<Warning>
  **Warning**

  The images you download from [Download the prebuilt packages](./download-the-prebuilt-packages) are `qcom-robotics-proprietary-image` for the matching development kits.
</Warning>

### AI sample applications

QIR SDK provides the following sample applications that demonstrate the AI capabilities of the platform.

<table className="sample-table">
  <caption>Table: AI sample applications</caption>

  <thead>
    <tr>
      <th style={{ width: '32%', verticalAlign: 'top' }}>Sample application</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Peripherals required</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Mobile robot required</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Support for IQ-9075 EVK</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Support for IQ-8275 EVK</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Support for qcom-robotics-image</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Support for qcom-robotics-proprietary-image</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td><Tooltip tip="The sample_hand_detection is a machine learning pipeline that predicts bounding boxes and pose skeletons of hands in an image."><a href="./detect-hands-with-sample-hand-detection">Detect hands</a> (<code>sample\_hand\_detection</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The sample_resnet101 is a machine learning model that can classify images from the Imagenet dataset."><a href="./classify-images-with-sample-resnet101">Classify images</a> (<code>sample\_resnet101</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The sample_depth_estimation is a machine learning model that can estimate the depth of per-pixel in an image."><a href="./estimate-image-depth-values-with-sample-depth-estimation">Estimate image depths</a> (<code>sample\_depth\_estimation</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The sample_face_detection is a machine learning model that can detect faces in an image."><a href="./detect-faces-with-sample-face-detection">Detect faces</a> (<code>sample\_face\_detection</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The sample_hrnet_pose_estimation is a machine learning model that can estimate the pose of a person in an image."><a href="./estimate-human-poses-with-sample-hrnet-pose-estimation">Estimate human poses</a> (<code>sample\_hrnet\_pose\_estimation</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The sample_object_detection is a Python launch file utilizing QNN for model inference. It demonstrates camera data streaming, AI-based inference, and real-time visualization of object detection results."><a href="./detect-objects-with-sample-object-detection">Detect objects</a> (<code>sample\_object\_detection</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The sample_object_segmentation is a Python launch file utilizing QNN for model inference. It demonstrates camera data streaming, AI-based inference, and real-time visualization of object segmentation results."><a href="./segment-objects-with-sample-object-segmentation">Segment objects</a> (<code>sample\_object\_segmentation</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>
  </tbody>
</table>

### Robotics sample applications

QIR SDK provides the following sample applications that demonstrate the robotics functionalities of the platform.

<Warning>
  **Warning**

  Robotics sample applications require the host and development kit to work together.
</Warning>

<table className="sample-table">
  <caption>Table: Robotics sample applications</caption>

  <thead>
    <tr>
      <th style={{ width: '32%', verticalAlign: 'top' }}>Sample application</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Peripherals required</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Mobile robot required</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Support for IQ-9075 EVK</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Support for IQ-8275 EVK</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Support for qcom-robotics-image</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Support for qcom-robotics-proprietary-image</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td><Tooltip tip="The simulation_sample_amr_simple_motion is a Python-based ROS node used to control the simple movements of QRB AMRs within the simulator. This sample allows you to control the movement of QRB AMRs by publishing ROS messages to the /qrb_robot_base/cmd_vel topic."><a href="./control-amr-in-the-simulator-with-simulation-sample-amr-simple-motion">Control AMR in the simulator</a> (<code>simulation\_sample\_amr\_simple\_motion</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The 2D lidar SLAM sample uses Cartographer, which is capable of completing indoor map construction and localization based on 2D lidar sensors."><a href="./enable-2-d-lidar-slam-with-cartographer-ros">Enable 2D lidar SLAM</a> (<code>cartographer\_ros</code>)</Tooltip></td>
      <td>RPLIDAR A3M1</td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The sample_apriltag is a ROS package that provides AprilTag pipeline samples for Qualcomm robotics platforms."><a href="./enable-april-tag-pipeline-with-sample-apriltag">Enable AprilTag pipeline</a> (<code>sample\_apriltag</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The simulation_sample_pick_and_place is a sample application that demonstrates the pick and place operation of the robot arm."><a href="./enable-pick-and-place-in-the-simulator-with-simulation-sample-pick-and-place">Enable pick-and-place in the simulator</a> (<code>simulation\_sample\_pick\_and\_place</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The simulation_remote_assistant sample application is the ROS package that utilizes an AMR as a remote assistant within a virtual office environment."><a href="./experience-remote-assistant-in-the-simulator-with-simulation-remote-assistant">Experience remote assistant in the simulator</a> (<code>simulation\_remote\_assistant</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The simulation_2d_lidar_slam is a simulated sample application that demonstrates how to run 2D lidar SLAM on Qualcomm robotics platforms within the simulator."><a href="./enable-2-d-lidar-slam-in-the-simulator-with-cartographer-ros">Enable 2D lidar SLAM in the simulator with `cartographer_ros`</a> (<code>simulation\_2d\_lidar\_slam</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The simulation_amr_navigation is a simulated sample application that demonstrates how to run navigation2 on Qualcomm robotics platforms within the simulator."><a href="./enable-navigation-in-the-simulator-with-navigation2">Enable navigation in the simulator with navigation2</a> (<code>simulation\_amr\_navigation</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>
  </tbody>
</table>

### Platform sample applications

QIR SDK provides the following sample applications that demonstrate the basic functionalities of the platform.

<table className="sample-table">
  <caption>Table: platform sample applications</caption>

  <thead>
    <tr>
      <th style={{ width: '32%', verticalAlign: 'top' }}>Sample application</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Peripherals required</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Mobile robot required</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Support for IQ-9075 EVK</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Support for IQ-8275 EVK</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Support for qcom-robotics-image</th>
      <th style={{ width: '8%', verticalAlign: 'top' }}>Support for qcom-robotics-proprietary-image</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td><Tooltip tip="The orbbec_camera sample application enables the Orbbec Gemini camera 335L to work in RGB or depth mode. This application generates the RGB and depth information by topics."><a href="./enable-orbbec-gemini-335-l-with-orbbec-camera">Enable Orbbec Gemini 335L</a> (<code>orbbec\_camera</code>)</Tooltip></td>
      <td>Gemini 335L</td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td>
        <Tooltip tip="The RPLIDAR-ROS2 sample application provides basic device handling for the 2D laser scanner RPLIDAR A1/A2/A3/S1/S2/S3."><a href="./enable-basic-rplidar-handling-with-rplidar-ros2">Enable basic RPLIDAR handling</a> (<code>rplidar-ros2</code>)</Tooltip>
      </td>

      <td>RPLIDAR A3M1</td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The qrb_ros_system_monitor sample application provides various ROS nodes that publish system status information."><a href="./publish-system-status-with-qrb-ros-system-monitor">Publish system status</a> (<code>qrb\_ros\_system\_monitor</code>)</Tooltip></td>
      <td>—</td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The OCR-service sample application enables a service that provides the Optical Character Recognition (OCR) function."><a href="./run-basic-ocr-with-ocr-service">Run basic OCR</a> (<code>ocr\_service</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The qrb_ros_camera implements a camera ROS2 node to enable zero-copy performance when data is coming out of the camera-server."><a href="./run-a-zero-copy-camera-with-qrb-ros-camera">Run a zero-copy camera</a> (<code>qrb\_ros\_camera</code>)</Tooltip></td>
      <td>—</td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The qrb_ros_colorspace_convert sample application converts between NV12 and RGB888 formats."><a href="./convert-between-nv-12-and-rgb-888-with-qrb-ros-colorspace-convert">Convert between NV12 and RGB888</a> (<code>qrb\_ros\_colorspace\_convert</code>)</Tooltip></td>
      <td>—</td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The qrb_ros_audio_service is a ROS package that delivers core audio functionalities, serving as the primary interface for audio capabilities (currently supporting playback and recording) within the ROS ecosystem."><a href="./enable-core-audio-with-qrb-ros-audio-service">Enable core audio</a> (<code>qrb\_ros\_audio\_service</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The qrb_ros_benchmark is a benchmarking tool designed for evaluating performance of ROS components on Qualcomm robotics platforms. It provides reusable components for benchmarking various message types and ROS nodes, with a focus on zero-copy transport mechanisms."><a href="./evaluating-performance-of-ros-2-components-with-qrb-ros-benchmark">Evaluate performance of ROS2 components</a> (<code>qrb\_ros\_benchmark</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>

    <tr>
      <td><Tooltip tip="The qrb_ros_nn_inference is a ROS2 package for performing neural network model, providing AI-based perception for robotics applications."><a href="./execute-ai-model-inference-with-qrb-ros-nn-inference">Execute AI model inference</a> (<code>qrb\_ros\_nn\_inference</code>)</Tooltip></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="gray" size="sm">N</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
      <td><Badge color="green" size="sm">Y</Badge></td>
    </tr>
  </tbody>
</table>
