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

# Qualcomm® Intelligent Robotics (QIR) SDK

The Qualcomm® Intelligent Robotics (QIR) SDK for Ubuntu provides essential components for developing robotic features on Qualcomm platforms using the Ubuntu operating system.

## Key Features of the QIR SDK:

•	**Reference ROS Packages**: Includes Robot Operating System (ROS) packages to support robotic application development.\
•	**End-to-End Scenario Samples**: Offers sample scenarios to help evaluate robotic platforms.\
•	**QRB ROS Transport**: Enables zero-copy transport of ROS messages on Qualcomm robotics platforms.

> QRB ROS Transport is implemented based on [REP 2007](https://www.ros.org/reps/rep-2007.html), which defines interfaces for serializing custom types and supports intra-process communication without conversion.

**Prerequisites**

* **Ubuntu OS** should be flashed
* **Terminal access** with appropriate permissions
* If you haven’t previously installed the PPA packages, follow the steps here to install the necessary software and drivers:  [/Install\_required\_software\_packages](/devices/iq9075-evk/Install_required_software_packages)

## Getting Started with QIR SDK on Ubuntu

This guide walks you through using QIR sample applications on Qualcomm development kits running Ubuntu.

## Setup Instructions:

1. Add ROS source to your device by following the [ROS2 documentation](https://github.com/ros2/ros2_documentation/blob/jazzy/source/Installation/_Apt-Repositories.rst).
2. Add Qualcomm public PPA archives to your Ubuntu software sources:

```shell theme={null}
sudo add-apt-repository ppa:ubuntu-qcom-iot/qcom-ppa
sudo add-apt-repository ppa:ubuntu-qcom-iot/qirp
```

3. Install and configure the QIR SDK:

```shell theme={null}
sudo apt install qirp-sdk
source /usr/share/qirp-setup.sh
```

## Sample Applications

The QIR SDK includes a variety of sample applications categorized as follows:\
•	**Platform Sample Applications**: Demonstrate platform-level capabilities.\
•	**Robotics Sample Applications**: Enable robotic functionalities such as CPU load monitoring and robot simulation using ROS2.

## Simulation Sample – AMR Simple Motion

The **AMR simple motion** is a simulated sample application that uses a Python-based ROS node to control the movements of QRB autonomous moving robots (AMRs) within the simulator.

The [qrb-ros-simulation](https://github.com/qualcomm-qrb-ros/qrb_ros_simulation) package provides a simulation environment. It allows you to control the movement of QRB AMRs through publishing the ROS messages to the /qrb\_robot\_base/cmd\_vel topic.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-prod/images/image-1.png" alt="Image" />
</Frame>

## Pipeline flow for QRB AMR simple motion

The figure shows the pipeline of QRB AMR Simple Motion:

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-prod/images/image.png" alt="Image" />
</Frame>

## ROS node used in the AMR simple motion pipeline

ROS node used in the AMR simple motion pipeline:

| ROS node            | Description                                                                   |
| ------------------- | ----------------------------------------------------------------------------- |
| Qrb\_ros-simulation | qrb\_ros\_simulation is a ROS package designed to set up the Qualcomm robotic |

## Reference Documentation

For details instructions to run the sample applications, please refer for [Qualcomm Intelligent Robotics SDK for Ubuntu.](https://docs.qualcomm.com/doc/80-90441-2/topic/1-introduction.html)
