Behavior Trees and State Machines in Robotics Applications

要約

自律型ロボットは、スキルを組み合わせて、ミッションと呼ばれる複雑な行動を形成する。スキルは比較的低い抽象度でプログラムされることが多いが、その連携はアーキテクチャ的に分離されており、より高いレベルの言語やフレームワークで表現されることが多い。ステートマシンは、数十年にわたり行動をモデル化するのに適した言語でしたが、最近では、行動木がロボット工学者の間で注目されています。行動木が提供する概念は、ステートマシンのような従来の言語とどのように関連しているのでしょうか。行動木やステートマシンの概念は、実際のアプリケーションでどのように使われているのだろうか。本論文は、ドメイン固有言語(DSL)、ライブラリとして提供される内部および外部DSLで実現される行動木の主要な言語概念と、Robot Operating System(ROS)がサポートするオープンソースのロボットアプリケーションでの使用に関する研究である。行動ツリー型DSLを分析し、ロボット工学における行動モデルの標準言語であるステートマシンと比較する。また、これらのDSLを使用したロボットアプリケーションのオープンソースリポジトリを調査し、その使用状況を分析しました。その結果、動作木とステートマシンの間には、言語設計やロボット分野のニーズに対応するために提供されるコンセプトの点で類似性があることがわかった。オープンソースプロジェクトにおいて、動作木DSLの利用が急速に増加していることが確認された。また、抽出されたオープンソースプロジェクトにおける動作木モデルおよび状態機械モデルにおいて、モデル構造およびコードの再利用において同様の使用パターンが観察されました。我々は、抽出されたすべてのモデルをデータセットとして提供し、コミュニティが動作木、関連ツール、解析技術を使用し、さらに開発することを期待しています。

要約(オリジナル)

Autonomous robots combine skills to form increasingly complex behaviors, called missions. While skills are often programmed at a relatively low abstraction level, their coordination is architecturally separated and often expressed in higher-level languages or frameworks. State machines have been the go-to language to model behavior for decades, but recently, behavior trees have gained attention among roboticists. Although several implementations of behavior trees are in use, little is known about their usage and scope in the real world.How do concepts offered by behavior trees relate to traditional languages, such as state machines? How are concepts in behavior trees and state machines used in actual applications? This paper is a study of the key language concepts in behavior trees as realized in domain-specific languages (DSLs), internal and external DSLs offered as libraries, and their use in open-source robotic applications supported by the Robot Operating System (ROS). We analyze behavior-tree DSLs and compare them to the standard language for behavior models in robotics:state machines. We identify DSLs for both behavior-modeling languages, and we analyze five in-depth.We mine open-source repositories for robotic applications that use the analyzed DSLs and analyze their usage. We identify similarities between behavior trees and state machines in terms of language design and the concepts offered to accommodate the needs of the robotics domain. We observed that the usage of behavior-tree DSLs in open-source projects is increasing rapidly. We observed similar usage patterns at model structure and at code reuse in the behavior-tree and state-machine models within the mined open-source projects. We contribute all extracted models as a dataset, hoping to inspire the community to use and further develop behavior trees, associated tools, and analysis techniques.

arxiv情報

著者 Razan Ghzouli,Thorsten Berger,Einar Broch Johnsen,Andrzej Wasowski,Swaib Dragule
発行日 2023-03-06 10:35:18+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, DeepL

カテゴリー: cs.RO, cs.SE, D.0; D.2.13; D.2.2 パーマリンク