NPU inference
Run a neural-network model on the Hexagon NPU from a ROS 2 node with
qrb_ros_nn_inference.Zero-copy camera
Publish camera frames with zero-copy from the camera server to reduce inter-node latency.
Color space convert
Convert between NV12 and RGB888 with
qrb_ros_colorspace_convert.Core audio
Add playback and recording for robotics with
qrb_ros_audio_service.Benchmark harness
Measure ROS 2 component performance on Qualcomm platforms.
Robotics samples
AMR motion, SLAM, AprilTag, pick-and-place, and navigation in the simulator.
How this differs from stock ROS 2
- Hexagon NPU access. Stock TFLite or ONNX ROS nodes run inference on the CPU or the OpenCL GPU only. Targeting the Hexagon NPU requires the Qualcomm QNN backend, which has no community equivalent.
qrb_ros_nn_inferenceruns models on the NPU from a ROS 2 node. - Zero-copy camera sharing. Stock
image_transportandsensor_msgs::Imageserialize and copy the payload between nodes. The QRB ROS transport types pass a DMA-buf file descriptor instead, so the frame the camera ISP wrote stays in place until the next hardware consumer reads it. - Packaged, accelerator-correct pipelines. The QIR SDK sample applications bundle camera ingest, inference, and pre- and post-processing into launch files, so you do not have to wire the plumbing yourself.
Choosing your level of abstraction
The primitives compose. Pick the level of wiring that fits your goal:
All three target the same silicon and can interoperate on the same ROS graph.
Repositories
The QRB ROS packages are developed in the open at github.com/qualcomm-qrb-ros.On Qualcomm Linux, the QRB ROS packages are delivered in the robotics image, not installed onto a stock image. The proprietary nodes (camera, video, audio, and colorspace conversion) ship in
qcom-robotics-proprietary-image. See Robotics image and overlays for how the image is composed.The QRB ROS org also contributes portable upstream packages that work on any Linux SoC with a DMA heap, such as
dmabuf_transport and lib_mem_dmabuf. qrb_ros_transport is built on top of both, so you do not need to touch them directly.
