1.1.0
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