Fail to build rtabmap_ros

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Fail to build rtabmap_ros

PAlfaro
Hello!

I tried to install rtabmap in a ros indigo environment, but when I compile the screen displays the next error messages:

[ 98%] Building CXX object rtabmap_ros/CMakeFiles/rtabmap.dir/src/MapsManager.cpp.o
/home/paola/catkin_ws/src/rtabmap_ros/src/RGBDOdometryNode.cpp: In member function ‘void RGBDOdometry::callback2(const ImageConstPtr&, const ImageConstPtr&, const CameraInfoConstPtr&, const ImageConstPtr&, const ImageConstPtr&, const CameraInfoConstPtr&)’:
/home/paola/catkin_ws/src/rtabmap_ros/src/RGBDOdometryNode.cpp:305:17: error: ‘cvtDepthFromFloat’ is not a member of ‘rtabmap::util2d’
      subDepth = rtabmap::util2d::cvtDepthFromFloat(subDepth);
                 ^
/home/paola/catkin_ws/src/rtabmap_ros/src/RGBDOdometryNode.cpp:305:17: note: suggested alternative:
In file included from /home/paola/catkin_ws/src/rtabmap_ros/src/RGBDOdometryNode.cpp:45:0:
/opt/ros/indigo/lib/x86_64-linux-gnu/rtabmap-0.10/../../../include/rtabmap-0.10/rtabmap/core/util3d.h:130:21: note:   ‘rtabmap::util3d::cvtDepthFromFloat’
 cv::Mat RTABMAP_EXP cvtDepthFromFloat(const cv::Mat & depth32F);
                     ^
make[2]: *** [rtabmap_ros/CMakeFiles/rgbd_odometry.dir/src/RGBDOdometryNode.cpp.o] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/rgbd_odometry.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/home/paola/catkin_ws/src/rtabmap_ros/src/GuiWrapper.cpp: In member function ‘void GuiWrapper::commonDepthCallback(const OdometryConstPtr&, const std::vector<boost::shared_ptr<const sensor_msgs::Image_<std::allocator<void> > > >&, const std::vector<boost::shared_ptr<const sensor_msgs::Image_<std::allocator<void> > > >&, const std::vector<boost::shared_ptr<const sensor_msgs::CameraInfo_<std::allocator<void> > > >&, const LaserScanConstPtr&, const OdomInfoConstPtr&)’:
/home/paola/catkin_ws/src/rtabmap_ros/src/GuiWrapper.cpp:584:17: error: ‘cvtDepthFromFloat’ is not a member of ‘rtabmap::util2d’
      subDepth = util2d::cvtDepthFromFloat(subDepth);
                 ^
/home/paola/catkin_ws/src/rtabmap_ros/src/GuiWrapper.cpp:584:17: note: suggested alternative:
In file included from /home/paola/catkin_ws/src/rtabmap_ros/src/GuiWrapper.cpp:51:0:
/opt/ros/indigo/lib/x86_64-linux-gnu/rtabmap-0.10/../../../include/rtabmap-0.10/rtabmap/core/util3d.h:130:21: note:   ‘rtabmap::util3d::cvtDepthFromFloat’
 cv::Mat RTABMAP_EXP cvtDepthFromFloat(const cv::Mat & depth32F);
                     ^
/home/paola/catkin_ws/src/rtabmap_ros/src/CoreWrapper.cpp: In member function ‘void CoreWrapper::commonDepthCallback(const string&, const std::vector<boost::shared_ptr<const sensor_msgs::Image_<std::allocator<void> > > >&, const std::vector<boost::shared_ptr<const sensor_msgs::Image_<std::allocator<void> > > >&, const std::vector<boost::shared_ptr<const sensor_msgs::CameraInfo_<std::allocator<void> > > >&, const LaserScanConstPtr&)’:
/home/paola/catkin_ws/src/rtabmap_ros/src/CoreWrapper.cpp:818:15: error: ‘cvtDepthFromFloat’ is not a member of ‘rtabmap::util2d’
    subDepth = util2d::cvtDepthFromFloat(subDepth);
               ^
/home/paola/catkin_ws/src/rtabmap_ros/src/CoreWrapper.cpp:818:15: note: suggested alternative:
In file included from /home/paola/catkin_ws/src/rtabmap_ros/src/CoreWrapper.cpp:49:0:
/opt/ros/indigo/lib/x86_64-linux-gnu/rtabmap-0.10/../../../include/rtabmap-0.10/rtabmap/core/util3d.h:130:21: note:   ‘rtabmap::util3d::cvtDepthFromFloat’
 cv::Mat RTABMAP_EXP cvtDepthFromFloat(const cv::Mat & depth32F);
                     ^
/home/paola/catkin_ws/src/rtabmap_ros/src/MapsManager.cpp: In member function ‘std::map<int, rtabmap::Transform> MapsManager::updateMapCaches(const std::map<int, rtabmap::Transform>&, const rtabmap::Memory*, bool, bool, bool, const std::map<int, rtabmap::Signature>&)’:
/home/paola/catkin_ws/src/rtabmap_ros/src/MapsManager.cpp:281:104: error: too many arguments to function ‘void rtabmap::util3d::occupancy2DFromLaserScan(const cv::Mat&, cv::Mat&, cv::Mat&, float)’
        util3d::occupancy2DFromLaserScan(scan, ground, obstacles, gridCellSize_, gridUnknownSpaceFilled_);
                                                                                                        ^
In file included from /home/paola/catkin_ws/src/rtabmap_ros/src/MapsManager.cpp:14:0:
/opt/ros/indigo/lib/x86_64-linux-gnu/rtabmap-0.10/../../../include/rtabmap-0.10/rtabmap/core/util3d_mapping.h:46:18: note: declared here
 void RTABMAP_EXP occupancy2DFromLaserScan(
                  ^
make[2]: *** [rtabmap_ros/CMakeFiles/rtabmap.dir/src/CoreWrapper.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [rtabmap_ros/CMakeFiles/rtabmap.dir/src/MapsManager.cpp.o] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/rtabmap.dir/all] Error 2
make[2]: *** [rtabmap_ros/CMakeFiles/rtabmapviz.dir/src/GuiWrapper.cpp.o] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/rtabmapviz.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j4 -l4" failed
paola@robot:~/catkin_ws$

I didn't understand if I am missing something.

Thank you.
Reply | Threaded
Open this post in threaded view
|

Re: Fail to build rtabmap_ros

matlabbe
Administrator
Hi,
The rtabmap_ros you try to build is the latest from source, which links to latest version of rtabmap standalone library. Either you uninstall ros-indigo-rtabmap and build latest rtabmap from source, or checkout the rtabmap_ros version compatible with the indigo binary release (the indigo-devel branch):
$ cd ~/catkin_ws
$ git clone -b indigo-devel https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
$ catkin_make

or simply install rtabmap_ros binaries instead of source:
$ sudo apt-get install ros-indigo-rtabmap-ros

cheers
Reply | Threaded
Open this post in threaded view
|

Re: Fail to build rtabmap_ros

PAlfaro
Thank you,

Install binaries solved the problem!

Regards