Enciclopedia Boulder v1.0

Inicio · Capítulos · 14. Señales para visión artificial

15.105 14.4.30 Ejemplo JSON mínimo

{
  "attemptId": "ATT-2026-07-31-001",
  "moveEpisodeId": "ME-0007",
  "episodeKind": "ContactChange",
  "sourceContactSet": [
    "CP-left-hand-H12",
    "CP-right-foot-H03"
  ],
  "targetContactSet": [
    "CP-right-hand-H18",
    "CP-right-foot-H03"
  ],
  "boundaries": [
    {
      "eventType": "MovementOnset",
      "nominalTimestampNs": 12180000000,
      "earliestTimestampNs": 12130000000,
      "latestTimestampNs": 12220000000,
      "probability": 0.88,
      "detectionMode": "OfflineSmoothed"
    },
    {
      "eventType": "TargetTouch",
      "nominalTimestampNs": 12870000000,
      "earliestTimestampNs": 12830000000,
      "latestTimestampNs": 12920000000,
      "probability": 0.94,
      "contactEpisodeIds": [
        "CE-right-palm-H18"
      ]
    },
    {
      "eventType": "TargetLoadOnset",
      "nominalTimestampNs": 12960000000,
      "earliestTimestampNs": 12900000000,
      "latestTimestampNs": 13040000000,
      "probability": 0.79,
      "contactEpisodeIds": [
        "CE-right-palm-H18"
      ]
    }
  ],
  "wholeBodyPhases": [
    "Initiation",
    "SupportedTransit",
    "AcquisitionImpact",
    "LoadTransfer",
    "Stabilization"
  ],
  "outcome": "Established",
  "qualityFlags": [
    "NO_DIRECT_FORCE_SENSOR",
    "TARGET_TOUCH_VISIBLE",
    "LOAD_ONSET_INFERRED"
  ]
}

El ejemplo separa touch de load y conserva ventanas temporales. No declara Newtons ni etiqueta definitiva de movimiento.