Book: Mastering ROS for Robotics Programming, 2nd Edn; Chapter 3 - Simulating Robot using ROS & Gazebo
I am facing many problems. I am trying to learn ROS from the book they have supported officially but unfortunately, I am facing problem. I tried to simulate the model given in Chapter 2 of the same book and faced problem which is already reported here.
Now in the sequel, I am trying to learn Gazebo to simulate 7DOF robot given in that chapter given online but when I run it, I get this error.
-- Could not find the required component 'controller_manager'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by
"controller_manager" with any of the following names:
controller_managerConfig.cmake
controller_manager-config.cmake
Add the installation prefix of "controller_manager" to CMAKE_PREFIX_PATH or
set "controller_manager_DIR" to a directory containing one of the above
files. If "controller_manager" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
chapter_3_codes/diff_wheeled_robot_control/CMakeLists.txt:7 (find_package)
-- Configuring incomplete, errors occurred!
I am using Ubuntu 16.04 under ROS Kinetic. I have also tried to run under Virtual Machine for Ubuntu 14.04 and ROS Indigo and got this error.
CMake Warning at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
Could not find a package configuration file provided by "joy" with any of
the following names:
joyConfig.cmake
joy-config.cmake
Add the installation prefix of "joy" to CMAKE_PREFIX_PATH or set "joy_DIR"
to a directory containing one of the above files. If "joy" provides a
separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
chapter_3_codes/diff_wheeled_robot_control/CMakeLists.txt:7 (find_package)
-- Could not find the required component 'joy'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
Edit 1: September 6, 2016
Are you sure you ran the rosdep commands properly? Were there any errors? If I look at chapter_3_codes/diff_wheeled_robot_control/package.xml for instance, I definitely see a <build_depend>controller_manager</build_depend> and a run_depend, which should have resulted in rosdep installing ros-$distro-controller-manager for you.
I followed these official tutorials (link) to thoroughly check the rosdep.
. I also checked the installed packages by using command
apt-cache search ros-kinetic
and I did see these packages available in installation
ros-kinetic-control-msgs - control_msgs contains base messages and actions useful for controlling robots.
ros-kinetic-control-toolbox - The control toolbox contains modules that are useful across all controllers.
ros-kinetic-controller-interface - Interface base class for controllers
ros-kinetic-controller-manager - The controller manager.
ros-kinetic-controller-manager-msgs - Messages and services for the controller manager.
ros-kinetic-controller-manager-tests - controller_manager_tests
So, I guess the necessary packages are still there. But still I tried to run as per your instructions to run this command.
sudo apt-get install python-rosinstall
and simply got this
Reading package lists... Done
Building dependency tree
Reading state ...
Who is 'they' here, exactly? Afaict, the book is written by an author not affiliated with the OSRF?
This book is officially recommended by ROS for the beginners who wants to understand ROS step by step in 3-4 months.
Please update your question with the exact commands you used, in which order and the resulting output of all of them. Especially the command line and output of
rosdep
.Can we see where this takes place? I do not think ROS (assuming you meant OSRF) recommends any book
officially
IMO.Good to hear you got it to work. For the future: if you download someone's code, always first run a
rosdep install ..
to make sure you have all dependencies installed. Assuming the author of the pkgs did his work, that should be enough.And no need to thank me; this is why ROS Answers exists.