4.5.2 行为树节点说明
行为树(BT)是一种在智能体(如机器人或电脑游戏中的虚拟实体)中构建不同任务之间切换结构的方式。它是一种形式化的图形建模语言,以层次化的节点组织为特征,用于描述和规划复杂系统中各种实体的交互和决策。nav2_bt_navigator功能包下的/bt_navigator是Nav2中的行为树导航器节点,它实现了基于行为树的导航策略。行为树是一种用于描述复杂行为的树状结构,通过组合不同的行为节点,可以灵活地定义机器人的导航行为,包括路径规划、避障、恢复等。
1. 订阅的话题
| 话题 | 接口 | 描述 |
|---|---|---|
| /goal_pose | geometry_msgs/msg/PoseStamped | 导航目标点,用于触发导航任务 |
| /tf | tf2_msgs/msg/TFMessage | 坐标变换消息,用于不同坐标系之间的转换 |
| /odom | nav_msgs/msg/Odometry | 里程计数据,提供机器人位置和运动信息 |
2. 请求的Action
| Action | 接口 | 描述 |
|---|---|---|
| /navigate_to_pose | nav2_msgs/action/NavigateToPose | 请求导航到指定位姿的Action,包括目标位姿和容忍度等参数 |
3.参数
use_sim_time: 指定是否使用模拟时间而非实际时间。global_frame: 定义全局坐标系的名称,通常为地图坐标系。robot_base_frame: 指定机器人基座的坐标系名称。odom_topic: 里程计数据的ROS话题名称。bt_loop_duration: 行为树执行循环的持续时间(单位可能根据实现而异)。default_server_timeout: 导航服务器操作的默认超时时间。enable_groot_monitoring: 启用或禁用Groot监控功能。groot_zmq_publisher_port: Groot监控中ZeroMQ发布者的端口号。groot_zmq_server_port: Groot监控中ZeroMQ服务器的端口号。plugin_lib_names: 包含导航所需插件的库名称列表。