# QIR SDK sample applications
The QIR SDK provides various sample applications. You can use ROS2 to get the device CPU load, use the AI capabilities for gesture detection, and perform robot simulation. The robotics sample applications fall into different categories:
- Platform sample applications
- Robotics sample applications
- AI sample applications
By combining different sample applications, you can implement various functionalities.
Note
Some sample applications require specific hardware peripherals. For the required hardware, see the following tables.
## Summary of QIR SDK sample applications
### Platform sample applications list
Table: Platform sample applications
| Sample | Peripherals required | Mobile robot required | Supports RB3 Gen 2 Vision Kit | Supports IQ-9075 Evaluation Kit | Supports Arduino® VENTUNO™ Q | Description |
| --- | --- | --- | --- | --- | --- | --- |
| [Enable Orbbec Gemini 335L](https://docs.qualcomm.com/doc/80-90441-2/topic/enable-orbbec-gemini-335l-with-orbbec-camera.html#orbbec-camera-sample)
`orbbec_camera` | Gemini 335L | N | Y | Y | Y | 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-90441-2/topic/enable-basic-rplidar-handling-with-rplidar-ros2.html#rplidar-sample)
`rplidar-ros2` | RPLIDAR A3M1 | N | Y | Y | Y | The RPLIDAR-ROS2 sample application provides basic device handling for the 2D laser scanner RPLIDAR A1/A2/A3/S1/S2/S3. |
| [Publish system status](https://docs.qualcomm.com/doc/80-90441-2/topic/publish-system-status-with-qrb-ros-system-monitor.html#system-monitor-sample)
`qrb_ros_system_monitor` | – | N | Y | Y | Y | The `qrb_ros_system_monitor` sample application provides various ROS nodes that publish system status information. |
| [Run basic OCR](https://docs.qualcomm.com/doc/80-90441-2/topic/run-basic-ocr-with-ocr_service.html#ocr-service-sample)
`ocr_service` | – | N | Y | Y | Y | The `ocr_service` sample application enables a service that provides the Optical Character Recognition (OCR) function. |
| [Publish the battery state](https://docs.qualcomm.com/doc/80-90441-2/topic/publish-the-battery-state-with-qrb_ros_battery.html#publish-battery-state-sample)
`qrb_ros_battery` | – | N | Y | N | N | The `qrb_ros_battery` sample application is a package that publishes the battery state data from the system node. |
| [Verify communication over ROS 2 interfaces](https://docs.qualcomm.com/doc/80-90441-2/topic/verify-the-basic-communication-of-qrb_ros_interfaces.html#qrb-ros-interfaces-sample)
`qrb_ros_interfaces` | – | N | Y | Y | Y | The `qrb_ros_interfaces` is a collection of ROS 2 interface packages designed to define and merge custom messages, services, and action types. It's specifically adapted for robust communication within the QRB ROS ecosystem. |
| [Test ROS message transport](https://docs.qualcomm.com/doc/80-90441-2/topic/test-ros-message-transport-with-qrb_ros_transport.html#qrb-ros-transport-sample)
`qrb_ros_transport` | – | N | Y | Y | Y | The `qrb_ros_transport` sample application facilitates zero-copy transport of ROS messages on the Qualcomm® Robotics Platform. |
| [Implement model inference](https://docs.qualcomm.com/doc/80-90441-2/topic/implement-model-inference-with-qrb_ros_nn_inference.html#qrb-ros-nn-inference-sample)
`qrb_ros_nn_interface` | – | N | Y | Y | Y | `qrb_ros_nn_interface` is a ROS2 package for performing the neural network model, providing AI-based perception for robotics applications. |
| [Publish the IMU data](https://docs.qualcomm.com/doc/80-90441-2/topic/publish-the-imu-data-with-qrb_ros_imu.html#qrb-ros-imu-sample)
`qrb_ros_imu` | – | N | Y | N | Y | The [qrb_ros_imu](https://github.com/qualcomm-qrb-ros/qrb_ros_imu) is a ROS package that publishes the inertial measurement unit (IMU) data collected from the ICM-42688 hardware on the Qualcomm Robotics Platform. |
| [Run a zero-copy camera](https://docs.qualcomm.com/doc/80-90441-2/topic/run-a-zero-copy-camera-with-qrb_ros_camera.html#qrb-ros-camera-sample)
`qrb_ros_camera` | – | N | Y | Y | Y | The [qrb_ros_camera](https://github.com/qualcomm-qrb-ros/qrb_ros_camera) is a ROS package that publishes images from the Qualcomm CSI and GMSL cameras. |
| [Convert between NV12 and RGB888](https://docs.qualcomm.com/doc/80-90441-2/topic/convert-between-nv12-and-rgb888-with-qrb_ros_colorspace_convert.html#colospace-convert-sample)
`qrb_ros_colorspace_convert` | – | N | Y | Y | Y | The `qrb_ros_colorspace_convert` sample application converts between NV12 and RGB888 formats. |
| [Test core audio functionalities](https://docs.qualcomm.com/doc/80-90441-2/topic/test-core-audio-functionalities-with-qrb_ros_audio_service.html#qrb-ros-audio-service-sample)
`qrb_ros_audio_service` | – | N | Y | Y | N | `qrb_ros_audio_service` is a ROS package that provides core audio functionalities. |
| [Test video functionalities](https://docs.qualcomm.com/doc/80-90441-2/topic/test-core-audio-functionalities-with-qrb_ros_audio_service.html#qrb-ros-audio-service-sample)
`qrb_ros_video` | – | N | Y | Y | Y | `qrb_ros_video` is a ROS package that provides hardware-accelerated video processing for the Qualcomm Robotics Platform. |
| [Evaluate ROS component performance](https://docs.qualcomm.com/doc/80-90441-2/topic/evaluate-ros-component-performance-with-qrb_ros_benchmark.html#qrb-ros-benchmark-sample)
`qrb_ros_benchmark` | – | N | Y | Y | Y | `qrb_ros_benchmark` is a benchmarking tool designed for evaluating the performance of ROS components on the Qualcomm Robotics Platform. |
### Robotics sample applications list
Warning
Robotics sample applications require the Host and the development kit to work together.
Table: Robotics sample applications
| Sample | Peripherals required | Mobile robot required | Support for RB3 Gen 2 Vision Kit | Support for IQ-9075 Evaluation Kit | Support for Arduino® VENTUNO™ Q | Description |
| --- | --- | --- | --- | --- | --- | --- |
| [Control AMR in the simulator](https://docs.qualcomm.com/doc/80-90441-2/topic/control-amr-in-the-simulator-with-simulation_sample_amr_simple_motion.html#control-amr-simulator-sample)
`simulation_sample_amr_simple_motion` | N | N | Y | Y | Y | The `simulation_sample_amr_simple_motion` sample 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 the `/qrb_robot_base/cmd_vel` topic. |
| [Enable pick-and-place in the simulator](https://docs.qualcomm.com/doc/80-90441-2/topic/enable-pick-and-place-in-the-simulator-with-simulation_sample_pick_and_place.html#pick-and-place-simulator-sample)
`simulation_sample_pick_and_place` | N | N | Y | Y | Y | The RML-63 robotic arm pick and place sample application is a C++ based ROS2 node. It demonstrates autonomous pick-and-place operations using MoveIt2 for motion planning and Gazebo for physics simulation. |
| [Experience remote assistant in the simulator](https://docs.qualcomm.com/doc/80-90441-2/topic/experience-remote-assistant-in-the-simulator-with-simulation_remote_assistant.html#remote-assistant-simulator-sample)
`simulation_remote_assistant` | N | N | Y | Y | Y | 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](https://docs.qualcomm.com/doc/80-90441-2/topic/enable-2d-lidar-slam-with-cartographer_node-and-cartographer_occupancy_grid_node.html#d-lidar-slam-sample)
`cartographer_node` and `cartographer_occupancy_grid_node` | RPLIDAR A3M1 | Y | Y | Y | N | The 2D lidar SLAM sample application is based on `cartographer_node` and `cartographer_occupancy_grid_node`. It completes indoor map construction and localization based on 2D lidar sensors. |
| [Test follow-path](https://docs.qualcomm.com/doc/80-90441-2/topic/test-follow-path-with-the-qrb_ros_follow_path-service.html#qrb-ros-follow-path-sample)
`qrb_ros_follow_path` service | N | N | Y | Y | N | The `qrb_ros_follow_path` service is a ROS2 package suite designed for path following navigation on the Qualcomm Robotics Platform. |
| [Run basic AMR functionality](https://docs.qualcomm.com/doc/80-90441-2/topic/run-basic-amr-functionality-with-the-amr-service.html#amr-service-sample)
`qrb_ros_amr` service | N | N | Y | Y | N | The `qrb_ros_amr` service is a ROS2 package suite designed to manage AMR behaviors on the Qualcomm Robotics Platform. |
| [Enable AprilTag Pipeline](https://docs.qualcomm.com/doc/80-90441-2/topic/enable-AprilTag-Pipeline-with-sample-apriltag.html#apriltag-topic-sample)
`sample_apriltag` | N | N | Y | Y | N | The `sample_apriltag` is a ROS package that provides the AprilTag pipeline sample for the Qualcomm Robotics Platform. |
| [Enable people tracking](https://docs.qualcomm.com/doc/80-90441-2/topic/followme.html#followme-topic)
`follow-me` | Gemini 335L | Y | Y | Y | Y | 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-90441-2/topic/enable-people-tracking-in-the-simulator-with-simulation_follow_me.html#simulation-followme-topic)
>
>
> `simulation_follow_me` | N | N | Y | Y | Y | 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. |
### AI sample applications list
Table: AI sample applications
| Sample | Peripherals required | Mobile robot required | Support for RB3 Gen 2 Vision Kit | Support for IQ-9075 Evaluation Kit | Support for Arduino® VENTUNO™ Q | Description |
| --- | --- | --- | --- | --- | --- | --- |
| [Detect hands](https://docs.qualcomm.com/doc/80-90441-2/topic/detect-hands-with-sample_hand_detection.html#hand-detection-sample)
`sample_hand_detection` | N | N | N | Y | Y | The `sample_hand_detection` sample is a machine learning pipeline that predicts bounding boxes and pose skeletons of hands in an image. For model information, see [MediaPipe-Hand-Detection](https://huggingface.co/qualcomm/MediaPipe-Hand-Detection). |
| [Estimate image depth values](https://docs.qualcomm.com/doc/80-90441-2/topic/estimate-image-depth-values-with-sample_depth_estimation.html#depths-estimation-sample)
`sample_depth_estimation` | N | N | N | Y | Y | The `sample_depth_estimation` sample application allows you to input an RGB image named `input_image.jpg` or subscribe to the ROS topic `/cam0_stream1` from `qrb_ros_camera`. It then uses [QNN](https://www.qualcomm.com/developer/software/qualcomm-ai-engine-direct-sdk) to perform model inference and publishes the result as the `/depth_map` ROS topic containing per-pixel depth values. |
| [Detect faces](https://docs.qualcomm.com/doc/80-90441-2/topic/detect-faces-with-sample_face_detection.html#face-detection-sample)
`sample_face_detection` | N | N | N | Y | Y | The `sample_face_detection` sample application is a Python-based face detection ROS node that uses QNN for model inference. The models come from the Qualcomm AI-hub. It detects the face and locates facial features from a face image. |
| [Estimate human poses](https://docs.qualcomm.com/doc/80-90441-2/topic/estimate-human-poses-with-sample_hrnet_pose_estimation.html#estimate-human-poses-sample)
`sample_hrnet_pose_estimation` | N | N | N | Y | Y | The `sample_hrnet_pose_estimation` sample application provides high-precision human pose estimation capabilities. |
| [Classify images](https://docs.qualcomm.com/doc/80-90441-2/topic/classify-images-with-sample_resnet101.html#classify-images-sample)
`sample_resnet101` | N | N | N | Y | Y | This is a Python-based ROS node that performs image classification using QNN-based inference. |
| [Detect objects](https://docs.qualcomm.com/doc/80-90441-2/topic/detect-objects-with-sample_object_detection.html#object-detection-sample)
`sample_object_detection` | N | N | N | Y | Y | The `sample_object_detection` sample application demonstrates camera data streaming, AI-based inference, and real-time visualization of object detection results. |
| [Segment objects](https://docs.qualcomm.com/doc/80-90441-2/topic/segment-objects-with-sample_object_segmentation.html#object-segmentation)
`sample_object_segmentation` | N | N | N | Y | Y | The `sample_object_segmentation` sample application demonstrates camera data streaming, AI-based inference, and real-time visualization of object segmentation results. |
- [Platform sample applications](https://docs.qualcomm.com/doc/80-90441-2/topic/platform-sample-applications.html)
- [Robotics sample applications](https://docs.qualcomm.com/doc/80-90441-2/topic/robotics-sample-applications.html)
- [AI sample applications](https://docs.qualcomm.com/doc/80-90441-2/topic/ai-sample-applications.html)
Last Published: Sep 07, 2026
[Previous Topic
Install the QIR SDK](https://docs.qualcomm.com/bundle/publicresource/80-90441-2/topics/2-install-the-qir-sdk.md) [Next Topic
Platform sample applications](https://docs.qualcomm.com/bundle/publicresource/80-90441-2/topics/platform-sample-applications.md)