Foundations
One-time ROS 2 Jazzy install on Ubuntu. Start here if this is a fresh SBC.
QRB ROS ecosystem
Zero-copy transport, NPU inference, reference samples, Gazebo sim, and benchmarking.
Which track should I pick?
- Just got a new board? Start with Software Setup.
- Evaluating Qualcomm silicon for your robot? Read QRB ROS Overview for a tour of the packages — reference samples, zero-copy transport, generic NPU inference, Gazebo sim, benchmarking.
- Want to learn how NPU inference wires together from scratch? The Depth Estimation on the NPU page is the hand-rolled example (same result as the packaged
sample_depth_estimation, but built against the underlying primitives: QNN TFLite delegate, stock ROS 2, and an AI Hub model) so you can see every seam.
Why Qualcomm-specific packages? Stock community ROS 2 can’t reach the Hexagon HTP NPU — access to HTP requires the Qualcomm QNN delegate — and stock
image_transport always serializes camera frames into a memcpy. QRB ROS Overview and qrb_ros_transport cover both in depth.QRB ROS ecosystem
| Page | Purpose |
|---|---|
| Ecosystem overview | What QRB ROS is, how it differs from stock ROS 2, and how the pieces compose with community packages. |
| Samples | Catalog of AI and robotics reference pipelines — depth, pose, detection, SLAM, Nav2, AprilTag, and more. |
| Transport | Zero-copy DMA-buf messaging for Image and PointCloud2 via REP 2007 type adaptation. |
| NN Inference | Generic ROS 2 node for loading .tflite / .so / .bin models on the Hexagon HTP NPU via QNN. |
| Simulation | Gazebo-based sim for QRB AMRs and manipulators — evaluate QRB ROS without hardware. |
| Benchmark | ros2_benchmark extension that measures QRB / dmabuf / standard transport types apples-to-apples. |
| DDS Config Optimizer | LLM-driven FastDDS auto-tuner. SoC-agnostic — works on any Ubuntu + ROS 2 Humble/Jazzy setup. |
Hand-rolled example: Depth Estimation on the NPU
A from-scratch counterpart to the packagedsample_depth_estimation pipeline — same result, no QRB wrappers. Useful when you want to see every seam: camera ingest, TFLite preprocessing, the QNN delegate loading onto the HTP NPU, and the ROS 2 node glue. Uses a quantized TFLite model from Qualcomm AI Hub, the Qualcomm QNN TFLite delegate, and a camera publishing /image_raw.
| Workflow | Model | Output |
|---|---|---|
| Depth Estimation | MiDaS v2 (INT8) | Colorized depth image + raw inverse-depth map |

