< >
Home » ROS2与Navigation2入门教程 » ROS2与Navigation2入门教程-行为树XMLs概述

ROS2与Navigation2入门教程-行为树XMLs概述

说明:

  • 介绍行为树XMLs

概述

  • Nav2是一个令人难以置信的可重新配置的项目。

  • 它允许用户跨行为树、核心算法、状态检测器等设置许多不同的插件类型!

  • 本节重点介绍Nav2项目中默认提供的一些用于执行有趣任务的示例行为树xml文件。

  • 值得说明的是,这些行为树XML文件可以针对您的特定应用程序进行修改,或者作为指南帮助构建您自己的特定于应用程序的行为树。

  • 这些模范示例可以说明如何使用行为树显著地重新配置导航行为。

  • Nav2在nav2_bt_navigator软件包中提供了其他行为树,但本节重点在于介绍一些重要的行为树。

  • 下面的行为树XML展示了一个非常基本但功能强大的导航仪:

<root main_tree_to_execute="MainTree">
  <BehaviorTree ID="MainTree">
    <PipelineSequence name="NavigateWithReplanning">
      <DistanceController distance="1.0">
       <ComputePathToPose goal="{goal}" path="{path}"/>
      </DistanceController>
      <FollowPath path="{path}"/>
    </PipelineSequence>
  </BehaviorTree>
</root>
  • 这个行为树将会使用ComputePathToPose动作插件简单地每1米规划一条到goal的新路径(通过设置DistanceController)。

  • 如果新路径是在path黑板变量上计算的,则FollowPath动作插件将会接收这个path变量并使用服务器的默认算法遵循该路径。

  • 这棵行为树具有以下特点:

    • 没有恢复方法

    • 失败时不进行重试

    • 没有选定的规划器或控制器算法

    • 没有根据上下文更改设置以获得最佳性能的节点

    • 未与自动门、电梯或其他API集成

    • 没有用户提供的自定义BT节点

    • 没有诸如停靠、跟随等其他行为的子树。

  • 所有这些以及其它内容都可以在Nav2中为您的自定义导航逻辑进行设置和配置。

  • 下面将会重点介绍Nav2中的三个重要行为树:

    • 导航至某个位姿(Navigate To Pose)行为树
    • 导航通过多个位姿(Navigate Through Poses)行为树
    • 跟随动态点(Follow Dynamic Point)行为树。

参考:

  • https://navigation.ros.org/behavior_trees/index.html

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros2与navigation2入门教程