# 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 are `custom` versions for the matching development kits.

### AI sample applications

> 
> 
> Table: 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 |
> | --- | --- | --- | --- | --- | --- | --- | --- | --- |
> | Custom | Custom | Base | Custom | Base |
> | Detect hands<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<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<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<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<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). |

### Robotics sample applications

> 
> 
> Warning
> 
> 
> Robotics sample applications require the Host and development kit to work together.
> 
> 
> 
> Table: Robotics 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 |
> | --- | --- | --- | --- | --- | --- | --- | --- | --- |
> | Custom | Custom | Base | Custom | Base |
> | Control AMR in the simulator<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<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<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<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<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<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. |

### Platform sample applications

> 
> 
> Table: 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 |
> | --- | --- | --- | --- | --- | --- | --- | --- | --- |
> | Custom | Custom | Base | Custom | Base |
> | Enable Orbbec Gemini 335L<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<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<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<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<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<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<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<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<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<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. |

- Run AI sample applications
- Run robotics sample applications
- Run platform sample applications

Last Published: Nov 05, 2025

Previous Topic
 
Get started with QIR SDK Next Topic

Run AI sample applications