Ask Your Question
0

Can't launch/locate nodes - but nodes exist!

asked 2018-08-03 09:05:47 -0600

JulianBell gravatar image

updated 2018-08-04 12:52:51 -0600

Hi all,

I'm a ROS neophyte, trying to get my Neato Botvac D80 working with ROS Indigo, following Julian Tatsch's instructions (part 1,part 2). Here's what I've done so far:

  • Gotten an RPi Zero W set up to behave like the Hame mini-router he references. I can telnet in on port 3000 and send serial commands to make the robot play sounds, etc.

  • Installed ROS Indigo in an Ubuntu 14.04 LTS VM running in VirtualBox

  • Followed Tatsch's instructions to install other required packages, with a few modifications (had to remove the version of ros-planning/navigation that he specified; fixes to correct missing "bullet" and "sdl"; cloning openslam_gmapping)

  • Successfully running catkin_make with no errors after the above steps (hooray!)

  • Sourcing my catkin workspace to the ROS_PACKAGE_PATH. Initially, I did this with echo, but I've subsequently figured out how to do it the right way (source devel/setup.bash)

I'm now trying to launch the neato ros_node. Things are mostly working - a bunch of nodes (including the Neato robot node) load successfully, Rviz pops up, etc. However, I get the following two errors:

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

What's confusing to me is that I can find both of these packages (in the ROS core directories - /opt/ros/indigo/share, I think). In the case of amcl, I can actually launch the examples in the /examples directory. So the packages are clearly there!

Anyway - I've done some looking around, and answers seem to be bimodally distributed between "source your workspace" and "super complicated answer to much more involved question". I'm guessing that I'm missing something simple - either about version compatibility, or about something in build parameters. If anyone can give me any guidance on what the troubleshooting steps should be for this, I'd appreciate it very much. Thanks!

EDIT (2018-08-04): Thanks everyone for your suggestions! Here's some additional information that's been requested:

Command that I run to start the node:

roslaunch neato_node bringup-all.launch
edit retag flag offensive close merge delete

Comments

What command did you run to launch? Can you please update your question with it?

jayess gravatar imagejayess ( 2018-08-03 10:56:57 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted
0

answered 2018-08-03 12:01:02 -0600

Carl D gravatar image

updated 2018-08-03 15:19:06 -0600

AMCL and Move Base are part of the ros-planning/navigation repository. I expect you have some part of that still around in your catkin workspace that is masking the installed binary packages.

You should make sure it is properly deleted from your workspace. I'd recommend ensuring the the navigation directory is deleted from your src directory and then deleting the devel and build directories.

After that rebuild your workspace and source the devel/setup.bash again. After that everything should be cleaned up.

edit flag offensive delete link more

Comments

Carl, thanks for your help - this seems to have fixed it! However, I'm a little unclear what happened. When I looked in src, I didn't find any evidence of the navigation directory hanging around. However, deleting devel and build and re-making worked - any idea why?

JulianBell gravatar imageJulianBell ( 2018-08-04 12:56:38 -0600 )edit

When you attempted to build the navigation source tree, the build must have gotten far enough to install some files for AMCL and Move Base in the devel tree, just not the binaries. When you tried to run the launch file, ROS found the incomplete directories in your workspace first.

Carl D gravatar imageCarl D ( 2018-08-04 21:10:40 -0600 )edit

By deleting the incomplete directories under devel, ROS was free to look further down the search path and find the release builds

Carl D gravatar imageCarl D ( 2018-08-04 21:12:21 -0600 )edit
0

answered 2018-08-03 13:46:11 -0600

jayess gravatar image

updated 2018-08-03 17:32:55 -0600

I'm guessing that you're attempting to use roslaunch directly with a node. This isn't possible because roslaunch expects launch files, not nodes. Launch files usually end with the launchfile extension and are XML files. You can launch them similar to

roslaunch <my_package> <my_launch_file.launch>

Take a look at roslaunch on the wiki.

edit flag offensive delete link more

Your Answer

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

Add Answer

Question Tools

Stats

Asked: 2018-08-03 09:05:47 -0600

Seen: 1,081 times

Last updated: Aug 04 '18