Skip to main content
QRB ROS is Qualcomm’s collection of ROS 2 packages and hardware-accelerated nodes for robotics on Qualcomm platforms. On Qualcomm Linux, these packages ship in the robotics image and are documented in the QIR SDK. This page is a tour for evaluators and architects: what does Qualcomm plus ROS give you for robotics, and where do you try each piece?

NPU inference

Run a neural-network model on the Hexagon NPU from a ROS 2 node with qrb_ros_nn_inference.

Zero-copy camera

Publish camera frames with zero-copy from the camera server to reduce inter-node latency.

Color space convert

Convert between NV12 and RGB888 with qrb_ros_colorspace_convert.

Core audio

Add playback and recording for robotics with qrb_ros_audio_service.

Benchmark harness

Measure ROS 2 component performance on Qualcomm platforms.

Robotics samples

AMR motion, SLAM, AprilTag, pick-and-place, and navigation in the simulator.

How this differs from stock ROS 2

  • Hexagon NPU access. Stock TFLite or ONNX ROS nodes run inference on the CPU or the OpenCL GPU only. Targeting the Hexagon NPU requires the Qualcomm QNN backend, which has no community equivalent. qrb_ros_nn_inference runs models on the NPU from a ROS 2 node.
  • Zero-copy camera sharing. Stock image_transport and sensor_msgs::Image serialize and copy the payload between nodes. The QRB ROS transport types pass a DMA-buf file descriptor instead, so the frame the camera ISP wrote stays in place until the next hardware consumer reads it.
  • Packaged, accelerator-correct pipelines. The QIR SDK sample applications bundle camera ingest, inference, and pre- and post-processing into launch files, so you do not have to wire the plumbing yourself.

Choosing your level of abstraction

The primitives compose. Pick the level of wiring that fits your goal: All three target the same silicon and can interoperate on the same ROS graph.

Repositories

The QRB ROS packages are developed in the open at github.com/qualcomm-qrb-ros.
On Qualcomm Linux, the QRB ROS packages are delivered in the robotics image, not installed onto a stock image. The proprietary nodes (camera, video, audio, and colorspace conversion) ship in qcom-robotics-proprietary-image. See Robotics image and overlays for how the image is composed.
The QRB ROS org also contributes portable upstream packages that work on any Linux SoC with a DMA heap, such as dmabuf_transport and lib_mem_dmabuf. qrb_ros_transport is built on top of both, so you do not need to touch them directly.