NPU 推理
使用
qrb_ros_nn_inference,从 ROS 2 节点在 Hexagon NPU 上运行神经网络模型。零拷贝摄像头
从摄像头服务器以零拷贝方式发布摄像头帧,降低节点间延迟。
色彩空间转换
使用
qrb_ros_colorspace_convert 在 NV12 和 RGB888 之间进行转换。核心音频
使用
qrb_ros_audio_service 为机器人添加播放和录音功能。基准测试框架
在 Qualcomm 平台上测量 ROS 2 组件的性能。
机器人示例
在模拟器中运行 AMR 运动、SLAM、AprilTag、抓取放置(pick-and-place)和导航。
与原生 ROS 2 的区别
- Hexagon NPU 访问。 原生的 TFLite 或 ONNX ROS 节点只能在 CPU 或 OpenCL GPU 上运行推理。要使用 Hexagon NPU 需要 Qualcomm QNN 后端,而社区没有等效方案。
qrb_ros_nn_inference可从 ROS 2 节点在 NPU 上运行模型。 - 零拷贝摄像头共享。 原生的
image_transport和sensor_msgs::Image会在节点之间对负载进行序列化和拷贝。QRB ROS 传输类型改为传递 DMA-buf 文件描述符,因此摄像头 ISP 写入的帧会保持原位,直到下一个硬件消费者读取它。 - 打包好的、正确使用加速器的流水线。 QIR SDK 的示例应用将摄像头采集、推理以及前后处理打包到 launch 文件中,您无需自己搭建这些管线。
选择您的抽象层级
这些基础组件可以组合使用。请选择符合您目标的接线层级:
三者面向同一芯片,可在同一个 ROS graph 上互操作。
代码仓库
QRB ROS 软件包在 github.com/qualcomm-qrb-ros 上开放开发。在 Qualcomm Linux 上,QRB ROS 软件包随机器人镜像一起交付,而不是安装到普通镜像上。专有节点(摄像头、视频、音频和色彩空间转换)随
qcom-robotics-proprietary-image 一起发布。有关镜像的组成方式,请参见机器人镜像与 overlay。QRB ROS 组织还贡献了可在任何具有 DMA heap 的 Linux SoC 上运行的可移植上游软件包,例如
dmabuf_transport 和 lib_mem_dmabuf。qrb_ros_transport 构建于两者之上,因此您无需直接接触它们。
