Explore chapters and articles related to this topic
Programming Robot Behaviors with Behavior Trees
Published in Francisco Martín Rico, A Concise Introduction to Robot Programming with ROS2, 2023
A Behavior Tree controls the action decision flow. Leaves are not intended to implement complex algorithms or subsystems. The BT leaves should coordinate other subsystems in the robot. In ROS2, this is done by publishing or subscribing to topics or using ROS2 services/actions. Figure 6.2 shows a BT in which the nodes are used to coordinate the actions of a robot. Observe how the complexity is in the subsystem that coordinates, not in the BT leaves.
Α Behavior Trees-based architecture towards operation planning in hybrid manufacturing
Published in International Journal of Computer Integrated Manufacturing, 2023
George Kokotinis, George Michalos, Zoi Arkouli, Sotiris Makris
The particularity and the main contribution of this study is the integration of the Behavior Trees (BT) architecture, aiming for dynamic and modular task planning. Under the term ‘dynamic’ task planning, BTs provide a real-time adjustment of the planning in human-robot collaborative and industrial layouts, mainly in unforeseen cases. An unforeseen case can be considered when a human resource cannot execute an operation for personal reasons (e.g. illness, etc.) or a robotic resource faces a malfunction and has to be replaced. In such cases Behavior Trees facilitate the planner to make quick changes for a specific operation or a sequence of operations, and not for the whole process, by monitoring the availability of all the resources and by updating the evaluation and the final assignment. Moreover, Behavior Trees are visually intuitive and easy to design, test, and debug, and provide more modularity, scalability, and reusability than other behavior creation methods. Furthermore, a Behavior Tree can be a proper way to design the switching between multiple operations and between multiple autonomous devices, such as robots. It consists of behaviors or nodes connected to each other in the form of a tree, starting with a single root node. BTs can help in creating an efficient method of designing complex algorithms and systems that are both modular and reactive, such as the planning algorithm for complex layouts of numerous operations and resources. Modularity means the degree to which the components of a system can be separated into individual blocks and then recombined, while reactivity implies the ability of an algorithm to react to changes efficiently.
Robot behavior debugger for non-expert users in convenience stores using behavior trees
Published in Advanced Robotics, 2022
Pattaraporn Tulathum, Bunyapon Usawalertkamol, Gustavo Alfonso Garcia Ricardez, Jun Takamatsu, Tsukasa Ogasawara, Kenichi Matsumoto
Our system is a Behavior Tree-based system to facilitate non-expert users to create, test, and debug their robot behavior programs. The Behavior Tree is a tree-like structure representing task switching in the robot under various conditions to create a robot behavior program [23], as shown in Figure 1. The concept of the Behavior Trees is that the program must be executed step by step from top-to-bottom and left-to-right. Moreover, the Behavior Trees provide human readability, code reusability, and modularity. Therefore, non-expert users can use it to create robot programs by mimicking human thinking processes for deciding whether to do or skip a task.