Skip to content

Commit 7ad3cee

Browse files
Merge branch 'master' into touchup
2 parents 4fe2b6f + 7d81236 commit 7ad3cee

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+398
-252
lines changed

controller_interface/CHANGELOG.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
Changelog for package controller_interface
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
4.28.1 (2025-04-17)
6+
-------------------
7+
58
4.28.0 (2025-04-10)
69
-------------------
710
* Make all packages use gmock, not gtest (`#2162 <https://github.com/ros-controls/ros2_control/issues/2162>`_)

controller_interface/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
33
<package format="2">
44
<name>controller_interface</name>
5-
<version>4.28.0</version>
5+
<version>4.28.1</version>
66
<description>Base classes for controllers and syntax cookies for supporting common sensor types in controllers and broadcasters</description>
77
<maintainer email="[email protected]">Bence Magyar</maintainer>
88
<maintainer email="[email protected]">Denis Štogl</maintainer>

controller_manager/CHANGELOG.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
Changelog for package controller_manager
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
4.28.1 (2025-04-17)
6+
-------------------
7+
* Fix the enforce_command_limits deactivation (`#2181 <https://github.com/ros-controls/ros2_control/issues/2181>`_)
8+
* Contributors: Sai Kishor Kothakota
9+
510
4.28.0 (2025-04-10)
611
-------------------
712
* Integrate joint limit enforcement into `ros2_control` framework functional with Async controllers and components (`#2047 <https://github.com/ros-controls/ros2_control/issues/2047>`_)

controller_manager/doc/controller_chaining.rst

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,12 @@ This means the following:
4848

4949
.. note::
5050

51-
Only the controllers that exposes the reference interfaces are switched to chained mode, when their reference interfaces are used by other controllers. When their reference interfaces are not used by the other controllers, they are switched back to get references from the subscriber.
52-
However, the controllers that exposes the state interfaces are not triggered to chained mode, when their state interfaces are used by other controllers.
51+
Controllers that expose the reference interfaces are switched to chained mode only when their reference interfaces are used by other controllers. When their reference interfaces are not used by other controllers, they are switched back to get references from the subscriber.
52+
However, the controllers that expose the state interfaces are not triggered to chained mode when their state interfaces are used by other controllers.
53+
54+
.. note::
55+
56+
This document uses terms *preceding* and *following* controller. These terms refer to such ordering of controllers that controller A *precedes* controller B if A claims (*connects its output to*) B's reference interfaces (*inputs*). In the example diagram at the beginning of this section, 'diff_drive_controller' *precedes* 'pid left wheel' and 'pid right wheel'. Consequently, 'pid left wheel' and 'pid right wheel' are controllers *following* after 'diff_drive_controller'.
5357

5458
Implementation
5559
--------------

controller_manager/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
33
<package format="2">
44
<name>controller_manager</name>
5-
<version>4.28.0</version>
5+
<version>4.28.1</version>
66
<description>The main runnable entrypoint of ros2_control and home of controller management and resource management.</description>
77
<maintainer email="[email protected]">Bence Magyar</maintainer>
88
<maintainer email="[email protected]">Denis Štogl</maintainer>

controller_manager/src/controller_manager.cpp

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,10 @@ void ControllerManager::init_controller_manager()
499499
// Get parameters needed for RT "update" loop to work
500500
if (is_resource_manager_initialized())
501501
{
502-
resource_manager_->import_joint_limiters(robot_description_);
502+
if (enforce_command_limits_)
503+
{
504+
resource_manager_->import_joint_limiters(robot_description_);
505+
}
503506
init_services();
504507
}
505508
else
@@ -621,7 +624,10 @@ void ControllerManager::robot_description_callback(const std_msgs::msg::String &
621624

622625
void ControllerManager::init_resource_manager(const std::string & robot_description)
623626
{
624-
resource_manager_->import_joint_limiters(robot_description_);
627+
if (enforce_command_limits_)
628+
{
629+
resource_manager_->import_joint_limiters(robot_description_);
630+
}
625631
if (!resource_manager_->load_and_initialize_components(robot_description, update_rate_))
626632
{
627633
RCLCPP_WARN(
@@ -2880,11 +2886,7 @@ controller_interface::return_type ControllerManager::update(
28802886
// To publish the activity of the failing controllers and the fallback controllers
28812887
publish_activity();
28822888
}
2883-
2884-
if (enforce_command_limits_)
2885-
{
2886-
resource_manager_->enforce_command_limits(period);
2887-
}
2889+
resource_manager_->enforce_command_limits(period);
28882890

28892891
// there are controllers to (de)activate
28902892
if (switch_params_.do_switch)

controller_manager_msgs/CHANGELOG.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
Changelog for package controller_manager_msgs
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
4.28.1 (2025-04-17)
6+
-------------------
7+
58
4.28.0 (2025-04-10)
69
-------------------
710
* [CM] Extend the list controller and hardware components messages (`#2102 <https://github.com/ros-controls/ros2_control/issues/2102>`_)

controller_manager_msgs/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
33
<package format="3">
44
<name>controller_manager_msgs</name>
5-
<version>4.28.0</version>
5+
<version>4.28.1</version>
66
<description>Messages and services for the controller manager.</description>
77
<maintainer email="[email protected]">Bence Magyar</maintainer>
88
<maintainer email="[email protected]">Denis Štogl</maintainer>

doc/introspection.rst

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,19 @@ Data Visualization
7070

7171
Data can be visualized with any tools that display ROS topics, but we recommend `PlotJuggler <https://plotjuggler.io/>`_ for viewing high resolution live data, or data in bags.
7272

73-
1. Open ``PlotJuggler`` running ``ros2 run plotjuggler plotjuggler``.
73+
1. Open ``PlotJuggler`` by running ``ros2 run plotjuggler plotjuggler`` from the command line.
74+
7475
.. image:: images/plotjuggler.png
75-
2. Visualize the data:
76-
- Importing from the ros2bag
77-
- Subscribing to the ROS2 topics live with the ``ROS2 Topic Subscriber`` option under ``Streaming`` header.
76+
:alt: PlotJuggler
77+
78+
2. Visualize the data by importing from the ros2bag file or subscribing to the ROS2 topics live with the ``ROS2 Topic Subscriber`` option under ``Streaming`` header.
79+
7880
3. Choose the topics ``~/introspection_data/names`` and ``~/introspection_data/values`` from the popup window.
81+
7982
.. image:: images/plotjuggler_select_topics.png
80-
4. Now, select the variables that are of your interest and drag them to the plot.
83+
:alt: PlotJuggler Select Topics
84+
85+
4. Then, select the variables that are of your interest and drag them to the plot.
86+
8187
.. image:: images/plotjuggler_visualizing_data.png
88+
:alt: PlotJuggler Visualizing Data

hardware_interface/CHANGELOG.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22
Changelog for package hardware_interface
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

5+
4.28.1 (2025-04-17)
6+
-------------------
7+
* Avoid running joint limit enforcement during initialization (`#2188 <https://github.com/ros-controls/ros2_control/issues/2188>`_)
8+
* Use previous command to enforce the joint limits on position interfaces (`#2183 <https://github.com/ros-controls/ros2_control/issues/2183>`_)
9+
* Add log info for the type of joint limits being used (`#2186 <https://github.com/ros-controls/ros2_control/issues/2186>`_)
10+
* Fix the joint limits enforcement with `position` and `velocity` (`#2182 <https://github.com/ros-controls/ros2_control/issues/2182>`_)
11+
* Only log limiting error if something is limited. (`#2176 <https://github.com/ros-controls/ros2_control/issues/2176>`_)
12+
* Contributors: Felix Exner (fexner), Sai Kishor Kothakota
13+
514
4.28.0 (2025-04-10)
615
-------------------
716
* [HW Interface] Use new handle API inside the hardware components (`#2092 <https://github.com/ros-controls/ros2_control/issues/2092>`_)

0 commit comments

Comments
 (0)