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

What is the status of the rosjava client library?

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

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

Comments

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: discourse.ros.org/client-libraries/rosjava.

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

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

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

1 Answer

Sort by » oldest newest most voted
2

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

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.

https://discourse.ros.org/t/is-rosjav...

  • 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: http://wiki.ros.org/android_ndk/Tutor... . (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: https://github.com/rosjava/rosjava_mv... )
edit flag offensive delete link more

Comments

Thanks for bringing the reply back here.

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

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

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

Question Tools

1 follower

Stats

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

Seen: 273 times

Last updated: Jun 16 '17