# QIR SDK sample applications

The QIR SDK provides various sample applications. You can use ROS2 to obtain device CPU load, utilize AI capabilities for gesture detection, 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

- The Base version suits developers who want a purely upstream and open-source software stack without the Qualcomm proprietary software and power/performance value adds.
- The Custom version provides a richer set of functionalities and includes Qualcomm’s value-adds like SDKs and power performance improvements. It's suited for developers who rely on Qualcomm’s value-adds and proprietary/downstream software in their products.
- Some samples require specific hardware peripherals. For the required hardware, see the following tables.

Warning

The images you download from [Download the prebuilt packages](https://docs.qualcomm.com/doc/80-70023-265/topic/quick_start.html#dl-prebuilt) are `custom` versions for the matching development kits.

### AI sample applications

> 
> 
> | Sample application | Peripherals required | Mobile robot required | Support for RB3 Gen 2 Vision Kit | Support for IQ-9075 Evaluation Kit | Support for IQ-9075 Evaluation Kit | Support for IQ-8 Beta Evaluation Kit | Support for IQ-8 Beta Evaluation Kit | Description |
> | --- | --- | --- | --- | --- | --- | --- | --- | --- |
> | Sample application | Peripherals required | Mobile robot required | Custom | Custom | Base | Custom | Base | Description |
> | [Detect hands](https://docs.qualcomm.com/doc/80-70023-265/topic/hand_detection.html#hand-detection)<br><br><br>(`sample_hand_detection`) | N | N | N | Y | N | N | N | The `sample_hand_detection` is a machine learning pipeline that predicts bounding boxes and pose skeletons of hands in an image.<br>For model information, see [MediaPipe-Hand-Detection](https://huggingface.co/qualcomm/MediaPipe-Hand-Detection). |
> | [Classify images](https://docs.qualcomm.com/doc/80-70023-265/topic/image_classification.html#resnet101)<br><br><br>(`sample_resnet101`) | N | N | N | Y | N | N | N | The `sample_resnet101` is a machine learning model that can classify images from the Imagenet dataset.<br>For model information, see [ResNet101Quantized](https://aihub.qualcomm.com/iot/models/resnet101?searchTerm=resnet). |
> | [Estimate image depths](https://docs.qualcomm.com/doc/80-70023-265/topic/sample_depth_estimation.html#depth-estimation-sample)<br><br><br>(`sample_depth_estimation`) | N | N | N | Y | N | N | N | The `sample_depth_estimation` is a machine learning model that can estimate the depth of per-pixel in an image.<br>For model information, see [Depth Anything V2](https://aihub.qualcomm.com/iot/models/depth_anything_v2?searchTerm=depth&amp;domain=Computer+Vision). |
> | [Detect faces](https://docs.qualcomm.com/doc/80-70023-265/topic/sample_face_detection.html#sample-face-detection)<br><br><br>(`sample_face_detection`) | N | N | N | Y | N | N | N | The `sample_face_detection` is a machine learning model that can detect faces in an image.<br>For model information, see [MediaPipe-Face-Detection](https://aihub.qualcomm.com/iot/models/mediapipe_face?searchTerm=Media). |
> | [Estimate human poses](https://docs.qualcomm.com/doc/80-70023-265/topic/sample_hrnet_pose_estimation.html#hrnet-pose-estimate-sample)<br><br><br>(`sample_hrnet_pose_estimation`) | N | N | N | Y | N | N | N | The `sample_hrnet_pose_estimation` is a machine learning model that can estimate the pose of a person in an image.<br>For model information, see [HRNet-Pose-Estimation](https://aihub.qualcomm.com/iot/models/hrnet_pose?searchTerm=hrnet). |
> | [Detect objects](https://docs.qualcomm.com/doc/80-70023-265/topic/sample_object_detection.html#sample-object-detection)<br><br><br>(`sample_object_detection`) | N | N | N | Y | N | N | N | 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. |
> | [Segment objects](https://docs.qualcomm.com/doc/80-70023-265/topic/sample_object_segmentation.html#sample-object-segmentation)<br><br><br>(`sample_object_segmentation`) | N | N | N | Y | N | N | N | 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. |
> |  |  |  |  |  |  |  |  |  |

### Robotics sample applications

> 
> 
> Warning
> 
> 
> Robotics sample applications require the Host and development kit to work together.
> 
> 
> 
> 
> 
> 
> | Sample application | Peripherals required | Mobile robot required | Support for RB3 Gen 2 Vision Kit | Support for IQ-9075 Evaluation Kit | Support for IQ-9075 Evaluation Kit | Support for IQ-8 Beta Evaluation Kit | Support for IQ-8 Beta Evaluation Kit | Description |
> | --- | --- | --- | --- | --- | --- | --- | --- | --- |
> | Sample application | Peripherals required | Mobile robot required | Custom | Custom | Base | Custom | Base | Description |
> | [Control AMR in the simulator](https://docs.qualcomm.com/doc/80-70023-265/topic/simulation_sample_amr_simple_motion.html#simulation-sample-amr-simple-motion-topic)<br><br><br>(`simulation_sample_amr_simple_motion`) | N | N | Y | Y | N | Y | N | 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 through publishing the ROS messages to `/qrb_robot_base/cmd_vel` topic. |
> | [Enable 2D lidar SLAM](https://docs.qualcomm.com/doc/80-70023-265/topic/2d_lidar_slam.html#d-lidar-slam)<br><br><br>(`cartographer_ros`) | RPLIDAR A3M1 | Y | Y | N | N | N | N | The 2D lidar SLAM sample uses `Cartographer`, which is capable of completing indoor map construction and localization based on 2D lidar sensors. |
> | [Enable people tracking](https://docs.qualcomm.com/doc/80-70023-265/topic/followme.html#followme-topic)<br><br><br>(`follow-me`) | Gemini 335L | Y | Y | N | N | N | N | The `follow-me` is a lightweight application that enables robots to track targets in real-time. |
> | [Enable people tracking in the simulator](https://docs.qualcomm.com/doc/80-70023-265/topic/simulation_followme.html#simulation-followme-topic)<br><br><br>(`simulation_follow_me`) | N | N | Y | Y | N | N | N | The `simulation_follow_me` is an AMR that can detect, track, and follow a moving person in real time. It integrates sensor emulation and motion control to follow human-following behavior in simulated environments. |
> | [Enable pick-and-place in the simulator](https://docs.qualcomm.com/doc/80-70023-265/topic/simulation_sample_pick_and_place.html#simulation-sample-pick-and-place-topic)<br><br><br>(`simulation_sample_pick_and_place`) | N | N | Y | Y | N | Y | N | The `simulation_sample_pick_and_place` is a sample application that demonstrates the pick and place operation of the robot arm. |
> | [Experience remote assistant in the simulator](https://docs.qualcomm.com/doc/80-70023-265/topic/simulation_remote_assistant.html#simulation-remote-assistant-topic)<br><br><br>(`simulation_remote_assistant`) | N | N | Y | Y | N | N | N | The `simulation_remote_assistant` sample application is the ROS package that utilizes an AMR as a remote assistant within a virtual office environment. |
> | [Enable 2D lidar SLAM in the simulator with cartographer\_ros](https://docs.qualcomm.com/doc/80-70023-265/topic/simulation_2d_lidar_slam.html#simulation-2d-lidar-slam-topic)<br><br><br>(`simulation_2d_lidar_slam`) | N | N | Y | Y | N | N | N | 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. |
> | [Enable navigation in the simulator with navigation2](https://docs.qualcomm.com/doc/80-70023-265/topic/simulation_amr_navigation.html#simulation-amr-navigation-topic)<br><br><br>(`simulation_amr_navigation`) | N | N | Y | Y | N | N | N | The `simulation_amr_navigation` is a simulated sample application that demonstrates how to run navigation2 on Qualcomm robotics platforms within the simulator. |
> | [Enable AprilTag Pipeline with sample\_apriltag](https://docs.qualcomm.com/doc/80-70023-265/topic/sample_apriltag.html#sample-apriltag-topic)<br><br><br>(`sample_apriltag`) | N | N | Y | Y | N | N | N | `sample_apriltag` is the ROS package that provides AprilTag pipeline samples for Qualcomm robotics platforms. |
> |  |  |  |  |  |  |  |  |  |

### Platform sample applications

> 
> 
> | Sample application | Peripherals required | Mobile robot required | Support for RB3 Gen 2 Vision Kit | Support for IQ-9075 Evaluation Kit | Support for IQ-9075 Evaluation Kit | Support for IQ-8 Beta Evaluation Kit | Support for IQ-8 Beta Evaluation Kit | Description |
> | --- | --- | --- | --- | --- | --- | --- | --- | --- |
> | Sample application | Peripherals required | Mobile robot required | Custom | Custom | Base | Custom | Base | Description |
> | [Enable Orbbec Gemini 335L](https://docs.qualcomm.com/doc/80-70023-265/topic/orbbec-camera_5_2_8.html#sample-orbbec-camera-topic)<br><br><br>(`orbbec_camera`) | Gemini 335L | N | Y | Y | N | N | N | 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. |
> | [Enable basic RPLIDAR handling](https://docs.qualcomm.com/doc/80-70023-265/topic/rplidar-ros2_5_2_3.html#rplidar-ros2-topic)<br><br><br>(`rplidar-ros2`) | RPLIDAR A3M1 | N | Y | Y | N | Y | N | The `rplidar-ros2` sample application enables the RPLIDAR A3M1 to work in RGB or depth mode. This application generates the RGB and depth information by topics. |
> | [Publish the IMU data](https://docs.qualcomm.com/doc/80-70023-265/topic/qrb-ros-imu_5_2_4.html#qrb-ros-imu-sample)<br><br><br>(`qrb_ros_imu`) | — | N | Y | N | N | N | N | The (`qrb_ros_imu`) sample application enables the IMU to work in RGB or depth mode. This application generates the RGB and depth information by topics. |
> | [Publish system status](https://docs.qualcomm.com/doc/80-70023-265/topic/qrb-ros-system-monitor_5_2_6.html#qrb-ros-system-monitor-sample)<br><br><br>(`qrb_ros_system_monitor`) | — | N | Y | Y | Y | Y | Y | The `qrb_ros_system_monitor` sample application enables the system monitor to work in RGB or depth mode. This application generates the RGB and depth information by topics. |
> | [Run basic OCR](https://docs.qualcomm.com/doc/80-70023-265/topic/ocr-service_5_2_7.html#ocr-service-sample)<br><br><br>(`ocr_service`) | — | N | Y | Y | N | Y | N | The OCR-service sample application enables the OCR service to work in RGB or depth mode. This application generates the RGB and depth information by topics. |
> | [Run a zero-copy camera](https://docs.qualcomm.com/doc/80-70023-265/topic/qrb-ros-camera.html#qrb-ros-camera-sample)<br><br><br>(`qrb_ros_camera`) | — | N | Y | N | N | N | N | The `qrb_ros_camera` implements a camera ROS2 node to enable zero-copy performance when data is coming out of the camera-server. |
> | [Publish the battery state](https://docs.qualcomm.com/doc/80-70023-265/topic/qrb-ros-battery.html#qrb-ros-battery)<br><br><br>(`qrb_ros_battery`) | — | N | Y | N | N | N | N | The `qrb_ros_battery` sample application is a package that publishes the battery state data from the system node. |
> | [Convert between NV12 and RGB888](https://docs.qualcomm.com/doc/80-70023-265/topic/qrb-ros-color-space-convert_5_2_9.html#qrb-ros-color-space-convert-sample)<br><br><br>(`qrb_ros_colorspace_convert`) | — | N | Y | Y | N | Y | N | The `qrb_ros_colorspace_convert` sample application converts between NV12 and RGB888 formats. |
> | [Bridge ROS and GST](https://docs.qualcomm.com/doc/80-70023-265/topic/ros-gst-bridge.html#ros-gst-bridge-sample)<br><br><br>(`ros-gst-bridge`) | N | N | Y | Y | N | Y | N | The `ros-gst-bridge` is a tool designed to facilitate seamless integration between ROS and GStreamer. |
> | [Enable core audio](https://docs.qualcomm.com/doc/80-70023-265/topic/qrb-ros-audio-service.html#audio-service-node)<br><br><br>(`qrb_ros_audio_service`) | N | N | Y | Y | N | N | N | 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. |
> | [Evaluating performance of ROS2 components](https://docs.qualcomm.com/doc/80-70023-265/topic/qrb_ros_benchmark.html#qrb-ros-benchmark-topic)<br><br><br>(`qrb_ros_benchmark`) | N | N | Y | Y | N | N | N | 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. |
> | [Execute AI model inference](https://docs.qualcomm.com/doc/80-70023-265/topic/qrb_ros_nn_inference.html#qrb-ros-nn-inference-topic)<br><br><br>(`qrb_ros_nn_inference`) | N | N | Y | Y | N | N | N | The `qrb_ros_nn_inference` is a ROS2 package for performing neural network model, providing AI-based perception for robotics applications. |
> |  |  |  |  |  |  |  |  |  |

- [Run AI sample applications](https://docs.qualcomm.com/doc/80-70023-265/topic/ai_sample.html)
- [Run robotics sample applications](https://docs.qualcomm.com/doc/80-70023-265/topic/robotics_sample.html)
- [Run platform sample applications](https://docs.qualcomm.com/doc/80-70023-265/topic/platform_sample.html)

Last Published: Dec 29, 2025

[Previous Topic
Get started with QIR SDK](https://docs.qualcomm.com/bundle/publicresource/80-70023-265/topics/quick_start.md) [Next Topic
Run AI sample applications](https://docs.qualcomm.com/bundle/publicresource/80-70023-265/topics/ai_sample.md)

Source: [https://docs.qualcomm.com/doc/80-70023-265/topic/qirp_sdk_sample.html](https://docs.qualcomm.com/doc/80-70023-265/topic/qirp_sdk_sample.html)