From 9294b7cc59fa0428d082df6843f6b96d138fb464 Mon Sep 17 00:00:00 2001 From: Sai Kishor Kothakota Date: Fri, 20 Dec 2024 10:21:34 +0100 Subject: [PATCH 1/3] Propagate read/write rate to the HardwareInfo properly (#1928) --- hardware_interface/src/resource_manager.cpp | 13 ++++--- .../mock_components/test_generic_system.cpp | 14 +++++-- .../test/test_component_parser.cpp | 38 +++++++++++++++++++ .../test/test_components/test_actuator.cpp | 9 +++++ .../test/test_components/test_sensor.cpp | 9 +++++ .../test/test_components/test_system.cpp | 9 +++++ 6 files changed, 84 insertions(+), 8 deletions(-) diff --git a/hardware_interface/src/resource_manager.cpp b/hardware_interface/src/resource_manager.cpp index 0d9ad51eac..bf82f43101 100644 --- a/hardware_interface/src/resource_manager.cpp +++ b/hardware_interface/src/resource_manager.cpp @@ -141,10 +141,7 @@ class ResourceStorage component_info.name = hardware_info.name; component_info.type = hardware_info.type; component_info.group = hardware_info.group; - component_info.rw_rate = - (hardware_info.rw_rate == 0 || hardware_info.rw_rate > cm_update_rate_) - ? cm_update_rate_ - : hardware_info.rw_rate; + component_info.rw_rate = hardware_info.rw_rate; component_info.plugin_name = hardware_info.hardware_plugin_name; component_info.is_async = hardware_info.is_async; @@ -1051,7 +1048,13 @@ bool ResourceManager::load_and_initialize_components( resource_storage_->cm_update_rate_ = update_rate; - const auto hardware_info = hardware_interface::parse_control_resources_from_urdf(urdf); + auto hardware_info = hardware_interface::parse_control_resources_from_urdf(urdf); + // Set the update rate for all hardware components + for (auto & hw : hardware_info) + { + hw.rw_rate = + (hw.rw_rate == 0 || hw.rw_rate > update_rate) ? update_rate : hw.rw_rate; + } const std::string system_type = "system"; const std::string sensor_type = "sensor"; diff --git a/hardware_interface/test/mock_components/test_generic_system.cpp b/hardware_interface/test/mock_components/test_generic_system.cpp index 854b35c8d3..446634d12f 100644 --- a/hardware_interface/test/mock_components/test_generic_system.cpp +++ b/hardware_interface/test/mock_components/test_generic_system.cpp @@ -699,9 +699,11 @@ class TestableResourceManager : public hardware_interface::ResourceManager } explicit TestableResourceManager( - rclcpp::Node & node, const std::string & urdf, bool activate_all = false) + rclcpp::Node & node, const std::string & urdf, bool activate_all = false, + unsigned int cm_update_rate = 100) : hardware_interface::ResourceManager( - urdf, node.get_node_clock_interface(), node.get_node_logging_interface(), activate_all, 100) + urdf, node.get_node_clock_interface(), node.get_node_logging_interface(), activate_all, + cm_update_rate) { } }; @@ -842,14 +844,17 @@ void generic_system_functional_test( EXPECT_EQ( status_map[component_name].state.label(), hardware_interface::lifecycle_state_names::UNCONFIGURED); + EXPECT_EQ(status_map[component_name].rw_rate, 100u); configure_components(rm, {component_name}); status_map = rm.get_components_status(); EXPECT_EQ( status_map[component_name].state.label(), hardware_interface::lifecycle_state_names::INACTIVE); + EXPECT_EQ(status_map[component_name].rw_rate, 100u); activate_components(rm, {component_name}); status_map = rm.get_components_status(); EXPECT_EQ( status_map[component_name].state.label(), hardware_interface::lifecycle_state_names::ACTIVE); + EXPECT_EQ(status_map[component_name].rw_rate, 100u); // Check initial values hardware_interface::LoanedStateInterface j1p_s = rm.claim_state_interface("joint1/position"); @@ -935,7 +940,7 @@ void generic_system_error_group_test( const std::string & urdf, const std::string component_prefix, bool validate_same_group) { rclcpp::Node node("test_generic_system"); - TestableResourceManager rm(node, urdf); + TestableResourceManager rm(node, urdf, false, 200u); const std::string component1 = component_prefix + "1"; const std::string component2 = component_prefix + "2"; // check is hardware is configured @@ -944,14 +949,17 @@ void generic_system_error_group_test( { EXPECT_EQ( status_map[component].state.label(), hardware_interface::lifecycle_state_names::UNCONFIGURED); + EXPECT_EQ(status_map[component].rw_rate, 200u); configure_components(rm, {component}); status_map = rm.get_components_status(); EXPECT_EQ( status_map[component].state.label(), hardware_interface::lifecycle_state_names::INACTIVE); + EXPECT_EQ(status_map[component].rw_rate, 200u); activate_components(rm, {component}); status_map = rm.get_components_status(); EXPECT_EQ( status_map[component].state.label(), hardware_interface::lifecycle_state_names::ACTIVE); + EXPECT_EQ(status_map[component].rw_rate, 200u); } // Check initial values diff --git a/hardware_interface/test/test_component_parser.cpp b/hardware_interface/test/test_component_parser.cpp index 05fe930e25..e1a657e110 100644 --- a/hardware_interface/test/test_component_parser.cpp +++ b/hardware_interface/test/test_component_parser.cpp @@ -1418,6 +1418,8 @@ TEST_F(TestComponentParser, successfully_parse_parameter_empty) EXPECT_EQ(hardware_info.hardware_parameters.at("example_param_write_for_sec"), ""); EXPECT_EQ(hardware_info.hardware_parameters.at("example_param_read_for_sec"), "2"); + // when not set, rw_rate should be 0 + EXPECT_EQ(hardware_info.rw_rate, 0u); // Verify limits parsed from the URDF ASSERT_THAT(hardware_info.limits, SizeIs(1)); @@ -1492,6 +1494,8 @@ TEST_F(TestComponentParser, gripper_mimic_true_valid_config) EXPECT_DOUBLE_EQ(hw_info[0].mimic_joints[0].offset, 1.0); EXPECT_EQ(hw_info[0].mimic_joints[0].mimicked_joint_index, 0); EXPECT_EQ(hw_info[0].mimic_joints[0].joint_index, 1); + // when not set, rw_rate should be 0 + EXPECT_EQ(hw_info[0].rw_rate, 0u); } TEST_F(TestComponentParser, gripper_no_mimic_valid_config) @@ -1508,6 +1512,8 @@ TEST_F(TestComponentParser, gripper_no_mimic_valid_config) EXPECT_DOUBLE_EQ(hw_info[0].mimic_joints[0].offset, 1.0); EXPECT_EQ(hw_info[0].mimic_joints[0].mimicked_joint_index, 0); EXPECT_EQ(hw_info[0].mimic_joints[0].joint_index, 1); + // when not set, rw_rate should be 0 + EXPECT_EQ(hw_info[0].rw_rate, 0u); } TEST_F(TestComponentParser, negative_rw_rates_throws_error) @@ -1540,6 +1546,38 @@ TEST_F(TestComponentParser, invalid_rw_rates_out_of_range) ASSERT_THROW(parse_control_resources_from_urdf(urdf_to_test), std::runtime_error); } +TEST_F(TestComponentParser, valid_rw_rate) +{ + std::vector hw_info; + ASSERT_NO_THROW( + hw_info = parse_control_resources_from_urdf( + ros2_control_test_assets::minimal_robot_urdf_with_different_hw_rw_rate)); + ASSERT_THAT(hw_info, SizeIs(3)); + EXPECT_EQ(hw_info[0].name, "TestActuatorHardware"); + EXPECT_EQ(hw_info[0].type, "actuator"); + EXPECT_EQ(hw_info[0].hardware_plugin_name, "test_actuator"); + ASSERT_THAT(hw_info[0].joints, SizeIs(1)); + EXPECT_EQ(hw_info[0].joints[0].name, "joint1"); + EXPECT_EQ(hw_info[0].rw_rate, 50u); + + EXPECT_EQ(hw_info[1].name, "TestSensorHardware"); + EXPECT_EQ(hw_info[1].type, "sensor"); + EXPECT_EQ(hw_info[1].hardware_plugin_name, "test_sensor"); + ASSERT_THAT(hw_info[1].sensors, SizeIs(1)); + EXPECT_EQ(hw_info[1].sensors[0].name, "sensor1"); + EXPECT_EQ(hw_info[1].rw_rate, 20u); + + EXPECT_EQ(hw_info[2].name, "TestSystemHardware"); + EXPECT_EQ(hw_info[2].type, "system"); + EXPECT_EQ(hw_info[2].hardware_plugin_name, "test_system"); + ASSERT_THAT(hw_info[2].joints, SizeIs(2)); + EXPECT_EQ(hw_info[2].joints[0].name, "joint2"); + EXPECT_EQ(hw_info[2].joints[1].name, "joint3"); + ASSERT_THAT(hw_info[2].gpios, SizeIs(1)); + EXPECT_EQ(hw_info[2].gpios[0].name, "configuration"); + EXPECT_EQ(hw_info[2].rw_rate, 25u); +} + TEST_F(TestComponentParser, gripper_mimic_with_unknown_joint_throws_error) { const auto urdf_to_test = diff --git a/hardware_interface_testing/test/test_components/test_actuator.cpp b/hardware_interface_testing/test/test_components/test_actuator.cpp index 86debc1f4d..630cb9f27c 100644 --- a/hardware_interface_testing/test/test_components/test_actuator.cpp +++ b/hardware_interface_testing/test/test_components/test_actuator.cpp @@ -15,6 +15,7 @@ #include #include "hardware_interface/actuator_interface.hpp" +#include "rclcpp/logging.hpp" #include "ros2_control_test_assets/test_hardware_interface_constants.hpp" using hardware_interface::ActuatorInterface; @@ -35,6 +36,14 @@ class TestActuator : public ActuatorInterface { return CallbackReturn::ERROR; } + if (get_hardware_info().rw_rate == 0u) + { + RCLCPP_WARN( + get_logger(), + "Actuator hardware component '%s' from plugin '%s' failed to initialize as rw_rate is 0.", + get_hardware_info().name.c_str(), get_hardware_info().hardware_plugin_name.c_str()); + return CallbackReturn::ERROR; + } /* * a hardware can optional prove for incorrect info here. diff --git a/hardware_interface_testing/test/test_components/test_sensor.cpp b/hardware_interface_testing/test/test_components/test_sensor.cpp index 16692f55d9..40f27530c0 100644 --- a/hardware_interface_testing/test/test_components/test_sensor.cpp +++ b/hardware_interface_testing/test/test_components/test_sensor.cpp @@ -15,6 +15,7 @@ #include #include "hardware_interface/sensor_interface.hpp" +#include "rclcpp/logging.hpp" using hardware_interface::return_type; using hardware_interface::SensorInterface; @@ -33,6 +34,14 @@ class TestSensor : public SensorInterface { return CallbackReturn::ERROR; } + if (get_hardware_info().rw_rate == 0u) + { + RCLCPP_WARN( + get_logger(), + "Sensor hardware component '%s' from plugin '%s' failed to initialize as rw_rate is 0.", + get_hardware_info().name.c_str(), get_hardware_info().hardware_plugin_name.c_str()); + return CallbackReturn::ERROR; + } return CallbackReturn::SUCCESS; } diff --git a/hardware_interface_testing/test/test_components/test_system.cpp b/hardware_interface_testing/test/test_components/test_system.cpp index 795787eb9e..395935e314 100644 --- a/hardware_interface_testing/test/test_components/test_system.cpp +++ b/hardware_interface_testing/test/test_components/test_system.cpp @@ -17,6 +17,7 @@ #include "hardware_interface/system_interface.hpp" #include "hardware_interface/types/hardware_interface_type_values.hpp" +#include "rclcpp/logging.hpp" #include "ros2_control_test_assets/test_hardware_interface_constants.hpp" using hardware_interface::CommandInterface; @@ -39,6 +40,14 @@ class TestSystem : public SystemInterface return CallbackReturn::ERROR; } + if (get_hardware_info().rw_rate == 0u) + { + RCLCPP_WARN( + get_logger(), + "System hardware component '%s' from plugin '%s' failed to initialize as rw_rate is 0.", + get_hardware_info().name.c_str(), get_hardware_info().hardware_plugin_name.c_str()); + return CallbackReturn::ERROR; + } return CallbackReturn::SUCCESS; } From f13491d71021271ac1894b5b8fcf2c8b6a097403 Mon Sep 17 00:00:00 2001 From: Bence Magyar Date: Fri, 20 Dec 2024 09:28:59 +0000 Subject: [PATCH 2/3] Update changelogs --- controller_interface/CHANGELOG.rst | 6 ++++++ controller_manager/CHANGELOG.rst | 13 +++++++++++++ controller_manager_msgs/CHANGELOG.rst | 3 +++ hardware_interface/CHANGELOG.rst | 10 ++++++++++ hardware_interface_testing/CHANGELOG.rst | 6 ++++++ joint_limits/CHANGELOG.rst | 3 +++ ros2_control/CHANGELOG.rst | 3 +++ ros2_control_test_assets/CHANGELOG.rst | 6 ++++++ ros2controlcli/CHANGELOG.rst | 3 +++ rqt_controller_manager/CHANGELOG.rst | 3 +++ transmission_interface/CHANGELOG.rst | 3 +++ 11 files changed, 59 insertions(+) diff --git a/controller_interface/CHANGELOG.rst b/controller_interface/CHANGELOG.rst index 9e77ef15b1..3ec8b1549b 100644 --- a/controller_interface/CHANGELOG.rst +++ b/controller_interface/CHANGELOG.rst @@ -2,6 +2,12 @@ Changelog for package controller_interface ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* Fixed typo. Added s to state_interfaces\_ (`#1930 `_) +* [CI] Add clang job, setup concurrency, use rt_tools humble branch (`#1910 `_) +* Contributors: Christoph Fröhlich, louietouie + 4.21.0 (2024-12-06) ------------------- * [Diagnostics] Add diagnostics of execution time and periodicity of the controllers and controller_manager (`#1871 `_) diff --git a/controller_manager/CHANGELOG.rst b/controller_manager/CHANGELOG.rst index 26e56883b8..692d80d3a5 100644 --- a/controller_manager/CHANGELOG.rst +++ b/controller_manager/CHANGELOG.rst @@ -2,6 +2,19 @@ Changelog for package controller_manager ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* Async Hardware Components (`#1567 `_) +* Add controller node options args to be able to set controller specific node arguments (`#1713 `_) +* Use singleton approach to store and reuse the service clients (`#1949 `_) +* Increase the max and min periodicity tolerances to fix flaky tests (`#1937 `_) +* Fix the spawner to support full wildcard parameter entries (`#1933 `_) +* Suppress unnecessary warnings in clock received validation (`#1935 `_) +* Optimize the valid time check in the update loop (`#1923 `_) +* [CI] Add clang job, setup concurrency, use rt_tools humble branch (`#1910 `_) +* Update CPU affinity parameter to be able to set multiple CPUs (`#1915 `_) +* Contributors: Christoph Fröhlich, Sai Kishor Kothakota, Takashi Sato + 4.21.0 (2024-12-06) ------------------- * Use the .hpp headers from realtime_tools package (`#1916 `_) diff --git a/controller_manager_msgs/CHANGELOG.rst b/controller_manager_msgs/CHANGELOG.rst index 79b2ca739a..a76f5717f0 100644 --- a/controller_manager_msgs/CHANGELOG.rst +++ b/controller_manager_msgs/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package controller_manager_msgs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- + 4.21.0 (2024-12-06) ------------------- diff --git a/hardware_interface/CHANGELOG.rst b/hardware_interface/CHANGELOG.rst index 41152d6eaa..d51785b905 100644 --- a/hardware_interface/CHANGELOG.rst +++ b/hardware_interface/CHANGELOG.rst @@ -2,6 +2,16 @@ Changelog for package hardware_interface ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* Propagate read/write rate to the HardwareInfo properly (`#1928 `_) +* Async Hardware Components (`#1567 `_) +* Add controller node options args to be able to set controller specific node arguments (`#1713 `_) +* Make get_name() return a const reference (`#1952 `_) +* Let sensors also export state interfaces of joints (`#1885 `_) +* [CI] Add clang job, setup concurrency, use rt_tools humble branch (`#1910 `_) +* Contributors: Christoph Fröhlich, Sai Kishor Kothakota, Takashi Sato + 4.21.0 (2024-12-06) ------------------- * [Feature] Choose different read and write rate for the hardware components (`#1570 `_) diff --git a/hardware_interface_testing/CHANGELOG.rst b/hardware_interface_testing/CHANGELOG.rst index fca3037f04..3551178c0e 100644 --- a/hardware_interface_testing/CHANGELOG.rst +++ b/hardware_interface_testing/CHANGELOG.rst @@ -2,6 +2,12 @@ Changelog for package hardware_interface_testing ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* Propagate read/write rate to the HardwareInfo properly (`#1928 `_) +* Async Hardware Components (`#1567 `_) +* Contributors: Sai Kishor Kothakota + 4.21.0 (2024-12-06) ------------------- * [Feature] Choose different read and write rate for the hardware components (`#1570 `_) diff --git a/joint_limits/CHANGELOG.rst b/joint_limits/CHANGELOG.rst index 5fbf3a44fa..6306e5afe2 100644 --- a/joint_limits/CHANGELOG.rst +++ b/joint_limits/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package joint_limits ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- + 4.21.0 (2024-12-06) ------------------- * Use the .hpp headers from realtime_tools package (`#1916 `_) diff --git a/ros2_control/CHANGELOG.rst b/ros2_control/CHANGELOG.rst index b448c0996f..4ea1cad8ac 100644 --- a/ros2_control/CHANGELOG.rst +++ b/ros2_control/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package ros2_control ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- + 4.21.0 (2024-12-06) ------------------- diff --git a/ros2_control_test_assets/CHANGELOG.rst b/ros2_control_test_assets/CHANGELOG.rst index 5f9b6bd6b9..257305c612 100644 --- a/ros2_control_test_assets/CHANGELOG.rst +++ b/ros2_control_test_assets/CHANGELOG.rst @@ -2,6 +2,12 @@ Changelog for package ros2_control_test_assets ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* Async Hardware Components (`#1567 `_) +* Let sensors also export state interfaces of joints (`#1885 `_) +* Contributors: Christoph Fröhlich, Sai Kishor Kothakota + 4.21.0 (2024-12-06) ------------------- * [Feature] Choose different read and write rate for the hardware components (`#1570 `_) diff --git a/ros2controlcli/CHANGELOG.rst b/ros2controlcli/CHANGELOG.rst index b8545c80da..f69ff2c383 100644 --- a/ros2controlcli/CHANGELOG.rst +++ b/ros2controlcli/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package ros2controlcli ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- + 4.21.0 (2024-12-06) ------------------- * [Spawner] Accept parsing multiple `--param-file` arguments to spawner (`#1805 `_) diff --git a/rqt_controller_manager/CHANGELOG.rst b/rqt_controller_manager/CHANGELOG.rst index d345ad040f..9aa1ab2c08 100644 --- a/rqt_controller_manager/CHANGELOG.rst +++ b/rqt_controller_manager/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package rqt_controller_manager ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- + 4.21.0 (2024-12-06) ------------------- diff --git a/transmission_interface/CHANGELOG.rst b/transmission_interface/CHANGELOG.rst index 41e6d0f10c..20ba61de15 100644 --- a/transmission_interface/CHANGELOG.rst +++ b/transmission_interface/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package transmission_interface ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- + 4.21.0 (2024-12-06) ------------------- From 8b99e0bcd89f5d1eca1c83a6190419748e2aabb9 Mon Sep 17 00:00:00 2001 From: Bence Magyar Date: Fri, 20 Dec 2024 09:29:24 +0000 Subject: [PATCH 3/3] 4.22.0 --- controller_interface/CHANGELOG.rst | 4 ++-- controller_interface/package.xml | 2 +- controller_manager/CHANGELOG.rst | 4 ++-- controller_manager/package.xml | 2 +- controller_manager_msgs/CHANGELOG.rst | 4 ++-- controller_manager_msgs/package.xml | 2 +- hardware_interface/CHANGELOG.rst | 4 ++-- hardware_interface/package.xml | 2 +- hardware_interface_testing/CHANGELOG.rst | 4 ++-- hardware_interface_testing/package.xml | 2 +- joint_limits/CHANGELOG.rst | 4 ++-- joint_limits/package.xml | 2 +- ros2_control/CHANGELOG.rst | 4 ++-- ros2_control/package.xml | 2 +- ros2_control_test_assets/CHANGELOG.rst | 4 ++-- ros2_control_test_assets/package.xml | 2 +- ros2controlcli/CHANGELOG.rst | 4 ++-- ros2controlcli/package.xml | 2 +- ros2controlcli/setup.py | 2 +- rqt_controller_manager/CHANGELOG.rst | 4 ++-- rqt_controller_manager/package.xml | 2 +- rqt_controller_manager/setup.py | 2 +- transmission_interface/CHANGELOG.rst | 4 ++-- transmission_interface/package.xml | 2 +- 24 files changed, 35 insertions(+), 35 deletions(-) diff --git a/controller_interface/CHANGELOG.rst b/controller_interface/CHANGELOG.rst index 3ec8b1549b..32795abf9d 100644 --- a/controller_interface/CHANGELOG.rst +++ b/controller_interface/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package controller_interface ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +4.22.0 (2024-12-20) +------------------- * Fixed typo. Added s to state_interfaces\_ (`#1930 `_) * [CI] Add clang job, setup concurrency, use rt_tools humble branch (`#1910 `_) * Contributors: Christoph Fröhlich, louietouie diff --git a/controller_interface/package.xml b/controller_interface/package.xml index c0ebc15b08..d3a40a227c 100644 --- a/controller_interface/package.xml +++ b/controller_interface/package.xml @@ -2,7 +2,7 @@ controller_interface - 4.21.0 + 4.22.0 Description of controller_interface Bence Magyar Denis Štogl diff --git a/controller_manager/CHANGELOG.rst b/controller_manager/CHANGELOG.rst index 692d80d3a5..64b1567dd2 100644 --- a/controller_manager/CHANGELOG.rst +++ b/controller_manager/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package controller_manager ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +4.22.0 (2024-12-20) +------------------- * Async Hardware Components (`#1567 `_) * Add controller node options args to be able to set controller specific node arguments (`#1713 `_) * Use singleton approach to store and reuse the service clients (`#1949 `_) diff --git a/controller_manager/package.xml b/controller_manager/package.xml index 4bbd6306b1..b23ca17d4b 100644 --- a/controller_manager/package.xml +++ b/controller_manager/package.xml @@ -2,7 +2,7 @@ controller_manager - 4.21.0 + 4.22.0 Description of controller_manager Bence Magyar Denis Štogl diff --git a/controller_manager_msgs/CHANGELOG.rst b/controller_manager_msgs/CHANGELOG.rst index a76f5717f0..fc92596273 100644 --- a/controller_manager_msgs/CHANGELOG.rst +++ b/controller_manager_msgs/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package controller_manager_msgs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +4.22.0 (2024-12-20) +------------------- 4.21.0 (2024-12-06) ------------------- diff --git a/controller_manager_msgs/package.xml b/controller_manager_msgs/package.xml index 1d9a26d3d1..703feeccc7 100644 --- a/controller_manager_msgs/package.xml +++ b/controller_manager_msgs/package.xml @@ -2,7 +2,7 @@ controller_manager_msgs - 4.21.0 + 4.22.0 Messages and services for the controller manager. Bence Magyar Denis Štogl diff --git a/hardware_interface/CHANGELOG.rst b/hardware_interface/CHANGELOG.rst index d51785b905..df05cb39e3 100644 --- a/hardware_interface/CHANGELOG.rst +++ b/hardware_interface/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package hardware_interface ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +4.22.0 (2024-12-20) +------------------- * Propagate read/write rate to the HardwareInfo properly (`#1928 `_) * Async Hardware Components (`#1567 `_) * Add controller node options args to be able to set controller specific node arguments (`#1713 `_) diff --git a/hardware_interface/package.xml b/hardware_interface/package.xml index c70ae6fc8b..5f748e5680 100644 --- a/hardware_interface/package.xml +++ b/hardware_interface/package.xml @@ -1,7 +1,7 @@ hardware_interface - 4.21.0 + 4.22.0 ros2_control hardware interface Bence Magyar Denis Štogl diff --git a/hardware_interface_testing/CHANGELOG.rst b/hardware_interface_testing/CHANGELOG.rst index 3551178c0e..2bdadd883a 100644 --- a/hardware_interface_testing/CHANGELOG.rst +++ b/hardware_interface_testing/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package hardware_interface_testing ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +4.22.0 (2024-12-20) +------------------- * Propagate read/write rate to the HardwareInfo properly (`#1928 `_) * Async Hardware Components (`#1567 `_) * Contributors: Sai Kishor Kothakota diff --git a/hardware_interface_testing/package.xml b/hardware_interface_testing/package.xml index dfccd23a19..8c03aafda8 100644 --- a/hardware_interface_testing/package.xml +++ b/hardware_interface_testing/package.xml @@ -1,7 +1,7 @@ hardware_interface_testing - 4.21.0 + 4.22.0 ros2_control hardware interface testing Bence Magyar Denis Štogl diff --git a/joint_limits/CHANGELOG.rst b/joint_limits/CHANGELOG.rst index 6306e5afe2..1fa0b3a392 100644 --- a/joint_limits/CHANGELOG.rst +++ b/joint_limits/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package joint_limits ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +4.22.0 (2024-12-20) +------------------- 4.21.0 (2024-12-06) ------------------- diff --git a/joint_limits/package.xml b/joint_limits/package.xml index 129551a8b8..44ce8f5c50 100644 --- a/joint_limits/package.xml +++ b/joint_limits/package.xml @@ -1,6 +1,6 @@ joint_limits - 4.21.0 + 4.22.0 Package with interfaces for handling of joint limits in controllers or in hardware. The package also implements Saturation Joint Limiter for position-velocity-acceleration set and other individual interfaces. Bence Magyar diff --git a/ros2_control/CHANGELOG.rst b/ros2_control/CHANGELOG.rst index 4ea1cad8ac..231aa395c6 100644 --- a/ros2_control/CHANGELOG.rst +++ b/ros2_control/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package ros2_control ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +4.22.0 (2024-12-20) +------------------- 4.21.0 (2024-12-06) ------------------- diff --git a/ros2_control/package.xml b/ros2_control/package.xml index c883f00b14..7cc5192743 100644 --- a/ros2_control/package.xml +++ b/ros2_control/package.xml @@ -1,7 +1,7 @@ ros2_control - 4.21.0 + 4.22.0 Metapackage for ROS2 control related packages Bence Magyar Denis Štogl diff --git a/ros2_control_test_assets/CHANGELOG.rst b/ros2_control_test_assets/CHANGELOG.rst index 257305c612..bfa3c5aae0 100644 --- a/ros2_control_test_assets/CHANGELOG.rst +++ b/ros2_control_test_assets/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package ros2_control_test_assets ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +4.22.0 (2024-12-20) +------------------- * Async Hardware Components (`#1567 `_) * Let sensors also export state interfaces of joints (`#1885 `_) * Contributors: Christoph Fröhlich, Sai Kishor Kothakota diff --git a/ros2_control_test_assets/package.xml b/ros2_control_test_assets/package.xml index 5632af7ef3..27ecd415c7 100644 --- a/ros2_control_test_assets/package.xml +++ b/ros2_control_test_assets/package.xml @@ -2,7 +2,7 @@ ros2_control_test_assets - 4.21.0 + 4.22.0 The package provides shared test resources for ros2_control stack Bence Magyar diff --git a/ros2controlcli/CHANGELOG.rst b/ros2controlcli/CHANGELOG.rst index f69ff2c383..cb70f08797 100644 --- a/ros2controlcli/CHANGELOG.rst +++ b/ros2controlcli/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package ros2controlcli ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +4.22.0 (2024-12-20) +------------------- 4.21.0 (2024-12-06) ------------------- diff --git a/ros2controlcli/package.xml b/ros2controlcli/package.xml index 7e12a15665..4c2a9cb99f 100644 --- a/ros2controlcli/package.xml +++ b/ros2controlcli/package.xml @@ -2,7 +2,7 @@ ros2controlcli - 4.21.0 + 4.22.0 The ROS 2 command line tools for ROS2 Control. diff --git a/ros2controlcli/setup.py b/ros2controlcli/setup.py index 57783e838f..66c614b3ab 100644 --- a/ros2controlcli/setup.py +++ b/ros2controlcli/setup.py @@ -19,7 +19,7 @@ setup( name=package_name, - version="4.21.0", + version="4.22.0", packages=find_packages(exclude=["test"]), data_files=[ ("share/" + package_name, ["package.xml"]), diff --git a/rqt_controller_manager/CHANGELOG.rst b/rqt_controller_manager/CHANGELOG.rst index 9aa1ab2c08..3ae6a8a682 100644 --- a/rqt_controller_manager/CHANGELOG.rst +++ b/rqt_controller_manager/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package rqt_controller_manager ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +4.22.0 (2024-12-20) +------------------- 4.21.0 (2024-12-06) ------------------- diff --git a/rqt_controller_manager/package.xml b/rqt_controller_manager/package.xml index d504a8a0fd..cd944cf445 100644 --- a/rqt_controller_manager/package.xml +++ b/rqt_controller_manager/package.xml @@ -2,7 +2,7 @@ rqt_controller_manager - 4.21.0 + 4.22.0 Graphical frontend for interacting with the controller manager. Bence Magyar Denis Štogl diff --git a/rqt_controller_manager/setup.py b/rqt_controller_manager/setup.py index 0c6898c126..1d65fcef86 100644 --- a/rqt_controller_manager/setup.py +++ b/rqt_controller_manager/setup.py @@ -20,7 +20,7 @@ setup( name=package_name, - version="4.21.0", + version="4.22.0", packages=[package_name], data_files=[ ("share/ament_index/resource_index/packages", ["resource/" + package_name]), diff --git a/transmission_interface/CHANGELOG.rst b/transmission_interface/CHANGELOG.rst index 20ba61de15..6e94d7d826 100644 --- a/transmission_interface/CHANGELOG.rst +++ b/transmission_interface/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package transmission_interface ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +4.22.0 (2024-12-20) +------------------- 4.21.0 (2024-12-06) ------------------- diff --git a/transmission_interface/package.xml b/transmission_interface/package.xml index a5fad4f86c..035e6f0370 100644 --- a/transmission_interface/package.xml +++ b/transmission_interface/package.xml @@ -2,7 +2,7 @@ transmission_interface - 4.21.0 + 4.22.0 transmission_interface contains data structures for representing mechanical transmissions, methods for propagating values between actuator and joint spaces and tooling to support this. Bence Magyar Denis Štogl