Google and Willow Garage announced a "new rosjava library that is the first pure-Java implementation of ROS." I watched the video and looked at the wiki, but I am still confused on what exactly rosjava is.
Is the announced rosjava more than a client library? Is it different than http://www.ros.org/wiki/rosjava?
If so, how does it differ from a client library? Does it have its own implementation of roscore and master and parameter server?
And if that's the case, how does rosjava differ from what I'll call proper ROS (the ROS installed via sudo apt-get install ros-diamondback-ros-base)? And what are the plans for the two in terms of development and feature parity in the future?
Thanks!
The new rosjava is a pure Java implementation, and even includes a ROS master, which means you can run a complete ROS system on an Android phone. That said, it can still be used just as a client library and is compatible with the roscore that is distributed with ROS, and so you can view rosjava in the same way you would roscpp and rospy. In our talk, we demo using rosjava to both send and receive sensor data from an Android device to a PR2.
Moving forward, we will need to reconcile the two rosjava implementations, but our preference is for the pure Java implementation as it fulfills the main goal of Java, which is to run on any platform that supports a JVM. The new rosjava is still in an alpha-quality state, and there is much to do to fully integrate the build, test and runtime system with the ROS toolchain.
As far as I can say, the newly announced rosjava is a native implementation of the ROS communication layer in Java that also runs on Android. The old implementation was just a wrapper around roscpp through JNI.
Asked: 2011-05-12 20:06:22 -0500
Seen: 1,159 times
Last updated: May 13 '11
ROS Answers is licensed under Creative Commons Attribution 3.0 Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.