一、行为树
行为树是一种控制结构,在相关论文资料中通常会与有限状态机进行比较,并认为其比有限状态机更适合复杂条件下的控制,目前多用于游戏开发中(主要用于NPC行为),工业领域的应用研究正逐渐增多,主要面向移动机器人/AGV/无人驾驶等等。
相关论文资料可以参考:http://kth.diva-portal.org/smash/get/diva2:1078940/FULLTEXT01
二、程序实现
完整的ROS包地址:https://gitee.com/xjEzekiel/bt_tree
主要包括:
1、/visio/BT_Basic.vssx,用于绘制行为树视图的visio模具;
2、/src/bt_tree_lib/bt_tree_lib.py,参考pi_trees(https://github.com/pirobot/pi_trees)实现的行为树类库,bt_tree_ros.py用于ROS Action,bt_print.py则用于打印行为树结构,使用方法均与pi_trees类似;
3、/templates/SubTree/SubTree_Temp.py,行为树子树模板,主要用于规范子树变量维护和行为独立,SubTree_Temp_Test.py用于子树测试;
1)/templates/SubTree_Template_Generator.py用于快速生成所需子树框架;
以下着重介绍SubTree_Temp.py:
#!/usr/bin/env python _prefix = "Temp" import