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

How to link to a custom version of OMPL instead of the ROS-supplied version?

asked 2015-04-14 21:14:12 -0600

Neil Traft gravatar image

updated 2015-04-14 21:20:43 -0600

ROS Hydro comes with OMPL 0.13.0. I want to use OMPL 1.0.0. For this project, I'm using OMPL on its own; I'm not trying to change the one used by MoveIt, only the one used by my program. How do I set it up such that the line:

find_package(OMPL REQUIRED)

in my CMakeLists.txt will find the version of OMPL at /usr/local and not the one at /opt/ros/hydro?

As suggested by /opt/ros/hydro/share/ompl/ompl-config.cmake, I tried:

$ catkin_make -DOMPL_PREFIX="/usr/local"

But that didn't seem to work at all. I even output a message to ensure the variable was set:

-- +++ processing catkin package: 'sgpp'
-- ==> add_subdirectory(sampled-gradient-path-planning/sgpp)
CMake Warning at sampled-gradient-path-planning/sgpp/CMakeLists.txt:6 (message):
  OMPL prefix is: /usr/local

-- Using these message generators: gencpp;genlisp;genpy
-- Found MATLAB: /usr/local/MATLAB/R2014a/bin/matlab 
-- Found OMPL: /opt/ros/hydro/lib/ 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ntraft/Development/catkin_ws/build

Notice the line Found OMPL: /opt/ros/hydro/lib/

Edit: Hmm, should I instead be looking into how to build the ompl ROS package and use workspace overlaying?? But then that would change the version of OMPL for the whole system, rather than just my program... right?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-04-15 11:55:35 -0600

marcoesposito1988 gravatar image

I think that overlaying is the simplest way if you are developing ROS programs, you will just need to use catkin_make_isolated because of OMPL packaging.

And have no fear, you have complete control over it. catkin will find the underlay at compilation time only if you have sourced from its devel/setup.bash or install/setup.bash (devel_isolated and install_isolated for catkin_make_isolated) in your CURRENT shell.

edit flag offensive delete link more


Well, what I meant was, if I decide to also use MoveIt in my program then could there be conflicts? Or maybe not, because I'd be using the MoveIt from /opt/ros/hydro which is already linked to /opt/ros/hydro/ompl and that would not change?

Neil Traft gravatar image Neil Traft  ( 2015-04-15 12:44:52 -0600 )edit

Question Tools



Asked: 2015-04-14 21:14:12 -0600

Seen: 1,266 times

Last updated: Apr 15 '15