Skip to content

Releases: ihmcrobotics/ihmc-ros2-library

1.1.3 Release Notes

12 Dec 21:25
Compare
Choose a tag to compare

Changes

  • Remove allParticipantsForStatistics list (to fix a memory leak) by @ds58 in #38

1.1.2 Release Notes

10 Dec 23:07
Compare
Choose a tag to compare

Changes

Adds missing directory (common_interfaces) in ros2-common-interfaces artifact

1.1.1 Release Notes

09 Dec 17:51
Compare
Choose a tag to compare

Changes

  • Change ROS2NodeBuilder printout to use spaces instead of tabs by @ds58 in #37

1.1.0

04 Dec 23:03
Compare
Choose a tag to compare

1.1.0 Release notes

ROS2NodeBuilder

In previous versions of ihmc-ros2-library, the constructors for ROS2Node and RealtimeROS2Node were confusing, leading to dependent projects creating helper classes to construct these.

The constructors for ROS2Node and RealtimeROS2Node have been made package private. You now create ROS2Node and RealtimeROS2Node with ROS2NodeBuilder:

ROS2Node ros2Node = new ROS2NodeBuilder().build("test_node");
RealtimeROS2Node realtimeROS2Node = new ROS2NodeBuilder().buildRealtime("realtime_test_node");

More complex example:

RealtimeROS2Node node = new ROS2NodeBuilder().domainId(112)
                                     .namespace("/us/ihmc")
                                     .specialTransportMode(SpecialTransportMode.INTRAPROCESS_ONLY)
                                     .buildRealtime("realtime_test_node");

This should simplify creation and remove the need for 3rd party helper classes just to construct a ROS2Node or RealtimeROS2Node.

SpecialTransportMode

SpecialTransportMode is used with ROS2NodeBuilder to define transport implementation of a ROS2Node. It effectively replaces PubSubImplementation.

Modes:

  • SHARED_MEMORY_ONLY
  • UDPV4_LOOPBACK_ADDRESS_ONLY
  • UDPV4_ONLY
  • INTRAPROCESS_ONLY

See the javadoc on SpecialTransportMode for more in-depth description of each of the Modes.

⚠️ Removal of classes

The following classes have been removed and merged with the existing inheritance structure:

  • ROS2NodeBasics (replace with ROS2Node)
  • ROS2NodeInterface (replace with ROS2Node)
  • ROS2PublisherBasics (replace with ROS2Publisher)
  • PubSubImplementation (use the ROS2NodeBuilder to define transport implementation of a ROS2Node)

Fast-DDS upgrade

The version of Fast-DDS ihmc-ros2-library has been upgraded from v2.14.3 to v2.14.4. Full list of changes here.

CI changes

There is now an additional CI job to run JUnit tests on Windows for more platform coverage. macOS CI coming soon.

Full list of changes

  • Upgrade dependencies, ROS2 common interfaces by @ds58 in #22
  • xjc generation changes by @ds58 in #24
  • Fix REPO_ROOT in cppbuild.bash by @ds58 in #25
  • Remove ROS2NodeBasics by @ds58 in #27
  • Remove ROS2NodeInterface by @ds58 in #28
  • Remove ROS2PublisherBasics by @ds58 in #29
  • Transport fixes and cleanup by @ds58 in #30
  • Remove PubSubImplementation by @ds58 in #31
  • Create ROS2NodeBuilder by @ds58 in #32
  • Upgrade ihmc-commons to 0.35.0 and use Throttler in QueuedROS2Publisher by @ds58 in #35
  • Fast-DDS 2.14.4 upgrade by @ds58 in #34
  • Update main README and examples by @ds58 in #36

1.0.0 Release Notes

07 Nov 22:11
Compare
Choose a tag to compare

Project rename
This project has been renamed from ihmc-java-ros2-communication to ihmc-ros2-library

The subproject ihmc-ros2-library has been renamed to ros2-library to avoid conflict with the parent

Merger with ihmc-pub-sub-group
This project has been merged with ihmc-pub-sub-group. Commit history has been preserved from both projects.

0.24.4 Release Notes

04 Sep 15:54
Compare
Choose a tag to compare

*The ihmc-pub-sub upgrade updates the Fast-DDS library to version v2.14.3. There were API changes, please see the linked release if you use ihmc-pub-sub API directly.

0.24.3 Release Notes

14 Aug 22:05
Compare
Choose a tag to compare
  • Upgrade to ihmc-pub-sub 0.19.2
  • Switch XML libraries (#17)

0.24.0 Release Notes

04 Apr 21:50
Compare
Choose a tag to compare
  • ROS 2 common interfaces (default message types and Euclid type support) are now included with the library artifact. This is done so publishers and subscribers for the DDS common types including Euclid types can be created without external code/tricks.
  • ROS2Publisher and QueuedROS2Publisher now have improved error output and exception handling
  • Empty classes RealtimeROS2Publisher and RealtimeROS2Subscription have been removed. They weren't actually providing realtime functionality.
  • ROS2Callback is now deprecated. You should use ROS2NodeInterface#createSubscription2 instead.
  • APIs have been filled in to include ROS2Topic
  • Creating nodes, publishers, and subscribers no longer throws IOException. This wasn't useful and just made the library frustrating to use.
  • Quality of service (QoS) is now a setting of ROS2Topic. Each topic should define it's own QoS.
  • RELIABLE is now an explicitly named ROS2QoSProfile option.
  • DEFAULT quality of service (QoS) is now BEST_EFFORT instead of RELIABLE to help alleviate comms issues. This is only used if the topic does not specify the QoS to use. The default QoS can be set with the ROS_DEFAULT_QOS environment variable.
  • The DEFAULT_NAMESPACE is now accessible via the public field in ROS2NodeBasics.

0.17.0 Release Notes

23 Apr 15:48
Compare
Choose a tag to compare

Uses IHMC Pub Sub 0.14.0 w/ Fast-RTPS 1.9.4

0.14.2 Release Notes

29 Oct 16:05
Compare
Choose a tag to compare

Features

  • Add Ros2PublisherBasics