Robotics StackExchange | Archived questions

ERROR: cannot launch node of type [controller_manager/spawner]: can't locate node [spawner] in package [controller_manager]

why error? when i"roslaunch rrbot_control test1.launch"

Asked by 623921767@qq.com on 2018-07-20 01:21:45 UTC

Comments

Answers

Probably because controller_manager is not installed.

Fix:

sudo apt install ros-kinetic-controller-manager

In general, it's best to use rosdep to install missing packages. I'm going to assume that:

  • you are using ROS kinetic
  • your catkin workspace is ~/catkin_ws
  • you've checked out gazebo_ros_demos (which includes rrbot_control) into ~/catkin_ws/src/gazebo_ros_demos

Then do this:

source /opt/ros/kinetic/setup.bash
sudo rosdep init
rosdep update
cd ~/catkin_ws/src
rosdep install -i --from-paths .

This will install all missing dependencies for you, and should work on 99% of all ROS packages.

Asked by Martin Günther on 2018-07-20 07:29:13 UTC

Comments

Good answer. Just to keep things connected: #q252478.

Asked by gvdhoorn on 2018-07-20 08:00:33 UTC

Nice answer over there too, upvoted! :)

Asked by Martin Günther on 2018-07-20 08:07:01 UTC

when i "sudo apt install ros-kinetic-controller-manager",it is already installed,i do not know if i understand "you've checked out gazebo_ros_demos (which includes rrbot_control) into ~/catkin_ws/src/gazebo_ros_demos"

Asked by 623921767@qq.com on 2018-07-20 20:20:42 UTC

My "test1.launch" file is under the "rrnot_control" folder. my "rrbot_control" is under the "my_gazebo" folder.when i "cd ~/catkin_ws/src/my_gazebo" run these"source /opt/ros/kinetic/setup.bash sudo rosdep init rosdep update cd ~/catkin_ws/src rosdep install -i --from-paths " is that right?

Asked by 623921767@qq.com on 2018-07-20 20:34:48 UTC

is the path right?when i run "sudo rosdep init",ERROR: default sources list file already exists: /etc/ros/rosdep/sources.list.d/20-default.list Please delete if you wish to re-initialize

Asked by 623921767@qq.com on 2018-07-20 20:37:19 UTC

use the "indigo version" ros

Asked by 623921767@qq.com on 2018-07-20 20:38:44 UTC

when i "rosdep update",it works. when "cd ~/catkin_ws/src" run "rosdep install -i --from-paths"

Asked by 623921767@qq.com on 2018-07-20 20:44:58 UTC

Usage: rosdep [options] Commands: rosdep check ... check if the dependencies of package(s) have been met. rosdep install ... generate a bash script and then execute it. rosdep db .... rosdep: error: no packages or stacks specified,why??

Asked by 623921767@qq.com on 2018-07-20 20:48:21 UTC

  1. Ignore the error on "sudo rosdep init". It just means that you have already run it.
  2. when you are using indigo, just replace every occurrence of "kinetic" with "indigo" in my answer.
  3. Follow my instructions exactly. The commands that you pasted are different.

Asked by Martin Günther on 2018-07-24 14:30:48 UTC

In other words, you should run: cd ~/catkin_ws/src && rosdep install -i --from-paths . (notice the . at the end), not cd ~/catkin_ws/src/my_gazebo && rosdep install -i --from-paths (without the .).

Asked by Martin Günther on 2018-07-24 14:35:17 UTC

Also, before that, run source /opt/ros/indigo/setup.bash, not source /opt/ros/kinetic/setup.bash.

Asked by Martin Günther on 2018-07-24 14:35:59 UTC

@Martin Günther Hello, sir. I got the same error, but I can't fix this error by following your instructions strictly. Oddly, this error wouldn't appear a few days ago, and I have not made changes to the system.

Asked by anonymous38087 on 2018-10-21 06:52:03 UTC

chen@chen:~/catkin_ws/src$ rosdep install -i --from-paths .

#All required rosdeps installed successfully

I think this shows that the dependencies has been successfully fixed, but the terminal still yields can't locate node [spawner] in package [controller_manager]

Asked by anonymous38087 on 2018-10-21 06:55:56 UTC

And ros-kinetic-controller-manager has been installed already.

Asked by anonymous38087 on 2018-10-21 07:05:38 UTC

rosrun controller_manager controller_manager [rosrun] Couldn't find executable named controller_manager below /opt/ros/kinetic/share/controller_manager [rosrun] Found the following, but they're either not files, [rosrun] or not executable: [rosrun] /opt/ros/kinetic/share/controller_manager

Asked by anonymous38087 on 2018-10-21 08:06:15 UTC

Also, can't normally run the controller_manager node.

Asked by anonymous38087 on 2018-10-21 08:15:10 UTC