【行为树】01-第一棵树
如何创建一个行为树
行为树,类似于状态机,无非是在正确的时间在正确的条件下调用回调的一种机制。
此外,我们将会交替使用__“callback"和"tick”__这两个词。
这些回调函数里发生的事情取决于你。
在这个教程系列中,大部分时间,Actions 只会在控制台上打印一些信息,但请记住,真实的“production”代码可能会做一些更复杂的事情。
进一步,我们将创建这棵简单的树:
如何创建自己的 ActionNodes
创建 TreeNode
的默认(也是推荐的)方式是通过继承。
// Example of custom SyncActionNode (synchronous action)
// without ports.
class ApproachObject : public BT::SyncActionNode
{public:ApproachObject(const std::string& name) :BT::SyncActionNode(name, {}){}// You must override the virtual function tick()BT::NodeStatus tick() override{std::cout << "ApproachObject: " << this->n