Using behavior trees to improve the modularity of AUV control systems
Researchers at the Royal Institute of Technology (KTH) and National Oceanography Centre have recently used behavior trees (BTs) to design modular, versatile, and robust control architectures for critical missions. Their study, pre-published on arXiv, specifically applied a BT framework to the control system of autonomous underwater vehicles (AUVs).
AUVs are underwater vehicles used for a variety of missions, such as detecting and mapping submerged objects or identifying navigation hazards and obstructions. Due to the limitations in their communication bandwidth and range, these vehicles cannot rely on tele-operation solutions used by aerial or ground-operating robots.
Moreover, AUVs are generally deployed in remote areas, so recovering them after a malfunction is often very challenging and expensive. To tackle these challenges, AUV control systems should be both robust and versatile, ensuring the safety of the vehicle and adapting to different situations.
The team of researchers at KTH and the National Oceanography Centre tried to address these challenges using behavior trees (BTs), mathematical models that have recently become increasingly popular in the field of AI and robotics. BTs were initially developed for video games to increase the modularity of non-player character (NPC) control structures.
"This modularity allows for efficient testing, incremental functionality design and code reuse, all of which have been quite advantageous in the video game industry," Christopher Iliffe Sprague, one of the researchers who carried out the study, told TechXplore. "Similarly, we find these aspects to be quite useful in the design of robotic artificial intelligence (AI), the key benefits being that behaviors can be reused and tested in the context of other higher-level behaviors without specifying their relationship to subsequent behaviors. These are striking benefits over the more conventionally used finite-state machines."
Essentially, BTs provide a hierarchical structure for switching between several tasks. In mission-critical systems, such as reconnaissance vehicles or self-driving cars, an overreaching objective can often be broken down into several subtasks. Therefore, BTs could help to better structure these tasks and shift between them.
"With BTs' inherent hierarchical structure, tasks can be decomposed to a varying degree of specificity," Sprague explained. "In our paper, we show this in the context of AUVs that are tasked to execute a mission defined by a sequence of waypoints. We first generally define a BT that fulfills the requirements of the system's domain (i.e. underwater vehicles), then refine the BT further by adding subtasks pertaining to specific objectives."
Sprague and his colleagues applied this process of BT refinement to an AUV mission carried out by the National Oceanography Institute. Their BT framework made AUV control systems more robust, monitoring their safety before proceeding to other subsequent tasks. BTs also allowed for greater versatility, prioritizing subtasks and allowing the system to flexibly switch between them.
"The most significant of our study outcomes is that we've shown how behaviour trees can be first outlined to fulfill general domain requirements and then refined further for specific missions, without sacrificing the original tree's structure," Sprague said. "The crucial takeaway from this is that one can instill certain task priorities, safety being the most crucial, and retain them no matter how mission-specific the tree becomes."
Sprague and his colleagues have successfully demonstrated the advantages of using BTs for controlling mission-critical systems, such as AUVs. However, the degree to which tasks can be abstracted using BTs is still limited by humans' ability to identify task decompositions. While in some cases tasks can be broken down intuitively, in others the system's behaviors are far more complex.
"We now seek to automatically synthesize BTs from example, with optimality in mind," Sprague said. "In another paper, we investigated how to implement optimal control with machine learning methods for specific tasks. We would now like to investigate using such methods to identify and optimize tasks and overall tree structures from example. We suspect that this will uncover behaviors that are challenging to identify by humans."
More information: Improving the modularity of AUV control systems using behavior trees. arXiv:1811.00426 [cs.RO]. arxiv.org/abs/1811.00426
Adding neural network controllers to behavior trees without destroying performance guarantees. arXiv:1809.10283 [cs.RO]. arxiv.org/abs/1809.10283
© 2018 Science X Network