Skip to main content
simulation_remote_assistant 示例应用是一个 ROS 软件包,在虚拟办公室环境中将 AMR 用作远程助手。用户可以通过输入自然语言命令与机器人交互,例如”去办公室查看那个人”。机器人可以自主导航到指定位置,并按照指令执行物体检测任务。
注意更多信息请参阅 GitHub 上的 simulation_remote_assistant

图:simulation_remote_assistant 的示例效果

仿真远程助手的管线流程

图:simulation_remote_assistant 的管线流程

simulation_remote_assistant 管线中使用的 ROS 节点

ROS 节点说明
qrb_ros_simulationqrb_ros_simulation 是用于搭建 Qualcomm 机器人仿真环境的 ROS 软件包。详情请参阅 QRB ROS Simulation
nn_inference_node加载训练好的 AI 模型,接收预处理后的图像,执行推理并发布结果。详情请参阅 NN Inference Node
yolo_preprocess_node执行 Yolo 模型的预处理和后处理。详情请参阅 QRB ROS Tensor Process
yolo_detection_postprocess_node
yolo_detection_overlay_node
cartographer_node处理传感器数据以执行 SLAM。
cartographer_occupancy_grid_node发布 ROS 占用栅格地图。
nav2_bringup用于机器人导航的 Navigation2 栈。
build_map_node构建办公室世界的地图。
nav_preparation_node重定位并启动导航节点。
task_manager_node解析输入命令并执行动作。

仿真远程助手管线中使用的 ROS 话题

ROS 话题类型发布者说明
/scansensor_msgs::msg::LaserScanqrb_ros_simulation用于 SLAM 和建图的 2D 激光雷达扫描数据。
/mapnav_msgs::msg::OccupancyGridcartographer_occupancy_grid_node用于导航的占用栅格地图。
/tftf2_msgs::msg::TFMessageqrb_ros_simulation / cartographer_node坐标系之间的坐标变换。
/odomnav_msgs::msg::Odometryqrb_ros_simulation用于位姿估计的里程计数据。
/cmd_velgeometry_msgs::msg::Twistqrb_ros_simulation用于机器人运动的速度命令。
/goal_posegeometry_msgs::msg::PoseStampedtask_manager_node导航的目标位姿。
/camera/color/image_rawsensor_msgs::msg::Imageqrb_ros_simulation来自仿真相机的 RGB 图像。
/qrb_inference_input_tensorqrb_ros_tensor_list_msgs::msg::TensorListyolo_preprocess_node用于推理的预处理输入张量。
/yolo_detect_tensor_outputqrb_ros_tensor_list_msgs::msg::TensorListnn_inference_node用于检测的推理输出张量。
/yolo_detect_resultvision_msgs::msg::Detection2DArrayyolo_detection_postprocess_node以 2D 边界框结果表示的检测到的物体。
/yolo_detect_overlaysensor_msgs::msg::Imageyolo_detection_overlay_node带有边界框的检测叠加图像。

前提条件

  • 您已完成为运行示例应用设置环境中的以下设置(跳过 Set up host docker 的设置)。
    • 设置设备
    • 设置主机
  • 按照使用 QAIHUB 生成 YOLOv8 模型中的步骤生成模型文件,并下载 coco-labels YAML 文件。然后,将它们推送到设备上的 /opt/model/ 目录。

设置仿真环境

  1. 在主机上,根据 QRB ROS SimulationREADME 完成以下操作,构建 Qualcomm 机器人仿真环境。确保设备和主机位于同一局域网内,并且可以通过 ROS 通信相互通信。
    1. 在 Ubuntu24.04 主机或 Docker 上设置开发环境。
    2. 从源码构建。
  2. 在主机上,在仿真办公室世界中运行 QRB Robot Base AMR

运行开箱即用的 simulation_remote_assistant

在开发套件上,运行以下命令:

构建并运行 simulation_remote_assistant

  1. 在主机的终端中,运行以下命令:
    注意
    • <qir_version>:QIR SDK 的版本,请参阅 QIR SDK 2.0 发行说明
    • <qir_decompressed_path>:QIR SDK 解压后的路径。
    1. 构建示例应用项目。
    2. 打包示例应用并推送到设备。
  2. 在开发套件上,运行以下命令:
    1. 安装示例应用。
    2. 按照运行开箱即用的 simulation_remote_assistant 中的步骤运行示例应用。