Artificial Intelligence (AI) is still relatively far from the human decision-making skills. However, applications of simple AI developments are becoming increasingly more common in practice, with the emergence of various autonomous control systems, including industrial robots and unmanned vehicles.
Traditionally, Artificial Neural Networks (ANN) are used as the encoding framework for the behavior of robotic systems. This approach poses several practical challenges. The first is related to general intelligibility of the resulting robotic behavior. It is sufficiently difficult to analyze the evolved ANN. In addition, this so-called ‘black-box’ framework is problematic to adapt manually and requires complex retraining algorithms for this purpose. The second problem is related to restricted possibilities for adaptation of ANNs in small robotic platforms, as in modern industry such platforms often are provided with limited computational and sensory capabilities.
The principle of Behavior Trees (BT) is based on the structure of hierarchical nodes that control the behavior (i.e. decision making) of particular implementation of artificial intelligence. In fact, it does not matter if AI is implemented in a robotic platform, or as a software: the principle stays the same. The nodes form the entity of the tree: leaves are actual commands that control the AI entity. Additional utility nodes control the behavior process in a way which is best suitable for particular situation.
As many sources note, the behavior trees can be extremely deep. For example, individual nodes may be used to call sub-trees to accomplish particular functions. In this way developers can create libraries of behaviours that can be chained together to provide very ‘convincing’ AI behaviour.
Behavior trees may be also combined with the methodology of Evolutionary Learning. This approach is very useful when developer intends to create effective behavior for relatively small robotic platforms, the purpose of which is to complete complex tasks such as operation in a swarm-like manner. Still, highly intricate BTs optimized using evolutionary learning techniques remain less complex in comparison with ANNs that are developed to accomplish the same task.
To investigate a possible adaptation of behavior trees in evolutionary robotics, a team of scientists from the Delft University of Technology, The Netherlands, used the DelFly Explorer, a bio-inspired flapping-wing Micro Air Vehicle (MAV) as a robotic platform possessing limited computational and sensory capabilities to perform computerized onboard vision based navigation using a pair lightweight cameras.
In a paper published on arXiv.org the scientists describe the experiment: the DelFly Explorer was tasked to navigate a square room in search for an open window; after finding the window, the robot had to fly through it using onboard systems only.
Two experiment variations were described: using a user-designed behavior tree, and using behavior optimized via evolutionary learning process. Later, the performance characteristics were compared against the two versions of control algorithms. The optimized algorithm had slightly higher success rate than the user-defined behavior tree but with significantly less hierarchical nodes.
The team notes, that both implementations of control algorithms where not initially able to fly through the window, while in the final implementations similar flight efficiency was achieved by manually optimizing the user-designed behavior tree.
“These results show that it is feasible to automatically evolve a behavior on a robotic platform in simulation using the BT description language. This method gives the user a high level of understanding of the underlying behavior [compared to ANN] and the tools to adapt the behavior to improve the performance”, the scientists conclude.
Written by Alius Noreika