- It isn't really a problem but a solution rather. The difficult part is pose estimation, comparison just needs to have a transformation between the estimated poses.
There have been research works on fusing vision information with IMU data to enhance accuracy.Baranek, R. (2012). Inertial Measurement Unit–Data Fusion and Visualization using MATLAB. IFAC Proceedings Volumes, 45(7), 12-16. is one such example.
Comparison between multiple frames information just needs the relative transformation that then all estimations could be compared against one another.
- An IMU in motion will give you the acceleration measurements from accelerometer, the angular velocity from gyroscope and potentially the heading from the magnetometer. You could use the acceleration to compute the velocity and position changes over time, subject to accumulation errors and noise. The gyroscope can help alleviate the issue and get you angular velocity and thus the angular position, subject to drift and bias again. The magnetometer can finally help better the estimate and thus, a proper fusion technique like the Kalman filter(like EKF and UKF) can get you high accuracy localization information(pose and orientation) in the local frame, i.e. the coordinate frame that you started moving from.
Now, if you know where you started in the global frame, then you can easily transform all information obtained from the IMU in local frame to global frame and compare against the vision information.
- There are several libraries for pose estimation using IMU and other potential sensors like wheel encoders. Basically there are EKF and UKF libraries to predict pose from the IMU data and I believe vision information (coming from something like the Vicon system) is already processed.
The few libraries that I know are ROS's robot_localization package, Orocos Bayesian Filtering library and FilterPy.
If you have trouble in estimation, this tutorial IMU Odometry by David P Anderson is good but uses C/C++.