tum-vision / lsd_slam

LSD-SLAM
GNU General Public License v3.0
2.59k stars 1.23k forks source link

IMU with LSD_SLAM #255

Open apesIITM opened 7 years ago

apesIITM commented 7 years ago

Hello, I am trying to fuse IMU with LSD_SLAM. I am unable to get pose values from LSD_SLAM and modify it in lsd_slam_core after fusing it from IMU sensors. Any hint towards this will be really helpful. Thanks

ObiKwiet commented 7 years ago

You can't do that. The pose values from LSD_SLAM are not in any consistent real world scale. You have to correlate them with real world sensor values first, and propagate the covariance of that data before you can fuse it in an EKF. I'm working on a method to do this, but as yet I don't really understand the lsd-slam algorithm well enough to use the internal pose covariance matrix.

You can get the raw pose data from the /lsd_slam/pose topic.

vkpankov commented 6 years ago

@ObiKwiet, Hello! Is it possible to fuse IMU with /lsd_slam/pose to estimate real world scale?

ObiKwiet commented 6 years ago

Yup. I've attached my thesis on the subject. Now, what I did is more of a proof of concept for a more niche application, and probably not the best approach if you just want to get something working. For that I'd find an IMU with an internal gravity estimator filter that's been finessed by some company into working really well off the shelf.

Tucker Thesis Draft 2 rev C.pdf

vkpankov commented 6 years ago

@ObiKwiet, Thank you so much! wonderful job, what I've been looking for so long:-) Is it possible to get the source code? I would be very grateful. For use in the bachelor thesis, of course with reference vkpankov@gmail.com

vkpankov commented 6 years ago

@ObiKwiet, I can pay for it ($$). Or get the source code is impossible in any case? I try to implement on my own, but it turns out with difficulty

ObiKwiet commented 6 years ago

Sorry, I've been dealing with some crap and forgot about this thread. I'm out of town now, so shoot me an email Monday or Tuesday if I forget. seth.c.tucker@gmail.com

I'll shoot you the code, but unfortunately it really sucks. I'm not really a software guy, so it works more or less with my solution. And like I say, my exact approach probably won't get you where you want. You probably want a standard Kalman Filter fusion with an IMU that has had all the kinks ironed out. But my code should at least give you and idea of how to get pose info out of lsd_slam. Let me know what you come up with!

-Seth

vkpankov commented 6 years ago

@ObiKwiet, I understand that the code may be too specific. But I'm sure it will be very useful for me in preprocessing LSD SLAM results

DigitalGabriele commented 5 years ago

@vkpankov have you managed to fuse IMU data with LSD_SLAM?