Skip to main content
主要特性包括:
  • 地图上的路径点和虚拟路径管理。
  • 到目标路径点的路径跟随导航。
  • 路径跟随期间的避障。

软件结构

下图展示了 qrb_ros_follow_path 服务的软件结构:
Layered stack on RBx with 2D lidar ROS, robot base, 2D lidar SLAM, follow path service, and follow path manager running on ROS2 Jazzy.

qrb_ros_follow_path 的软件结构。

qrb_ros_follow_path 服务中使用的 ROS 节点和模块

下表描述了 qrb_ros_follow_path 服务中使用的 ROS 节点和模块。

qrb_ros_follow_path_service API

下表描述了 qrb_ros_follow_path_service API。

前提条件

你已根据安装 QIR SDK完成设备设置,并在设备上安装了 ROS2 Jazzy 和 Qualcomm Intelligent Robotics (QIR) SDK。

开箱即用运行 qrb_ros_follow_path 服务

除非另有说明,否则在设备上运行以下命令。
1

安装 qrb_ros_follow_path 服务包

2

设置 2D 激光雷达 SLAM

通过完成开箱即用 2D 激光雷达 SLAM 中的步骤 1-6 来设置 2D 激光雷达 SLAM。确保已完成建图。
3

在设备上设置示例环境

4

测试路径跟随服务

  • 你可以根据 qrb_ros_follow_path_service API 表实现一个 ROS 节点,以完成路径跟随导航。
  • 你也可以使用这些 ROS 命令完成路径跟随导航。
a. 在主机(Ubuntu 24.04)上安装 rqt-robot-steering。
b. 在主机上运行 rqt-robot-steering。
c. 使用 rqt_robot_steering 将机器人底座移动到预期位置。d. 在主机(Ubuntu 24.04)上安装并设置 rviz2。
e. 从 rviz 获取位姿并将其转换为 2D 位置 (x, y, angle)。f. 使用当前位置添加一个路径点。例如,如果当前位置是 (0.1, 0.3, 3.0),使用以下命令:
从服务响应中获取路径点 ID。例如,路径点 ID 为 1。g. 使用 rqt_robot_steering 将机器人底座移动到另一个位置。h. 从 rviz 获取位姿并将其转换为 2D 位置 (x, y, angle)。i. 使用当前位置添加一个路径点。例如,如果当前位置是 (0.3, 0.1, 3.0),使用以下命令:
从服务响应中获取路径点 id。例如,路径点 ID 为 2。j. 设置路径点 (id = 2) 和路径点 (id = 1) 之间的虚拟路径。
k. 启动从路径点 (id = 2) 到路径点 (id = 1) 的路径跟随操作。

从源码构建并运行 follow-path 服务

当你需要修改服务代码时,可以从源码构建 follow-path 服务。设备端步骤包括安装依赖、克隆源码仓库、构建包并运行结果。

设备步骤

1

安装依赖

2

下载并构建

3

运行并测试服务

根据开箱即用运行 qrb_ros_follow_path 服务 的步骤 2 到步骤 4 运行并测试。