Skip to content

Conversation

@bryceag11
Copy link

Summary

This PR adds support for ROS 2 Jazzy Jalisco (Ubuntu 24.04) with necessary API compatibility updates.

Changes

1. Hardware Interface API Updates

  • Updated ResourceManager constructor to use new Jazzy signature with rclcpp::Clock and rclcpp::Logger
  • Implemented new on_init(const HardwareComponentInterfaceParams&) method alongside deprecated signature for backward compatibility
  • Changed from rclcpp::ClockType::SYSTEM_TIME to RCL_SYSTEM_TIME constant
  • Added #include <hardware_interface/types/hardware_component_interface_params.hpp>

2. Controller Interface Updates

  • Updated to check return values from LoanedCommandInterface::set_value() (now marked with [[nodiscard]])
  • Replaced deprecated get_value() with get_optional<double>() for safer value retrieval
  • Added proper error handling when command interface operations fail

3. CMake and Build Improvements

  • Added CMake policy CMP0060 to suppress harmless runtime search path cycle warnings
  • Fixed format string warning (removed extra argument in RCLCPP_FATAL call)
  • Fixed typo in error message: "has does not have" → "does not have"

4. Documentation

  • Updated README with Jazzy installation instructions
  • Added detailed changelog documenting API changes
  • Added Jazzy to supported distributions table

Modified Files

  • robotiq_driver/tests/test_robotiq_gripper_hardware_interface.cpp
  • robotiq_driver/src/hardware_interface.cpp
  • robotiq_driver/include/robotiq_driver/hardware_interface.hpp
  • robotiq_controllers/src/robotiq_activation_controller.cpp
  • robotiq_controllers/CMakeLists.txt
  • robotiq_hardware_tests/CMakeLists.txt
  • README.md

Testing

  • Built successfully on Ubuntu 24.04 with ROS 2 Jazzy
  • All packages compile without errors or warnings
  • Serial dependency correctly imported via .repos file

Dependencies

No new dependencies added. Uses existing serial package from tylerjw/serial imported via the existing .repos file.

Backward Compatibility

  • Maintained deprecated on_init(const HardwareInfo&) signature that calls new signature
  • all changes are additive or replace deprecated APIs
  • No breaking changes to public interfaces

Testing Environment

  • OS: Ubuntu 24.04 LTS (Noble Numbat)
  • ROS 2: Jazzy Jalisco

bryceag11 and others added 5 commits November 11, 2025 16:30
This commit adds full compatibility with ROS 2 Jazzy (Ubuntu 24.04).

Changes:
- Update ResourceManager API for Jazzy compatibility in tests
- Implement new on_init(HardwareComponentInterfaceParams) signature
- Fix nodiscard warnings by checking set_value() return values
- Replace deprecated get_value() with get_optional<double>()
- Add proper error handling for command interfaces
- Fix format string warnings in logging
- Add CMake policy CMP0060 to suppress path cycle warnings
- Update README with Jazzy installation instructions

Tested on:
- Ubuntu 24.04 LTS (Noble Numbat)
- ROS 2 Jazzy Jalisco
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant