Skip to main content
qrb_ros_nn_inference 是一个用于执行神经网络模型的 ROS2 软件包,为机器人应用提供基于 AI 的感知能力。 它提供以下功能:
  • 支持三种模型格式的模型推理 API:
    • .tflite
    • .so
    • .bin
  • 基于 Qualcomm 平台的模型推理加速

qrb_ros_nn_inference 的管线流程

pipeline

图:qrb_ros_nn_inference 的管线

qrb_ros_nn_inference 管线中使用的 ROS 话题

ROS 话题消息类型发布/订阅者说明
/qrb_inference_input_tensorqrb_ros_tensor_list_msgs::msg::TensorListqrb_ros_nn_inference 订阅订阅用于模型推理的输入张量。
/qrb_inference_output_tensorqrb_ros_tensor_list_msgs::msg::TensorListqrb_ros_nn_inference 发布发布模型的输出张量。

qrb_ros_nn_inference 管线中使用的 ROS 节点参数

节点参数类型默认值说明
backend_optionstring""模型推理的硬件加速选项。有效值请参阅 qrb_ros_nn_inference 文档
model_pathstring""表示模型文件的路径。

前提条件

运行开箱即用的 qrb_ros_nn_inference

  1. 启动一个终端,并运行以下命令在设备上设置 QIR SDK 和 ROS2 环境。 ROS_DOMAIN_ID 的取值范围:[0, 232]
  2. 启动三个节点:预处理节点、qrb_ros_nn_inference 节点和后处理节点。

构建并运行 qrb_ros_nn_inference

  1. 在主机上构建 QIR SDK 提供的 qrb_ros_nn_inference
  2. qrb_ros_nn_inference 推送到设备。
    注意确保设备上已安装 QIR SDK。
  3. 启动一个终端,并运行以下命令在设备上设置 QIR SDK 和 ROS2 环境。 ROS_DOMAIN_ID 的取值范围:[0, 232]
  4. 启动三个节点:预处理节点、qrb_ros_nn_inference 节点和后处理节点。

限制

有关最新的限制,请参阅 GitHub 上的 qrb_ros_nn_inference