[ros-users] rosjava Exception if create two Nodes with same…

Forside
Vedhæftede filer:
Indlæg som e-mail
+ (text/plain)
+ (text/html)
Slet denne besked
Besvar denne besked
Skribent: User discussions
Dato:  
Til: User discussions
Emne: [ros-users] rosjava Exception if create two Nodes with same name
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