Skip to main content
End-to-end robotics development on Qualcomm Dragonwing™ SBCs using ROS 2 Jazzy. This section has three tracks — pick the one that fits your goal.

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

PagePurpose
Ecosystem overviewWhat QRB ROS is, how it differs from stock ROS 2, and how the pieces compose with community packages.
SamplesCatalog of AI and robotics reference pipelines — depth, pose, detection, SLAM, Nav2, AprilTag, and more.
TransportZero-copy DMA-buf messaging for Image and PointCloud2 via REP 2007 type adaptation.
NN InferenceGeneric ROS 2 node for loading .tflite / .so / .bin models on the Hexagon HTP NPU via QNN.
SimulationGazebo-based sim for QRB AMRs and manipulators — evaluate QRB ROS without hardware.
Benchmarkros2_benchmark extension that measures QRB / dmabuf / standard transport types apples-to-apples.
DDS Config OptimizerLLM-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 packaged sample_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.
WorkflowModelOutput
Depth EstimationMiDaS v2 (INT8)Colorized depth image + raw inverse-depth map