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

You need to create a node that subscribes to a sensor_msgs/Image topic. Here's some code:

public class ImageListenerNode extends AbstractNodeMain {

public static String TAG = "image_listener";

@Override
public GraphName getDefaultNodeName() {
    return GraphName.of(TAG);
}

@Override
public void onStart(ConnectedNode node) {
  final Log log = node.getLog();
  Subscriber<Image> subscriber = node.newSubscriber("/image_topic", "sensor_msgs/Image");

  subscriber.addMessageListener(new MessageListener<Image>() {
      @Override
      public void onNewMessage(Image message) {
          log.info("New image is here!");
      }

  });
}
}

Apart from the standard rosjava dependency, you will need to add org.ros.rosjava_messages:sensor_msgs to your dependencies in your Gradle script / POM file (check https://github.com/rosjava/rosjava_mvn_repo/tree/master/org/ros/rosjava_messages/sensor_msgs to see the latest version of these messages). Then, you will be able to import sensor_msgs.Image to your project. Hope it helps!