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
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.

