IMU Tracking of Kinematic Chains in the Absence of Gravitational and Magnetic Fields
<|reference_start|>IMU Tracking of Kinematic Chains in the Absence of Gravitational and Magnetic Fields: Tracking kinematic chains has many uses from healthcare to virtual reality. Inertial measurement units, IMUs, are well-recognised for their body tracking capabilities, however, existing solutions rely on gravity and often magnetic fields for drift correction. As humanity's presence in space increases, systems that don't rely on gravity or magnetism are required. We aim to demonstrate the viability of IMU body tracking in a microgravity environment by showing that gravity and magnetism are not necessary for correcting gyroscope-based dead-reckoning drift. We aim to build and evaluate an end-to-end solution accomplishing this. A novel algorithm is developed that compensates for drift using local accelerations alone, without needing gravity or magnetism. Custom PCB sensor, IMU, nodes are created and combined into a body-sensor-network to implement the algorithm and the system is evaluated to determine its strengths and weaknesses. Dead-reckoning alone is accurate to within 1 degree for 30s. The drift correction solution can correct large drifts in yaw within 4 seconds of lateral accelerations to within 3.3 degrees RMSE. Correction accuracy when drift-free and under motion is 1.1 degrees RSME. We demonstrate that gyroscopic drift can be compensated for in a kinematic chain by making use of local acceleration information and often-discarded centripetal and tangential acceleration information, even in the absence of gravitational and magnetic fields. Therefore, IMU body tracking is a viable technology for use in microgravity environments.<|reference_end|>
@article{stretton2024imu,
    title={IMU Tracking of Kinematic Chains in the Absence of Gravitational and
  Magnetic Fields},
    author={Greg K. Stretton, George Alex Koulieris},
    journal={arXiv preprint arXiv:2403.04357},
    year={2024},
    archivePrefix={arXiv},
    eprint={2403.04357},
    primaryClass={cs.HC}
}