Files

3.6 KiB

IMU records, sample delivery, calibration and fusion

An18byte sample contains little-endian int16 gyroXYZ at0/2/4, accelXYZ at6/8/10, temperature at12,24bit sync timer at14 and8bit sample counter at17. Working command2 lengths6/18/24/36/42 select auxiliary-only, one sample, one+aux, two, two+aux. The6byte auxiliary suffix is magnetometer, not a missing gyro record. Keep radio CRC, working checksum, peer identity and forward-counter admission before using a sample.

Static investigated sensor branch WHO_AM_I44 and mode07 imply approximately0.0095800785348m/s²/count and0.00213052891195rad/s/count, with documented raw-temperature conversion. Later installed-image investigation identified an ICM42686-P-compatible register path and native axes byte reordering without an axis permutation. These static scales do not prove the physical tracker-to-optical rotation, bias, sample-time offset or a later register state. Other sensor branches have different scales.

Historical default sample period4.976480ms failed the exact admitted stream drift gate. Phase235 lower-envelope fit across130one-second bins measured4.939977608340125ms, with independent-half fits agreeing within25.779ns. Replay under the unchanged0.2%gate changed old seed0accepted/7087rejected to measured seed7084accepted/3rejected. This is counter cadence evidence, not a verified physical timestamp offset or gyro axes. Bind it to exact target/image/sensor mode; do not apply it globally.

Native packet selection can skip sensor history even when RF is healthy. Static installed-image paths show an eight-slot ring and selected/latest sample selection. Command11 feedback changes the selected ring index; an omitted host feedback path was a demonstrated protocol omission, not proof of every lost sample. A later host feedback attempt starved due command10 because optical planning rejected all pending commands.239 repaired that scheduling relationship while keeping timed10/11 separate and independent sequences.

Hardware235 received7171accepted IMU samples with18943counter gaps;239 received9027samples/16949gaps and175native10ACKs after the starvation repair. Fractions of counter span are not physical packet-loss percentages. Long gaps remained, so these results did not authorize continuous inertial fusion.

The original calibrator required consecutive counters, no gaps>8ms across20..200ms optical intervals, sufficient quiet windows and true measured three-axis/gravity excitation. Recorded239 produced zero admissible old-calibrator pairs. Sparse diagnostics with nearest actual gyro samples, optical derivatives and proper rotations were investigated; negative determinants, poor singular values, attenuation/noise and insufficient stationary orientations caused rejection. Do not force a convenient proper rotation or documented axes through the admission gate.

Static calibration244 uses disjoint1s actual quiet windows, adequate IMU/optical counts and spans, gyro<0.05rad/s, optical excursion<0.02rad, acceleration norm within3%, independent first/second-half validation and at least three gravity directions separated15degrees.245 found sixquiet windows but only one gravity orientation; earlier investigations had only two independent directions. Gravity-only evidence never establishes physical time alignment or full fusion readiness.

Keep counter wrap, timestamp/source age, no interpolation across unmeasured gaps, uncertainty propagation, measured axis/bias and current optical admission. IMU-only or frozen/default positions must remain pose_invalid. Occlusion support requires measured bounded propagation and actual quality evidence, not a model drawn where tracking is absent.