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

Error when compiling RGBDSLAM for Kinect

asked 2011-03-01 23:12:25 -0500

philnoonan gravatar image

updated 2016-10-24 09:00:44 -0500

ngrennan gravatar image

Hi all,

I'm having a bit of trouble getting the RGBDSLAM ros competition entry to compile on my 32 bit ubuntu 10.10 machine. I am compiling it on a fresh (today) version of diamondback but get the following lines when trying to compile using step 4 (after following the previous steps) of the guide...

phil@phil-Latitude-E6400:~$ rosmake --rosdep-install rgbdslam [ rosmake ] Packages requested are: ['rgbdslam']
[ rosmake ] Logging to directory/home/phil/.ros/rosmake/rosmake_output-20110302-125811 [ 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.

I can get data from the kinect and view in rviz, after following the relevant wiki guides. Have I missed something simple?

Thanks in advance!

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2011-03-01 23:17:12 -0500

Did you download the sources for the rgbdslam? It seems rosmake is unable to find the package. You should add the path to the sources for rgbdslam to your ROS_PACKAGE_PATH. I tried using rgbdslam on diamondback with kinect and you also need to make some adjustments to the code to make it compile. But even then it seems that the image message from openni_camera has changed and rgbdslam can't do anything with it.

edit flag offensive delete link more


I did download the sources, which got placed in /home. I added the destinations to the file so that the line read export ROS_PACKAGE_PATH=/home/phil/ni/ni:/opt/ros/diamondback/stacks:/home/phil/freiburg_kinect-experimental:/home/phil/hogman_minimal.
philnoonan gravatar image philnoonan  ( 2011-03-01 23:55:12 -0500 )edit
But I don't know if I changed the correct file as it didn't seem to do anything (I changed the file in opt/ros/diamondback). I then copied the two rgbdslam folders into opt/ros/diamondback/stacks which had some success until ros_nobuild failed due to a permission error.
philnoonan gravatar image philnoonan  ( 2011-03-01 23:58:22 -0500 )edit
Personally I don't use the file for anything else than starting kinect. In my normal shell I added export ROS_PACKAGE_PATH=path/to/my/ros/stuff:$ROS_PACKAGE_PATH to my .bashrc. That way I can have everything pretty independent.
LiMuBei gravatar image LiMuBei  ( 2011-03-02 00:25:48 -0500 )edit

answered 2011-03-09 21:02:05 -0500

Do you still have the problem or did you solve it in the meantime?

edit flag offensive delete link more

answered 2011-04-02 18:24:41 -0500

updated 2011-04-03 13:28:23 -0500

Ah I finally got my install working!

Turns out I had the same problem as this person:

I am green with Linux so it took me a while as I was missing some of the basics. I will do my best to explain what I did so others have a chance at fixing it.

Someone above mentioned .bashrc, but I didn't even know what it is. Well, its in your user folder (/home/taylor in my case) but it is hidden. So open up Nautilus (the file browser), navigate to your user folder, and press Ctrl-h to toggle hidden files if you don't see .bashrc. bashrc runs when you open up a new terminal (I think) and it sets up the environment variables for the terminal session. Anything put in there gets run.

Well, the ROS installation wiki says to add "source /opt/ros/diamondback/setup.bash" to the end of your .bashrc file. So, /opt/ros/diamondback/setup.bash is a script that gets run when your terminal opens. It runs a file in that same folder called, which sets the ROS environment variables.

You can't just set environment variables in your .bashrc file because it will just overwrite some of the stuff that the file does. So, navigate to /opt/ros/diamondback/ and open for editing. Unfortunately, its set as read only for the user. I'm sure this isn't the right way, but I fixed that by opening a Nautilus browser window as root, by typing

sudo Nautilus

in a terminal.

With a root Nautilus window, navigate back to /opt/ros/diamondback/ and edit to add the new folders that contain the packages you want to use.

Specifically, there should be a line:

export ROS_PACKAGE_PATH=/opt/ros/diamondback/stacks

add your user folder to that line like so (where you replace my name with your user name!)

export ROS_PACKAGE_PATH=/opt/ros/diamondback/stacks:/home/taylor

I also saw another folder mentioned and decided to add it just to be safe, so my whole line read like this:

export ROS_PACKAGE_PATH=/opt/ros/diamondback/stacks:/home/taylor:/home/user/ros/ros-pkg

Now close all your terminal windows and run

rosmake --rosdep-install rgbdslam

It should find all your packages and build properly! It did for me and I finally have it running. :) If there are any problems, run

sudo apt-get update

To update your packages and try again.

edit flag offensive delete link more


Don't edit files in /opt/ros. export like so in ~/.bashrc: `export ROS_PACKAGE_PATH="/home/taylor":$ROS_PACKAGE_PATH`.
Eric Perko gravatar image Eric Perko  ( 2011-04-03 13:55:20 -0500 )edit
I think thats how I originally had it, but it would overwrite the ROS_PACKAGE_PATH variable so I would only ever have the stuff added from .bashrc, or the stuff added from, but not both. Or does the $ sign add this path without overwriting the other paths?
Taylor Alexander gravatar image Taylor Alexander  ( 2011-04-05 09:36:57 -0500 )edit
Hi Taylor, the $ROS_PACKAGE_PATH is all of what is currently loaded into that variable. The entries are separated by : When you set and export ROS_PACKAGE_PATH=/some_new_folder_path:$ROS_PACKAGE_PATH in basically ADDS your new folder path to the front of the existing path.
Scott gravatar image Scott  ( 2011-04-27 09:17:04 -0500 )edit

Question Tools


Asked: 2011-03-01 23:12:25 -0500

Seen: 1,412 times

Last updated: Apr 03 '11