BehaviorTree.CPP: Task Planning for Robots and Virtual Agents
Talkat CppCon 2023 · on Tuesday, 2023-10-03· at 16:45· Cottonwood 8/9, 6700 North Gaylord Rockies Boulevard·
summary
BehaviorTree.CPP is a C++ library that implements behavior trees used in robots and virtual agents, with a running history since 2017 and growing GitHub adoption; it builds XML-defined trees at runtime, uses a typed blackboard for port-based input/output and scoped subtrees, supports interruptible asynchronous actions and concurrency, and adds an embedded scripting language plus pre- and post-conditions for declarative guards. Tooling includes an Observer API for recording, GUI visualization, and runtime code injection for breakpoints and fault injection; the library is production-tested on mobile manipulators, drones and underwater robots.
AI-written summary · about
chapters (12)
- 0:00Introduction to BehaviorTree.CPP
- 2:53Motivation for BehaviorTree.CPP
- 7:28Behavior trees vs state machines
- 12:52Core concepts explained
- 22:12Library features
- 27:18Building C++ nodes
- 30:57Blackboard data flow
- 38:50Hierarchical subtrees
- 43:10Debugging tools
- 45:19Scripting language
- 48:55Asynchronous behaviors
- 56:21Q&A
related talks
39mEmbarrassing Mistakes: a short story about AI
48mAI Coding Agents and how to code them
13mLeveraging C++ for Efficient Motion Planning: RRT Algorithm for Robotic Arms
38mPractical AI in Unity
55mParallel-by-construction Tree Manipulation with APL (Part 1)
25mDirecting a Swarm of Agents for Fun and Profit
20mProject Bonsai: How Microsoft is Using Ray and RLlib Inside a Machine Teaching Service
18mRobotics: why now?
