Table of Contents
Fetching ...

Constructing Behavior Trees from Temporal Plans for Robotic Applications

Josh Zapf, Marco Roveri, Francisco Martin, Juan Carlos Manzanares

TL;DR

The principle contributions of this paper are an algorithm for transforming a plan into an STN, and an algorithm for transforming an STN into a BT that defines a systematic approach for executing total-order (time-triggered) plans in robots operating in the real world.

Abstract

Executing temporal plans in the real and open world requires adapting to uncertainty both in the environment and in the plan actions. A plan executor must therefore be flexible to dispatch actions based on the actual execution conditions. In general, this involves considering both event and time-based constraints between the actions in the plan. A simple temporal network (STN) is a convenient framework for specifying the constraints between actions in the plan. Likewise, a behavior tree (BT) is a convenient framework for controlling the execution flow of the actions in the plan. The principle contributions of this paper are i) an algorithm for transforming a plan into an STN, and ii) an algorithm for transforming an STN into a BT. When combined, these algorithms define a systematic approach for executing total-order (time-triggered) plans in robots operating in the real world. Our approach is based on creating a graph describing a deordered (state-triggered) plan and then creating a BT representing a partial-order (determined at runtime) plan. This approach ensures the correct execution of plans, including those with required concurrency. We demonstrate the validity of our approach within the PlanSys2 framework on real robots.

Constructing Behavior Trees from Temporal Plans for Robotic Applications

TL;DR

The principle contributions of this paper are an algorithm for transforming a plan into an STN, and an algorithm for transforming an STN into a BT that defines a systematic approach for executing total-order (time-triggered) plans in robots operating in the real world.

Abstract

Executing temporal plans in the real and open world requires adapting to uncertainty both in the environment and in the plan actions. A plan executor must therefore be flexible to dispatch actions based on the actual execution conditions. In general, this involves considering both event and time-based constraints between the actions in the plan. A simple temporal network (STN) is a convenient framework for specifying the constraints between actions in the plan. Likewise, a behavior tree (BT) is a convenient framework for controlling the execution flow of the actions in the plan. The principle contributions of this paper are i) an algorithm for transforming a plan into an STN, and ii) an algorithm for transforming an STN into a BT. When combined, these algorithms define a systematic approach for executing total-order (time-triggered) plans in robots operating in the real world. Our approach is based on creating a graph describing a deordered (state-triggered) plan and then creating a BT representing a partial-order (determined at runtime) plan. This approach ensures the correct execution of plans, including those with required concurrency. We demonstrate the validity of our approach within the PlanSys2 framework on real robots.
Paper Structure (22 sections, 2 theorems, 1 equation, 9 figures, 1 table, 5 algorithms)

This paper contains 22 sections, 2 theorems, 1 equation, 9 figures, 1 table, 5 algorithms.

Key Result

Lemma 1

Given a time triggered plan $\pi$, the STN $G \gets \textsc{BuildSTN}(D,I,R_g,\pi)$ represents the temporal relation and causal dependencies of plan $\pi$.

Figures (9)

  • Figure 1: Simple Behavior Tree with various types of Nodes.
  • Figure 2: Expansion of start action unit (left). Expansion of end action unit (right).
  • Figure 3: Gantt Chart of the plan generated to solve the MATCHCELLAR problem.
  • Figure 4: Experiment setup. Tiago robot and a laboratory with marked zones.
  • Figure 5: Experiment setup. Tiago robot and a laboratory with marked zones.
  • ...and 4 more figures

Theorems & Definitions (7)

  • Definition 1
  • Definition 2
  • Definition 3
  • Lemma 1
  • proof
  • Theorem 1
  • proof