BehaviorTree

所属分类人工智能/神经网络/深度学习
开发工具:C++
文件大小:1339KB
下载次数:0
上传日期:2023-05-01 16:55:20
上 传 者sh-1993
说明:  BehaviorTree.CPP,C++中的行为树库。包括电池。
(BehaviorTree.CPP,Behavior Trees Library in C++. Batteries included.)

文件列表:
.DS_Store (6148, 2023-05-25)
.clang-format (1981, 2023-05-25)
.github (0, 2023-05-25)
.github\FUNDING.yml (113, 2023-05-25)
.github\workflows (0, 2023-05-25)
.github\workflows\cmake_ubuntu.yml (2022, 2023-05-25)
.github\workflows\cmake_windows.yml (1819, 2023-05-25)
.github\workflows\codeql.yml.bkp (2306, 2023-05-25)
.github\workflows\ros1.yaml (361, 2023-05-25)
.github\workflows\ros2.yaml (509, 2023-05-25)
.gitignore (98, 2023-05-25)
3rdparty (0, 2023-05-25)
3rdparty\cpp-sqlite (0, 2023-05-25)
3rdparty\cpp-sqlite\sqlite.hpp (15872, 2023-05-25)
3rdparty\cppzmq (0, 2023-05-25)
3rdparty\cppzmq\zmq.hpp (78802, 2023-05-25)
3rdparty\cppzmq\zmq_addon.hpp (24136, 2023-05-25)
3rdparty\lexy (0, 2023-05-25)
3rdparty\lexy\CMakeLists.txt (3307, 2023-05-25)
3rdparty\lexy\LICENSE (1338, 2023-05-25)
3rdparty\lexy\cmake (0, 2023-05-25)
3rdparty\lexy\cmake\lexyConfig.cmake.in (217, 2023-05-25)
3rdparty\lexy\include (0, 2023-05-25)
3rdparty\lexy\include\lexy (0, 2023-05-25)
3rdparty\lexy\include\lexy\_detail (0, 2023-05-25)
3rdparty\lexy\include\lexy\_detail\any_ref.hpp (1469, 2023-05-25)
3rdparty\lexy\include\lexy\_detail\assert.hpp (1210, 2023-05-25)
3rdparty\lexy\include\lexy\_detail\buffer_builder.hpp (4450, 2023-05-25)
3rdparty\lexy\include\lexy\_detail\code_point.hpp (12024, 2023-05-25)
3rdparty\lexy\include\lexy\_detail\config.hpp (4914, 2023-05-25)
3rdparty\lexy\include\lexy\_detail\detect.hpp (1056, 2023-05-25)
3rdparty\lexy\include\lexy\_detail\integer_sequence.hpp (1844, 2023-05-25)
3rdparty\lexy\include\lexy\_detail\invoke.hpp (2156, 2023-05-25)
3rdparty\lexy\include\lexy\_detail\iterator.hpp (6409, 2023-05-25)
3rdparty\lexy\include\lexy\_detail\lazy_init.hpp (5468, 2023-05-25)
3rdparty\lexy\include\lexy\_detail\memory_resource.hpp (4093, 2023-05-25)
3rdparty\lexy\include\lexy\_detail\nttp_string.hpp (5341, 2023-05-25)
... ...

![License MIT](https://img.shields.io/github/license/BehaviorTree/BehaviorTree.CPP?color=blue) ![Version](https://img.shields.io/badge/version-4.2-blue.svg) [![conan Ubuntu](https://github.com/BehaviorTree/BehaviorTree.CPP/actions/workflows/cmake_ubuntu.yml/badge.svg)](https://github.com/BehaviorTree/BehaviorTree.CPP/actions/workflows/cmake_ubuntu.yml) [![conan Windows](https://github.com/BehaviorTree/BehaviorTree.CPP/actions/workflows/cmake_windows.yml/badge.svg)](https://github.com/BehaviorTree/BehaviorTree.CPP/actions/workflows/cmake_windows.yml) [![ros1](https://github.com/BehaviorTree/BehaviorTree.CPP/workflows/ros1/badge.svg?branch=master)](https://github.com/BehaviorTree/BehaviorTree.CPP/actions?query=workflow%3Aros1) [![ros2](https://github.com/BehaviorTree/BehaviorTree.CPP/workflows/ros2/badge.svg?branch=master)](https://github.com/BehaviorTree/BehaviorTree.CPP/actions?query=workflow%3Aros2) # BehaviorTree.CPP 4.2

This __C++ 17__ library provides a framework to create BehaviorTrees. It was designed to be flexible, easy to use, reactive and fast. Even if our main use-case is __robotics__, you can use this library to build __AI for games__, or to replace Finite State Machines. There are few features which make __BehaviorTree.CPP__ unique, when compared to other implementations: - It makes __asynchronous Actions__, i.e. non-blocking, a first-class citizen. - You can build __reactive__ behaviors that execute multiple Actions concurrently (orthogonality). - Trees are defined using a Domain Specific __scripting language__ (based on XML), and can be loaded at run-time; in other words, even if written in C++, the morphology of the Trees is _not_ hard-coded. - You can statically link your custom TreeNodes or convert them into __plugins__ and load them at run-time. - It provides a type-safe and flexible mechanism to do __Dataflow__ between Nodes of the Tree. - It includes a __logging/profiling__ infrastructure that allows the user to visualize, record, replay and analyze state transitions. ## Documentation and Community You can learn about the main concepts, the API and the tutorials here: https://www.behaviortree.dev/ If the documentation doesn't answer your questions and/or you want to connect with the other **BT.CPP** users, visit https://discourse.behaviortree.dev/ ## Previous version Version 3.8 of the software can be found in the branch [v3.8](https://github.com/BehaviorTree/BehaviorTree.CPP/tree/v3.8). That branch might receive bug fixes, but the new features will be implemented only in the master branch. # GUI Editor Editing a BehaviorTree is as simple as editing a XML file in your favourite text editor. If you are looking for a more fancy graphical user interface (and I know you do) check [Groot2](https://www.behaviortree.dev/groot) out. ![Groot screenshot](docs/groot-screenshot.png) # How to compile **BT.CPP** requires a compile that supports c++17. Three build systems are supported: - **catkin**, if you use ROS - **colcon (ament)**, if you use ROS2 - **conan** otherwise (Linux/Windows). - **straight cmake** if you want to be personal responsible for depndencies :) Compiling with [conan](https://conan.io/): Assuming that you are in the **parent** directory of `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 ``` If you have dependencies such as ZeroMQ and SQlite already installed and you don't want to use conan, simply type: ``` mkdir build; cd build cmake ../BehaviorTree.CPP cmake --build . --parallel ``` If you want to use BT.CPP in your application, please refer to the example here: https://github.com/BehaviorTree/btcpp_sample . # Commercial support Are you using BT.CPP in ... ...

近期下载者

相关文件


收藏者