ビヘイビアツリーに着想を得た自律エージェント向けプログラミング言語
A Behavior Tree-inspired programming language for autonomous agents
ビヘイビアツリーを拡張し、モジュール性と反応性を保ちながら複雑なエージェント行動を記述できる関数型プログラミング言語を設計・Haskellで実装した。
著者: Oliver Biggar, Iman Shames
分類: cs.PL, cs.AI, cs.RO, cs.SE
原文アブストラクト
We propose a design for a functional programming language for autonomous agents, built off the ideas and motivations of Behavior Trees (BTs). BTs are a popular model for designing agents behavior in robotics and AI. However, as their growth has increased dramatically, the simple model of BTs has come to be limiting. There is a growing push to increase the functionality of BTs, with the end goal of BTs evolving into a programming language in their own right, centred around the defining BT properties of modularity and reactiveness. In this paper, we examine how the BT model must be extended in order to grow into such a language. We identify some fundamental problems which must be solved: implementing `reactive' selection, 'monitoring' safety-critical conditions, and passing data between actions. We provide a variety of small examples which demonstrate that these problems are complex, and that current BT approaches do not handle them in a manner consistent with modularity. We instead provide a simple set of modular programming primitives for handling these use cases, and show how they can be combined to build complex programs. We present a full specification for our BT-inspired language, and give an implementation in the functional programming language Haskell. Finally, we demonstrate our language by translating a large and complex BT into a simple, unambiguous program.
関連論文
- ロボティクスにおけるビヘイビアツリーのための支援プログラミングインターフェースの設計と評価ビヘイビアツリー
- 品質要件を考慮したロボットミッション向けビヘイビアツリーの拡張ビヘイビアツリー
- 状態を持つビヘイビアツリーの形式化ビヘイビアツリー
- ロボティクス応用におけるビヘイビアツリーの実行意味論ビヘイビアツリー
- ビヘイビアツリーにおける並行性問題の解決ビヘイビアツリー
- ロボティクスにおけるビヘイビアツリー実装の実際ビヘイビアツリー
