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.

TurtleBot3 hands-on

Bring up a TurtleBot3 Burger, map a space with Cartographer, and drive autonomously with Nav2.

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 + AI Hub model) so you can see every seam.
  • Have a TurtleBot3 and want it driving autonomously? Follow the hands-on path: TurtleBot3SLAM & Navigation.
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

TurtleBot3 hands-on

WorkflowPurpose
Software SetupOne-time installation of ROS 2 Jazzy, including environment configuration. Follows the standard ROS 2 Jazzy Ubuntu install.
TurtleBot3TurtleBot3 Burger-specific setup: workspace installation, environment variables, serial permissions, bringup, and teleop.
SLAM & NavigationBuild an occupancy grid map with Cartographer, save it, then run Nav2 for autonomous goal-based navigation. Covers RViz on the local display and on a remote machine.
TroubleshootingCommon issues: serial port permissions, LiDAR not found, cmd_vel API changes, and map saver pitfalls.