User Tools

Site Tools


Task-Level Composition for Robotic Behavior

  • Below is an example of how tasks can be composed for Robotic Behavior
  • It shows how tasks and skills can be composed flexibly
  • Several tasks can be composed to be executed in sequence or in parallel (horizontal composition)
  • A task can be refined with other tasks (vertical composition): Abstract tasks are refined to more concrete tasks.
  • Refinement of tasks may be static or dynamic
    • Static: The tasks and eventually the order is known. E.g. making coffee always involves approaching the machine, putting a cup into the machine, pressing the button, etc.
    • Dynamic: The tasks and the order are not known in advance (i.e. to be solved by symbolic planning): E.g. it is not known what is the best way to clean up the table after customers left (what order, what to stack into each other, what to carry at once/first/next/last, etc.)
  • Skills will finally translate to configurations of one or more components (lower right). E.g. moving the manipulator requires to configure the component for collision-free manipulation-planning in a certain environment and the manipulator component to move along these collission-free trajectories.
  • Grasp cup relies on the existence of a task “recognize-object” which is later bound to “recognize-cup”.
  • There are constraints that have to be maintained during the execution of a task, for example: the robot is not moving while manipulating.
  • There are results of a task that effect execution of other tasks, even after the current task was finished. For example, grasping a cup means that the cup still is in the gripper after the execution is done.

See also


composition:task:start · Last modified: 2019/05/20 10:49