simulation_remote_assistant 示例应用程序是一个 ROS 软件包,它将 AMR 用作虚拟办公环境中的远程助手。用户可以通过输入自然语言命令与机器人交互,例如”去办公室查看某人”。机器人可以自主导航到指定位置,并按指令执行对象检测任务。
注意更多信息,请参见 GitHub 上的 simulation_remote_assistant。
图: simulation_remote_assistant 的示例效果
Simulation Remote Assistant 的管道流程
图: simulation_remote_assistant 的管道流程
simulation_remote_assistant 管道中使用的 ROS 节点
| ROS 节点 | 描述 |
|---|---|
qrb_ros_simulation | qrb_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 | 解析输入命令并执行操作。 |
Simulation Remote Assistant 管道中使用的 ROS 主题
| ROS 主题 | 类型 | 发布者 | 描述 |
|---|---|---|---|
/scan | sensor_msgs::msg::LaserScan | qrb_ros_simulation | 用于 SLAM 和建图的 2D 激光雷达扫描数据。 |
/map | nav_msgs::msg::OccupancyGrid | cartographer_occupancy_grid_node | 用于导航的占用栅格地图。 |
/tf | tf2_msgs::msg::TFMessage | qrb_ros_simulation / cartographer_node | 坐标系之间的坐标变换。 |
/odom | nav_msgs::msg::Odometry | qrb_ros_simulation | 用于位姿估计的里程计数据。 |
/cmd_vel | geometry_msgs::msg::Twist | qrb_ros_simulation | 用于机器人运动的速度命令。 |
/goal_pose | geometry_msgs::msg::PoseStamped | task_manager_node | 导航的目标位姿。 |
/camera/color/image_raw | sensor_msgs::msg::Image | qrb_ros_simulation | 来自仿真相机的 RGB 图像。 |
/qrb_inference_input_tensor | qrb_ros_tensor_list_msgs::msg::TensorList | yolo_preprocess_node | 用于推理的预处理输入张量。 |
/yolo_detect_tensor_output | qrb_ros_tensor_list_msgs::msg::TensorList | nn_inference_node | 用于检测的推理输出张量。 |
/yolo_detect_result | vision_msgs::msg::Detection2DArray | yolo_detection_postprocess_node | 检测到的对象以 2D 边界框结果表示。 |
/yolo_detect_overlay | sensor_msgs::msg::Image | yolo_detection_overlay_node | 带有边界框的检测叠加图像。 |
前提条件
试一试
试一试
- 您已根据 设置运行示例应用程序的环境 完成以下设置(跳过 设置主机 Docker 的设置)。
- 设置设备
- 设置主机计算机
- 按照 使用 QAIHUB 生成 YOLOv8 模型 中的步骤生成模型文件,并下载 coco-labels YAML 文件。然后,将它们推送到设备上的
/opt/model/目录。
设置仿真环境
1
在主机计算机上构建仿真环境
根据 QRB ROS Simulation 的 README 完成以下操作,构建 Qualcomm 机器人仿真环境。确保设备和主机位于同一本地网络中,并可以通过 ROS 通信相互通信。
- 在 Ubuntu24.04 主机或 Docker 上设置开发环境。
- 从源代码构建。
2
在主机上运行 QRB Robot Base AMR
在仿真办公室世界中运行
QRB Robot Base AMR。运行开箱即用的 simulation_remote_assistant
在开发套件上,运行以下命令:
试一试
试一试
构建并运行 simulation_remote_assistant
试一试
试一试
注意
<qir_version>:QIR SDK 的版本,请参见 QIR SDK 2.0 发布说明。<qir_decompressed_path>:QIR SDK 解压后的路径。
1
在主机计算机上构建和打包
- 构建示例应用程序项目。
SSH Session
- 打包示例应用程序并推送到设备。
SSH Session
2
在开发套件上安装并运行
- 安装示例应用程序。
SSH Session
- 使用 运行开箱即用的 simulation_remote_assistant 中的步骤运行示例应用程序。

