行为树导航器
BT导航器(行为树导航器)模块实现了NavigateToPose任务接口。它是一种基于行为树的导航实现,旨在允许导航任务的灵活性,并提供一种简便的方式来指定复杂的机器人行为,包括恢复操作。
考虑查看 Groot - 与行为树交互 教程,了解如何使用 Groot 可视化和修改行为树。
参数
- 导航器
类型
默认
字符串向量
{'navigate_to_pose', 'navigate_through_poses'}
- 描述
Iron中的新功能:为实现nav2_core::BehaviorTreeNavigator接口的导航器类型添加插件。它们通过实现具有自定义接口定义的自定义动作服务器,并使用该数据来填充和处理行为树导航请求。插件类在相同的命名空间下定义,参见下面的示例。默认值对应于NavigateToPoseNavigator和NavigateThroughPosesNavigator。
- default_nav_to_pose_bt_xml
类型
默认
string
N/A
- 描述
用于NavigateToPose的默认行为树XML描述文件路径,请参阅:ref:`configuring_behavior_tree_xml`以获取有关此文件的详细信息。在Galactic之前,它被称为default_bt_xml_filename。
- default_nav_through_poses_bt_xml
类型
默认
string
N/A
- 描述
用于NavigateThroughPoses的默认行为树XML描述文件路径,请参阅:ref:`configuring_behavior_tree_xml`以获取有关此文件的详细信息。在添加NavigateThroughPoses之后,它是Galactic的新功能。
- plugin_lib_names
类型
默认
字符串向量
["nav2_compute_path_to_pose_action_bt_node", "nav2_follow_path_action_bt_node", "nav2_back_up_action_bt_node", "nav2_spin_action_bt_node", "nav2_wait_action_bt_node", "nav2_clear_costmap_service_bt_node", "nav2_is_stuck_condition_bt_node", "nav2_goal_reached_condition_bt_node", "nav2_initial_pose_received_condition_bt_node", "nav2_goal_updated_condition_bt_node", "nav2_reinitialize_global_localization_service_bt_node", "nav2_rate_controller_bt_node", "nav2_distance_controller_bt_node", "nav2_speed_controller_bt_node", "nav2_recovery_node_bt_node", "nav2_pipeline_sequence_bt_node", "nav2_round_robin_node_bt_node", "nav2_transform_available_condition_bt_node", "nav2_time_expired_condition_bt_node", "nav2_distance_traveled_condition_bt_node", "nav2_single_trigger_bt_node"]
- 描述
行为树节点共享库的列表。
- bt_loop_duration
类型
默认
int
10
- 描述
BT执行的每次迭代的持续时间(以毫秒为单位)。
- default_server_timeout
类型
默认
int
20
- 描述
BT操作节点等待动作服务器确认的默认超时时间(毫秒)。如果提供了输入端口“server_timeout”,则此值将被覆盖为BT节点的超时时间。
- transform_tolerance
类型
默认
单元
双精度
0.1
秒
- 描述
TF变换容差。
- global_frame
类型
默认
string
map
- 描述
参考坐标系。
- 机器人基准坐标系
类型
默认
string
base_link
- 描述
行为树XML描述的路径。
- odom_topic
类型
默认
string
odom
- 描述
发布里程计数据的话题
- goal_blackboard_id
类型
默认
string
"goal"
- 描述
用于向``NavigateToPose``行为树提供目标的黑板变量。应与BT XML文件的端口匹配。
- path_blackboard_id
类型
默认
string
"path"
- 描述
Blackboard变量,用于从行为树获取``NavigateThroughPoses``反馈的路径。应与BT XML文件的端口名称匹配。
- goals_blackboard_id
类型
默认
string
"goals"
- 描述
用于向“NavigateThroughPoses”行为树提供目标的黑板变量。应与BT XML文件的端口匹配。
- use_sim_time
类型
默认
布尔值
false
- 描述
使用仿真提供的时间。
- error_code_names
类型
默认
字符串向量
["compute_path_error_code", "follow_path_error_code"]
- 描述
要进行比较的错误代码列表。
示例
bt_navigator:
ros__parameters:
use_sim_time: true
global_frame: map
robot_base_frame: base_link
transform_tolerance: 0.1
default_nav_to_pose_bt_xml: replace/with/path/to/bt.xml
default_nav_through_poses_bt_xml: replace/with/path/to/bt.xml
goal_blackboard_id: goal
goals_blackboard_id: goals
path_blackboard_id: path
navigators: ['navigate_to_pose', 'navigate_through_poses']
navigate_to_pose:
plugin: "nav2_bt_navigator/NavigateToPoseNavigator"
navigate_through_poses:
plugin: "nav2_bt_navigator/NavigateThroughPosesNavigator"
plugin_lib_names:
- nav2_compute_path_to_pose_action_bt_node
- nav2_follow_path_action_bt_node
- nav2_back_up_action_bt_node
- nav2_spin_action_bt_node
- nav2_wait_action_bt_node
- nav2_clear_costmap_service_bt_node
- nav2_is_stuck_condition_bt_node
- nav2_goal_reached_condition_bt_node
- nav2_initial_pose_received_condition_bt_node
- nav2_goal_updated_condition_bt_node
- nav2_reinitialize_global_localization_service_bt_node
- nav2_rate_controller_bt_node
- nav2_distance_controller_bt_node
- nav2_speed_controller_bt_node
- nav2_recovery_node_bt_node
- nav2_pipeline_sequence_bt_node
- nav2_round_robin_node_bt_node
- nav2_transform_available_condition_bt_node
- nav2_time_expired_condition_bt_node
- nav2_distance_traveled_condition_bt_node
- nav2_single_trigger_bt_node
error_code_names:
- compute_path_error_code
- follow_path_error_code
# - smoother_error_code, navigate_to_pose_error_code, navigate_through_poses_error_code, etc