Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

"Installing" a node (or anything else really) is just a matter of copying the right files into the right place. With that in mind, it's not clear why installing your node would make it work better. It'll still be the same program, just in a different place.

It seems like there's something wrong with how you've set the ROS_MASTER_URI on your laptop or with your ROS master, but it's hard to tell because your question contradicts itself. You say that tools like rostopic and rviz work and can communicate with the master, but you also say that your custom node cannot. These should both use the ROS_MASTER_URI and other environment variables in the same way, so it doesn't really make sense that one would work and the other fail.

Is the ROS_MASTER_URI set to the same value for all tools, and is the ROS master running on the PI for all of your tests?

P.S. - if the environment setup seems like a messy dorm room, it's only because you've made a mess of things. If you're using a single workspace, edit your bashrc so that it only sources that workspace on startup, and things should be much cleaner.

Also note that each ROS workspace captures the environment that existed when you built it, and completely overwrites any previous workspace environment variables. If your source /opt/ros/indigo/setup.bash and then build your workspace, when you source the devel/setup.bash in your workspace it will undo any previous ROS environment variables and then set up the environment as if it if had sourced /opt/ros/indigo/setup.bash and then append the directories for your workspace to the environment.