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

Need some advice on how to use Hydro navigation in Groovy

asked 2013-08-15 07:03:23 -0600

Hendrik Wiese gravatar image

updated 2014-01-28 17:17:41 -0600

ngrennan gravatar image

Hi again,

I've tried figuring it out by myself but sadly to no avail. Could somebody explain in detail how I use the catkinized navigation stack from Hydro in Groovy? I was told that's how I can use the navigation stack in a catkin workspace. But I couldn't by the life of me figure out how to install, build and bind it to my workspace. Maybe there's some step-by-step guide that I haven't found yet. That would do.

//update: I have cloned the whole navigation stack into my workspace. Now I am trying to compile it with catkin_make but fail at costmap_2d which complains about a missing pcl/conversions.h. ros-groovy-pcl-conversions is installed.

//update2: I've found out that there seems to be no actual pcl/conversions.h in the path /opt/ros/groovy/include/pcl-1.6 but instead there's only a pcl/ros/conversions.h in that path. For Hydro however I've got a pcl/conversions.h and a pcl/ros/conversions.h. So why is pcl/conversions.h missing in my Groovy distro? ros-groovy-pcl-conversions and ros-hydro-pcl-conversions are both installed.

//update3: There are several .h files missing in /opt/ros/groovy/include/pcl-1.6/pcl. Where do they usually come from? What package provides them?

//update4: Still struggling with the same error and not getting a single little step forward. I've tried building PCL from sources, 1.6 as well as 1.7. But no luck. I've reinstalled all ros-...-pcl-... packages with apt-get (Groovy as well as Hydro). No luck. I've linked all /opt/ros/hydro/include/pcl-1.7/*.h to /opt/ros/groovy/include/pcl-1.6/... No luck... I'm going crazy. All I wanted in the first place was to be able to post goals to the navigation stack in a catkin workspace. That doesn't work (at least here) because I can't have move_base in find_package in Groovy.

//update5: After migrating the workspace to Hydro, at least the basic parts are working again (catkin has finally been able to compile the workspace). Now I've got to smooth out some remaining creases...

Thanks to all of you who helped me with this as far as possible!


Any help would be greatly appreciated.

Thanks a lot!

Cheers

edit retag flag offensive close merge delete

Comments

So the `pcl/conversions.h` is new in pcl-1.7, if you are using pcl-1.6 you must change those include lines to `pcl/ros/conversions.h`. `pcl_conversions` provides this header: `pcl_conversions/pcl_conversions.h`, in both Groovy and Hydro.

William gravatar image William  ( 2013-08-19 05:43:48 -0600 )edit
1

It is hard to back-port large components with many dependencies, like navigation and PCL. That is why ROS has distros, to take that burden off of most users.

joq gravatar image joq  ( 2013-08-19 06:03:28 -0600 )edit

Hm... shouldn't this be caught somehow for those who try to use a catkinized navigation stack in Groovy with pcl-1.6? I mean, this has got to be a relatively common issue. I conclude using Groovy with catkin is a rather bad idea if you intend to also use navigation, move_base and actionlib...

Hendrik Wiese gravatar image Hendrik Wiese  ( 2013-08-19 06:04:11 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted
2

answered 2013-08-15 10:26:51 -0600

William gravatar image

You will need to resolve the dependencies for the navigation packages. rosdep can resolve them system dependencies (and the ROS dependencies if you are on Ubuntu) with this command:

rosdep install --from-paths src --ignore-src --rosdistro groovy -y

The above command will find all of the packages in the src folder, recursively find all dependencies, and try to install them. It also assumes that you are using groovy. You can add the --simulate option to see what it would install, I recommend checking that out before running it.

If you are on Ubuntu, it will install ROS packages, like pcl_conversions from apt-get. If you are not using Ubuntu, or you are building everything from source, you can use the rosinstall_generator command line tool to get those dependencies. Install it if you don't already have it:

# For ubuntu
sudo apt-get install python-rosinstall-generator
# For other systems
sudo pip install -U rosinstall_generator

I'll assume you have cloned the hydro version of navigation into a folder src/navigation. You can use the rosinstall_generator to create a rosinstall file which will get ALL of the dependencies for navigation like this:

rosinstall_generator --wet-only --deps --deps-only --tar --rosdistro groovy `python -c "from catkin_pkg.packages import find_packages; print ' '.join([v.name for k, v in find_packages('src').items()])"` > all_navigation_deps.rosinstall

If you only want the dependencies you are missing (you don't want to build things from source which you have installed from apt-get), you can exclude things you already have by adding --exclude RPP:

rosinstall_generator --wet-only --deps --deps-only --tar --rosdistro --exclude RPP groovy `python -c "from catkin_pkg.packages import find_packages; print ' '.join([v.name for k, v in find_packages('src').items()])"` > all_navigation_deps.rosinstall

This will exclude any packages found in your ROS_PACKAGE_PATH from the list. (make sure you sourced /opt/ros/groovy/setup.bash first).

edit flag offensive delete link more

Comments

Thanks, I've tried all that but still got the problem of `costmap_2d` complaining about a missing pcl/conversions.h. Here's what catkin_make_isolated keeps spitting out: http://pastebin.com/yyR1xct1 Do you need any further information? I'd really appreciate it if we could solve this problem together

Hendrik Wiese gravatar image Hendrik Wiese  ( 2013-08-15 21:48:50 -0600 )edit

Well did you run `rosdep` on it? Did it report that you have all dependencies met? Does `costmap_2d` build depend on `pcl_conversions`? Do you have `pcl_conversions` in your workspace?

William gravatar image William  ( 2013-08-16 07:18:58 -0600 )edit

I did run `rosdep` (with and without --simulate), didn't output anything so I guess all dependencies are met (no output = no error). `costmap_2d` has `pcl_conversions` in its build_... and run_depend fields in package.xml, also in its CMakeLists. pcl_conversions is in my wspc now, still no change.

Hendrik Wiese gravatar image Hendrik Wiese  ( 2013-08-16 23:38:13 -0600 )edit
1

answered 2013-08-15 10:49:32 -0600

David Lu gravatar image

I am currently working in a branch called 'groovy_stable' (https://github.com/DLu/navigation/tree/groovy_stable) which has most of the hydro functionality but works in groovy. This is not an official branch, but may suit your needs.

edit flag offensive delete link more

Comments

Thanks, I've also tried your fork but it shows the same error of a missing pcl/conversions.h. Looks like my workspace is corrupted somehow...

Hendrik Wiese gravatar image Hendrik Wiese  ( 2013-08-15 21:50:46 -0600 )edit

groovy_stable branch works for me! great...

ZdenekM gravatar image ZdenekM  ( 2013-08-19 05:26:33 -0600 )edit

Question Tools

3 followers

Stats

Asked: 2013-08-15 07:03:23 -0600

Seen: 982 times

Last updated: Aug 19 '13