Learning Behavior Trees with Genetic Programming in Unpredictable Environments

Modern industrial applications require robots to be able to operate in unpredictable environments, and programs to be created with a minimal effort, as there may be frequent changes to the task. In this paper, we show that genetic programming can be effectively used to learn the structure of a behavior tree (BT) to solve a robotic task in an unpredictable environment. Moreover, we propose to use a simple simulator for the learning and demonstrate that the learned BTs can solve the same task in a realistic simulator, reaching convergence without the need for task specific heuristics. The learned solution is tolerant to faults, making our method appealing for real robotic applications.

[1]  Petter Ögren,et al.  Performance analysis of stochastic behavior trees , 2014, 2014 IEEE International Conference on Robotics and Automation (ICRA).

[2]  Gerd Ascheid,et al.  Evolving Instinctive Behaviour in Resource-Constrained Autonomous Agents Using Grammatical Evolution , 2020, EvoApplications.

[3]  Anthony Brabazon,et al.  Evolutionary Behavior Tree Approaches for Navigating Platform Games , 2017, IEEE Transactions on Computational Intelligence and AI in Games.

[4]  M. C. Sinclair,et al.  Evolving simple software agents: comparing genetic algorithm and genetic programming performance , 1997 .

[5]  Robert Ollington,et al.  Effect of constraints on evolving behavior trees for game AI , 2016 .

[6]  Odest Chadwicke Jenkins,et al.  Learning Behavior Trees From Demonstration , 2019, 2019 International Conference on Robotics and Automation (ICRA).

[7]  Matthew Studley,et al.  A Two Teraflop Swarm , 2018, Front. Robot. AI.

[8]  Simon Colton,et al.  Evolving Behaviour Trees for the Commercial Game DEFCON , 2010, EvoApplications.

[9]  Michael A. Goodrich,et al.  Learning Swarm Behaviors using Grammatical Evolution and Behavior Trees , 2019, IJCAI.

[10]  Petter Ögren,et al.  How Behavior Trees Modularize Hybrid Control Systems and Generalize Sequential Behavior Compositions, the Subsumption Architecture, and Decision Trees , 2017, IEEE Transactions on Robotics.

[11]  Petter Ögren,et al.  Learning of Behavior Trees for Autonomous Agents , 2015, IEEE Transactions on Games.

[12]  Qi Zhang,et al.  Behavior Modeling for Autonomous Agents Based on Modified Evolving Behavior Trees , 2018, 2018 IEEE 7th Data Driven Control and Learning Systems Conference (DDCLS).

[13]  Petter Ögren,et al.  Towards Blended Reactive Planning and Acting using Behavior Trees , 2016, 2019 International Conference on Robotics and Automation (ICRA).

[14]  Riccardo Poli,et al.  Genetic Programming: An Introduction and Tutorial, with a Survey of Techniques and Applications , 2008, Computational Intelligence: A Compendium.

[15]  Anthony Brabazon,et al.  Evolving Behaviour Trees for the Mario AI Competition Using Grammatical Evolution , 2011, EvoApplications.

[16]  Deepti Mehrotra,et al.  Comparative review of selection techniques in genetic algorithm , 2015, 2015 International Conference on Futuristic Trends on Computational Analysis and Knowledge Management (ABLAZE).

[17]  Petter Ögren,et al.  A Survey of Behavior Trees in Robotics and AI , 2020, Robotics Auton. Syst..

[18]  Jian Yao,et al.  Learning Behavior Trees for Autonomous Agents with Hybrid Constraints Evolution , 2018, Applied Sciences.

[19]  Petter Ögren,et al.  Behavior Trees in Robotics and AI: An Introduction , 2017, ArXiv.