Behavior Trees and State Machines in Robotics Applications
Razan Ghzouli, Thorsten Berger, Einar Broch Johnsen, Andrzej Wasowski, Swaib Dragule

TL;DR
This paper studies the use of behavior trees and state machines in robotics, analyzing their language concepts, implementation in DSLs, and application in open-source ROS projects to understand their similarities, usage patterns, and growth.
Contribution
It provides a comparative analysis of behavior tree and state machine DSLs, and presents an empirical study of their application in real-world robotic open-source projects.
Findings
Behavior-tree DSL usage in open-source projects is rapidly increasing.
Similarities exist between behavior trees and state machines in design and application.
Behavior trees and state machines show comparable reuse patterns in robotics applications.
Abstract
Autonomous robots combine skills to form increasingly complex behaviors, called missions. While skills are often programmed at a relatively low abstraction level, their coordination is architecturally separated and often expressed in higher-level languages or frameworks. State machines have been the go-to language to model behavior for decades, but recently, behavior trees have gained attention among roboticists. Although several implementations of behavior trees are in use, little is known about their usage and scope in the real world.How do concepts offered by behavior trees relate to traditional languages, such as state machines? How are concepts in behavior trees and state machines used in actual applications? This paper is a study of the key language concepts in behavior trees as realized in domain-specific languages (DSLs), internal and external DSLs offered as libraries, and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Software Testing and Debugging Techniques · Model-Driven Software Engineering Techniques
