4.5.6 航点跟随节点说明
在Nav2 导航堆栈中,nav2_waypoint_follower包下的/waypoint_follower节点负责跟踪由路径规划器生成的一系列航点(waypoints),以确保机器人能够沿着预定的路径安全、准确地移动。该节点的主要功能是根据当前机器人位置和速度信息,以及由路径规划器(如nav2_global_planner和nav2_local_planner)提供的航点列表,计算出控制指令来控制机器人的运动。这些控制指令可能包括线性和角速度命令,或者更具体的运动学或动力学命令,具体取决于机器人的类型和配置。
1.提供的Action服务器
| 话题 |
Action接口 |
描述 |
| /follow_waypoints |
nav2_msgs/action/FollowWaypoints |
允许客户端请求planner_server按照一系列路点进行导航 |
2.请求的Action服务
| 话题 |
Action接口 |
描述 |
| /navigate_to_pose |
nav2_msgs/action/NavigateToPose |
允许planner_server(或调用它的节点)请求导航到指定的位姿 |
3.参数
use_sim_time: 指定是否使用模拟时间而非实际时间进行节点的计时和同步。这在仿真环境中特别有用,因为仿真环境可能无法提供与真实时间完全同步的时钟。
loop_rate: 定义了节点的主循环速率,即节点每秒执行其主要任务(如处理数据、发布信息等)的次数。这个参数对于控制节点的响应性和资源使用非常重要。
stop_on_failure: 指明当导航任务遇到无法克服的障碍或达到其他失败条件时,节点是否应该停止执行。这对于确保在失败情况下系统能够安全地停止并等待进一步指令很重要。
bond_disable_heartbeat_timeout: 涉及节点间通信的可靠性机制。Bond是ROS 2中用于节点间稳定通信的一种机制,其中心跳信号用于检测节点是否仍然活跃。将此参数设置为true会禁用心跳超时检测,这可能在某些特定的网络配置或应用场景中是有用的。
waypoint_task_executor_plugin: 指定了在执行路径点导航任务时要使用的插件。路径点导航通常涉及一系列预先定义的点,机器人需要按顺序访问这些点。这个参数允许用户指定用于执行这种类型任务的特定插件或算法。
wait_at_waypoint: 这是一个复合参数,用于配置在路径点等待的特定行为。
enabled: 启用或禁用在到达每个路径点时等待的功能。
plugin: 指定实现等待功能的插件类型。这允许用户根据需要选择不同的等待策略或行为。
waypoint_pause_duration: 定义了在每个路径点处等待的持续时间(以毫秒为单位)。这可以用于确保机器人在移动到下一个路径点之前已经稳定或已经完成了某些操作。