紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
关于nav2 bt tree的一些疑问
-
我在学习bt 行为树插件,资料太过于贫乏,所以去百度和guthub看了一些源码例程现在有一些疑问
这是理论框图
绿色的部分应该是nav2 bt 自带的功能插件,别的都找到了对应的源码和插件
有几个没有找打,比如sequencece star这个插件源码就没有找到,也不清楚是我这个图太老了已经更新掉了还是插件已经不可用了
我有几个点自己理解的,大佬帮我看看理解的对不对
左边箭头的蓝色名称 是插件名称 就依照这个名称调用插件
因为我看到这个pipelinesequence名称是和上图对应的1 那疑问来了,既然是依照这个名字调用插件这个computePathToPose应该是计算路径的插件,在这个插件源码里面 只是看见更新了参数,并没有发现调用任何的规划插件,所以 真正干活的插件比如规划 路径追踪 是如何被调用的呢???
2 黄色的plugin_lib_names和上面用到的插件名字有相似但是并没有完全一致
那这些黄字名称是起什么作用的呢?????最后疑问,迫切的需要一份nav2 bt tree的入门教程 和实际范例,以便能学会这个bt树
-
@王涛 学一下pluginlib,这些都是动态库的名字
find /opt/ros/humble -name 'libnav2*.so' /opt/ros/humble/lib/libnav2_util_core.so /opt/ros/humble/lib/libnav2_truncate_path_action_bt_node.so /opt/ros/humble/lib/libnav2_smac_planner.so /opt/ros/humble/lib/libnav2_transform_available_condition_bt_node.so /opt/ros/humble/lib/libnav2_costmap_2d_core.so /opt/ros/humble/lib/libnav2_drive_on_heading_cancel_bt_node.so /opt/ros/humble/lib/libnav2_wait_cancel_bt_node.so /opt/ros/humble/lib/libnav2_rotation_shim_controller.so /opt/ros/humble/lib/libnav2_assisted_teleop_action_bt_node.so /opt/ros/humble/lib/libnav2_back_up_action_bt_node.so /opt/ros/humble/lib/libnav2_smac_planner_lattice.so /opt/ros/humble/lib/libnav2_remove_passed_goals_action_bt_node.so /opt/ros/humble/lib/libnav2_goal_reached_condition_bt_node.so /opt/ros/humble/lib/libnav2_truncate_path_local_action_bt_node.so /opt/ros/humble/lib/libnav2_recovery_node_bt_node.so /opt/ros/humble/lib/libnav2_compute_path_to_pose_action_bt_node.so /opt/ros/humble/lib/libnav2_clear_costmap_service_bt_node.so /opt/ros/humble/lib/libnav2_rate_controller_bt_node.so /opt/ros/humble/lib/libnav2_pipeline_sequence_bt_node.so /opt/ros/humble/lib/libnav2_goal_updated_condition_bt_node.so /opt/ros/humble/lib/libnav2_is_stuck_condition_bt_node.so /opt/ros/humble/lib/libnav2_msgs__rosidl_typesupport_cpp.so /opt/ros/humble/lib/libnav2_distance_controller_bt_node.so /opt/ros/humble/lib/libnav2_back_up_behavior.so /opt/ros/humble/lib/libnav2_theta_star_planner.so /opt/ros/humble/lib/libnav2_msgs__rosidl_typesupport_introspection_cpp.so /opt/ros/humble/lib/libnav2_is_battery_charging_condition_bt_node.so /opt/ros/humble/lib/libnav2_wait_behavior.so /opt/ros/humble/lib/libnav2_lifecycle_manager_core.so /opt/ros/humble/lib/libnav2_assisted_teleop_behavior.so /opt/ros/humble/lib/libnav2_wait_action_bt_node.so /opt/ros/humble/lib/libnav2_planner_selector_bt_node.so /opt/ros/humble/lib/libnav2_goal_updater_node_bt_node.so /opt/ros/humble/lib/libnav2_smoother_selector_bt_node.so /opt/ros/humble/lib/libnav2_navigate_to_pose_action_bt_node.so /opt/ros/humble/lib/libnav2_assisted_teleop_cancel_bt_node.so /opt/ros/humble/lib/libnav2_msgs__rosidl_generator_py.so /opt/ros/humble/lib/libnav2_constrained_smoother.so /opt/ros/humble/lib/libnav2_smooth_path_action_bt_node.so /opt/ros/humble/lib/libnav2_is_path_valid_condition_bt_node.so /opt/ros/humble/lib/libnav2_initial_pose_received_condition_bt_node.so /opt/ros/humble/lib/libnav2_navfn_planner.so /opt/ros/humble/lib/libnav2_drive_on_heading_bt_node.so /opt/ros/humble/lib/libnav2_controller_cancel_bt_node.so /opt/ros/humble/lib/libnav2_drive_on_heading_behavior.so /opt/ros/humble/lib/libnav2_back_up_cancel_bt_node.so /opt/ros/humble/lib/libnav2_path_longer_on_approach_bt_node.so /opt/ros/humble/lib/libnav2_round_robin_node_bt_node.so /opt/ros/humble/lib/libnav2_costmap_2d_client.so /opt/ros/humble/lib/libnav2_spin_action_bt_node.so /opt/ros/humble/lib/libnav2_msgs__rosidl_typesupport_introspection_c.so /opt/ros/humble/lib/libnav2_msgs__rosidl_typesupport_fastrtps_c.so /opt/ros/humble/lib/libnav2_msgs__rosidl_typesupport_c.so /opt/ros/humble/lib/libnav2_path_expiring_timer_condition.so /opt/ros/humble/lib/libnav2_navigate_through_poses_action_bt_node.so /opt/ros/humble/lib/libnav2_regulated_pure_pursuit_controller.so /opt/ros/humble/lib/libnav2_controller_selector_bt_node.so /opt/ros/humble/lib/libnav2_smac_planner_2d.so /opt/ros/humble/lib/libnav2_single_trigger_bt_node.so /opt/ros/humble/lib/libnav2_speed_controller_bt_node.so /opt/ros/humble/lib/libnav2_compute_path_through_poses_action_bt_node.so /opt/ros/humble/lib/libnav2_is_battery_low_condition_bt_node.so /opt/ros/humble/lib/libnav2_rviz_plugins.so /opt/ros/humble/lib/libnav2_behavior_tree.so /opt/ros/humble/lib/libnav2_goal_updated_controller_bt_node.so /opt/ros/humble/lib/libnav2_time_expired_condition_bt_node.so /opt/ros/humble/lib/libnav2_spin_behavior.so /opt/ros/humble/lib/libnav2_reinitialize_global_localization_service_bt_node.so /opt/ros/humble/lib/libnav2_spin_cancel_bt_node.so /opt/ros/humble/lib/libnav2_msgs__rosidl_generator_c.so /opt/ros/humble/lib/libnav2_globally_updated_goal_condition_bt_node.so /opt/ros/humble/lib/libnav2_msgs__rosidl_typesupport_fastrtps_cpp.so /opt/ros/humble/lib/libnav2_follow_path_action_bt_node.so /opt/ros/humble/lib/libnav2_distance_traveled_condition_bt_node.so /opt/ros/humble/lib/libnav2_goal_checker_selector_bt_node.so /opt/ros/humble/local/lib/python3.10/dist-packages/nav2_msgs/libnav2_msgs__rosidl_generator_py.so
-
@小鱼 RecoveryFallback 这种是节点的类的名字,有些找不到的是bt库自带的,你直接学一下BT树的源码例程就好
-
@小鱼 bt树的源码例程在哪里学习呀? 学些完这个源码 上面的问题都能捋清楚了吗
-
@小鱼 我已经学完了ros2入门教程
看了bt tree的功能介绍
感觉bt tree 可以做很多实用的功能,但是看了看nav2的简易教程 一头雾水,完全不清楚调用的流程