Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3426425.3426942acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Behavior trees in action: a study of robotics applications

Published: 15 November 2020 Publication History

Abstract

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.

Supplementary Material

Auxiliary Presentation Video (sle20main-p74-p-video.mp4)
This is a presentation video of my talk at SLE20 on our paper “Behavior Trees in Action: A Study of Robotics Applications” that was accepted in the research track. In this paper, 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.
MP4 File (3426425.3426942.mp4)
Video Presentation

References

[1]
2020. Online Appendix. htps://bitbucket.org/easelab/behaviortrees.
[2]
Adam Alami, Yvonne Dittrich, and Andrzej Wasowski. 2018. Influencers of quality assurance in an open source community. In 11th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE).
[3]
J Andrew Bagnell, Felipe Cavalcanti, Lei Cui, Thomas Galluzzo, Martial Hebert, Moslem Kazemi, Matthew Klingensmith, Jacqueline Libby, Tian Yu Liu, Nancy Pollard, et al. 2012. An integrated system for autonomous robotics manipulation. In International Conference on Intelligent Robots and Systems (IROS).
[4]
Nelly Bencomo, Robert B. France, Betty H. C. Cheng, and Uwe Aß-mann (Eds.). 2014. [email protected], Applications, and Roadmaps. Vol. 8378. Springer.
[5]
Gordon Blair, Nelly Bencomo, and Robert B France. 2009. [email protected]. IEEE Computer 42, 10 ( 2009 ), 22-27.
[6]
Jonathan Bohren and Steve Cousins. 2010. The SMACH high-level executive [ROS news]. IEEE Robotics & Automation Magazine 17, 4 ( 2010 ), 18-20.
[7]
Iva Bojic, Tomislav Lipic, Mario Kusek, and Gordan Jezic. 2011. Extending the JADE agent behaviour model with JBehaviourTrees Framework. In KES International Symposium on Agent and Multi-Agent Systems: Technologies and Applications.
[8]
Juan Chen and DianXi Shi. 2018. Development and Composition of Robot Architecture in Dynamic Environment. In International Conference on Robotics, Control and Automation Engineering (RCAE).
[9]
Michele Colledanchise. 2017. Behavior trees in robotics. Ph.D. Dissertation. KTH Royal Institute of Technology.
[10]
Michele Colledanchise. 2017. BT++ library Documentation. htps://github.com/miccol/ROS-Behavior-Tree/blob/master/ BTUserManual.pdf.
[11]
Michele Colledanchise, Alejandro Marzinotto, Dimos V Dimarogonas, and Petter Oegren. 2016. The advantages of using behavior trees in multi robot systems. In 47th International Symposium on Robotics (ISR).
[12]
Michele Colledanchise and Petter Ögren. 2014. How Behavior Trees modularize robustness and safety in hybrid systems. In International Conference on Intelligent Robots and Systems (IROS).
[13]
Michele Colledanchise and Petter Ögren. 2016. How behavior trees modularize hybrid control systems and generalize sequential behavior compositions, the subsumption architecture, and decision trees. IEEE Transactions on robotics 33, 2 ( 2016 ), 372-389.
[14]
Michele Colledanchise and Petter Ögren. 2018. Behavior Trees in Robotics and Al: An Introduction. CRC Press.
[15]
Michele Colledanchise, Ramviyas Parasuraman, and Petter Ögren. 2018. Learning of behavior trees for autonomous agents. IEEE Transactions on Games 11, 2 ( 2018 ), 183-189.
[16]
Melvin E. Conway. 1963. Design of a Separable Transition-Diagram Compiler. Commun. ACM 6, 7 ( July 1963 ), 396-408.
[17]
Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, and Cliford Stein. 2009. Introduction to algorithms. MIT press. Appendix B.5.3 pages.
[18]
O.-J. Dahl and C.A.R. Hoare. 1972. Hierarchical Program Structures. In Structured Programming, O.-J. Dahl, E. W. Dijkstra, and C.A.R. Hoare (Eds.). Academic Press.
[19]
Yael Dubinsky, Julia Rubin, Thorsten Berger, Slawomir Duszynski, Martin Becker, and Krzysztof Czarnecki. 2013. An Exploratory Study of Cloning in Industrial Software Product Lines. In 17th European Conference on Software Maintenance and Reengineering (CSMR).
[20]
Davide Faconti. 2019. MOOD2Be: Models and Tools to design Robotic Behaviors. htps://github.com/BehaviorTree/BehaviorTree.CPP/blob/ master/MOOD2Be_final_report.pdf
[21]
Davide Faconti and Michele Colledanchise. 2018. BehaviorTree.CPP library Documentation. htps://www.behaviortree.dev.
[22]
Epic Games. 2020. Unreal Engine 4 Behavior Tree library Documentation. htps://docs.unrealengine.com/en-US/Engine/ ArtificialIntelligence/BehaviorTrees/BehaviorTreeUserGuide/index. html.
[23]
Sergio García, Patrizio Pelliccione, Claudio Menghi, Thorsten Berger, and Tomas Bures. 2019. High-level mission specification for multiple robots. In 12th International Conference on Software Language Engineering (SLE).
[24]
Sergio Garcia, Patrizio Pelliccione, Claudio Menghi, Thorsten Berger, and Tomas Bures. 2020. PROMISE: High-Level Mission Specification for Multiple Robots. In 42nd International Conference on Software Engineering (ICSE), Demonstrations Track.
[25]
Sergio Garcia, Daniel Strueber, Davide Brugali, Thorsten Berger, and Patrizio Pelliccione. 2020. Robotics Software Engineering: A Perspective from the Service Robotics Domain. In 28th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE).
[26]
Sergio Garcia, Daniel Strueber, Davide Brugali, Alessandro Di Fava, Philipp Schillinger, Patrizio Pelliccione, and Thorsten Berger. 2019. Variability Modeling of Service Robots: Experiences and Challenges. In 13th International Workshop on Variability Modelling of Softwareintensive Systems (VaMoS).
[27]
Object Management Group. 2017. OMG Unified Modeling Language 2.5.1. htps://www.omg.org/spec/UML/
[28]
David Harel. 1987. Statecharts: A visual formalism for complex systems. Science of computer programming 8, 3 ( 1987 ), 231-274.
[29]
Frederick WP Heckel, G Michael Youngblood, and Nikhil S Ketkar. 2010. Representational complexity of reactive agents. In IEEE Conference on Computational Intelligence and Games (CIG). IEEE.
[30]
Matteo Iovino, Edvards Scukins, Jonathan Styrud, Petter Ögren, and Christian Smith. 2020. A Survey of Behavior Trees in Robotics and AI. arXiv preprint arXiv: 2005. 05842 ( 2020 ).
[31]
Damian Isla. 2005. Handling complexity in the Halo 2 AI. GDC 2005 Proceedings ( 2005 ). htps://www.gamasutra.com/view/feature/130663/ gdc_2005_proceeding_handling_. php?page=2
[32]
Einar Broch Johnsen, Reiner Hähnle, Jan Schäfer, Rudolf Schlatte, and Martin Stefen. 2010. ABS: A Core Language for Abstract Behavioral Specification. In 9th International Symposium on Formal Methods for Components and Objects (FMCO ).
[33]
Andreas Klöckner. 2013. Interfacing behavior trees with the world using description logic. In AIAA Guidance, Navigation, and Control Conference (GNC).
[34]
Claudio Menghi, Christos Tsigkanos, Patrizio Pelliccione, Carlo Ghezzi, and Thorsten Berger. 2019. Specification Patterns for Robotic Missions. IEEE Transactions on Software Engineering ( 2019 ). preprint.
[35]
Ian Millington and John Funge. 2009. Artificial intelligence for games. CRC Press.
[36]
Petter Ögren. 2012. Increasing modularity of UAV control systems using computer game behavior trees. In AIAA Guidance, Navigation, and Control Conference (GNC).
[37]
Francesco Rovida, Bjarne Grossmann, and Volker Krüger. 2017. Extended behavior trees for quick definition of flexible robotic tasks. In IEEE/RSJ International Conference on Intelligent Robots and Systems ( IROS ).
[38]
Philipp Schillinger, Stefan Kohlbrecher, and Oskar von Stryk. 2016. Human-Robot Collaborative High-Level Control with an Application to Rescue Robotics. In IEEE International Conference on Robotics and Automation (ICRA).
[39]
Daniel Stonier, Naveed Usmani, and Michal Staniaszek. 2020. Py Trees library Documentation. htps://py-trees.readthedocs.io/en/ devel/background.html.
[40]
Daniel Stonier, Naveed Usmani, and Michal Staniaszek. 2020. Py Trees ROS library Documentation. htp://docs.ros.org/kinetic/api/py_trees_ros/html/index.html.
[41]
Juha-Pekka Tolvanen and Steven Kelly. 2019. How Domain-Specific Modeling Languages Address Variability in Product Line Development: Investigation of 23 Cases. In 23rd International Systems and Software Product Line Conference (SPLC).

Cited By

View all
  • (2024)Autonomous Robot Task Execution in Flexible Manufacturing: Integrating PDDL and Behavior Trees in ARIAC 2023Biomimetics10.3390/biomimetics91006129:10(612)Online publication date: 10-Oct-2024
  • (2024)Design Goals for End-User Development of Robot-Assisted Physical Training Activities: A Participatory Design StudyProceedings of the ACM on Human-Computer Interaction10.1145/36646328:EICS(1-31)Online publication date: 17-Jun-2024
  • (2024)Handling uncertainty in the specification of autonomous multi-robot systems through mission adaptationProceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3643915.3644099(25-36)Online publication date: 15-Apr-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SLE 2020: Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering
November 2020
295 pages
ISBN:9781450381765
DOI:10.1145/3426425
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 November 2020

Permissions

Request permissions for this article.

Check for updates

Badges

Author Tags

  1. behavior trees
  2. empirical study
  3. robotics applications

Qualifiers

  • Research-article

Funding Sources

  • Wallenberg AI, Autonomous Systems and Software Program (WASP) funded by the Knut and AliceWallenberg Foundation
  • SIDA project BRIGHT
  • EU H2020 project ROSIN

Conference

SPLASH '20
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)188
  • Downloads (Last 6 weeks)29
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Autonomous Robot Task Execution in Flexible Manufacturing: Integrating PDDL and Behavior Trees in ARIAC 2023Biomimetics10.3390/biomimetics91006129:10(612)Online publication date: 10-Oct-2024
  • (2024)Design Goals for End-User Development of Robot-Assisted Physical Training Activities: A Participatory Design StudyProceedings of the ACM on Human-Computer Interaction10.1145/36646328:EICS(1-31)Online publication date: 17-Jun-2024
  • (2024)Handling uncertainty in the specification of autonomous multi-robot systems through mission adaptationProceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3643915.3644099(25-36)Online publication date: 15-Apr-2024
  • (2024)Temporal Behavior Trees: Robustness and SegmentationProceedings of the 27th ACM International Conference on Hybrid Systems: Computation and Control10.1145/3641513.3650180(1-14)Online publication date: 14-May-2024
  • (2024)A Driver-Vehicle Model for ADS Scenario-Based TestingIEEE Transactions on Intelligent Transportation Systems10.1109/TITS.2024.337353125:8(8641-8654)Online publication date: Aug-2024
  • (2024)Behaviour Tree-Based Task Execution Controller for Internal Transportation Robots2024 13th International Workshop on Robot Motion and Control (RoMoCo)10.1109/RoMoCo60539.2024.10604423(55-62)Online publication date: 2-Jul-2024
  • (2024)Human-inspired Grasping Strategies of Fresh Fruits and Vegetables Applied to Robotic Manipulation2024 20th IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications (MESA)10.1109/MESA61532.2024.10704863(1-7)Online publication date: 2-Sep-2024
  • (2024)A Behavior Tree Approach for Battery-Aware Inspection of Large Structures Using Drones2024 International Conference on Unmanned Aircraft Systems (ICUAS)10.1109/ICUAS60882.2024.10557083(234-240)Online publication date: 4-Jun-2024
  • (2024)An Open and Flexible Robot Perception Framework for Mobile Manipulation Tasks2024 IEEE International Conference on Robotics and Automation (ICRA)10.1109/ICRA57147.2024.10610743(17445-17451)Online publication date: 13-May-2024
  • (2024)Behavior Tree Capabilities for Dynamic Multi-Robot Task Allocation with Heterogeneous Robot Teams2024 IEEE International Conference on Robotics and Automation (ICRA)10.1109/ICRA57147.2024.10610515(4826-4833)Online publication date: 13-May-2024
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media