1、簡介
與狀態機不同,行為樹強調執行動作,而不是狀態之間的轉換。
行為樹是可組合的。可以重復使用簡單的行為來構建復雜的行為。
在游戲領域,行為樹已經比較流行了。主要用于維護游戲角色的各種動作和狀態。
ROS2的導航框架Navigation2中引入了行為樹來組織機器人的工作流程和動作執行,幫助各種機器人系統中實現任務規劃。
C++開發者,可以使用 BehaviorTree.CPP 庫,并結合 XML 的腳本語言將它們組裝成樹。
github:https://github.com/BehaviorTree/BehaviorTree.CPP
UI工具:https://www.behaviortree.dev/groot/
關于行為樹的詳解參見博客:
行為樹 Behavoir Tree入門教程|講的最清晰的教程(大概)
2、節點
行為樹由各種節點組成,它們的基類都是 TreeNode;
主要分為四類:裝飾器