IX. CONCLUDING REMARKS
In this letter, we outlined the practical aspects of BTs
in robotics and outlined state-of-the-art solutions to date.
The analysis highlighted that a designer, to take advantage
of BTs fully, relies on a execution engine with specific
characteristics. Some of these characteristics are still debated,
and different existing libraries implement different solutions,
such as handling a safe preemption, the asynchronous action
execution, and the shared memory. We also showed BTs
fit in generic robotic software architectures and presented
a practical use case example. We believe that this letter
provides useful information for both the BT designers that
want to fully understand the characteristics and limitations of
a particular BT execution engine and the software developers
that want to implement their own BT execution engine.
REFERENCES
[1] D. Isla, “Handling Complexity in the Halo 2 AI,” in Game Developers
Conference, 2005.
[2] I. Millington and J. Funge, Artificial intelligence for games. CRC
Press, 2009.
[3] S. Rabin, Game AI Pro. CRC Press, 2014, ch. 6. The Behavior Tree
Starter Kit.
[4] M. Colledanchise and P.
¨
Ogren, Behavior Trees in Robotics and AI:
An Introduction, ser. Chapman and Hall/CRC Artificial Intelligence
and Robotics Series. Taylor & Francis Group, 2018.
[5] F. Rovida, B. Grossmann, and V. Kr
¨
uger, “Extended behavior trees
for quick definition of flexible robotic tasks,” in 2017 IEEE/RSJ
International Conference on Intelligent Robots and Systems (IROS).
IEEE, 2017, pp. 6793–6800.
[6] K. R. Guerin, C. Lea, C. Paxton, and G. D. Hager, “A framework for
end-user instruction of a robot assistant for manufacturing,” in IEEE
International Conference on Robotics and Automation (ICRA), 2015.
[7] A. Kl
¨
ockner, “Behavior trees with stateful tasks,” in Advances in
Aerospace Guidance, Navigation and Control. Springer, 2015, pp.
509–519.
[8] E. Coronado, F. Mastrogiovanni, and G. Venture, “Development of
intelligent behaviors for social robots via user-friendly and modular
programming tools,” in 2018 IEEE Workshop on Advanced Robotics
and its Social Impacts (ARSO). IEEE, 2018, pp. 62–68.
[9] C. Paxton, A. Hundt, F. Jonathan, K. Guerin, and G. D. Hager, “Costar:
Instructing collaborative robots with behavior trees and vision,” in
2017 IEEE International Conference on Robotics and Automation
(ICRA). IEEE, 2017, pp. 564–571.
[10] D. Shepherd, P. Francis, D. Weintrop, D. Franklin, B. Li, and A. Afzal,
“[engineering paper] an ide for easy programming of simple robotics
tasks,” in 2018 IEEE 18th International Working Conference on Source
Code Analysis and Manipulation (SCAM). IEEE, 2018, pp. 209–214.
[11] L. Pena, S. Ossowski, J. M. Pena, and S. M. Lucas, “Learning and
Evolving Combat Game Controllers,” in Computational Intelligence
and Games (CIG), 2012 IEEE Conference on, pp. 195–202.
[12] E. Safronov, M. Colledanchise, and L. Natale, “Task Planning with
Belief Behavior Trees,” in 2020 IEEE/RSJ International Conference
on Intelligent Robots and Systems (IROS), 2020.
[13] M. Iovino, J. Styrud, P. Falco, and C. Smith, “Learning behavior
trees with genetic programming in unpredictable environments,” arXiv
preprint arXiv:2011.03252, 2020.
[14] D. Zhang and B. Hannaford, “Ikbt: solving symbolic inverse kine-
matics with behavior tree,” Journal of Artificial Intelligence Research,
vol. 65, pp. 457–486, 2019.
[15] A. Csiszar, M. Hoppe, S. A. Khader, and A. Verl, “Behavior trees for
task-level programming of industrial robots,” in Tagungsband des 2.
Kongresses Montage Handhabung Industrieroboter. Springer, 2017,
pp. 175–186.
[16] M. Tenorth, “Controlling process of robots having a behavior tree
architecture,” Mar. 21 2019, uS Patent App. 16/081,763.
[17] X. Neufeld, S. Mostaghim, and S. Brand, “A hybrid approach to
planning and execution in dynamic environments through hierarchical
task networks and behavior trees,” in Fourteenth Artificial Intelligence
and Interactive Digital Entertainment Conference, 2018.
[18] M. Kim, M. Arduengo, N. Walker, Y. Jiang, J. W. Hart, P. Stone, and
L. Sentis, “An architecture for person-following using active target
search,” arXiv preprint, 2018.
[19] N. Axelsson and G. Skantze, “Modelling adaptive presentations in
human-robot interaction using behaviour trees,” in Proceedings of the
20th Annual SIGdial Meeting on Discourse and Dialogue, 2019.
[20] A. Ghadirzadeh, X. Chen, W. Yin, Z. Yi, M. Bj
¨
orkman, and D. Kragic,
“Human-centered collaborative robots with deep reinforcement learn-
ing,” arXiv preprint, 2020.
[21] C. I. Sprague and P.
¨
Ogren, “Adding neural network controllers
to behavior trees without destroying performance guarantees,” arXiv
preprint arXiv:1809.10283, 2018.
[22] B. Banerjee, “Autonomous acquisition of behavior trees for robot
control,” in 2018 IEEE/RSJ International Conference on Intelligent
Robots and Systems (IROS). IEEE, 2018, pp. 3460–3467.
[23] E. Scheide, G. Best, and G. A. Hollinger, “Learning behavior trees for
robotic task planning by monte carlo search over a formal grammar.”
[24] O. Biggar and M. Zamani, “A framework for formal verification
of behavior trees with linear temporal logic,” IEEE Robotics and
Automation Letters, vol. 5, no. 2, pp. 2341–2348, 2020.
[25] T. G. Tadewos, L. Shamgah, and A. Karimoddini, “On-the-fly de-
centralized tasking of autonomous vehicles,” in 2019 IEEE 58th
Conference on Decision and Control (CDC). IEEE, 2019, pp. 2770–
2775.
[26] J. Kuckling, A. Ligot, D. Bozhinoski, and M. Birattari, “Behavior
trees as a control architecture in the automatic modular design of
robot swarms,” in International Conference on Swarm Intelligence.
Springer, 2018, pp. 30–43.
[27]
¨
O.
¨
Ozkahraman and P.
¨
Ogren, “Combining control barrier functions
and behavior trees for multi-agent underwater coverage missions,”
arXiv preprint, 2020.
[28] P. de la Cruz, J. Piater, and M. Saveriano, “Reconfigurable behavior
trees: towards an executive framework meeting high-level decision
making and control layer features,” arXiv preprint, 2020.
[29] P.
¨
Ogren, “Convergence analysis of hybrid control systems in the form
of backward chained behavior trees,” IEEE Robotics and Automation
Letters, vol. 5, no. 4, pp. 6073–6080, 2020.
[30] “BostonDynamics Spot SDK,” 2020. [Online]. Available:
bostondynamics.com/spot2
0
[31] S. Macenski, F. Mart
´
ın, R. White, and J. Gin
´
es Clavero, “The marathon
2: A navigation system,” in 2020 IEEE/RSJ International Conference
on Intelligent Robots and Systems (IROS), 2020.
[32] M. Iovino, E. Scukins, J. Styrud, P.
¨
Ogren, and C. Smith, “A survey
of behavior trees in robotics and ai,” arXiv preprint, 2020.
[33] R. Ghzouli, T. Berger, E. B. Johnsen, S. Dragule, and A. Wasowski,
“Behavior trees in action: A study of robotics applications,” arXiv
preprint arXiv:2010.06256, 2020.
[34] A. Shoulson, F. M. Garcia, M. Jones, R. Mead, and N. I. Badler,
“Parameterizing Behavior Trees,” in Motion in Games. Springer,
2011.
[35] E. Safronov, M. Vilzmann, D. Tsetserukou, and K. Kondak, “Asyn-
chronous behavior trees with memory aimed at aerial vehicles with
redundancy in flight controller,” arXiv preprint, 2019.
[36] “gobehave repository.” [Online]. Available: github.com/askft/
go-behave2
[37] “py trees.” [Online]. Available: github.com/splintered-reality/py trees
[38] “action-fw repository.” BitBucket. [Online]. Available: bitbucket.
org/brainific/action-fw
[39] D. Faconti and M. Colledanchise, “BehaviorTree.CPP.” [Online].
Available: github.com/BehaviorTree/BehaviorTree.CPP
[40] “braintree repository.” [Online]. Available: github.com/arvidsson/
BrainTree
[41] A. Ahmad and M. A. Babar, “Software architectures for robotic sys-
tems: A systematic mapping study,” Journal of Systems and Software,
vol. 122, pp. 16–39, 2016.
[42] M. Colledanchise, D. Almeida, and P.
¨
Ogren, “Towards blended reac-
tive planning and acting using behavior trees,” in 2019 International
Conference on Robotics and Automation (ICRA). IEEE, 2019, pp.
8839–8845.
[43] T. G. Tadewos, L. Shamgah, and A. Karimoddini, “Automatic safe
behaviour tree synthesis for autonomous agents,” in 2019 IEEE 58th
Conference on Decision and Control (CDC). IEEE, 2019, pp. 2776–
2781.
[44] F. Paul, C. Elena, D. Daniele, P. Ali, M. Giorgio, and N. Lorenzo, “A
middle way for robotics middleware,” 2014.