ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Thank you for working on this, Damon!

Unfortunately, I'm still not able to connect rosjava nodes to gazebo

Jun 15, 2012 10:36:11 AM org.ros.internal.node.client.Registrar <init>
INFO: MasterXmlRpcEndpoint URI: http://localhost:11311
Jun 15, 2012 10:36:12 AM org.ros.internal.node.client.Registrar onPublisherAdded
INFO: Registering publisher: Publisher<PublisherDefinition<PublisherIdentifier<NodeIdentifier</test/SimConnectNode, http://127.0.0.1:60384/>, TopicIdentifier</rosout>>, Topic<TopicIdentifier</rosout>, TopicDescription<rosgraph_msgs/Log, acffd30cd6b6de30f120938c17c593fb>>>>
Jun 15, 2012 10:36:12 AM org.ros.internal.node.client.Registrar callMaster
INFO: Response<Success, Registered [/test/SimConnectNode] as publisher of [/rosout], [http://ubuntu:42778/]>
Jun 15, 2012 10:36:12 AM org.ros.internal.node.topic.DefaultPublisher$1 onMasterRegistrationSuccess
INFO: Publisher registered: Publisher<PublisherDefinition<PublisherIdentifier<NodeIdentifier</test/SimConnectNode, http://127.0.0.1:60384/>, TopicIdentifier</rosout>>, Topic<TopicIdentifier</rosout>, TopicDescription<rosgraph_msgs/Log, acffd30cd6b6de30f120938c17c593fb>>>>
Jun 15, 2012 10:36:12 AM org.ros.internal.node.client.Registrar onSubscriberAdded
INFO: Registering subscriber: Subscriber<Topic<TopicIdentifier</clock>, TopicDescription<rosgraph_msgs/Clock, a9c97c1d230cfc112e270351a944ee47>>>
Jun 15, 2012 10:36:12 AM org.ros.internal.node.client.Registrar callMaster
INFO: Response<Success, Subscribed to [/clock], [http://ubuntu:43511/]>
Jun 15, 2012 10:36:12 AM org.ros.internal.node.topic.DefaultSubscriber$1 onMasterRegistrationSuccess
INFO: Subscriber registered: Subscriber<Topic<TopicIdentifier</clock>, TopicDescription<rosgraph_msgs/Clock, a9c97c1d230cfc112e270351a944ee47>>>
Jun 15, 2012 10:36:12 AM org.ros.internal.node.RosoutLogger info
INFO: Node test/SimConnectNode has started.
Exception in thread "pool-1-thread-9" java.lang.NullPointerException
    at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:187)
    at org.ros.time.ClockTopicTimeProvider.getCurrentTime(ClockTopicTimeProvider.java:58)
    at org.ros.internal.node.DefaultNode.getCurrentTime(DefaultNode.java:377)
    at org.ros.internal.node.RosoutLogger.publish(RosoutLogger.java:58)
    at org.ros.internal.node.RosoutLogger.info(RosoutLogger.java:134)
    at SimConnectNode.onStart(SimConnectNode.java:22)
    at org.ros.internal.node.DefaultNode$5.run(DefaultNode.java:511)
    at org.ros.internal.node.DefaultNode$5.run(DefaultNode.java:508)
    at org.ros.concurrent.ListenerCollection$1.run(ListenerCollection.java:117)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679)

The node causing this behavior is

public class SimConnectNode implements org.ros.node.NodeMain, org.ros.message.MessageListener<geometry_msgs.Twist> {

protected Log log;
protected Subscriber<std_msgs.String> subscriber;

public SimConnectNode(URI rosMasterUri) {
    SimpleNodeExecutor.run(rosMasterUri, this);
}

public void onStart(ConnectedNode connectedNode) {
    log = connectedNode.getLog();
    log.info("Node " + this.getDefaultNodeName().toString() + " has started.");
}

public void onShutdown(Node node) { /* TODO Auto-generated method stub */ }  
public void onShutdownComplete(Node node) { /* TODO Auto-generated method stub */ }  
public void onError(Node node, Throwable throwable) { /* TODO Auto-generated method stub */ }

public GraphName getDefaultNodeName() {
    return new GraphName("test/SimConnectNode");
}

public void onNewMessage(Twist twist) {
    System.out.println("i got: " + twist.toString());
}

where SimpleNodeExecutor is as follows:

public class SimpleNodeExecutor {  
    public static void run(URI uri, NodeMain node) {
    NodeConfiguration n = NodeConfiguration.newPrivate(uri);
    DefaultNodeMainExecutor d = (DefaultNodeMainExecutor) DefaultNodeMainExecutor.newDefault();
    d.execute(node, n);
}

}

Could you please point out what I've done wrong or give me an example how to work with Gazebo?

Thanks in advance,

Best regards, Andreas