NPU inference
Load a
.tflite / .so / .bin model and run it on the Hexagon HTP NPU from a ROS 2 node.Zero-copy transport
DMA-buf fd passing instead of payload memcpy.
Image and PointCloud2 types.Reference samples
Working AI (detection, segmentation, pose, depth) and robotics (Nav2, AprilTag, pick-and-place) pipelines.
Gazebo simulation
Evaluate QRB ROS without buying a board. Pre-built AMR and manipulator configs.
Benchmark harness
Measure zero-copy wins apples-to-apples against stock
sensor_msgs.DDS auto-tuner
LLM-driven FastDDS QoS tuner — works on any ROS 2 setup, no Qualcomm hardware required.
How this differs from stock ROS 2
- Hexagon HTP NPU access. Stock TFLite / ONNX ROS nodes run inference on CPU or OpenCL GPU only. Targeting the HTP NPU requires the Qualcomm QNN delegate (or QNN SDK) — there is no community equivalent.
- DMA-buf camera sharing. Stock
image_transport+sensor_msgs::Imagealways serialize and memcpy the payload between nodes.qrb_ros_transportpasses a DMA-buf file descriptor instead, so the frame the camera ISP wrote stays where it was until the next hardware consumer reads it. - Packaged accelerator-correct pipelines.
qrb_ros_samplesbundles camera ingest, QNN inference, and pre/post‑processing into launch files so you don’t have to wire the plumbing yourself.
Choosing your level of abstraction
You don’t have to pick “QRB samples” or “stock ROS” — the primitives compose. Pick the level of wiring that fits your goal:
All three are valid production paths. They target the same silicon and can interoperate on the same ROS graph.
Repositories
The full org is at github.com/qualcomm-qrb-ros — it includes additional packages tied to specific robot chassis, sensor subsystems, or device services that aren’t highlighted here.
The QRB ROS org also contributes upstream packages that work on any Linux SoC with a DMA heap —
dmabuf_transport (portable REP 2007 adapted types) and lib_mem_dmabuf (userspace DMA-buf helper). qrb_ros_transport is built on top of both, so you don’t need to touch them directly — the pointers are here for readers who want the full stack.QRB ROS targets Ubuntu on Qualcomm® IoT platforms with ROS 2 Jazzy. The packages are distributed through the Qualcomm IoT PPAs (
ppa:ubuntu-qcom-iot/qcom-ppa and ppa:ubuntu-qcom-iot/qirp). For Qualcomm Linux, refer to the QIRP SDK documentation instead.
