-
Notifications
You must be signed in to change notification settings - Fork 400
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
RGBDSLAM v2 errors on catkin_make #31
Comments
The main problem I see for porting rgbdslam_v2 to OpenCV3, is that the code in feature_adjuster.* uses OpenCV2 base classes that do not exist in OpenCV3. Everything else is of minor difficulty. The "right" way to handle this would be to write a general threshold adjuster and gridded detector as the one in the mentioned file and propose it as a patch to OpenCV. I have no idea why they got rid of the original functionality (except that it was very bad for processing of image streams), but I think it is of general interest, as most people still set fixed thresholds. |
I just started getting these errors on Sunday. Took me a while to realize that the base class was missing. Also to fix my issue I just changed all the cv::vectors to std::vector. That shouldn't break anything correct? |
As far as I know, that works. By the way, there is not much functionality |
@KaiserUDM I am also running on OpenCV3.1 (Ubuntu 14.04 / indigo). Consequentially I am also getting cv::Vector / AdjusterAdapter errors. Have you managed to write a general threshold adjuster? Do the above adjustments go through, i.e. did you get rgbdslam running with OpenCV3? |
I quickly tried search and replace cv::AdjusterAdapter -> DetectorAdjuster and cv::vector -> std::vector, which solved the initial compiler errors. However, I ran into new problems, which I currently haven't got the time to solve. |
Any update on the issue? |
I have the same issue. /home/SLAM/ws/src/rgbdslam/src/sift_gpu_wrapper.h:49:40: error: ‘cv::vector’ has not been declared |
Actually this looks like you are not building against OpenCV 2.4.8, but 3.0. |
@felixendres I have been working through the compiler errors with RGBD_v2 on my system which is Ubuntu 16 with ROS Kinetic, QT5, and openCV3. I have gotten pretty far but I can't find an alternative to the AdjusterAdapter member because OpenCV3 I guess did away with it. I am unable to find an alternative to this one hiccup. EDIT: I just read your comment to update cv::AdjusterAdapter -> DetectorAdjuster |
IIRC this is a major hiccup. Anyway, I would give it another go. Would you share your changes, so I can try to work from there towards an OpenCV3 reimplementation of the Gridded Adjuster? |
@felixendres I have merely implemented your changes to fix the compiler errors. @fradelg fork looks as though he has completed much more in terms of making changes to update to QT5 and OpenCV3. I tried compiling his fork but had many compiler errors. If you want, I can try to debug the compiler errors from his version and then post his fork. |
I have tried to migrate to qt5, opencv3. See the branch "kinetic" (it probably isn't kinetic-specific, but I have only kinetic installed). It compiles fine, but crashes on startup!
Therefore rgbdslam cannot work without changing either g2o or pcl. In #8 is a description how to make it work by recompiling pcl with C++11. I didn't do that yet, so I don't know whether my changes actually work. It would be great if someone could try to take this further. |
I made a c++03 fork of g2o (see my g2o fork, branch "c++03") and updated the rgbdslam_v2 kinetic branch, so you can export the environment variable $G2O_DIR to where you installed the g2o from that branch to (e.g., using make install, possibly with $CMAKE_INSTALL_PREFIX env. var. set). Then build rgbdslam_v2 as usual. While it compiles and "runs" there is some OpenCV error which I couldn't solve for now. Maybe next week. |
@felixendres I have also problems to build RGBD-SLAM from branch Kinetic on clean Ubuntu 16.04 with ROS Kinetic. When I try to build custom g2o c++03 fork from https://github.com/felixendres/g2o/tree/c++03 you mentioned in this commit c26e9b7 I have errors printed below:
|
Ah, sorry. You have to disable building of some parts. Set G2O_BUILD_EXAMPLES to false (e.g., with |
@felixendres Thanks. Meanwhile I tested RGBD-SLAM with PCL 1.8 compiled with c++11 and it is also crashing. When I have only custom G2O installed (without kinetic version) I had a problem with:
when I installed the ros-kinetic-libg2o it is fixed, so it is probably some dependency problem. Using your advice I finally managed to build and run RGBD-SLAM, thanks again, however when I plugged my Asus Xtion I have got an error:
So it's probably some OpenCV 3.1 compatibility issue. |
Yes, probably. The error message I get is slightly different: The function/feature is not implemented () in detectAndCompute". I adapted the code in features.cpp, feature_adapter.cpp and aorb.cpp according to the OpenCV migration guide in commit 84a03c9 That being done I am in the dark, so any help resolving this issue is appreciated. |
I just identified the error source: The signature of the virtual methods of FeatureDetector (typedef'd now to Feature2D) has changed. Thus my subclass overrides do not override anymore and the base class's Feature2D::detect is called. Straightforward changing of the signature results in (hopefully) minor errors. I'll fix it in the coming week. |
Thank you very much. |
Please try the newest commit. |
@felixendres Ok, I manage to run it once, but I can't repeat it. There is a mess with g2o dependecies. Cmake still adds the kinetic-g2o version even when I had G2O_DIR env set to the g2o-c03 install path. When I remove the kinetic-g2o version I get this error [100%] Linking CXX executable /home/ubuntu/rgbdslam_catkin_ws/devel/lib/rgbdslam/rgbdslam |
Hm, I have not installed ros-kinetic-libg2o and it builds fine. Have you tried deleting your g2o build folder and rebuilding g2o from scratch? |
Thank you very much, after I removed the ros-kinetic-libg2o and rebuild g2o afterwards it finally worked :D No linker errors. But the G2O_DIR flag does not work. |
Could you guys please try the new install script (see README.md "Installation from scratch" in kinetic branch). It works fine on my machine, including the usage of the G2O_DIR environment variable. |
Dear @felixendres I installed PCL Version 1.8 and configured rgbdslam to look for the new PCL version in /usr/local/lib but I still get this strange error. My rgbdslam starts momentarily and then dies all together, by throwing the error message below :
Can you please guide me what could be the issue here ? PS: I am using Ubuntu 16.4 LTS with ROS version Kinetic |
I'm basically having this same issue http://answers.opencv.org/question/34814/help-with-headercode-adaptation-of-rgbdslam/
I can't find a way to resolve it for the life of me. I have edit the files to include #include and I get the same errors every time. Any insight into this issue would be amazing
The text was updated successfully, but these errors were encountered: