This page provides a detailed overview about the Subtask Node, which will be implemented in Intera 5.5.
Contents
Node Description
Subtask Node
The Subtask node allows for better organization and handling of big task. This method allows to create a flexible and complex structure as a combination of multiple subtasks using simple steps. The new structure of the behavior tree must include exactly one task (referred here as “main task”), and optionally one or more subtasks. To enable data passing between a subtask and its parent task, the subtask uses parameters which can be created using the subtask’s User Variables Panel. There are two kinds of parameters: In and Out. “In” type parameters are used to pass data into the subtask, while “Out” type parameters are used to pass data from the subtask to its parent task. This way the parent task can control the subtask and get back a result from it.
Node Type
Primitive - Cannot have children.
Node Editor
- OPEN
Open the selected subtask’s tab
- +ADD
Select task to use as a subtask for this node by creating a new task or by loading an existing task.
- ID
Not editable
- Name
Auto generated and user editable.
- Subtask Symbol (Or “+” Symbol):
Select task to use as a subtask for this node by creating a new task or by loading an existing task.
- PARAMETERS – IN:
Link user variable or other shared data to subtask’s “In” type parameter.
- RETURNS – OUT:
Link user variable or other shared data to be subtask’s “Out” type
- Comments:
User editable - add comments about this node.
Example
Please refer to the tutorial section by clicking here.
Known Issues
- When switching from an unsaved task tab to another tab a popup message is shown "Save Current Task?". If "discard" option is selected the Subtask tab will be closed automatically.
- User Variables are not editable after initialized as frame parameter. If any of the properties has to be deleted, delete the parameter and re-initialize with the desired properties
Note
- The subtask node can be extremely useful in these cases:
- A big task with a clear behavior tree.
- A task with a branch (set of nodes) that’s being used multiple times in the behavior tree.
- A complex task that’s edited by different people in parallel.
- Creating a task as a function that benefits many other tasks (a pick a place method, data processing, etc.).
- Selecting a subtask is very flexible:
- Any task saved on the robot can be used as a subtask.
- The same subtask can be replicated to many subtask nodes. These nodes can be used in many other main tasks.
- It is possible to add one or more subtasks as children of another subtask.