
Эта библиотека C ++ 17 предоставляет основу для создания поведения. Он был разработан, чтобы быть гибким, простым в использовании, реактивном и быстром.
Даже если нашим основным вариантом использования является робототехника , вы можете использовать эту библиотеку для создания ИИ для игр или для замены конечных государственных машин.
Есть несколько функций, которые делают BehipTree.cpp уникальным по сравнению с другими реализациями:
Это делает асинхронные действия , т.е. не блокировка, первоклассный гражданин.
Вы можете создавать реактивное поведение, которое выполняет несколько действий одновременно (ортогональность).
Деревья определяются с использованием языка сценариев, конкретного домена (на основе XML), и могут быть загружены во время выполнения; Другими словами, даже если написано в C ++, морфология деревьев не жестко.
Вы можете статически связать свои пользовательские Treenodes или преобразовать их в плагины и загружать их во время выполнения.
Он обеспечивает безопасный и гибкий механизм для выполнения потока данных между узлами дерева.
Он включает в себя инфраструктуру журнала/профилирования , которая позволяет пользователю визуализировать, записывать, воспроизводить и анализировать переходы состояния.
Вы можете узнать о основных понятиях, API и учебных пособиях здесь: https://www.behaviortree.dev/
Если документация не отвечает на ваши вопросы и/или вы хотите связаться с другими пользователями BT.CPP , посетите наш форум
Редактирование поведения так же просто, как и редактирование файла XML в вашем любимом текстовом редакторе.
Если вы ищете более причудливый графический пользовательский интерфейс (и я знаю, что вы это делаете) проверьте GROOT2.

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 программного обеспечения можно найти в Branch v3.8.
Этот филиал может получить исправления ошибок, но новые функции будут реализованы только в главной филиале.
Лицензия MIT (MIT)
Copyright (C) 2019-2023 Davide Faconti
Copyright (C) 2018-2019 Davide Faconti, Eurecat
Copyright (C) 2014-2018 Michele Colledanchise
Настоящее разрешение предоставляется бесплатно любому лицу, получающему копию этого программного обеспечения и связанные с ними файлы документации («Программное обеспечение»), для работы в программном обеспечении без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение , публиковать, распространять, сублиценс и/или продавать копии программного обеспечения и разрешить лицам, которым предоставлено программное обеспечение, при условии следующих условий:
Вышеуказанное уведомление об авторском праве и это уведомление о разрешении должно быть включено во все копии или существенные части программного обеспечения.
Программное обеспечение предоставляется «как есть», без гарантии любого рода, явного или подразумеваемого, включая, помимо прочего, гарантии товарной пригодности, пригодности для определенной цели и несоответствия. Ни в коем случае не будут нести ответственность авторов или владельцев авторских прав за любые претензии, ущерб или другую ответственность, будь то в действии контракта, деликте или иным образом, возникающим из или в связи с программным обеспечением или использования или других сделок в ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.