
Esta biblioteca C ++ 17 fornece uma estrutura para criar comportamento. Foi projetado para ser flexível, fácil de usar, reativo e rápido.
Mesmo que nosso principal caso de uso seja a robótica , você pode usar esta biblioteca para criar IA para jogos ou para substituir máquinas de estado finitas.
Existem poucos recursos que tornam o ComportmentTree.cpp único, quando comparado a outras implementações:
Faz ações assíncronas , ou seja, não bloqueando, um cidadão de primeira classe.
Você pode criar comportamentos reativos que executam várias ações simultaneamente (ortogonalidade).
As árvores são definidas usando uma linguagem de script específica de domínio (com base no XML) e pode ser carregada em tempo de execução; Em outras palavras, mesmo se escrito em C ++, a morfologia das árvores não é codificada.
Você pode vincular estaticamente seus treenodes personalizados ou convertê-los em plugins e carregá-los em tempo de execução.
Ele fornece um mecanismo de tipo de tipo de tipo e flexível para realizar o fluxo de dados entre os nós da árvore.
Ele inclui uma infraestrutura de registro/perfil que permite ao usuário visualizar, gravar, reproduzir e analisar transições de estado.
Você pode aprender sobre os principais conceitos, a API e os tutoriais aqui: https://www.behaviortree.dev/
Se a documentação não responder suas perguntas e/ou você quiser se conectar com os outros usuários do BT.CPP , visite nosso fórum
A edição de um comportamento é tão simples quanto editar um arquivo XML em seu editor de texto favorito.
Se você está procurando uma interface gráfica mais sofisticada do usuário (e eu sei que sim), consulte o Groot2.

O BT.CPP requer uma compilação que suporta C ++ 17.
Três sistemas de construção são suportados:
Compilando com Conan:
Supondo que você esteja no diretório pai do 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
Se você tem dependências como ZerOMQ e SQLite já instaladas e não deseja usar Conan, basta digitar:
mkdir build; cd build
cmake ../BehaviorTree.CPP
cmake --build . --parallel
Se você deseja construir em um projeto PIXI (Ambiente Virtual do CONDA).
pixi run build
Se você deseja usar o BT.CPP em seu aplicativo, consulte o exemplo aqui: https://github.com/behaviortree/btcpp_sample.
Você está usando o BT.CPP em seu produto comercial e precisa de suporte / consultoria técnica? Você pode entrar em contato com o autor primário, [email protected] , para discutir seu caso de uso e necessidades.
A versão 3.8 do software pode ser encontrada na filial v3.8.
Essa filial pode receber correções de bugs, mas os novos recursos serão implementados apenas na filial principal.
A licença do MIT (MIT)
Copyright (c) 2019-2023 Davide Faconti
Copyright (c) 2018-2019 Davide Faconti, EuroCat
Copyright (c) 2014-2018 Michele Colledanchise
É concedida permissão, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "software"), para lidar com o software sem restrição, incluindo, sem limitação, os direitos de uso, copiar, modificar, mesclar .
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou em partes substanciais do software.
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsabilizados por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações nos Software.