ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

What is the status of the rosjava client library?

asked 2017-06-15 14:42:42 -0600

msmcconnell gravatar image

What is the usability of rosjava? It seems to still be in development and has been updated to kinetic, but much of the documentation and discussion around it seems to be a couple of years old. Would anyone recommend it for projects that don't involve android development? Is there a substantial performance impact from using rosjava? Also does it support tf2?

edit retag flag offensive close merge delete


I'm not sure how closely the current maintainer(s) of that client library watch ROS Answers. There is a ROS Discourse category for rosjava. You might want to post this over there:

gvdhoorn gravatar image gvdhoorn  ( 2017-06-16 04:37:15 -0600 )edit

Thanks for the tip. I'll check it out.

msmcconnell gravatar image msmcconnell  ( 2017-06-16 07:44:34 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2017-06-16 13:04:17 -0600

msmcconnell gravatar image

I received a very good answer from jubeira on the Discourse site as recommended by gvdhoon. I hope others find it helpful.

  • Rosjava can be used "as is" in a real project. I'm using it myself in a project where roscpp and rospy are not an option, and it does its job. The documentation in the wiki should be good enough to get started, and I offer myself to help to improve it if necessary. It has some issues as you can see in its public repository, but its currently under active maintenance: if you find something that is wrong, or want to contribute a new feature, you will get a response within a short time lapse.
  • I don't have an accurate answer about its performance; it will probably depend on what you want to do. What is your application about? My short answer would be that you shouldn't have problems with it (see next item).
  • You can write native nodes and execute them from a java application if you want; Rosjava kinetic has support for that. I've tried it and it can be done. You can take a look here: . (The link is under Android, but it can be done for pure java). Then, nodes can communicate through topics as usual in ROS. From the java side of the application, all the nodes have the same interface, so you don't care if the node's implementation is in Java or in native code when you execute it (does this answer your question?).
  • TF2 messages are included in rosjava messages (here's the Maven artifact: )
edit flag offensive delete link more


Thanks for bringing the reply back here.

tfoote gravatar image tfoote  ( 2017-06-16 13:36:06 -0600 )edit

Yeah thanks, check your answer as the right one to!

Airuno2L gravatar image Airuno2L  ( 2017-06-16 14:27:45 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2017-06-15 14:42:42 -0600

Seen: 235 times

Last updated: Jun 16 '17