FIND YOUR NEXT MOVE
Browse documentation
ENGINEERING DOCUMENTATION

Calibration

Establish a body reference from a stable neutral pose.

IMPLEMENTEDSOURCE REVIEW / 2026.09.09

Purpose and applicable path

PoseCalibration collects shoulder and hip centers, shoulder width, torso length, arm lengths and leg references. Per-feature medians become a CalibrationProfile. The values below are legacy defaults in MotionIntentConfiguration, not a guaranteed user setup time.

States and inputs

After a countdown, calibration waits for a stable pose and then collects samples. Missing joints, excessive movement or time discontinuities return it to waiting. Shoulders, hips, elbows, wrists, knees and ankles contribute to the body reference.

VariableDefaultMeaning
CalibrationCountdownSeconds3 sCountdown before collection
CalibrationStablePoseSeconds0.3 sStable-pose waiting interval
CalibrationDurationSeconds1.6 sRequired collection time span
CalibrationMinimumSamples20Minimum number of samples
CalibrationTotalTimeoutSeconds14 sWhole-attempt limit
MinimumJointConfidence0.45Legacy joint-confidence gate

Normalized movement

During collection, body-center movement is divided by current torso length.

m=ctc02Ttm=\frac{\lVert c_t-c_0\rVert_2}{T_t}

c_t maps to bodyCenter, c_0 to firstBodyCenter, and T_t to torsoLength. The result is dimensionless. If normalizedMotion > CalibrationMaximumCenterMotion, collection returns to stable-pose waiting. The default maximum is 0.07. Usability checks reject invalid joints and small torso geometry before collection.

var normalizedMotion =
    MotionMath.Distance(bodyCenter, firstBodyCenter) / torsoLength;
if (normalizedMotion > configuration.CalibrationMaximumCenterMotion)
{
    ReturnToWaiting("Stand still");
    return false;
}

Completion and failure

Both sample count and collection duration must qualify. An invalid final profile produces a recoverable failure. Exceeding sample capacity also fails explicitly. The neutral reference is not a game action.

Downstream distinctions

V3 preserves the completed calibration observation as reference provenance. This does not automatically establish fresh local support evidence or available derivatives. Demo Assist also initializes from an actual successful calibration frame.