qrb_ros_nn_inference is a generic ROS 2 node that loads a neural-network model and runs inference on the Hexagon HTP NPU via the Qualcomm AI Engine Direct (QNN) SDK. You point it at a model file, it subscribes to an input topic, and publishes raw inference results on an output topic — no model-specific wiring required.
This is the “can I run my model on the NPU from ROS?” answer in one node. Drop in a
.tflite / .so / .bin exported from Qualcomm AI Hub (or your own QNN export), point the node at it, and publish / subscribe.What it is
Underneath, the node wrapsqrb_inference_manager — a small C++ library that calls the QNN APIs and the QNN delegate for TensorFlow Lite. The ROS layer just adds a subscription, a publication, and parameter-driven backend selection.
Supported model formats
Quick start
1
Install on Ubuntu on Qualcomm® IoT platforms
2
Run with your model
Why this helps
A generic ROS 2 node that loads a
.tflite / .so / .bin model on the Hexagon HTP NPU via QNN. For evaluators: drop in your own model, configure the node, and you’re publishing inference results on a ROS topic. Pre/post-processing is up to you (or use qrb_ros_tensor_process for YOLO-shaped tensors).
Related
npu-workflows.mdx— hand-rolled depth-estimation pipeline using the QNN TFLite delegate directly. Useful if you want to understand whatqrb_ros_nn_inferenceautomates.qrb-ros-samples.mdx— model-specific reference pipelines built around this node.- Upstream:
qualcomm-qrb-ros/qrb_ros_nn_inference.

