
このC ++ 17ライブラリは、行動ツリーを作成するためのフレームワークを提供します。柔軟性があり、使いやすく、反応性が高く、速いように設計されています。
主なユースケースがロボット工学である場合でも、このライブラリを使用してゲーム用のAIを構築したり、有限の状態マシンを交換したりできます。
他の実装と比較した場合、 BehaviorTree.cppを一意にする機能はほとんどありません。
それは非同期行動、すなわち非ブロッキング、一流の市民になります。
複数のアクションを同時に実行するリアクティブな動作を構築できます(直交)。
ツリーは、ドメイン固有のスクリプト言語(XMLに基づく)を使用して定義され、実行時にロードできます。言い換えれば、たとえC ++で書かれていても、木の形態はハードコードされていません。
カスタムトレニードを静的にリンクしたり、プラグインに変換したり、実行時にロードしたりできます。
ツリーのノード間でデータフローを実行するためのタイプセーフで柔軟なメカニズムを提供します。
これには、ユーザーが状態遷移を視覚化、記録、リプレイ、分析できるロギング/プロファイリングインフラストラクチャが含まれています。
メインの概念、API、チュートリアルについては、https://www.behaviortree.dev/について学ぶことができます。
ドキュメントが質問に答えない場合、および/または他のbt.cppユーザーとつながりたい場合は、フォーラムにアクセスしてください
BehaviorTreeの編集は、お気に入りのテキストエディターでXMLファイルを編集するのと同じくらい簡単です。
あなたがより派手なグラフィカルなユーザーインターフェイスを探している場合(そして私はあなたがそうすることを知っています)、groot2をチェックしてください。

BT.CPPには、C ++ 17をサポートするコンパイルが必要です。
3つのビルドシステムがサポートされています。
コナンとのコンパイル:
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 Virtual Environment)を構築したい場合。
pixi run build
アプリケーションでbt.cppを使用する場合は、https://github.com/behaviortree/btcpp_sampleの例を参照してください。
商用製品でbt.cppを使用していますか?テクニカルサポート /コンサルティングが必要ですか?主な著者[email protected]に連絡して、ユースケースとニーズについて説明できます。
ソフトウェアのバージョン3.8は、Branch v3.8にあります。
そのブランチはバグ修正を受けるかもしれませんが、新機能はマスターブランチでのみ実装されます。
MITライセンス(MIT)
Copyright(c)2019-2023 Davide Faconti
Copyright(c)2018-2019 Davide Faconti、Eurecat
Copyright(c)2014-2018 Michele Colledanchise
このソフトウェアおよび関連するドキュメントファイル(「ソフトウェア」)のコピーを取得している人に、これにより許可が無料で許可され、制限なしにソフトウェアを扱うことができます。 、ソフトウェアのコピーを公開、配布、サブライセンス、および/または販売し、次の条件を条件として、ソフトウェアが提供される人を許可します。
上記の著作権通知とこの許可通知は、ソフトウェアのすべてのコピーまたはかなりの部分に含まれるものとします。
このソフトウェアは、商品性、特定の目的への適合性、および非侵害の保証を含むがこれらに限定されない、明示的または黙示的なものを保証することなく、「現状のまま」提供されます。いかなる場合でも、著者または著作権所有者は、契約、不法行為、またはその他の訴訟、ソフトウェアまたは使用またはその他の取引に関連する、またはその他の契約、またはその他の請求、またはその他の責任について責任を負いません。ソフトウェア。