0
$\begingroup$

Rosanswers logo

Hi all, After looking through several previous posts on the issue I'm still confused as to where to approach this problem. I'm hoping to add a more comprehensive guide online after I get this all working. I have a kinect with openni drivers, am using fuerte on oneiric, and want to get rgbdslam working. The kinect works as I've seen the depth images in rviz without issue.

What I've done is created a workspace/overlay in a folder within my user directory and downloaded the rgbdslam_freiburg file there. I'm able to find the rgbdslam file within the rgbdslam_freiburg folder with the roscd command, but when inside the rgbdslam directory, rosmake produces the following error:

> rosmake rgbdslam [ rosmake ] rosmake
> starting...                           
> [ rosmake ] Packages requested are:
> ['rgbdslam'] [ rosmake ] Expanded args
> ['rgbdslam'] to: ['rgbdslam']         
> [rosmake-0] Starting >>> bullet [ make
> ]                                     
> [rosmake-1] Starting >>> geometry_msgs
> [ make ]                              
> [rosmake-0] Finished <<< bullet
> ROS_NOBUILD in package bullet         
> [rosmake-0] Starting >>> roslang [
> make ]                                
> [rosmake-2] Starting >>> rosconsole [
> make ]                                
> [rosmake-3] Starting >>> angles [ make
> ]                                     
> [rosmake-1] Finished <<< geometry_msgs
> No Makefile in package geometry_msgs  
> [rosmake-2] Finished <<< rosconsole 
> No Makefile in package rosconsole     
> [rosmake-1] Starting >>> sensor_msgs [
> make ]                                
> [rosmake-0] Finished <<< roslang  No
> Makefile in package roslang           
> [rosmake-2] Starting >>> rostest [
> make ]                                
> [rosmake-0] Starting >>> roscpp [ make
> ]                                     
> [rosmake-3] Finished <<< angles
> ROS_NOBUILD in package angles         
> [rosmake-3] Starting >>> rospy [ make
> ]                                     
> [rosmake-1] Finished <<< sensor_msgs 
> No Makefile in package sensor_msgs    
> [rosmake-1] Starting >>> roswtf [ make
> ]                                     
> [rosmake-2] Finished <<< rostest  No
> Makefile in package rostest           
> [rosmake-2] Starting >>>
> message_filters [ make ]              
> [rosmake-0] Finished <<< roscpp  No
> Makefile in package roscpp            
> [rosmake-0] Starting >>> std_msgs [
> make ]                                
> [rosmake-3] Finished <<< rospy  No
> Makefile in package rospy             
> [rosmake-3] Starting >>> rosbag [ make
> ]                                     
> [rosmake-2] Finished <<<
> message_filters  No Makefile in
> package message_filters [rosmake-1]
> Finished <<< roswtf  No Makefile in
> package roswtf                  
> [rosmake-0] Finished <<< std_msgs  No
> Makefile in package std_msgs          
> [rosmake-0] Starting >>> pcl [ make ] 
> [rosmake-3] Finished <<< rosbag  No
> Makefile in package rosbag            
> [rosmake-2] Starting >>> rosbuild [
> make ]                                
> [rosmake-1] Starting >>> tf [ make ]  
> [rosmake-3] Starting >>> roslib [ make
> ]                                     
> [rosmake-0] Finished <<< pcl  No
> Makefile in package pcl               
> [rosmake-1] Finished <<< tf
> ROS_NOBUILD in package tf             
> [rosmake-2] Finished <<< rosbuild  No
> Makefile in package rosbuild          
> [rosmake-0] Starting >>> smclib [ make
> ]                                     
> [rosmake-2] Starting >>> rosservice [
> make ]                                
> [rosmake-1] Starting >>>
> common_rosdeps [ make ]               
> [rosmake-3] Finished <<< roslib  No
> Makefile in package roslib            
> [rosmake-3] Starting >>> pluginlib [
> make ]                                
> [rosmake-2] Finished <<< rosservice 
> No Makefile in package rosservice     
> [rosmake-0] Finished <<< smclib
> ROS_NOBUILD in package smclib         
> [rosmake-0] Starting >>> bond [ make ]
> [rosmake-1] Finished <<<
> common_rosdeps ROS_NOBUILD in package
> common_rosdeps    [rosmake-2] Starting
> >>> dynamic_reconfigure [ make ]                            [rosmake-1] Starting >>> opencv2 [
> make ]                                
> [rosmake-3] Finished <<< pluginlib
> ROS_NOBUILD in package pluginlib      
> [rosmake-3] Starting >>>
> visualization_msgs [ make ]           
> [rosmake-0] Finished <<< bond
> ROS_NOBUILD in package bond           
> [rosmake-2] Finished <<<
> dynamic_reconfigure ROS_NOBUILD in
> package dynamic_reconfigure
> [rosmake-1] Finished <<< opencv2
> ROS_NOBUILD in package opencv2        
> [rosmake-0] Starting >>> bondcpp [
> make ]                                
> [rosmake-1] Starting >>> cv_bridge [
> make ]                                
> [rosmake-2] Starting >>> rgbdslam [
> make ]                                
> [rosmake-1] Finished <<< cv_bridge
> ROS_NOBUILD in package cv_bridge      
> [rosmake-3] Finished <<<
> visualization_msgs  No Makefile in
> package visualization_msgs [rosmake-0]
> Finished <<< bondcpp ROS_NOBUILD in
> package bondcpp                 
> [rosmake-0] Starting >>> nodelet [
> make ]                                
> [rosmake-0] Finished <<< nodelet
> ROS_NOBUILD in package nodelet        
> [rosmake-0] Starting >>>
> nodelet_topic_tools [ make ]          
> [rosmake-0] Finished <<<
> nodelet_topic_tools ROS_NOBUILD in
> package nodelet_topic_tools
> [rosmake-0] Starting >>> pcl_ros [
> make ]                                
> [rosmake-0] Finished <<< pcl_ros
> ROS_NOBUILD in package pcl_ros        
> [ rosmake ] All 21 linesgbdslam: 0.5
> sec ]           [ 1 Active 30/31
> Complete ]
> {-------------------------------------------------------------------------------   mkdir -p bin   cd build && cmake -Wdev
> -DCMAKE_TOOLCHAIN_FILE=`rospack find rosbuild`/rostoolchain.cmake  ..  
> [rosbuild] Building package rgbdslam  
> Failed to invoke
> /opt/ros/fuerte/bin/rospack
> deps-manifests rgbdslam   [rospack]
> Error: package/stack rgbdslam depends
> on non-existent package g2o
>      CMake Error at /opt/ros/fuerte/share/ros/core/rosbuild/public.cmake:129
> (message):
>   
>     Failed to invoke rospack to get compile flags for package 'rgbdslam'. 
> Look
>     above for errors from rospack itself.  Aborting.  Please fix the
> broken
>     dependency!
>      Call Stack (most recent call first):
>     /opt/ros/fuerte/share/ros/core/rosbuild/public.cmake:203
> (rosbuild_invoke_rospack)
>     CMakeLists.txt:39 (rosbuild_init)
>      -- Configuring incomplete, errors occurred!
> -------------------------------------------------------------------------------} [rosmake-2] Finished <<< rgbdslam
> [FAIL] [ 0.56 seconds ]               
> [ rosmake ] Halting due to failure in
> package rgbdslam.  [ rosmake ] Waiting
> for other threads to complete. [
> rosmake ] Results:                    
> [ rosmake ] Built 31 packages with 1
> failures.

                          

A similar problem ensues when I try using "rosmake rgbdslam_freiburg" one directory up:

> [rosmake-0] Finished <<< rgbdslam
> [FAIL] [ 0.17 seconds ]               
> [ rosmake ] Halting due to failure in
> package rgbdslam.  [ rosmake ] Waiting
> for other threads to complete. [
> rosmake ] Results:                    
> [ rosmake ] Built 40 packages with 1
> failures.

I've concluded that the problem is with the g2o dependency, but don't know how to resolve the issue. Here are the contents of the /rgbdslam_freiburg/rgbdslam/manifest.xml file

<package>
  <description brief="SLAM on RGBD Data">
    This package can be used to register the point clouds from RGBD sensors such as the kinect or stereo cameras.
    The rgbdslam node can be connected easily to an octomap_server node to create a memory-efficient 3D map.
  </description>
  <author>Felix Endres, Juergen Hess, Nikolas Engelhard</author>
  <license>GPL v3</license>
  <review status="unreviewed" notes=""/>
  <depend package="tf"/>
  <depend package="pcl"/>
  <depend package="rospy"/>
  <depend package="roscpp"/>
  <depend package="rosbag"/>
  <depend package="pcl_ros"/>
  <!--depend package="opencv2"/-->
  <depend package="cv_bridge"/>
  <depend package="sensor_msgs"/>
  <!--depend package="openni_camera"/-->
  <!--depend package="octomap_server"/-->
  <!--depend package="octomap"/-->
  <depend package="geometry_msgs"/>
  <depend package="visualization_msgs"/>
  <rosdep name="libqt4-opengl-dev"/>
  <rosdep name="libqt4-dev"/>
  <rosdep name="libglew-dev"/>
  <rosdep name="libdevil-dev"/>
  <rosdep name="libgsl"/>
  <!--rosdep name="gl2ps"/-->
  <rosdep name="eigen"/>
  <rosdep name="libg2o"/>
  <depend package="g2o"/>
  <export>
    <rosdoc config="rosdoc.yaml" />
    <nodelet plugin="${prefix}/nodelet_plugins.xml" />
    <cpp cflags="-I${prefix}/srv_gen/cpp"/>
 </export>
</package>

I've tried "rosinstall g2o" and "rosinstall libg2o" but neither work successfully. After noting a few files being overwritten, the output is:

ERROR in rosinstall: 
No 'ros' stack detected in candidates [].
Please add the location of a ros distribution to this command.

I've got a libg2o and g2o folder lying around, but they're empty. I've even tried downloading the g2o package directly and then moving it to the correct directory, but no matter where it is "roscd g2o" doesn't work. This is perplexing when the g2o folder is in rgbdslam_frieburg, because the rgbdslam folder is in the same location and can be located with "roscd rgbdslam".

Excuse the long winded explanation, but I wanted to give some data on the current situation. Any assistance is very much appreciated.


Originally posted by mobot3 on ROS Answers with karma: 16 on 2012-12-06

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Ok, found a previous tip on a post that I had omitted. Remember to remove the find_package(g2o REQUIRED) from the CMakeLists.txt in rgbdslam and to add in a line with <depend package="g2o" /> to the rgbdslam manifest.xml file. Now, however, I get an error about a class name being repeated in two places, specifically the HyperGraph class in g2o.


Originally posted by mobot3 with karma: 16 on 2012-12-11

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by K_Yousif on 2012-12-16:
I am having the same problem as yours. Did you manage to find a solution to this problem?

Comment by autorover on 2012-12-19:
The hypergraph issue might be a conflict in g2o if you have libg2o installed along with g2o in your ros folder. Go to the ubuntu software center and uninstall libg2o.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.