BTs were developed in the computer game industry, as a tool to increase modularity in the control structures of Non-Player Characters (NPCs) . In this billion-dollar industry, modularity is a key property that enables reuse of code, incremental design of functionality, and efficient testing.
In games, the control structures of NPCs were often formulated in terms of Finite State Machines (FSMs). However, just as Petri Nets provide an alternative to FSMs that supports design of concurrent systems, BTs provide an alternative view of FSMs that supports design of modular systems.
Following the development in the industry, BTs have now also started to receive attention in academia.
At Carnegie Mellon University, BTs have been used extensively to do robotic manipulation. The fact that modularity is the key reason for using BTs is clear from the following quote from [2]: “The main advantage is that individual behaviors can easily be reused in the context of another higher-level behavior, without needing to specify how they relate to subsequent behaviors”.
BTs have also been used to enable non-experts to do robot programming of pick and place operations, due to their “modular, adaptable representation of a robotic task” and allowed “end-users to visually create programs with the same amount of complexity and power as traditionally-written programs” [56]. Furthermore, BTs have been proposed as a key component in brain surgery robotics due to their “flex- ibility, reusability, and simple syntax”.
Behavior Trees in Robotics and AI: An Introduction, Michele Colledanchise, Petter Ögren, 2017
http://arxiv.org/abs/1709.00084
1.1 A Short History and Motivation of BTs
BTs were developed in the computer game industry, as a tool to increase modularity in the control structures of Non-Player Characters (NPCs) . In this billion-dollar industry, modularity is a key property that enables reuse of code, incremental design of functionality, and efficient testing.
In games, the control structures of NPCs were often formulated in terms of Finite State Machines (FSMs). However, just as Petri Nets provide an alternative to FSMs that supports design of concurrent systems, BTs provide an alternative view of FSMs that supports design of modular systems. Following the development in the industry, BTs have now also started to receive attention in academia.
At Carnegie Mellon University, BTs have been used extensively to do robotic manipulation. The fact that modularity is the key reason for using BTs is clear from the following quote from [2]: “The main advantage is that individual behaviors can easily be reused in the context of another higher-level behavior, without needing to specify how they relate to subsequent behaviors”.
BTs have also been used to enable non-experts to do robot programming of pick and place operations, due to their “modular, adaptable representation of a robotic task” and allowed “end-users to visually create programs with the same amount of complexity and power as traditionally-written programs” [56]. Furthermore, BTs have been proposed as a key component in brain surgery robotics due to their “flex- ibility, reusability, and simple syntax”.