Behavior trees in action: A study of robotics applications
- Razan Ghzouli,
- Thorsten Berger,
- Einar Broch Johnsen,
- Swaib Dragule,
- Chalmers University of Technology,
Research Output:
Conference Article in Proceeding or Book/Report chapter
Book chapter
Peer-reviewOpen access
Publication Information
Output type
Research Output:
Conference Article in Proceeding or Book/Report chapter
Book chapter
Peer-reviewOriginal language
EnglishPages from-to (Number of pages)
Pages 196–209Publication milestones
- Published - 2020
Publication status
Published - 2020
Publisher
Association for Computing Machinery, United StatesBook series
- Book series name: Proceedings of ACM SIGPLAN International Conference on Software Language Engineering
ISBN (Electronic)
978-1-4503-8176-5Publication IDs
- Scopus: 85097712378
Host publication title
Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2020, Virtual Event, USA, November 16-17, 2020Abstract
Autonomous robots combine a variety of skills to form increasingly complex behaviors called missions. While the skills are often programmed at a relatively low level of abstraction, their coordination is architecturally separated and often expressed in higher-level languages or frameworks. Recently, the language of Behavior Trees gained attention among roboticists for this reason. Originally designed for computer games to model autonomous actors, Behavior Trees offer an extensible tree-based representation of missions. However, even though, several implementations of the language are in use, little is known about its usage and scope in the real world. How do behavior trees relate to traditional languages for describing behavior? How are behavior tree concepts used in applications? What are the benefits of using them?
We present a study of the key language concepts in Behavior Trees and their use in real-world robotic applications. We identify behavior tree languages and compare their semantics to the most well-known behavior modeling languages: state and activity diagrams. We mine open source repositories for robotics applications that use the language and analyze this usage. We find that Behavior Trees are a pragmatic language, not fully specified, allowing projects to extend it even for just one model. Behavior trees clearly resemble the models-at-runtime paradigm. We contribute a dataset of real-world behavior models, hoping to inspire the community to use and further develop this language, associated tools, and analysis techniques.
We present a study of the key language concepts in Behavior Trees and their use in real-world robotic applications. We identify behavior tree languages and compare their semantics to the most well-known behavior modeling languages: state and activity diagrams. We mine open source repositories for robotics applications that use the language and analyze this usage. We find that Behavior Trees are a pragmatic language, not fully specified, allowing projects to extend it even for just one model. Behavior trees clearly resemble the models-at-runtime paradigm. We contribute a dataset of real-world behavior models, hoping to inspire the community to use and further develop this language, associated tools, and analysis techniques.
Publication metrics
PlumX, opens in new tab
Citations
80
Captures
77
Mentions
1
Access to documents
Accepted author manuscript, 790.34 KB
Related Event
Title
ACM SIGPLAN International Conference on Software Language Engineering
