Nodelets Indigo strange behavior
I've been having problem with ROS Indigo. I have two variants of just the same code: using nodes and using nodelets. Nodes work without any problems, but I need more performance, which I guess nodelets can provide.
Roscore, nodelet manager and nodelets are started on the same host. If I do not specify ROS_IP or at least ROS_HOSTNAME (=localhost), nodelets exit because of broken bond.
Why does it need IP or hostname if everything is on the same host?
just an observation: nodelets will only help if the bottleneck in your system is in message passing (ie: you're exchanging large messages where (de)serialisation overhead is taking up most of the CPU resources).
It needs IP or host name because the network is the primary method for ROS systems to communicate. Even if you have two nodelets which can pass messages directly, they will still need to access the ros master and possibly other parts of ROS. To do this they need to know the network address.
Also I second @gvdhoorn's comment. Nodelets will not automatically give you better performance, they simply remove one potential bottleneck.
@PeteBlacker, but why do then nodes work without specifying hostname or ip?