{
  "version": 1,
  "language": "en",
  "title": "World-model planning in a timed control loop",
  "description": "Perception supplies current state. A planner queries a world model with candidate actions and uses predicted results. Selected commands pass a filter and timed controller before robot execution. New observations close the loop. The filter does not certify safety. Monitoring and measured outcome evaluation are independent requirements.",
  "caption": "In this planner example, a world model receives current state and candidate actions, and predicted results enter planning. Feasibility checks occur before timed controller execution. New observations supply feedback. Monitoring and measured evaluation are independent requirements. Author-created explanatory diagram. Playback time is illustrative and is not measured runtime.",
  "alt": "Planner flow: action predictions enter planning, feasibility filtering occurs before timed execution, and observations supply feedback.",
  "sources": [
    {
      "path": "content/blog/2026-06-09_world-models-for-embodied-ai/post.md",
      "description": "Article mechanism and retained citations"
    },
    "https://liyang.page/wm-tutorial/",
    "https://arxiv.org/abs/2607.00836",
    "https://web.stanford.edu/class/ee364b/lectures/mpc_slides.pdf"
  ],
  "limitations": [
    "This playback is an example. Playback duration is not measured runtime.",
    "This is a planner-use example, not a mandatory deployment architecture for every world model.",
    "The filter does not certify safety. Monitoring and measured outcome evaluation are independent requirements."
  ],
  "targets": {
    "perception": {
      "id": "mechanism-perception",
      "kind": "node",
      "label": "Perception"
    },
    "planner": {
      "id": "mechanism-planner",
      "kind": "node",
      "label": "Planner"
    },
    "filter": {
      "id": "mechanism-filter",
      "kind": "node",
      "label": "Action filter"
    },
    "controller": {
      "id": "mechanism-controller",
      "kind": "node",
      "label": "Controller"
    },
    "model": {
      "id": "mechanism-model",
      "kind": "node",
      "label": "World model"
    },
    "monitor": {
      "id": "mechanism-monitor",
      "kind": "node",
      "label": "Monitoring / evaluation"
    },
    "robot": {
      "id": "mechanism-robot",
      "kind": "node",
      "label": "Robot"
    },
    "statePlanner": {
      "id": "mechanism-statePlanner",
      "kind": "edge",
      "label": "supply current state"
    },
    "candidateQuery": {
      "id": "mechanism-candidateQuery",
      "kind": "edge",
      "label": "query actions"
    },
    "consequenceReturn": {
      "id": "mechanism-consequenceReturn",
      "kind": "edge",
      "label": "return predicted results"
    },
    "stateModel": {
      "id": "mechanism-stateModel",
      "kind": "edge",
      "label": "supply current state"
    },
    "selectFilter": {
      "id": "mechanism-selectFilter",
      "kind": "edge",
      "label": "do action check"
    },
    "filterController": {
      "id": "mechanism-filterController",
      "kind": "edge",
      "label": "send accepted command"
    },
    "controllerRobot": {
      "id": "mechanism-controllerRobot",
      "kind": "edge",
      "label": "send timed command"
    },
    "robotMonitor": {
      "id": "mechanism-robotMonitor",
      "kind": "edge",
      "label": "record execution"
    },
    "observations": {
      "id": "mechanism-observations",
      "kind": "edge",
      "label": "read observations"
    }
  },
  "stateLabels": {
    "stage": "Stage",
    "artifact": "Artifact"
  },
  "scenarios": [
    {
      "id": "process",
      "title": "One planner deployment cycle",
      "description": "This is a planner-use example. It is not a mandatory architecture for every world model.",
      "initial": {
        "stage": "Ready",
        "artifact": "Inputs available"
      },
      "unselected": [],
      "steps": [
        {
          "title": "Perception input",
          "description": "The planner receives the current observed state from perception.",
          "duration": 3000,
          "active": [
            "perception"
          ],
          "paths": [],
          "state": {
            "stage": "Perception input",
            "artifact": "Current observed state"
          }
        },
        {
          "title": "Candidate-action selection",
          "description": "The planner selects candidate executable actions.",
          "duration": 3000,
          "active": [
            "planner"
          ],
          "paths": [
            "statePlanner"
          ],
          "state": {
            "stage": "Candidate-action selection",
            "artifact": "Candidate executable actions"
          }
        },
        {
          "title": "Conditional prediction query",
          "description": "The world model receives the state and action candidates.",
          "duration": 3000,
          "active": [
            "model"
          ],
          "paths": [
            "candidateQuery",
            "stateModel"
          ],
          "state": {
            "stage": "Conditional prediction query",
            "artifact": "Current state and action candidates are inputs."
          }
        },
        {
          "title": "Prediction-based planning",
          "description": "The planner uses predicted results to select an action.",
          "duration": 3000,
          "active": [
            "planner"
          ],
          "paths": [
            "consequenceReturn"
          ],
          "state": {
            "stage": "Prediction-based planning",
            "artifact": "Model-informed selection"
          }
        },
        {
          "title": "Selected-action check",
          "description": "The filter examines feasibility and uncertainty for the selected action.",
          "duration": 3000,
          "active": [
            "filter"
          ],
          "paths": [
            "selectFilter"
          ],
          "state": {
            "stage": "Selected-action check",
            "artifact": "Feasibility and uncertainty examined"
          }
        },
        {
          "title": "Timed control output",
          "description": "The controller receives the accepted command and gives a timed control output to the robot.",
          "duration": 3000,
          "active": [
            "controller"
          ],
          "paths": [
            "filterController"
          ],
          "state": {
            "stage": "Timed control output",
            "artifact": "Timed output command to the robot"
          }
        },
        {
          "title": "Robot actuation",
          "description": "The robot does the physical action.",
          "duration": 3000,
          "active": [
            "robot"
          ],
          "paths": [
            "controllerRobot"
          ],
          "state": {
            "stage": "Robot actuation",
            "artifact": "Physical action executed"
          }
        },
        {
          "title": "Observation and outcome records",
          "description": "The system reads new observations and independently records outcomes for measured evaluation.",
          "duration": 3000,
          "active": [
            "perception",
            "monitor"
          ],
          "paths": [
            "observations",
            "robotMonitor"
          ],
          "state": {
            "stage": "Observation and outcome records",
            "artifact": "New observations and independent evaluation records"
          }
        }
      ]
    }
  ]
}
