BehaviorTree
说明: 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)
... ...


[](https://github.com/BehaviorTree/BehaviorTree.CPP/actions/workflows/cmake_ubuntu.yml)
[](https://github.com/BehaviorTree/BehaviorTree.CPP/actions/workflows/cmake_windows.yml)
[](https://github.com/BehaviorTree/BehaviorTree.CPP/actions?query=workflow%3Aros1)
[](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.

# 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 ... ...
近期下载者:
相关文件:
收藏者: