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

How do I create a rosbuild overlay on a catkin workspace?

asked 2012-12-05 22:39:35 -0600

updated 2012-12-05 22:41:14 -0600

I installed Groovy and created a brand-new catkin workspace according to this tutorial, and everything works fine so far. However, I tried to overlay my old rosbuild-style (aka "dry") packages like this:

source $HOME/ros-groovy/devel/setup.bash
mkdir $HOME/ros-groovy-old
cd $HOME/ros-groovy-old
rosws init . /opt/ros/groovy
rosws set $HOME/path/to/my/packages

According to REP-128, I can enable the overlay with source $HOME/ros-groovy-old/setup.bash. This lets me work with my dry packages, but it makes ROS forget about my catkin workspace. If I re-source $HOME/ros-groovy/devel/setup.bash, I can use my wet packages in the catkin workspace again, but I loose the dry packages in the rosbuild workspace.

I checked and it seems that both setup.bash overwrite the ROS_PACKAGE_PATH with their own values. But how can I make them aware of each other? The only documentation Google came up with told me that the overlay should Just Work(tm). What am I doing wrong?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
4

answered 2012-12-05 22:44:37 -0600

KruseT gravatar image

updated 2012-12-06 00:33:35 -0600

Lorenz gravatar image

This was a bug in rosws. update rosinstall (via-apt get) to 0.6.22, and run rosws regenerate in your rosbuild workspace. the changed setup.sh should now include your catkin packages in the ROS_PACKAGE_PATH.

EDIT: Sorry, did not read your question careful enough. REP128 is not correct (and still work in progress). A tutorial on how to have a rosbuild workspace on top of a catkin workspace is here: http://ros.org/wiki/catkin/Tutorials/using_rosbuild_with_catkin

So what you have to do is when you create your rosbuild workspace, you tell rosws which catkin workspace you want to overlay (Else it cannot know). So instead of calling:

rosws init . /opt/ros/groovy

call

rosws init . $HOME/ros-groovy/devel/

The same can be done later with rosws merge, but at the risk of having the catkin workspace at the wrong place in the ROS_PACKAGE_PATH.

edit flag offensive delete link more

Comments

According to dpkg -s python-rosinstall, I already have version 0.6.22-1.

roehling gravatar image roehling  ( 2012-12-05 23:55:53 -0600 )edit

Thanks, that worked.

roehling gravatar image roehling  ( 2012-12-06 00:16:42 -0600 )edit
KruseT gravatar image KruseT  ( 2012-12-06 00:20:43 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2012-12-05 22:39:35 -0600

Seen: 1,231 times

Last updated: Dec 06 '12