kekeblom / StrayVisualizer

Visualize Data From Stray Scanner https://keke.dev/blog/2021/03/10/Stray-Scanner.html
MIT License
71 stars 13 forks source link

IMU Sensor - Errors #18

Open bundle-adjuster opened 1 year ago

bundle-adjuster commented 1 year ago

Hi @kekeblom,

Thank you for the app. Honestly saved me a lot of time to conduct experiments.

One small help I needed. When trying to pre-integrate IMU readings, what are the errors viz. Random Walk and White noise error values that you are using? Can we dump the same from the sensor, or is it available somewhere? I am currently using an iPhone 13 Pro Max for my experiments and was hoping to get some idea from you.

Thank you in advance.

kekeblom commented 1 year ago

I have mostly been using hand tuned values for those. There isn't currently a way to collect or calibrate those parameters in the app, but let me know if you can think of any methods that could be done in-app. I'm not aware that Apple would expose those through some API, but that would indeed be great if that was the case.

bundle-adjuster commented 1 year ago

One way we can achieve this is to treat the iphone just like any other camera. Try to hold the camera steady for about 10 seconds and average out the values subtracting gravity for accelerometer.

One other suggestion I had was in the repository just mentioning what the transform between the camera and IMU is.

bundle-adjuster commented 1 year ago

Because one thing that I noticed when I tried this on my iPhone 13 pro max is that gravity is measured along negative X which is new for me. Then I realised since I am recording the data in landscape mode it is oriented such that my Y axis is actually my X in landscape. Since auto rotate is not factored in the app. Checking now if it is because I have set rotation lock on my phone.

kekeblom commented 1 year ago

For the transform between the IMU and camera, I would recommend using Kalibr or something like that, but given you asked for the noise parameters, you are likely attempting something like that. The transform is unlikely to be exactly the same on every device, but if you do obtain values for the iPhone 13 Pro Max, then feel free to open a pull request with the Kalibr output. Collecting those in this repository could indeed be a good idea. They could serve as a good starting point.

bundle-adjuster commented 1 year ago

Got it. Will post it soon