使用行为树改写完整程序

1、构建行为树框架:按照原有程序的功能函数设计。

2、编写行为树节点文件,插入不同的功能函数代码。为了实现节点间不同数据结构的相互调用,除却使用黑板键值传递简单类型数据结构方式外,可以使用友元函数构建节点的功能函数类,并将需要被不同功能函数调用的数据结构以成员变量的方式,写在此类中。

class GripperInterface {
	
  public:
    // 成员函数
    GripperInterface() : _status(false) {}
  	
    NodeStatus Initial();
    
    NodeStatus Open();
    
    // 成员变量
    bool _status = false;

	int num = 5;

    unordered_map<std::string, std::string> ridMap; 
};

3、在定义行为树节点的时候,需要定义绑定节点的函数,举例如下:

static GripperInterface grip_singleton;
factory.registerSimpleAction("OpenGripper", std::bind(&GripperInterface::open, &grip_singleton));

4、最后很重要的是CMakeLists.txt文件的编写,这里可以借鉴以下这篇博客及其专栏。

行为树 --- [1] BehaviorTree.CPP的编译及使用_爱就是恒久忍耐的博客-优快云博客icon-default.png?t=N658https://wanghao1314.blog.youkuaiyun.com/article/details/112295130 5、还有就是添加新的外部链接库的问题,最简单的方式就是在CMakeLists.txt文件中加入下面一句话,将其中两项改为你的项目名称和外部链接库的名称就可以了。

target_link_libraries(<your_project_name> <external_library>)

6、最后就是改错,在build文件夹中进行cmake .. && make,出啥问题改啥问题就可以了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

持续前进的奋斗鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值