{
  "version": "1.16.8",
  "date": "2026-10-04",
  "scope": "Paper scalar calibration model, not hardware evidence",
  "sources": [
    {
      "url": "https://www.analog.com/en/resources/app-notes/an-1057.html",
      "use": "offset and sensitivity; subtract offset then divide gain"
    },
    {
      "url": "https://docs.px4.io/v1.16/en/config/gyroscope",
      "use": "stationary gyro calibration and restart on movement"
    },
    {
      "url": "https://docs.px4.io/v1.16/en/config/accelerometer",
      "use": "orientation and multiple stationary poses"
    },
    {
      "url": "https://docs.px4.io/v1.16/en/advanced_config/sensor_thermal_calibration",
      "use": "bias temperature dependence only; no thermal procedure here"
    }
  ],
  "gyro": {
    "unit": "deg/s",
    "trueRate": 0,
    "samples": [
      "0.4",
      "0.5",
      "0.6",
      "0.5"
    ],
    "mean": "0.5",
    "corrected": [
      "-0.1",
      "0",
      "0.1",
      "0"
    ],
    "residualBias": "0.1",
    "durationSeconds": 10,
    "idealAngleErrorDegrees": 1
  },
  "accelerometer": {
    "equation": "y=s*x+b",
    "unit": "g",
    "fit": [
      {
        "x": "1",
        "y": "1.10"
      },
      {
        "x": "-1",
        "y": "-0.94"
      }
    ],
    "b": "0.08",
    "s": "1.02",
    "checks": [
      {
        "x": "0",
        "y": "0.08"
      },
      {
        "x": "0.50",
        "y": "0.59"
      }
    ],
    "checksAreIndependentMeasurements": false,
    "noise": false,
    "crossAxis": false,
    "temperatureModel": false
  },
  "stationaryLevelBodyFRD": {
    "specificForceInG": [
      0,
      0,
      -1
    ],
    "gInMetersPerSecondSquared": "9.80665"
  },
  "hardwareStatus": "not-run",
  "figure": "Matplotlib synthetic gyro points, linear accel model and correction review flow"
}
