Estimating Relative Angles Using Two Inertial Measurement Units Without Magnetometers
Virtual reality (VR) headsets, fitness trackers, smartwatches, and other wearables utilize inertial measurement units (IMUs) to capture orientation and motion data precisely. IMUs track head movements in VR, monitor cadence in fitness trackers, and provide insights into physical activity levels, revolutionizing technology interaction and health monitoring.
Depending on the IMU type, the IMU includes various sensors like accelerometers, gyroscopes, and potentially magnetometers. Advancements in Microelectromechanical Systems (MEMS) sensors enable IMUs to be miniaturized into chips smaller than a US quarter coin while maintaining accuracy and cost-effectiveness.
These IMUs require sophisticated software algorithms to compute valuable orientation information, such as the tilt angles from raw sensor readings. A common way to express the 3-D orientation is through Tait-Bryan Angles (i.e., yaw, pitch, and roll angles).
Traditional methods for estimating angles in IMUs often involve using magnetometers, which can be susceptible to magnetic interference in the presence of ferrous objects and electrical appliances. In addition, prior studies lacked thorough validation of their IMU algorithms over extended testing periods and often failed to offer open-source code for easy implementation by other researchers.
This study presents a cost-effective and user-friendly IMU system employing two 6-axis IMUs without magnetometers to calculate the relative angle between a stationary and a moving IMU. The paper also validates different methods for computing the 3D orientation of an IMU under stringent test conditions. The paper has provided open-source code and operational principles of these methods to aid researchers unfamiliar with IMUs.
The IMU system comprised commercially affordable IMUs and a data processing microcontroller. It utilized seven common algorithms to compute the 3-D orientation of an IMU, ensuring comprehensive validation and comparison. The system covers a spectrum from simple geometry-based to sophisticated sensor fusion-based methods. The tested methods included gyroscopic integration, accelerometer, complementary filter, Kalman filter, Madgwick filter, Mahony filter, and a proprietary algorithm called digital motion processor. A specialized test setup and stringent testing procedures were employed to manage key variables influencing IMU accuracy, including movement speeds, range of motion, rotation axes, and adequate test durations.
Each algorithm received identical inputs: three linear accelerations from the accelerometers and three angular velocities from the gyroscopes of our IMU. Employing various mathematical formulas, each algorithm produced the three orientation angles (yaw, pitch, roll) of the IMU as outputs.
Nine test trials were conducted, comprising three rotations along different axes at three distinct movement speeds. Each trial lasted 25 minutes, and the range of motion spanned 180 degrees. The duration of 25 minutes was selected to align with typical durations observed in clinical and fitness studies for each test subject. The range of motion was capped at 180 degrees, reflecting the typical limitations of anatomical joints. The chosen speeds were categorized as slow (50 degrees/second), medium (150 degrees/second), and fast (300 degrees/second).
The findings indicated that our low-cost IMU system can provide valuable orientation angles. Even basic algorithms exhibited adequate accuracy when properly tuned. Moreover, the computational time for each algorithm was sufficiently fast for application in biomechanical and clinical settings, such as slow gait analysis.