ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
2

RGBDSLAM Indigo support

asked 2014-06-09 14:49:58 -0600

TSC gravatar image

updated 2014-06-09 14:51:19 -0600

Hi to all,

Well after having some conversations with @FelixEndres, and since I need RGBDSlam working on ROS Indigo so to implement it in a Odroid running Ubuntu 13.10, I decided to try to make the migration of the source code to Indigo, which will certainly be useful to others to come.

Some of the initial problems wore corrected by downloading and compiling g2o and OpenCV-2.4.9 from source, so to rgbdslam can detect them and then use them. But then, I got some errors on the code that should be resolved by adapting the code to the OpenCV architecture, but I will need some help on those, since Felix is busy with is PhD and I need this to my MSc thesis. So a help from someone with knowledge on OpenCV functions and headers will be great.

So, when doing catkin_make on my ws I get the following list of errors:

[ 77%] [ 78%] [ 79%] [ 79%] Building CXX object rgbdslam_v2/CMakeFiles/rgbdslam.dir/src/openni_listener.o
Building CXX object rgbdslam_v2/CMakeFiles/rgbdslam.dir/src/node.o
Building CXX object rgbdslam_v2/CMakeFiles/rgbdslam.dir/src/misc.o
Building CXX object rgbdslam_v2/CMakeFiles/rgbdslam.dir/src/sift_gpu_wrapper.o
In file included from /home/nuno/AIMAVProject_ws/src/rgbdslam_v2/src/sift_gpu_wrapper.cpp:18:0:
/home/nuno/AIMAVProject_ws/src/rgbdslam_v2/src/sift_gpu_wrapper.h:49:40: error: ‘cv::vector’ has not been declared
  void detect(const cv::Mat& image, cv::vector<cv::KeyPoint>& keypoints, std::vector<float>& descriptors, const cv::Mat& mask = cv::Mat()) const;
                                        ^
/home/nuno/AIMAVProject_ws/src/rgbdslam_v2/src/sift_gpu_wrapper.h:49:46: error: expected ‘,’ or ‘...’ before ‘<’ token
  void detect(const cv::Mat& image, cv::vector<cv::KeyPoint>& keypoints, std::vector<float>& descriptors, const cv::Mat& mask = cv::Mat()) const;
                                              ^
/home/nuno/AIMAVProject_ws/src/rgbdslam_v2/src/sift_gpu_wrapper.cpp:108:55: error: ‘cv::vector’ has not been declared
 void SiftGPUWrapper::detect(const cv::Mat& image, cv::vector<cv::KeyPoint>& keypoints, std::vector<float>& descriptors, const Mat& mask) const {
                                                       ^
/home/nuno/AIMAVProject_ws/src/rgbdslam_v2/src/sift_gpu_wrapper.cpp:108:61: error: expected ‘,’ or ‘...’ before ‘<’ token
 void SiftGPUWrapper::detect(const cv::Mat& image, cv::vector<cv::KeyPoint>& keypoints, std::vector<float>& descriptors, const Mat& mask) const {
                                                             ^
/home/nuno/AIMAVProject_ws/src/rgbdslam_v2/src/sift_gpu_wrapper.cpp: In member function ‘void SiftGPUWrapper::detect(const cv::Mat&, int) const’:
/home/nuno/AIMAVProject_ws/src/rgbdslam_v2/src/sift_gpu_wrapper.cpp:111:9: error: ‘keypoints’ was not declared in this scope
         keypoints.clear();
         ^
/home/nuno/AIMAVProject_ws/src/rgbdslam_v2/src/sift_gpu_wrapper.cpp:133:9: error: ‘descriptors’ was not declared in this scope
         descriptors.resize(128 * num_features);
         ^
/home/nuno/AIMAVProject_ws/src/rgbdslam_v2/src/sift_gpu_wrapper.cpp:141:5: error: ‘keypoints’ was not declared in this scope
     keypoints.clear();
     ^
/home/nuno/AIMAVProject_ws/src/rgbdslam_v2/src/misc.cpp:370:40: error: ‘string’ does not name a type
 FeatureDetector* createDetector( const string& detectorType ) 
                                        ^
/home/nuno/AIMAVProject_ws/src/rgbdslam_v2/src/misc.cpp:370:48: error: ISO C++ forbids declaration of ‘detectorType’ with no type [-fpermissive]
 FeatureDetector* createDetector( const string& detectorType ) 
                                                ^
/home/nuno/AIMAVProject_ws/src/rgbdslam_v2/src/misc.cpp: In function ‘cv ...
(more)
edit retag flag offensive close merge delete

Comments

Were you ever able to get this working? I will be working on it using 14.04 and would appreciate any help

kbalisciano gravatar image kbalisciano  ( 2014-10-14 16:10:17 -0600 )edit

No luck @kbalisciano. I started using other frameworks since RGBDSLAM stagnated in the Hydro version.

TSC gravatar image TSC  ( 2015-03-18 10:22:19 -0600 )edit

Has there been any resolution? I just started using this package and I'm getting the same errors..

KaiserUDM gravatar image KaiserUDM  ( 2016-04-30 21:07:10 -0600 )edit

Hi to all, I have the same problems. Did you found a solution? I've tried to install RGBDSLAM_v2 package as is write on the "README.txt" on github, on ROS Indigo and Ubuntu 14.04. Thanks, best Anna

anna gravatar image anna  ( 2016-06-13 10:00:53 -0600 )edit

Hi @anna ... I've moved your answer to be a comment. In the future, please only answer a question if you are providing an answer to the original question. Good luck!

jarvisschultz gravatar image jarvisschultz  ( 2016-06-13 10:05:31 -0600 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2015-03-18 10:56:14 -0600

kbalisciano gravatar image

It works fine on the odroid running Hydro. The only real issue is QT4. We haven't tried migrating to Indigo but I think that might be a task for the summer. Anyways I have found that your initial error comes from the make file. You need to turn off sift but you will get other issues.

Also I think the best way to go about installing g20 and OpenCV is to install from the package manager because that creates all the symbolic links/pointers and then you can compile is from source in a ghost directory. From there you copy over your newly compiled stuff into the directories that the package manager made overwriting all files.

edit flag offensive delete link more

Comments

"works fine" is note really the case, maybe you mean "compiles fine".Last year, for my thesis, I was also able to compile in ROS Hydro, but is not really usable. Transform publishing rates are unberable (below 0.1Hz) and not really usable for the purpose of my thesis (vision-based navigation).

TSC gravatar image TSC  ( 2015-03-18 11:27:25 -0600 )edit

We were able to get 1 FPS after compilation and 5-6 FPS after some optimization. It is actually painfully slow on my Core i7, 8GB Ram, SSD, and gpu with 4GB dedicated ram laptop. The Odroid handles it very well.

EDIT: Also if you run is at QVGA resolution things are much faster

kbalisciano gravatar image kbalisciano  ( 2015-03-18 12:15:37 -0600 )edit

Have some problems also on my Laptop with it (core i7, 32GB RAM, SSD, ...), but running on a VM (don't know if it makes substancial difference). Well you say it handles well, can you please share your RGBDSLAM files with the optimizations? My e-mail is: n.marques21<at>hotmail<dot>com. Thanks!

TSC gravatar image TSC  ( 2015-03-18 12:36:19 -0600 )edit

You really just want to change the options in the drop down menu such as the number of features you detect and the resolution. You need to match it to your specific needs. Voxel Grid filter is useful if you don't need a great map

kbalisciano gravatar image kbalisciano  ( 2015-03-18 12:41:47 -0600 )edit

@kbalisciano just the VoxelGrid? What FeatureExtractor and Matcher are you using? ORB? BTW, what's the Ubuntu release? Are you working with drones, too?

TSC gravatar image TSC  ( 2015-03-18 12:49:58 -0600 )edit

Question Tools

3 followers

Stats

Asked: 2014-06-09 14:49:58 -0600

Seen: 2,387 times

Last updated: Mar 18 '15