- QRB ROS Audio Service:一个 ROS 节点,创建服务服务器,响应应用的请求,并将其转换为对 Audio Manager 的操作。
- QRB ROS Audio Common:一个 ROS 节点,作为 QRB ROS Audio Service 和 QRB Audio Common Lib 之间的桥梁。
- QRB Audio Manager:根据流配置执行由 Audio Service 提供的音频操作。
- QRB Audio Common Lib:通过调用 PulseAudio API 提供音频功能。
管道流程
下图展示了qrb_ros_audio_service 的管道流程。

qrb_ros_audio_service 管道。
qrb_ros_audio_service API
下表列出了 qrb_ros_audio_service 提供的 ROS 接口。
qrb_ros_audio_common API
qrb_ros_audio_common 包公开了 ROS 参数、ROS 接口以及 qrb_audio_common_lib API。使用它们设置播放和捕获流,并从你自己的节点控制它们。
ROS 参数
下表列出了qrb_ros_audio_common 的 ROS 参数,包括每个参数的类型、说明和默认值。
ROS 接口
下表列出了qrb_ros_audio_common 的 ROS 接口,包括每个接口的名称、类型和用途。
qrb_audio_common_lib API
下表列出了 qrb_audio_common_lib API,包括每个函数的参数和行为。
前提条件
你已根据安装 QIR SDK完成设备设置,并在设备上安装了 ROS2 Jazzy 和 Qualcomm Intelligent Robotics (QIR) SDK。开箱即用运行 qrb_ros_audio_service
1
安装 qrb_ros_audio_service 包
Install the packages
2
启动 qrb_ros_audio_service 节点
a. 终端 1:Audio common 包b. 终端 2:Audio service
3
将音乐文件推送到设备路径
将音乐文件推送到设备路径,例如
/tmp/xxx.wav。4
播放音乐
a. 获取用于音乐录制和播放的 b. 选择以下操作之一来测试音频服务。
audio_service_test.py 脚本。-
分步播放(通过扬声器输出声音)。
-
分步录制(从麦克风录制声音输入并保存到文件)。
-
流式播放。
-
流式录制。
如果你同时启动流式播放和流式录制,声音将从麦克风回环到扬声器。
从源码构建
1
安装依赖
Install the dependencies
2
下载源码并使用 colcon 构建
Build the packages
3
运行和调试
Run the test script

