Nav2行为树
Nav2是一个令人难以置信的可重构项目。它允许用户设置许多不同的插件类型,跨行为树、核心算法、状态检查器等等!本节重点介绍项目中默认提供的一些行为树xml文件示例,并用来执行有趣的任务。应该注意,你可以修改这些示例用于您的特定应用,或者用这些示例来当作你的指南。这些示例介绍了如何通过使用行为树来重新配置导航行为。Nav2在 nav2_bt_navigator
包提供了其他行为树,本节介绍了一些重要的部分。 [校准@123---向佐转]
一个 非常 基本但实用的导航器可以在下面看到。 [校准@小鱼]
<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
,然后在每米上 (由 DistanceController
设定) 简单规划一条通往 goal
的新路径。如果在 path
黑板变量上计算了一个新路径, FollowPath
将采用这个 path
,并使用服务器的默认算法来跟随它。 [校准@123---向佐转]
上述行为树包含: [校准@123---向佐转]
无恢复(recovery)方法 [校准@小鱼]
不重试在失败时 [校准@小鱼]
无规划器或控制器算法 [校准@123---向佐转]
没有节点可以根据上下文更改设置以获得最佳性能 [校准@123---向佐转]
未与自动门、电梯或其他 API 集成 [校准@123---向佐转]
没有用户提供自定义的行为树( BT)节点 [校准@小鱼]
没有对接、跟随等其他行为的子树。 [校准@123---向佐转]
综上都可以让你您在Nav2中自定义的导航逻辑进行设置和配置。 [校准@123---向佐转]