ihmcrobotics / ihmc-java-ros2-communication

Realtime safe implementation of ROS2 in Java.
Apache License 2.0
21 stars 5 forks source link

IHMC Java ROS 2 Communication

Java CI with Gradle

ROS2 messaging for Java.

Introduction

This library builds on IHMC Pub Sub Group, an allocation free Java library for DDSI-RTPS messaging. It uses modified versions of rosidl utilities to convert .msg files into Java types.

Features

Download

In your build.gradle.kts:

Publish/subscribe API:

api("us.ihmc:ihmc-ros2-library:<version>") Latest: ihmc-ros2-library

Generator for .msg -> .java:

api("us.ihmc:ros2-msg-to-pubsub-generator:<version>") Latest: ros2-msg-to-pubsub-generator

IHMC ROS 2 Library

This library provides a minimal implementation of a ROS 2 node in Java. Two versions are available:

Examples

See NonRealtimeROS2PublishSubscribeExample.java and RealtimeROS2PublishSubscribeExample.java.

Environment Options

Environment Variable Description
ROS_DOMAIN_ID Set the ROS 2 domain ID to use (integer, 0-101)
ROS_DISABLE_SHARED_MEMORY_TRANSPORT Disable shared memory transport if set to true
ROS_DEFAULT_QOS QoS for topics that don't specify it (RELIABLE or BEST_EFFORT)

Note

The intermediate .idl files generated by this library are not valid to be used outside IHMC Pub/Sub.

License

Apache 2.0

Maintainer Notes

See docs/Making a release.md