# Technical Document: Task State Machine Diagrams
This document provides a detailed extraction and analysis of three state machine diagrams illustrating different operational workflows based on specific task types.
## 1. General Component Overview
Across all three diagrams, the following color-coding and structural conventions are used:
* **Grey Nodes:** Represent the start (**Init**) and termination (**End**) points of a process.
* **Light Green Nodes:** Represent standard operational states.
* **Light Red Node:** Represents an **Error** state.
* **Arrows:** Indicate transitions between states.
* **Self-Loop Arrows:** Indicate a state that can repeat or maintain its current status.
* **Text Labels on Arrows:** Define the condition or trigger for the transition.
---
## 2. Workflow Analysis by Task Type
### Section A: Task is Heat, Cool or Clean
This diagram describes a linear processing workflow involving an intermediate transformation step.
**States:**
1. **Init** (Grey)
2. **Plan** (Green)
3. **Pick** (Green)
4. **Error** (Red) - Connected to 'Pick'
5. **Process** (Green)
6. **Put** (Green)
7. **End** (Grey)
**Flow Logic:**
* **Initialization:** Starts at `Init`, moves to `Plan`, then to `Pick`.
* **Error Handling:** From `Pick`, a transition labeled **"Wrong Pick"** (in red) leads to the `Error` state. A return arrow exists from `Error` back to `Pick`.
* **Execution:** From `Pick`, the flow moves to `Process`.
* **Completion:** From `Process`, a transition labeled **"Processed"** leads to `Put`. From `Put`, a transition labeled **"Done"** leads to the `End` state.
* **Loops:** `Pick`, `Process`, and `Put` all contain self-loop arrows.
---
### Section B: Task is Pick or Pick 2
This diagram describes a simplified workflow focused on object relocation or repeated picking.
**States:**
1. **Init** (Grey)
2. **Plan** (Green)
3. **Pick** (Green)
4. **Error** (Red) - Connected to 'Pick'
5. **Put** (Green)
6. **End** (Grey)
**Flow Logic:**
* **Initialization:** Starts at `Init`, moves to `Plan`, then to `Pick`.
* **Error Handling:** Identical to the first diagram; **"Wrong Pick"** leads to `Error`, with a return path to `Pick`.
* **Execution:** There is a bidirectional relationship between `Pick` and `Put`. The transition from `Put` back to `Pick` is labeled **"Pick 2"**.
* **Completion:** From `Put`, a transition labeled **"Done"** leads to the `End` state.
* **Loops:** `Pick` and `Put` contain self-loop arrows.
---
### Section C: Task is Look
This diagram describes a search and utilization workflow.
**States:**
1. **Init** (Grey)
2. **Plan** (Green)
3. **Pick** (Green)
4. **Error** (Red) - Connected to 'Pick'
5. **FindLamp** (Green)
6. **UseLamp** (Green)
7. **End** (Grey)
**Flow Logic:**
* **Initialization:** Starts at `Init`, moves to `Plan`, then to `Pick`.
* **Error Handling:** Identical to previous diagrams; **"Wrong Pick"** leads to `Error`, with a return path to `Pick`.
* **Execution:** From `Pick`, the flow moves to `FindLamp`. Once the condition **"Found"** is met, it transitions to `UseLamp`.
* **Completion:** From `UseLamp`, a transition labeled **"Done"** leads to the `End` state.
* **Loops:** `Pick` and `FindLamp` contain self-loop arrows.
---
## 3. Summary Table of Transitions
| Task Category | Key Transition Labels | Unique States |
| :--- | :--- | :--- |
| **Heat, Cool, Clean** | Processed, Done, Wrong Pick | Process |
| **Pick or Pick 2** | "Pick 2", Done, Wrong Pick | Bidirectional Pick/Put |
| **Look** | Found, Done, Wrong Pick | FindLamp, UseLamp |
**Language Declaration:** The content of this image is entirely in **English**.