0
$\begingroup$

Rosanswers logo

I have been using ROS for a few days and I am following the tutorial for setting up the Navigation Stack. It tells me to create a package as follows:

catkin_create_pkg my_robot_name_2dnav move_base my_tf_configuration_dep my_odom_configuration_dep my_sensor_configuration_dep

Since tf and odom are handled in the zen package, and my sensor is a Kinect, my actual command is:

catkin_create_pkg zen_2dnav2 move_base freenect_launch zen

When I execute catkin_make I get an error due to move_base:

CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
Could not find a package configuration file provided by "move_base" with
any of the following names:

  move_baseConfig.cmake
  move_base-config.cmake

I googled and subsequently removed the error by:

  • Removing the build-Dependency on move_base from package.xml
  • Removing move_base from find_package(catkin REQUIRED COMPONENTS ...) in CMakeLists.txt

So my questions in order of importance are:

  • Why did I get the error ?
  • What are the implications of removing the dependency ? i.e. Will the Navigation Stack fail because of this
  • During my googling I read that move_base is not catkinized and a catkin package cannot depend on it. Does that mean the tutorial is doomed to failure. I am hoping the information is out of date and move_base IS catkinized. How can I check this ? Is there an up to date list of packages that work in Kinetic ?

Originally posted by elpidiovaldez on ROS Answers with karma: 142 on 2016-09-29

Post score: 2

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Why did I get the error?

You are probably getting the error because the move_base package is not installed in your machine. Try to execute the command:

sudo apt-get install ros-kinetic-navigation

It will install all the packages you need to run the navigation stack.

What are the implications of removing the dependency ? i.e. Will the Navigation Stack fail because of this

By removing the dependency your package will fail to compile if it uses any library or header file defined in mobile_base package.

During my googling I read that move_base is not catkinized and a catkin package cannot depend on it. Does that mean the tutorial is doomed to failure. I am hoping the information is out of date and move_base IS catkinized. How can I check this ? Is there an up to date list of packages that work in Kinetic ?

That information is out of date. The package move_base is indeed catkinized. You can check it by taking a look at move_base's CMakeLists.txt file.

roscd move_base
cat CMakeLists.txt

You will see that it uses the proper catkin macros.

If you want to see a list of available packages in Kinetic, execute:

sudo apt-get update
apt-cache search ros-kinetic

I hope this helps


Originally posted by Martin Peris with karma: 5625 on 2016-09-29

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by elpidiovaldez on 2016-09-30:
Exactly what I needed on all my questions. Thank you very much.

I see now that I was trying to setup the navigation stack without actually having installed it. I am amazed I got as far as I did !

Comment by Martin Peris on 2016-09-30:
I am glad this solved your issue. If you are happy with the answer, please, mark it as "correct" using the ✅ button. This way people with the same problem can know that this is the correct answer.

Comment by elpidiovaldez on 2016-10-02:
I tried to do something to accept your answer for ages, but couldn't find what to click. Thanks for the clue. I was looking where I see 'edit', 'retag' 'close' etc. and had missed that rather understated tick icon. Now done, and thanks again.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.