How about remote subscribers ?
I dont know if this use case exist or not but There can be remote publisher/subscriber?
What happens in c++? Do code core refuse connection?

Rosjava need fix ...I am seeing this exception but publisher and subscriber are able to communicate..(with exception)


Thanks and Regards
Abhishek Verma


On Tue, Jun 21, 2011 at 6:41 PM, Nicholas Butko <nbutko@ucsd.edu> wrote:
ROS nodes must have unique names. Two start two nodes of the same type in c++, you would use the command line arguments to set the name of the nodes, which would override the default. 

I'm not sure if this command line argument name remapping was implemented in java, but if it wasn't, you may consider having java append a random number to the end of the node name. 

--Nick 

On Tue, Jun 21, 2011 at 10:33 AM, Abhishek Verma <toabhishekverma@gmail.com> wrote:
Hi Friends,

I am seeing following exception 

21-Jun-2011 18:29:01 org.apache.xmlrpc.server.XmlRpcErrorLogger log
SEVERE: Failed to invoke method registerSubscriber in class org.ros.internal.node.xmlrpc.MasterImpl: null
org.apache.xmlrpc.common.XmlRpcInvocationException: Failed to invoke method registerSubscriber in class org.ros.internal.node.xmlrpc.MasterImpl: null
at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:129)
at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute(ReflectiveXmlRpcHandler.java:106)
at org.apache.xmlrpc.server.XmlRpcServerWorker.execute(XmlRpcServerWorker.java:46)
at org.apache.xmlrpc.server.XmlRpcServer.execute(XmlRpcServer.java:86)
at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java:200)
at org.apache.xmlrpc.webserver.Connection.run(Connection.java:208)
at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:68)
Caused by: java.lang.IllegalStateException
at com.google.common.base.Preconditions.checkState(Preconditions.java:129)
at org.ros.internal.node.server.MasterServer.addSlave(MasterServer.java:80)
at org.ros.internal.node.server.MasterServer.registerSubscriber(MasterServer.java:110)
at org.ros.internal.node.xmlrpc.MasterImpl.registerSubscriber(MasterImpl.java:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:115)


My code is 

//Publisher
node = new Node("Camera1", configuration);
publisher = node.createPublisher("Camera1",
org.ros.message.sensor_msgs.Image.class);
....................

//Subscriber 
 node = new Node("Camera1", configuration);
      System.out.println("ScreenView.main() Starting");
//      final Log log = node.getLog();
      node.createSubscriber("Camera1", new MessageListener<org.ros.message.sensor_msgs.Image>() {
        public void onNewMessage(org.ros.message.sensor_msgs.Image message) {
          System.out
.println("Subscriber \"" + message + "\"");
        }
      }, org.ros.message.sensor_msgs.Image.class);


Reason behind this exception is Nodes with same name.
If I change this name and create different nodes in publisher and subscribers code then its fine.

Anyone has any idea why is that or we are not supposed to create node with same name?

Thanks and Regards
Abhishek Verma

_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users



_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users