{
  "version": 1,
  "language": "en",
  "title": "Condition a continuous action expert",
  "description": "Visual-language features and robot state condition continuous action generation. Generation updates a candidate before physical execution.",
  "caption": "Visual-language representations condition a flow-matching action expert, with robot state as an input to the policy’s motor interface. The expert generates all positions of a continuous action chunk before robot execution. Generation time is different from robot execution time. The author made this explanatory diagram. The playback is an example. Animation time is not measured runtime.",
  "alt": "Action flow: VLM features and robot state condition a flow-matching expert that generates a continuous chunk before execution.",
  "sources": [
    {
      "path": "content/blog/2026-05-25_from-pi0-to-pi07-open-pi-series/post.md",
      "description": "Article mechanism and retained citations"
    },
    "https://arxiv.org/abs/2410.24164",
    "https://www.pi.website/blog/pi0"
  ],
  "limitations": [
    "The playback is an example. Playback time is not measured runtime.",
    "This diagram gives the conditioning handoff. It does not give the full flow loss or numerical integration sampler.",
    "The animation does not measure robot execution or control frequency."
  ],
  "targets": {
    "context": {
      "id": "mechanism-context",
      "kind": "node",
      "label": "Vision + language"
    },
    "vlm": {
      "id": "mechanism-vlm",
      "kind": "node",
      "label": "VLM backbone"
    },
    "expert": {
      "id": "mechanism-expert",
      "kind": "node",
      "label": "Action expert"
    },
    "state": {
      "id": "mechanism-state",
      "kind": "node",
      "label": "Robot state"
    },
    "chunk": {
      "id": "mechanism-chunk",
      "kind": "node",
      "label": "Action chunk"
    },
    "contextVLM": {
      "id": "mechanism-contextVLM",
      "kind": "edge",
      "label": "Encode visual-language input"
    },
    "vlmExpert": {
      "id": "mechanism-vlmExpert",
      "kind": "edge",
      "label": "Supply VLM features"
    },
    "stateExpert": {
      "id": "mechanism-stateExpert",
      "kind": "edge",
      "label": "Supply current robot state"
    },
    "expertChunk": {
      "id": "mechanism-expertChunk",
      "kind": "edge",
      "label": "Generate a continuous chunk"
    }
  },
  "stateLabels": {
    "stage": "Stage",
    "artifact": "Artifact"
  },
  "scenarios": [
    {
      "id": "process",
      "title": "Condition and generate a continuous chunk",
      "description": "VLM features and current robot state condition continuous chunk generation.",
      "initial": {
        "stage": "Prepared",
        "artifact": "Inputs available"
      },
      "unselected": [],
      "steps": [
        {
          "title": "Read camera and instruction",
          "description": "The policy reads camera input and the instruction.",
          "duration": 3000,
          "active": [
            "context"
          ],
          "paths": [],
          "state": {
            "stage": "Read camera and instruction",
            "artifact": "Current visual-language input"
          }
        },
        {
          "title": "Make VLM features",
          "description": "The VLM makes visual-language features.",
          "duration": 3000,
          "active": [
            "vlm"
          ],
          "paths": [
            "contextVLM"
          ],
          "state": {
            "stage": "Make VLM features",
            "artifact": "VLM context available"
          }
        },
        {
          "title": "Read proprioception",
          "description": "The policy reads the current robot state.",
          "duration": 3000,
          "active": [
            "state"
          ],
          "paths": [],
          "state": {
            "stage": "Read proprioception",
            "artifact": "Current q_t available"
          }
        },
        {
          "title": "Condition the action expert",
          "description": "VLM features and current robot state condition the action expert.",
          "duration": 3000,
          "active": [
            "expert"
          ],
          "paths": [
            "vlmExpert",
            "stateExpert"
          ],
          "state": {
            "stage": "Condition the action expert",
            "artifact": "Semantic context and q_t as conditions"
          }
        },
        {
          "title": "Generate all chunk positions",
          "description": "The expert generates all positions of the continuous chunk.",
          "duration": 3000,
          "active": [
            "chunk"
          ],
          "paths": [
            "expertChunk"
          ],
          "state": {
            "stage": "Generate all chunk positions",
            "artifact": "The continuous chunk is a candidate. Physical execution does not occur in this step."
          }
        }
      ]
    }
  ]
}
