Skip to content

Commit c4da2d0

Browse files
authored
Merge branch 'master' into add/sw_joint_limiter
2 parents b515464 + d200408 commit c4da2d0

File tree

93 files changed

+2588
-1104
lines changed

Some content is hidden

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

93 files changed

+2588
-1104
lines changed

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ repos:
3737

3838
# Python hooks
3939
- repo: https://github.com/asottile/pyupgrade
40-
rev: v3.16.0
40+
rev: v3.17.0
4141
hooks:
4242
- id: pyupgrade
4343
args: [--py36-plus]
@@ -133,7 +133,7 @@ repos:
133133
exclude: CHANGELOG\.rst|\.(svg|pyc|drawio)$
134134

135135
- repo: https://github.com/python-jsonschema/check-jsonschema
136-
rev: 0.28.6
136+
rev: 0.29.1
137137
hooks:
138138
- id: check-github-workflows
139139
args: ["--verbose"]

codecov.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ fixes:
1414
comment:
1515
layout: "diff, flags, files"
1616
behavior: default
17-
ignore:
18-
- "**/test"
1917
flags:
2018
unittests:
2119
paths:

controller_interface/CHANGELOG.rst

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

5+
4.16.1 (2024-08-24)
6+
-------------------
7+
8+
4.16.0 (2024-08-22)
9+
-------------------
10+
* Fix params_file typo in spawner and update release notes for use_global_arguments (`#1701 <https://github.com/ros-controls/ros2_control/issues/1701>`_)
11+
* Avoid using the global arguments for internal controller nodes (`#1694 <https://github.com/ros-controls/ros2_control/issues/1694>`_)
12+
* Contributors: Sai Kishor Kothakota
13+
14+
4.15.0 (2024-08-05)
15+
-------------------
16+
17+
4.14.0 (2024-07-23)
18+
-------------------
19+
* Unused header cleanup (`#1627 <https://github.com/ros-controls/ros2_control/issues/1627>`_)
20+
* move critical variables to the private context (`#1623 <https://github.com/ros-controls/ros2_control/issues/1623>`_)
21+
* Contributors: Henry Moore, Sai Kishor Kothakota
22+
523
4.13.0 (2024-07-08)
624
-------------------
725
* [ControllerChaining] Export state interfaces from chainable controllers (`#1021 <https://github.com/ros-controls/ros2_control/issues/1021>`_)

controller_interface/include/controller_interface/async_controller.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ class AsyncControllerThread
8282
TimePoint next_iteration_time =
8383
TimePoint(std::chrono::nanoseconds(controller_->get_node()->now().nanoseconds()));
8484

85-
if (controller_->get_state().id() == lifecycle_msgs::msg::State::PRIMARY_STATE_ACTIVE)
85+
if (
86+
controller_->get_lifecycle_state().id() == lifecycle_msgs::msg::State::PRIMARY_STATE_ACTIVE)
8687
{
8788
auto const current_time = controller_->get_node()->now();
8889
auto const measured_period = current_time - previous_time;

controller_interface/include/controller_interface/controller_interface_base.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ class ControllerInterfaceBase : public rclcpp_lifecycle::node_interfaces::Lifecy
147147
std::shared_ptr<const rclcpp_lifecycle::LifecycleNode> get_node() const;
148148

149149
CONTROLLER_INTERFACE_PUBLIC
150-
const rclcpp_lifecycle::State & get_state() const;
150+
const rclcpp_lifecycle::State & get_lifecycle_state() const;
151151

152152
CONTROLLER_INTERFACE_PUBLIC
153153
unsigned int get_update_rate() const;

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.13.0</version>
5+
<version>4.16.1</version>
66
<description>Description of controller_interface</description>
77
<maintainer email="[email protected]">Bence Magyar</maintainer>
88
<maintainer email="[email protected]">Denis Štogl</maintainer>

controller_interface/src/chainable_controller_interface.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ bool ChainableControllerInterface::set_chained_mode(bool chained_mode)
9797
{
9898
bool result = false;
9999

100-
if (get_state().id() != lifecycle_msgs::msg::State::PRIMARY_STATE_ACTIVE)
100+
if (get_lifecycle_state().id() != lifecycle_msgs::msg::State::PRIMARY_STATE_ACTIVE)
101101
{
102102
result = on_set_chained_mode(chained_mode);
103103

@@ -112,7 +112,8 @@ bool ChainableControllerInterface::set_chained_mode(bool chained_mode)
112112
get_node()->get_logger(),
113113
"Can not change controller's chained mode because it is no in '%s' state. "
114114
"Current state is '%s'.",
115-
hardware_interface::lifecycle_state_names::UNCONFIGURED, get_state().label().c_str());
115+
hardware_interface::lifecycle_state_names::UNCONFIGURED,
116+
get_lifecycle_state().label().c_str());
116117
}
117118

118119
return result;

controller_interface/src/controller_interface_base.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ const rclcpp_lifecycle::State & ControllerInterfaceBase::configure()
8383
// Then we don't need to do state-machine related checks.
8484
//
8585
// Other solution is to add check into the LifecycleNode if a transition is valid to trigger
86-
if (get_state().id() == lifecycle_msgs::msg::State::PRIMARY_STATE_UNCONFIGURED)
86+
if (get_lifecycle_state().id() == lifecycle_msgs::msg::State::PRIMARY_STATE_UNCONFIGURED)
8787
{
8888
update_rate_ = static_cast<unsigned int>(get_node()->get_parameter("update_rate").as_int());
8989
is_async_ = get_node()->get_parameter("is_async").as_bool();
@@ -106,7 +106,7 @@ void ControllerInterfaceBase::release_interfaces()
106106
state_interfaces_.clear();
107107
}
108108

109-
const rclcpp_lifecycle::State & ControllerInterfaceBase::get_state() const
109+
const rclcpp_lifecycle::State & ControllerInterfaceBase::get_lifecycle_state() const
110110
{
111111
return node_->get_current_state();
112112
}

controller_interface/test/test_controller_interface.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
#include <gmock/gmock.h>
1818
#include <memory>
19+
#include <string>
20+
#include <vector>
1921

2022
#include "rclcpp/executor_options.hpp"
2123
#include "rclcpp/executors/multi_threaded_executor.hpp"
@@ -57,13 +59,16 @@ TEST(TestableControllerInterface, init)
5759
TEST(TestableControllerInterface, setting_update_rate_in_configure)
5860
{
5961
// mocks the declaration of overrides parameters in a yaml file
60-
char const * const argv[] = {"", "--ros-args", "-p", "update_rate:=2812"};
61-
int argc = arrlen(argv);
62-
rclcpp::init(argc, argv);
62+
rclcpp::init(0, nullptr);
6363

6464
TestableControllerInterface controller;
6565
// initialize, create node
66-
const auto node_options = controller.define_custom_node_options();
66+
auto node_options = controller.define_custom_node_options();
67+
std::vector<std::string> node_options_arguments = node_options.arguments();
68+
node_options_arguments.push_back("--ros-args");
69+
node_options_arguments.push_back("-p");
70+
node_options_arguments.push_back("update_rate:=2812");
71+
node_options = node_options.arguments(node_options_arguments);
6772
ASSERT_EQ(
6873
controller.init(TEST_CONTROLLER_NAME, "", 1.0, "", node_options),
6974
controller_interface::return_type::OK);

controller_manager/CHANGELOG.rst

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

5+
4.16.1 (2024-08-24)
6+
-------------------
7+
* propage a portion of global args to the controller nodes (`#1712 <https://github.com/ros-controls/ros2_control/issues/1712>`_)
8+
* Contributors: Sai Kishor Kothakota
9+
10+
4.16.0 (2024-08-22)
11+
-------------------
12+
* inform user what reason is for not setting rt policy, inform is policy (`#1705 <https://github.com/ros-controls/ros2_control/issues/1705>`_)
13+
* Fix params_file typo in spawner and update release notes for use_global_arguments (`#1701 <https://github.com/ros-controls/ros2_control/issues/1701>`_)
14+
* Fix spawner tests timeout (`#1692 <https://github.com/ros-controls/ros2_control/issues/1692>`_)
15+
* Refactor spawner to be able to reuse code for ros2controlcli (`#1661 <https://github.com/ros-controls/ros2_control/issues/1661>`_)
16+
* Robustify controller spawner and add integration test with many controllers (`#1501 <https://github.com/ros-controls/ros2_control/issues/1501>`_)
17+
* Handle waiting in Spawner and align Hardware Spawner functionality (`#1562 <https://github.com/ros-controls/ros2_control/issues/1562>`_)
18+
* Make list controller and list hardware components immediately visualize the state. (`#1606 <https://github.com/ros-controls/ros2_control/issues/1606>`_)
19+
* [CI] Add coveragepy and remove ignore: test (`#1668 <https://github.com/ros-controls/ros2_control/issues/1668>`_)
20+
* Fix spawner unload on kill test (`#1675 <https://github.com/ros-controls/ros2_control/issues/1675>`_)
21+
* [CM] Add more logging for easier debugging (`#1645 <https://github.com/ros-controls/ros2_control/issues/1645>`_)
22+
* refactor SwitchParams to fix the incosistencies in the spawner tests (`#1638 <https://github.com/ros-controls/ros2_control/issues/1638>`_)
23+
* Contributors: Bence Magyar, Christoph Fröhlich, Dr. Denis, Felix Exner (fexner), Manuel Muth, Sai Kishor Kothakota
24+
25+
4.15.0 (2024-08-05)
26+
-------------------
27+
* Add missing include for executors (`#1653 <https://github.com/ros-controls/ros2_control/issues/1653>`_)
28+
* Fix the namespaced controller_manager spawner + added tests (`#1640 <https://github.com/ros-controls/ros2_control/issues/1640>`_)
29+
* CM: Add missing includes (`#1641 <https://github.com/ros-controls/ros2_control/issues/1641>`_)
30+
* Fix rst markup (`#1642 <https://github.com/ros-controls/ros2_control/issues/1642>`_)
31+
* Add a pytest launch file to test ros2_control_node (`#1636 <https://github.com/ros-controls/ros2_control/issues/1636>`_)
32+
* [CM] Remove deprecated spawner args (`#1639 <https://github.com/ros-controls/ros2_control/issues/1639>`_)
33+
* Contributors: Christoph Fröhlich, Sai Kishor Kothakota
34+
35+
4.14.0 (2024-07-23)
36+
-------------------
37+
* Unused header cleanup (`#1627 <https://github.com/ros-controls/ros2_control/issues/1627>`_)
38+
* Remove noqa (`#1626 <https://github.com/ros-controls/ros2_control/issues/1626>`_)
39+
* Fix controller starting with later load of robot description test (`#1624 <https://github.com/ros-controls/ros2_control/issues/1624>`_)
40+
* [CM] Remove support for the description parameter and use only `robot_description` topic (`#1358 <https://github.com/ros-controls/ros2_control/issues/1358>`_)
41+
* Contributors: Christoph Fröhlich, Dr. Denis, Henry Moore, Sai Kishor Kothakota
42+
543
4.13.0 (2024-07-08)
644
-------------------
745
* Change the spamming checking interface ERROR to DEBUG (`#1605 <https://github.com/ros-controls/ros2_control/issues/1605>`_)

0 commit comments

Comments
 (0)