This article presents an executive layer mediates between the planner and behavior layer. Expands abstract goals into low-level commands, executes the commands, monitor their execution and handles exception.
The basis of the executive layer is the task level control.
Task level control is difficult in:
- Developing and debuging.
- Doing things concurrently (moving and sensing, planning and execution, etc) that need to be scheduling and synchronized.
- Exception handling often non-local flow of control.
To solve this problem, they have designed TDL (Task Description Language). TDL is an extension of C++ that simplifies the developed for robot control programs. TDL support task decomposition, fine-grained synchronization of subtasks, execution monitoring, and exception handling.
TDL extend the Task Control Architecture (TCA), which combines task-level control and interprocess communication (in a task tree), using message passing between multiple processes to achieve concurrency.
- Not starting a task until a given time,
- Terminating a task when another task completes,
- Terminating a task after a certain period of time.
TDL-based control programs operate by creating and executing task trees. Each task tree node has an action associated with it. An action can perform computations, dynamically add child nodes to the task tree, or perform some fisical action.
A task tree represents a single execution trace of the control program.