
該C ++ 17庫提供了創建行為樹的框架。它旨在靈活,易於使用,反應性和快速。
即使我們的主要用例是機器人技術,您也可以使用此庫來為遊戲構建AI ,也可以替換有限的狀態機。
與其他實現相比,很少有使ArchApyTree.CPP獨特的功能:
它做出了異步行動,即非阻塞,是一流的公民。
您可以構建反應性行為,以同時執行多個操作(正交性)。
樹是使用特定域腳本語言(基於XML)定義的,並且可以在運行時加載;換句話說,即使用C ++編寫,樹木的形態也不是硬編碼。
您可以靜態地鏈接自定義treenodes或將其轉換為插件並在運行時加載它們。
它提供了一種類型和靈活的機制,可以在樹的節點之間進行數據流。
它包括一個記錄/分析基礎架構,該基礎架構允許用戶可視化,記錄,重播和分析狀態過渡。
您可以在此處了解主要概念,API和教程:https://www.behaviortree.dev/
如果文檔沒有回答您的問題和/或您想與其他BT.CPP用戶聯繫,請訪問我們的論壇
編輯行為樹就像在您喜歡的文本編輯器中編輯XML文件一樣簡單。
如果您正在尋找一個更精美的圖形用戶界面(我知道您知道)檢查Groot2 Out。

BT.CPP需要一個支持C ++ 17的編譯。
支持三個構建系統:
與柯南一起編譯:
假設您處於BehaviorTree.CPP的父級目錄中:
mkdir build; cd build
conan install ../BehaviorTree.CPP --output-folder=. --build=missing
cmake ../BehaviorTree.CPP -DCMAKE_TOOLCHAIN_FILE="conan_toolchain.cmake"
cmake --build . --parallel
如果您已經安裝了Zeromq和Sqlite之類的依賴項,並且您不想使用Conan,則只需鍵入:
mkdir build; cd build
cmake ../BehaviorTree.CPP
cmake --build . --parallel
如果您想在Pixi項目(Conda虛擬環境)中構建。
pixi run build
如果您想在應用程序中使用bt.cpp,請在此處參考以下示例:https://github.com/behaviortree/btcpp_sample。
您是否在商業產品中使用BT.CPP,並且需要技術支持 /諮詢嗎?您可以聯繫主要作者[email protected] ,以討論您的用例和需求。
該軟件的3.8版可以在分支v3.8中找到。
該分支可能會收到錯誤修復,但是新功能僅在主分支中實現。
麻省理工學院許可證(MIT)
版權(C)2019-2023 Davide Faconti
版權(C)2018-2019 Davide Faconti,Eurecat
版權(C)2014-2018 Michele Colledance
特此免費授予任何獲得此軟件副本和相關文檔文件(“軟件”)的人,以無限制處理該軟件,包括無限制,使用,複製,修改,合併的權利,發布,分發,分佈和/或出售該軟件的副本,並允許提供該軟件的人,但要遵守以下條件:
上述版權通知和此許可通知應包含在軟件的所有副本或大量部分中。
該軟件是“原樣”提供的,沒有任何形式的明示或暗示保證,包括但不限於適銷性,特定目的的適用性和非侵權的保證。 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE軟體.