New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add SLAM module #317
Add SLAM module #317
Conversation
While building SLAM dependencies, I ran into this error while installing pangolin:
As a shot in the dark, I tried installing libglew1.10 and glew-utils to no avail. |
Haven't forgotten about this, just working on acquiring test data shakes fists at FAA |
Have any luck getting that test data? @dakotabenjamin |
I would say 1-2 weeks, unless I can find another source of data with all the requisite metadata. |
We can probably collect test data now... thanks to part 107. |
So I manually installed glew and got pangolin to install after that. Despite this, I am still having trouble installing:
|
If you need test data, please let me know. I recently passed the FAA remote pilot test. |
@paulinus when you get a chance can you re-point this to master? I want to delete the dev branch. |
I took this chessboard video: https://github.com/pierotofy/drone-video-datasets/releases/download/gulf-to-bay-blvd/chessboard_DJI_Phantom_3_Adv.MOV There's a little glare from the window, but hopefully it works. |
Conflicts: configure.sh opendm/config.py opendm/types.py scripts/odm_app.py
@dakotabenjamin I've merged a recent dev commit into this branch to resolve conflicts. I've tested the result on a clean ubuntu 14.4 and it runs fine |
Great! I will test this week. |
Running on Ubuntu 16.04 while building SLAM dependencies
|
OK so I couldn't get it to work in 16.04, but I did get it installed in 14.04 no problem. I got the camera calibration working, but when running
For the record I am running this on a vagrant machine. I'm going to get a virtual machine with X11 installed shortly. |
Pushed to master 45f0317 |
Nice!! Is this going to require an X server instance running? Just wondering if this is going to break the docker build in any way. |
It doesn't install by default so you shouldn't worry |
I managed to get this running on Ubuntu 16.04 by installing a previous version of Eigen. But once it processes the frames it crashes... Here's the output:
Slam is processed fine but CMVS fails now. The video I'm using is 4K but only about 20 seconds. I made the calibration file using the steps described above and the actual camera on the drone. I get a core dump if I use more than 1000 "number of features". But it actually does process any video length and resolution as long as it's set to 1000. I tried using a 3 minute video and 3840 width and it worked but failed exactly the same as above. config.yaml:
|
Try rerunning with |
I keep getting the same error.. |
What exactly does {cores} stand for? Is it cpu cores? and maybe this has something to do with the crash?
|
I realize now that Yeah maybe PMVS is trying to allocate too many cores. try |
It didn't work with either 4 or 3. But in the pmvs options file it says CPU 8:
|
I have to reinstall the SLAM stuff but I'm looking into this. Are you willing to share your video publicly or privately? |
Yes that was the error. I'm uploading the video now. |
I converted the video to 1080p for testing cause original is nearly a 1GB. |
I'm tracking what programs are run and so far up to this point it seems ok:
This is called by the C++ program OdmSlam. This program at the end is supposed to save the files. However it doesn't. It only creates the directories including images_resize but doesn't put anything but empty text files. For example, the files above are created but no information is input to them.
Going a bit further with the programming.. it looks like the nothing is being written into the files needed for the next step. GetMap() is simply:
The call done by OdmSlam references the function GetMap() located in System.cc from the ORB_SLAM2 library. I'm digging in a bit further to see why the object is not being constructed correctly. |
It could be that since you only recorded a single line with no lateral overlap, that SLAM is unable to get a reconstruction. I'll be able to corroborate your data issues shortly. |
Have you tried reinstalling and checking for errors there? I just successfully ran: |
It's not great because there's limited sidelap. |
Hi all, has there been any progress in this area recently? I'd like to be able to process video from sources other than direct from my drone using ODM. I could probably manually capture images from the video and process in this way, but direct from video would be pretty awesome! |
This PR adds a SLAM module to OpenDroneMap so that it is possible to use videos as input instead of still images. It uses the open-source library ORB_SLAM2 to compute the camera trajectory and then continues with PMVS and the rest of the pipeline.
Building the SLAM module is set as an option in the CMake files and the default is not to build it.
Here's a short guide on how to use it