Tight Learned Inetrial Odometry (TLIO) Data Loader
Built data pipeline using motion capture system (VICON) and Treadmill (D-Flow) for robot motion profiles (Digit).Utilized the same to develop a data loader in python to reduce IMU (Inertial Measurement Unit) drift by 40 cm/min
The TLIO Data Loader Model focuses on creating a reliable dataloader using Python for our motion capture (MOCAP) and Inertial Measurment Unit (IMU) data pipeline.

Reinforcement Learning is used to determine the displacement estimates of the IMU at any point in time. Then an Extended Kalman Filter (EKF) was used to integrate the displacement and determine the roll, pitch, and yaw.
Data collection using the MOCAP, IMU, and Treadmill was conducted as shown below for 30 different motion profiles:



Once the data was collected, It needed to be transformed to match the format required for the TLIO network and EKF. The main problem was data incompletness - A lack of readings directly from the MOCAP system such as the acceleration and angular velocity. A Custom Data Loader with smoothing, integration, and derivation functionalities was made.
Once transformed, the IMU and MOCAP data needed to be time aligned, interpolated, and calibrated using external JSON files. The entire process was automated to ensure replaceability. The results are as follows:


To debug the model, a learning curve plotting function was added to the train file



The model was then trained on the same data and tested with different train-test-val batches. Both were 60%-20%-20% splits - one was a random choice and the other had a train set which was filled with the complex motion profiles.


As seen above the model for which train data was handpicked shows only around a drift of ~20 cm in either direction whereas the random train data set shows ~50 cm drift