Skip to main content
QRB ROS 是 Qualcomm 面向 Qualcomm 平台机器人开发的 ROS 2 软件包和硬件加速节点集合。在 Qualcomm Linux 上,这些软件包随机器人镜像一起发布,并在 QIR SDK 中提供文档。本页面面向评估人员和架构师:Qualcomm 加 ROS 能为机器人开发带来什么,以及在哪里可以尝试各个组件?

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_transportsensor_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_transportlib_mem_dmabufqrb_ros_transport 构建于两者之上,因此您无需直接接触它们。