Ask Your Question
0

how to install Move_base action lib message

asked 2014-04-01 22:47:34 -0500

Maya gravatar image

updated 2014-04-02 04:20:40 -0500

Hellow,

I'm trying to follow the tutorial from here so i created the package but I have this error :

-- ==> add_subdirectory(simple_navigation_goals)
CMake Error at /opt/ros/groovy/share/catkin/cmake/catkinConfig.cmake:72 (find_package):
Could not find a configuration file for package move_base_msgs.

Set move_base_msgs_DIR to the directory containing a CMake configuration
file for move_base_msgs.  The file will have one of the following names:

move_base_msgsConfig.cmake
move_base_msgs-config.cmake

Call Stack (most recent call first):
simple_navigation_goals/CMakeLists.txt:7 (find_package)

I guess it's because I miss some package but I have all those installed already :

ros@ros-K56CM:~$ dpkg -l | grep navigation
ii  libdvdnav4                                  4.2.0-1                                             DVD navigation library
ii  ros-groovy-common-msgs                      1.9.17-0precise-20131011-0455-+0000                 common_msgs contains messages that are widely used by other ROS packages. These includes messages for actions (actionlib_msgs), diagnostics (diagnostic_msgs), geometric primitives (geometry_msgs), robot navigation (nav_msgs), and common sensors (sensor_msgs), such as laser range finders, cameras, point clouds.
ii  ros-groovy-nav-msgs                         1.9.17-0precise-20131011-0140-+0000                 nav_msgs defines the common messages used to interact with the navigation stack.
ii  ros-groovy-navigation                       1.10.3-s1387754744~precise                          planar navigation stack
ii  ros-groovy-navigation-tutorials             0.1.1-s1387953507~precise                           navigation_tutorials
ii  ros-groovy-rqt-nav-view                     0.3.1-0precise-20131016-0109-+0000                  rqt_nav_view provides a gui for viewing navigation maps and paths.

[EDIT]

rospack find move_base_msgs
/opt/ros/groovy/stacks/navigation/move_base_msgs

the CmakeLists :

cmake_minimum_required(VERSION 2.8.3)
project(simple_navigation_goals)

## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTS
 actionlib
 move_base_msgs
 roscpp
)

catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES simple_navigation_goals
#  CATKIN_DEPENDS actionlib move_base_msgs roscpp
#  DEPENDS system_lib
)


include_directories(
 ${catkin_INCLUDE_DIRS}
)


add_executable(simple_navigation_goals src/hello.cpp)
target_link_libraries(simple_navigation_goals ${catkin_LIBRARIES})

Package.xml :

<?xml version="1.0"?>
<package>
<name>simple_navigation_goals</name>
<version>0.0.0</version>
<description>The simple_navigation_goals package</description>

 <buildtool_depend>catkin</buildtool_depend>
 <build_depend>actionlib</build_depend>
 <build_depend>move_base_msgs</build_depend>
 <build_depend>roscpp</build_depend>
 <run_depend>actionlib</run_depend>
 <run_depend>move_base_msgs</run_depend>
 <run_depend>roscpp</run_depend>

 <export>
 </export>
 </package>
edit retag flag offensive close merge delete

Comments

can you add the output of `rospack find move_base_msgs` to your question?

demmeln gravatar imagedemmeln ( 2014-04-02 03:23:54 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2014-04-02 03:48:35 -0500

demmeln gravatar image

updated 2014-04-02 04:50:39 -0500

The correct package is installed, as you can see from the rospack command (the package is actually ros-groovy-navigation).

Please post the contents of your CMakeLists.txt and package.xml. Likely there is a missing declaration of the the dependency on move_base_msgs that is causing your cmake error.

Edit: aha, I didn't realize at first but the navigation stack in groovy is still not catkinized, so you can not use it in catkin packages. Either update to hydro, or use rosbuild/rosmake in for your package as well.

edit flag offensive delete link more

Comments

Can I let every other part of the project under catkin and just the node that use the navigation stack under rosbuild/rosmake ?

Maya gravatar imageMaya ( 2014-04-03 06:00:13 -0500 )edit

Maybe. It depends on the dependencies within your project. As a general rule, dry packages ( = rosbuild) can depend on dry packages and wet packages ( = catkin). On the other hand wet packages cannot depend on dry packages.

demmeln gravatar imagedemmeln ( 2014-04-03 06:58:35 -0500 )edit

So anything that depends on the navigation stack, either directly or indirectly will have to use rosbuild. But your package that depends on navigation, can perfectly fine depend on other catkin packages in your project.

demmeln gravatar imagedemmeln ( 2014-04-03 06:59:27 -0500 )edit

Here this package send goals to the move_base node. It's the only one that needs the navigation dependancies right? I mean for example I see no reason for my node publishingthe Odometry to can't be on catkin. Am I right?

Maya gravatar imageMaya ( 2014-04-03 07:45:51 -0500 )edit

That is correct, as long as it does not depend on the package that depends on navigation. Sounds like this is the case. I'm not sure what other packages in groovy besides the navigation stack are dry, so you have to also watch out for those if you depend on them.

demmeln gravatar imagedemmeln ( 2014-04-03 07:52:17 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2014-04-01 22:47:34 -0500

Seen: 3,159 times

Last updated: Apr 02 '14