NPU 推理
从 ROS 2 节点加载
.tflite / .so / .bin 模型并在 Hexagon HTP NPU 上运行。零拷贝传输
传递 DMA-buf fd 而不是对负载执行 memcpy。支持
Image 和 PointCloud2 类型。参考示例
可运行的 AI(检测、分割、姿态、深度)和机器人(Nav2、AprilTag、抓取放置)管线。
Gazebo 仿真
无需购买开发板即可评估 QRB ROS。提供预构建的 AMR 和机械臂配置。
基准测试框架
将零拷贝收益与标准
sensor_msgs 进行同等条件的对比测量。DDS 自动调优器
由 LLM 驱动的 FastDDS QoS 调优器——适用于任何 ROS 2 环境,无需 Qualcomm 硬件。
与标准 ROS 2 的区别
- Hexagon HTP NPU 访问。 标准的 TFLite / ONNX ROS 节点只能在 CPU 或 OpenCL GPU 上运行推理。要面向 HTP NPU,需要 Qualcomm 的 QNN delegate(或 QNN SDK)——社区中没有等效方案。
- DMA-buf 摄像头共享。 标准的
image_transport+sensor_msgs::Image总是在节点之间序列化并 memcpy 负载。qrb_ros_transport改为传递 DMA-buf 文件描述符,因此摄像头 ISP 写入的帧会留在原处,直到下一个硬件消费者读取它。 - 打包好的、正确使用加速器的管线。
qrb_ros_samples将摄像头采集、QNN 推理和前后处理捆绑到 launch 文件中,因此您无需自己连接这些管道。
选择您的抽象层级
您不必在”QRB 示例”和”标准 ROS”之间二选一——这些原语可以组合。选择适合您目标的接线层级:
这三种都是有效的生产路径。它们面向相同的芯片,并且可以在同一个 ROS 计算图上互操作。
代码仓库
完整组织位于 github.com/qualcomm-qrb-ros ——其中包括与特定机器人底盘、传感器子系统或设备服务相关的其他软件包,此处未一一列出。
QRB ROS 组织还贡献了可在任何具有 DMA heap 的 Linux SoC 上运行的上游软件包——
dmabuf_transport(可移植的 REP 2007 适配类型)和 lib_mem_dmabuf(用户空间 DMA-buf 辅助库)。qrb_ros_transport 构建于这两者之上,因此您无需直接接触它们——此处提供链接是为想了解完整技术栈的读者准备的。QRB ROS 面向 Qualcomm® IoT 平台上的 Ubuntu 及 ROS 2 Jazzy。这些软件包通过 Qualcomm IoT PPA(
ppa:ubuntu-qcom-iot/qcom-ppa 和 ppa:ubuntu-qcom-iot/qirp)分发。对于 Qualcomm Linux,请改为参考 QIRP SDK 文档。
