Skip to main content
qrb_ros_nn_inference 是一个通用的 ROS 2 节点,它加载神经网络模型并通过 Qualcomm AI Engine Direct(QNN) SDK 在 Hexagon HTP NPU 上运行推理。您只需将其指向一个模型文件,它就会订阅输入话题,并在输出话题上发布原始推理结果——无需针对特定模型进行任何接线。
这就是”我能从 ROS 在 NPU 上运行我自己的模型吗?“这一问题的单节点答案。放入从 Qualcomm AI Hub 导出的 .tflite / .so / .bin(或您自己的 QNN 导出文件),将节点指向它,然后发布/订阅即可。

它是什么

在底层,该节点封装了 qrb_inference_manager——一个调用 QNN API 和 TensorFlow Lite 的 QNN delegate 的小型 C++ 库。ROS 层只是添加了订阅、发布以及由参数驱动的后端选择。

支持的模型格式

根据上游 README:qrb_ros_nn_inference 1.1.0-jazzy 不支持 .tflite 推理。如果您使用该版本且需要 TFLite,请从 main 分支源码构建,或使用 npu-workflows.mdx 中的手工构建方法。

快速开始

1

在 Qualcomm® IoT 平台的 Ubuntu 上安装

2

使用您的模型运行

然后在配置的输入话题上发布您的输入,并订阅输出话题。完整参数列表请参见上游 API 参考

为什么它有帮助

一个通用 ROS 2 节点,通过 QNN 在 Hexagon HTP NPU 上加载 .tflite / .so / .bin 模型。对于评估者:放入您自己的模型,配置节点,即可在 ROS 话题上发布推理结果。前后处理由您自行负责(或对 YOLO 形状的张量使用 qrb_ros_tensor_process)。

相关内容