Announcing ROS2 support for jrosclient (Java)

jrosclient is a pure Java client which allows to interact with ROS.
Previously it had support only for ROS1 (Noetic).
In new version it supports ROS2 (Humble Hawksbill) as well.

Github page
Documentation

There are separate support for ROS2 Topics, Actions and Services.

For ROS2 transport protocol implementation, jrosclient relies on rtpstalk which is also Java based and does not depend on any native libraries.

8 Likes

Previously jrosclient supported only ROS2 services.
Now we added support for ROS1 services as well in jros1services

Release of jros2client v3

Major update is support of ROS2 CycloneDDS RMW.

Details:
Previously rtpstalk supported only RTPS versions 2.2 and 2.3. CycloneDDS 0.9.x (Papillons), which is included into ROS2 Humble, uses RTPS 2.1. Because jrosclient relies on rtpstalk for RTPS communication, it could not interact with ROS2 nodes running on CycloneDDS RMW. Major change in jrosclient v3, is update to new version of rtpstalk, which now supports RTPS 2.1 and consequently allows jrosclient to interact with ROS2 CycloneDDS RMW.

We recently added Android 14 support to jrosclient:

  • no need for any native libraries and make split apks per each architecture (ARM, x86) or use Android NDK
  • tested under FastDDS, CycloneDDS
  • no need to root the phone

As of now support is only for ROS2, ROS1 is in progress

1 Like

Added Android 14 support for ROS1 as well.

As opposed to jros2client (multicast requirement), jros1client can even run inside Android emulator.

Added support for ROS 2 Jazzy Jalisco

Now users in the same Java application can communicate with both ROS2 distributions (Humble and Jazzy) without need to recompile anything (of course if messages format is the same, which is true in the most cases).

Additionally with new version of jrosclient users can specify QOS policies when subscribing to ROS2 topics.

3 Likes