Skip to main content

Tasking overview

This overview describes the Lattice SDK tasking system.

Key terms

  • The task model is a data structure that represents deliberate actions that an operator can execute on an asset or team of assets. For reference, see the task model.
  • A taskable agent is a service, asset, group, or human that can accept and perform tasks, such as a robot.
  • The Task Manager API manages the lifecycle and routing of tasks to taskable agents, allowing you to create, update, monitor, and execute tasks. For more information, see Task Manager overview.

Understanding tasks

A task is made up of the following:

  • Task status: Indicates the lifecycle stage of a task. The taskStatus component in the task model includes a status enum that describes the current state of the task, fields for progress, errors, etc.

    For more information, see Tasking lifecycle.

  • Task definition: All attributes of a task other than its status. It specifies task details, such as the task assignee, description, and other relevant operational information.

Tasking use cases

Tasks are particularly useful when you require:

  • A user interface representation of an action to initiate or monitor the task.
  • Asynchronous status updates from an agent to track the progress or completion of an action.
  • Notifications for success or failure of task delivery.

You can manage a taskable agent through tasks or configuration settings based on your requirements. For scenarios that don't need frequent user intervention or immediate responses, consider modifying your configuration settings.

Benefits of the task model

Using the task data model provides the following key benefits:

  • Flexibility: Using the task data model, you can define and adjust task parameters to suit your specific requirements.
  • Wide compatibility: The Lattice SDK tasking systems are compatible with a variety of third-party systems to unify the operational experience across different robot types.

Task Manager overview

The Task Manager API (gRPC | HTTP) manages and tracks tasks across various taskable agents. It offers the following functionalities:

  • Task delivery: Allows the creation of tasks from the Lattice UI or other integrations and directs them to the appropriate taskable agents. It supports retry configurations and scheduled deliveries.
  • Lifecycle monitoring: Provides real-time insights into active tasks, including status updates and telemetry from taskable agents that you can stream for display.
  • Handles multiple task versions: Manages situations where multiple versions of a task are active simultaneously, such as when task parameters are updated.
  • Data persistence: Ensures that tasks and their updates are consistently saved and retrievable.
  • Global task distribution: Delivers tasks across the network with strong consistency, ensuring global reach.
  • Auditing and history: Maintains comprehensive records of all task activities for auditing and historical analysis.