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_transport 和 sensor_msgs::Image 会在节点之间序列化并复制数据负载。而 QRB ROS 传输类型传递的是 DMA-buf 文件描述符,因此摄像头 ISP 写入的帧会保持原位,直到下一个硬件消费者读取它。
  • **打包好的、正确使用加速器的管线。**QIR SDK 的示例应用将摄像头采集、推理以及前后处理捆绑在 launch 文件中,因此你无需自己搭建这些管道。

选择抽象层级

这些原语可以组合。选择适合你目标的接线层级: 这三者面向相同的芯片,并且可以在同一 ROS 图上互操作。

代码仓库

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