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

RGBDSLAM Installation problem

asked 2012-01-21 21:47:31 -0500

Mike Moore gravatar image

updated 2014-01-28 17:11:10 -0500

ngrennan gravatar image

Hi folks :-)

Apologies for the long post but I have been trying for three days now to install, build and test RGBDSLAM without any success and am getting rather frustrated... surely it shouldn't be so hard :-)

I am quite experienced and have followed the instructions laid out in http://www.ros.org/wiki/rgbdslam and http://ros.org/wiki/electric/Installation/Ubuntu etc. to the letter and have tried all sorts of fixes suggested here, and on other sites, including starting from scratch with fresh Ubuntu installs twice, to no avail.

So, PLEASE could someone run through a fresh install and provide up to date detailed instructions as I see I'm definitely not the first to have build problems.

This is what Ive done, three times, following predominantly http://www.ros.org/wiki/rgbdslam, thus far:

1) Installed absolutely clean Ubuntu 11.10 64bit version (confirmed with /etc/issue and the output of uname -m)

2) Installed ROS Electric as required as per http://ros.org/wiki/electric/Installation/Ubuntu. Commands entered in "Terminal" as follows:

a. sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu oneiric main" > /etc/apt/sources.list.d/ros-latest.list'

b. wget http://packages.ros.org/ros.key -O - | sudo apt-key add –

c. sudo apt-get update

d. sudo apt-get install ros-electric-desktop-full

e. echo "source /opt/ros/electric/setup.bash" >> ~/.bashrc

f. . ~/.bashrc

3) Installed QT4 (QT Creator) via Ubuntu Software Center

4) Setup RGBDSLAM again as per http://www.ros.org/wiki/rgbdslam

a. mkdir -p ~/ros

b. echo 'export ROS_PACKAGE_PATH=~/ros:$ROS_PACKAGE_PATH' >> ~/.bashrc

c. source ~/.bashrc

d. svn co http://alufr-ros-pkg.googlecode.com/svn/trunk/rgbdslam_freiburg/rgbdslam

e. svn co https://code.ros.org/svn/ros-pkg/stacks/vslam/trunk/g2o ~/ros/g2o

f. rosmake --rosdep-install rgbdslam

This immediately failed with:

[ rosmake ] Packages requested are: ['rgbdslam'] [ rosmake ] Logging to directory/home/mike/.ros/rosmake/rosmake_output-20120121-085503 [ rosmake ] Expanded args ['rgbdslam'] to:[] [ rosmake ] WARNING: The following args could not be parsed as stacks or packages: ['rgbdslam'] [ rosmake ] ERROR: No arguments could be parsed into valid package or stack names.

5) So I checked:

a) sudo apt-get install libglew1.5-dev libdevil-dev libsuitesparse-dev No problem

b) Tried to fix .bashrc adding various combinations and orders of export and source commands (not detailed in instructions)

... " enable programmable completion features (you don't need to enable " this, if it's already enabled in /etc/bash.bashrc and /etc/profile " sources /etc/bash.bashrc). if [ -f /etc/bash_completion ] && ! shopt -oq posix; then . /etc/bash_completion fi

export ROS_PACKAGE_PATH=~/ros:$ROS_PACKAGE_PATH source /opt/ros/electric/setup.bash ...

c) Tried to fix electric setup.sh with other changes (also not detailed in instructions) http://answers.ros.org/question/222/error-when-compiling-rgbdslam-for-kinect ... "!/bin/sh

export ROS_ROOT=/opt/ros/electric/ros export PATH=${ROS_ROOT}/bin:${PATH} export PYTHONPATH=${ROS_ROOT}/core/roslib/src:${PYTHONPATH} export ROS_PACKAGE_PATH=/opt/ros/electric/stacks:/home/mike:/home/mike/ros/ros-pkg:~/ros_workspace:$ROS_PACKAGE_PATH if [ ! "$ROS_MASTER_URI" ] ; then export ROS_MASTER_URI=http://localhost:11311 ; fi ...

Tried incrementally odd combos of ROS_PACKAGE_PATH - now you ... (more)

edit retag flag offensive close merge delete

8 Answers

Sort by » oldest newest most voted
2

answered 2012-01-21 23:08:08 -0500

dornhege gravatar image

If you followed this steps literally I think the problem is 4d/e. This svn checkouts like this will end up in your home, not ~/ros and thus cannot be found in ROS_PACKAGE_PATH.

So you should cd ~/ros before the svn co calls.

edit flag offensive delete link more
1

answered 2012-01-23 18:22:17 -0500

Mike Moore gravatar image

Problem resolved, VMWare was unfortunately the culprit.

I rebuilt the whole system, yet again, from scratch on a bootable Ubuntu 11.10 64bit partition and it worked imediately (tho I did have to install GSL independently again Felix).

Now I think I have a more fundamental issue, perhaps with an easy, but expensive solution. I think my Intel I3 M330 dual 2.13GHz laptop, with 4GB ram, is simply not up to the task.

The CPU is maxed out whilst Im capturing data and the resultant frame rate is very slow, which in turn is leading (I suspect) to greater deltas between analysed frames, less matching and ultimately, my generated maps are often VERY poor.

(I have tried moving the camera very slowly but this only helped a little bit)

Also, the 4GB fills up extremely quickly so I'm prettly much limited to small room maps.

Do you guys have any advice on the effectiveness of high spec cpu's with RGBDSLAM - as Ive been looking for an excuse to get a new speedy machine:-)

Thanks you all for your patience and superb advice.

edit flag offensive delete link more

Comments

1
"Viel hilft viel" is a german saying :-). RGBDSLAM makes good use of many cpu cores. A good 3D graphics card will speed up the GUI and SIFTGPU features. CUDA makes the latter even faster than GLSL. For online usage you need as much RAM as you can get. Offline you can work around this.
Felix Endres gravatar image Felix Endres  ( 2012-01-23 19:31:36 -0500 )edit
However, you could try to not subscribe to the point cloud topic of the kinect, this will shift processing requirements from the driver to RGBDSLAM. Then use the ...skip_step parameters, see the example launchfiles. Do not store the pointclouds in RAM, run without GUI (see params) if not required.
Felix Endres gravatar image Felix Endres  ( 2012-01-23 19:34:45 -0500 )edit
Thats superb news, time to buy the i7, 8gb laptop Ive been eyeing out. The I will look at running without the GUI, and I can wait to get stuck into the trying to use color octomaps........ Thanks for you superb help Felix, we can mark this as answered :-)
Mike Moore gravatar image Mike Moore  ( 2012-01-24 20:35:44 -0500 )edit
You're welcome. I'd suggest you mark dornheges answer as correct answer, since he spottet the original problem the title relates to.
Felix Endres gravatar image Felix Endres  ( 2012-01-25 08:17:33 -0500 )edit
1

A good question, but please ask it separately. This is a Q&A forum, not a discussion forum.

joq gravatar image joq  ( 2012-05-11 02:47:01 -0500 )edit
1

answered 2012-01-22 01:48:28 -0500

joq gravatar image

For something as complex as this, I recommend using rosinstall to manage your source checkouts.

There are some other hints from this question, which explains the difference between system dependencies and ROS package dependencies.

edit flag offensive delete link more
0

answered 2012-01-22 22:42:30 -0500

Mike Moore gravatar image

updated 2012-01-22 23:08:53 -0500

Ahaaa, got the build and Kinect recognition going at last - did a completely fresh install and found I had to also install GSL for the default build to complete: (sudo apt-get install gsl-bin; sudo apt-get install libgsl0-dev) and then GTK for the pixbuf requirement (sudo apt-get install gtk2-engines-pixbuf) before the GUI would launch.

But now, RGBDSLAM is now building fine and is recognizing the Kinect on launch but unfortunately still no data/image from the Kinect ever appears on the GUI. It just says "Waiting for monochrome, depth and motion" information...

The terminal displays:

process[rgbdslam-7]: started with pid [17347] bool g2o::HyperGraphActionLibrary::registerAction(g2o::HyperGraphElementAction): creating collection for "writeGnuplot" bool g2o::HyperGraphActionLibrary::registerAction(g2o::HyperGraphElementAction): creating collection for "draw" ... So,what do I need to do now? :-)

Do I need to install some sort of viewer or support package, or specific graphics drivers, or is running Ubuntu as a VM possibly causing problems (unlikely)?

So close, all help appreciated :-)

edit flag offensive delete link more

Comments

Hmmm, Ive been trawling around and perhaps a) I need to install RVIS or something similar, or b) this is a known issue relating to OpenNI not running well on a VMWare VM... Is there any way around this - I don't want to reinstall AGAIN, and I blew my bandwidth limit doing this four times already :-)
Mike Moore gravatar image Mike Moore  ( 2012-01-22 23:28:18 -0500 )edit
I'm not sure, what you are trying to achieve with reinstalling. Unless you really want to record a clean way with every keypress for a full setup, it is not necessary. By installing packages, you don't really make the system "worse" and any unwanted steps can be undone.
dornhege gravatar image dornhege  ( 2012-01-23 00:23:10 -0500 )edit
VMs might be problematic, but the errors seem to suggest there is no data. You could test with rviz to display the raw kinect data.
dornhege gravatar image dornhege  ( 2012-01-23 00:24:33 -0500 )edit
From the side of RGBDSLAM this all looks good. You can verify it with a bagfile as suggested in my comment above. I would suspect that the virtual machine may indeed be problematic.
Felix Endres gravatar image Felix Endres  ( 2012-01-23 03:17:54 -0500 )edit
BTW, I don't have gsl-bin installed, so it's probably not required.
Felix Endres gravatar image Felix Endres  ( 2012-01-23 19:27:03 -0500 )edit
0

answered 2012-01-22 01:07:04 -0500

Mike Moore gravatar image

updated 2012-01-22 18:18:13 -0500

Thanks for your speedy answer Dornhege :-)

I think Ive got the build going 100% (reordering calls in .bashrc seems to have worked) but am still stuck right at the last hurdle - I can even see the RGBDSLAM GUI - so am tantalizingly close :-)

I installed the "openni_kinect" package as per http://www.ros.org/wiki/openni_kinect using the command "sudo apt-get install ros-electric-openni-kinect" - no problem - and have connected the Kinect.

But still, whenever I launch RGBDSLAM with "roslaunch rgbdslam kinect+rgbdslam.launch" (or "roslaunch openni_camera openni_node.launch" I get the following error:

'[ INFO] [1327243304.290757975]: [/openni_node1] Number devices connected: 1
'[ INFO] [1327243304.291324641]: [/openni_node1] 1. device on bus 001:10 is a Xbox NUI 'Camera (2ae) from Microsoft (45e) with serial id 'A00365807452048A'
'[ INFO] [1327243304.293948521]: [/openni_node1] searching for device with index = 1
'[ INFO] [1327243304.297442805]: [/openni_node1] **No matching device found.... waiting for 'devices**. Reason: openni_wrapper::OpenNIDevice::OpenNIDevice(xn::Context&, const 'xn::NodeInfo&, const xn::NodeInfo&, const xn::NodeInfo&, const xn::NodeInfo&) @ /tmp/buildd/ros-electric-openni-kinect-0.3.4/debian/ros-electric-openni-kinect/opt/ros/electric/stacks/openni_kinect/openni_camera/src/openni_device.cpp @ 61 : **creating depth generator failed. ,Reason: The network connection has been closed!**

This appears to be a common problem and I have tried:

Killing XnSensorServer (with 'Killall XnSensorServer') at different pre/post launch stages, to ensure its shut down, this had no effect.

It was suggested somewhere else that I run 'echo “blacklist gspca_kinect” > /etc/modprobe.d/blacklist-psengine.conf' to prevent an Ubuntu service from interfering - no luck.

and tried to set the following in case it would help - but am not sure if I did so correctly: ROS_HOSTNAME="localhost" ROS_MASTER_URI="http://localhost:11311"

My USB setup looks fine I think:

mike@ubuntu:~$ lsusb

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 005: ID 045e:02b0 Microsoft Corp. Xbox NUI Motor
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 009: ID 045e:02ad Microsoft Corp. Xbox NUI Audio
Bus 001 Device 010: ID 045e:02ae Microsoft Corp. Xbox NUI Camera

So, what could it be??? Have I forgotten to install something, or set something else somewhere???

All help hugely appreciated, so close :-)

Thanks, Mike

P.S. This is the start of the output when I execute "roslaunch rgbdslam kinect+rgbdslam.launch"

auto-starting new master
process[master]: started with pid [2082]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to c52eab7c-450c-11e1-b5c2-000c291b98c1
process[rosout-1]: started with pid [2096]
started core service [/rosout]
process[openni_node1-2]: started with pid [2100]
process[kinect_base_link-3]: started with pid [2102]
process[kinect_base_link1-4]: started with pid [2104]
process[kinect_base_link2-5]: started with pid [2106]
process[kinect_base_link3-6]: started with pid [2108]
process[rgbdslam-7]: started with pid [2147]
**[rospack] opendir error [No such file or directory] while crawling /home/mike/ros/ros-pkg**
[rospack] opendir error [No such file or directory] while crawling /home/mike/ros_workspace
bool g2o::HyperGraphActionLibrary::registerAction(g2o::HyperGraphElementAction*): creating collection for "writeGnuplot"
bool g2o::HyperGraphActionLibrary::registerAction ...
(more)
edit flag offensive delete link more
0

answered 2012-01-22 05:25:30 -0500

Mike Moore gravatar image

updated 2012-01-22 05:32:47 -0500

Thanks Joq, but surely this shouldn't be all that complex, or obscure, a process as, all I'm trying to do is to get RGBDSLAM working on a clean Ubuntu install.

i.e.: 1) Setup clean OS (Ubuntu 11.10 64bit) 2) Setup ROS (electric) 3) Setup and build RGBDSLAM 4) Setup Kinect drivers 5) Run RGBDSLAM

After loads of work, I'm finally up to stage 4, still without being able to contribute anything to further development of RGBDSLAM.

With clear, tested, environment setup instructions there shouldn't be any missing packages. Can rosinstall help me out here?

P.S. To install the Kinect drivers I simply ran 'sudo apt-get install ros-electric-openni-kinect'. Perhaps I need to build them as per the Source Based Installation in http://www.ros.org/wiki/openni_kinect... any thoughts?

edit flag offensive delete link more

Comments

Hi, sorry for your troubles your detailed problem report is appreciated. I think you solved the problem installing rgbdslam, so I suggest opening a new question for the openni problem. Anyway, here my thoughts: You should not need to install from source. I am running the same setup and it works.
Felix Endres gravatar image Felix Endres  ( 2012-01-22 18:55:50 -0500 )edit
I also had the error you described, but I always "solved" it by restarting the openni launch file. Maybe others can help more with this. I think, there are also some questions about this on this site.
Felix Endres gravatar image Felix Endres  ( 2012-01-22 19:01:52 -0500 )edit
If you want to test rgbdslam without kinect, download a sequence from http://cvpr.in.tum.de/data/datasets/rgbd-dataset/download and use "rosbag play <filename.bag>". Make sure to set the appropriate topics (i.e. clear the "topic_points" parameter and set topic_image_mono to /camera/rgb/image_color).
Felix Endres gravatar image Felix Endres  ( 2012-01-22 19:03:56 -0500 )edit
Thanks Felix, no worries, I will persevere :-) I'm starting again from scratch with another fresh Ubuntu install - hopefully I will have more luck this time... UPDATE: Hit same RGBDSLAM build errors again "fatal error: gsl/gsl_linalg.h: No such file ..." Hmm
Mike Moore gravatar image Mike Moore  ( 2012-01-22 20:48:06 -0500 )edit
Incidentally Felix, what do you mean by "restarting the openni launch file"? Is this a new Terminal session or is there another method I haven't tried? I know its a big hassle, but if you're able to do a fresh line-by-line test install, that would clarify all these issues and solutions. THANKS :-)
Mike Moore gravatar image Mike Moore  ( 2012-01-22 20:55:40 -0500 )edit
GSL is actually set as a dependency in manifest.xml/rosdep.yaml, so "rosmake --rosdep-install rgbdslam" should have pulled it automatically. By restarting the launch-file I mean killing it (ctrl-c) and starting it again. No magic here.
Felix Endres gravatar image Felix Endres  ( 2012-01-23 03:21:52 -0500 )edit
-1

answered 2012-04-17 22:41:48 -0500

tgaaly gravatar image

Im having similar problems. Im not using VMWare. Has anyone been able to solve this issue?

I keep getting: creating depth generator failed. ,Reason: The network connection has been closed!

edit flag offensive delete link more

Comments

Welcome to ROS answers! Sorry, but this it not an answer. Please comment instead on the respective question/answer or create a new one!

AHornung gravatar image AHornung  ( 2012-04-17 23:44:43 -0500 )edit
-2

answered 2012-04-17 22:44:04 -0500

tgaaly gravatar image

Im not using VMWare and I have the same problem. The rgbdslam gui opens up but nothing is displayed. the kinect is connected and powered correctly but the infrared never comes on and the led on the kinect just keeps flashing green. Im using ros-electric on the latest oneiric ubuntu.

I keep getting: creating depth generator failed. ,Reason: The network connection has been closed!

Has anyone been able to finalize a fix for this? Any help plz :S

edit flag offensive delete link more

Comments

Sorry, but this it not an answer. Please comment instead on the respective question/answer or create a new one! Also, verify that your Kinect is working properly with ROS first.

AHornung gravatar image AHornung  ( 2012-04-17 23:45:44 -0500 )edit

Question Tools

Stats

Asked: 2012-01-21 21:47:31 -0500

Seen: 5,245 times

Last updated: Nov 29 '12