Navigation2专题十九:行为树教学大纲

Posted by Mu Wenfeng on 2021-12-28

T.1:创建你的第一个行为树

本教程演示了如何在C++ 中创建自定义以ActionNodes及如何使用XML语言将它们组合成树。

T.2:使用端口参数化节点

树节点可以同时具有输入和输出端口。本教程演示了如何使用端口创建参数化节点。

T.3:通用和类型安全的端口

本教程是上一教程的扩展。

它展示了如何创建和使用 通用的和用户定义类型的端口。

T.4:Sequence和ReactiveSequence之间的区别

Reactive ControlNodes 是一个非常强大的创建复杂的行为的工具。

这个例子显示了Sequence和ReactiveSequence之间的区别。

T.5:如何重用整个子树

可重用性和可组合性可以在单个节点的层级上完成,也可以在整个树上完成,这些树可以成为“父”树的子树。

在本教程中,我们还将介绍内置的日志模块。

T.6:子树与其父级之间端口的重新映射

系统中的任何树/子树都有自己独立的黑板。

在本教程中,我们使用端口重新映射将概念或端口扩展到子树。

T.7:如何以非侵入性的方式包装遗留代码

本教程展示了将现有代码包装到BehavioTree.CPP基础架构中的多种可能方法之一。

T.8:将参数传递给没有端口的节点

如果您的自定义 Node 有很多端口,则可能表明您不了解 Ports 应该解决的问题;)

在本教程中,我们将展示如何将参数传递给自定义 Node 类,而不会用无意义的输入端口污染您的接口。

T.9:协程的异步操作

协程是创建异步代码的强大工具。

在本教程中,我们将概述用 CoroActionNode 实现异步 Action 时要使用的典型设计模式