Skip to content

Commit

Permalink
Fix the spawner to support full wildcard parameter entries (#1933)
Browse files Browse the repository at this point in the history
(cherry picked from commit bb087e2)

# Conflicts:
#	.clang-format
#	.github/ISSUE_TEMPLATE/good-first-issue.md
#	.github/mergify.yml
#	.github/workflows/humble-abi-compatibility.yml
#	.github/workflows/humble-debian-build.yml
#	.github/workflows/prerelease-check.yml
#	.github/workflows/rolling-abi-compatibility.yml
#	.github/workflows/rolling-check-docs.yml
#	README.md
#	controller_interface/CHANGELOG.rst
#	controller_interface/CMakeLists.txt
#	controller_interface/include/controller_interface/chainable_controller_interface.hpp
#	controller_interface/include/controller_interface/controller_interface.hpp
#	controller_interface/include/controller_interface/controller_interface_base.hpp
#	controller_interface/include/controller_interface/helpers.hpp
#	controller_interface/include/semantic_components/range_sensor.hpp
#	controller_interface/package.xml
#	controller_interface/src/chainable_controller_interface.cpp
#	controller_interface/src/controller_interface.cpp
#	controller_interface/src/controller_interface_base.cpp
#	controller_interface/test/test_chainable_controller_interface.cpp
#	controller_interface/test/test_chainable_controller_interface.hpp
#	controller_interface/test/test_controller_interface.cpp
#	controller_interface/test/test_controller_interface.hpp
#	controller_interface/test/test_controller_with_options.cpp
#	controller_interface/test/test_controller_with_options.hpp
#	controller_interface/test/test_force_torque_sensor.hpp
#	controller_interface/test/test_imu_sensor.hpp
#	controller_interface/test/test_semantic_component_interface.hpp
#	controller_manager/CHANGELOG.rst
#	controller_manager/CMakeLists.txt
#	controller_manager/controller_manager/controller_manager_services.py
#	controller_manager/controller_manager/launch_utils.py
#	controller_manager/controller_manager/spawner.py
#	controller_manager/controller_manager/unspawner.py
#	controller_manager/doc/controller_chaining.rst
#	controller_manager/doc/images/chaining_example2.png
#	controller_manager/doc/userdoc.rst
#	controller_manager/include/controller_manager/controller_manager.hpp
#	controller_manager/include/controller_manager/controller_spec.hpp
#	controller_manager/package.xml
#	controller_manager/src/controller_manager.cpp
#	controller_manager/src/ros2_control_node.cpp
#	controller_manager/test/controller_manager_test_common.hpp
#	controller_manager/test/test_chainable_controller/test_chainable_controller.cpp
#	controller_manager/test/test_chainable_controller/test_chainable_controller.hpp
#	controller_manager/test/test_controller/test_controller.cpp
#	controller_manager/test/test_controller/test_controller.hpp
#	controller_manager/test/test_controller_failed_init/test_controller_failed_init.cpp
#	controller_manager/test/test_controller_failed_init/test_controller_failed_init.hpp
#	controller_manager/test/test_controller_manager.cpp
#	controller_manager/test/test_controller_manager_srvs.cpp
#	controller_manager/test/test_controller_manager_urdf_passing.cpp
#	controller_manager/test/test_controller_manager_with_namespace.cpp
#	controller_manager/test/test_controller_with_interfaces/test_controller_with_interfaces.cpp
#	controller_manager/test/test_controller_with_interfaces/test_controller_with_interfaces.hpp
#	controller_manager/test/test_controllers_chaining_with_controller_manager.cpp
#	controller_manager/test/test_hardware_management_srvs.cpp
#	controller_manager/test/test_hardware_spawner.cpp
#	controller_manager/test/test_load_controller.cpp
#	controller_manager/test/test_release_interfaces.cpp
#	controller_manager/test/test_spawner_unspawner.cpp
#	controller_manager_msgs/CHANGELOG.rst
#	controller_manager_msgs/CMakeLists.txt
#	controller_manager_msgs/msg/ControllerState.msg
#	controller_manager_msgs/msg/HardwareComponentState.msg
#	controller_manager_msgs/package.xml
#	controller_manager_msgs/srv/SwitchController.srv
#	doc/debugging.rst
#	doc/migration.rst
#	doc/release_notes.rst
#	hardware_interface/CHANGELOG.rst
#	hardware_interface/CMakeLists.txt
#	hardware_interface/doc/different_update_rates_userdoc.rst
#	hardware_interface/doc/hardware_interface_types_userdoc.rst
#	hardware_interface/doc/joints_userdoc.rst
#	hardware_interface/doc/mock_components_userdoc.rst
#	hardware_interface/doc/writing_new_hardware_component.rst
#	hardware_interface/include/hardware_interface/actuator.hpp
#	hardware_interface/include/hardware_interface/actuator_interface.hpp
#	hardware_interface/include/hardware_interface/component_parser.hpp
#	hardware_interface/include/hardware_interface/controller_info.hpp
#	hardware_interface/include/hardware_interface/handle.hpp
#	hardware_interface/include/hardware_interface/hardware_component_info.hpp
#	hardware_interface/include/hardware_interface/hardware_info.hpp
#	hardware_interface/include/hardware_interface/lexical_casts.hpp
#	hardware_interface/include/hardware_interface/loaned_command_interface.hpp
#	hardware_interface/include/hardware_interface/loaned_state_interface.hpp
#	hardware_interface/include/hardware_interface/resource_manager.hpp
#	hardware_interface/include/hardware_interface/sensor.hpp
#	hardware_interface/include/hardware_interface/sensor_interface.hpp
#	hardware_interface/include/hardware_interface/system.hpp
#	hardware_interface/include/hardware_interface/system_interface.hpp
#	hardware_interface/include/hardware_interface/types/hardware_interface_return_values.hpp
#	hardware_interface/include/hardware_interface/types/hardware_interface_type_values.hpp
#	hardware_interface/include/hardware_interface/types/lifecycle_state_names.hpp
#	hardware_interface/include/mock_components/generic_system.hpp
#	hardware_interface/package.xml
#	hardware_interface/src/actuator.cpp
#	hardware_interface/src/component_parser.cpp
#	hardware_interface/src/lexical_casts.cpp
#	hardware_interface/src/mock_components/generic_system.cpp
#	hardware_interface/src/resource_manager.cpp
#	hardware_interface/src/sensor.cpp
#	hardware_interface/src/system.cpp
#	hardware_interface/test/mock_components/test_generic_system.cpp
#	hardware_interface/test/test_component_interfaces.cpp
#	hardware_interface/test/test_component_parser.cpp
#	hardware_interface/test/test_handle.cpp
#	hardware_interface/test/test_hardware_components/test_force_torque_sensor.cpp
#	hardware_interface/test/test_hardware_components/test_hardware_components.xml
#	hardware_interface/test/test_hardware_components/test_single_joint_actuator.cpp
#	hardware_interface/test/test_hardware_components/test_system_with_command_modes.cpp
#	hardware_interface/test/test_hardware_components/test_two_joint_system.cpp
#	hardware_interface/test/test_inst_hardwares.cpp
#	hardware_interface/test/test_macros.cpp
#	hardware_interface_testing/CHANGELOG.rst
#	hardware_interface_testing/CMakeLists.txt
#	hardware_interface_testing/package.xml
#	hardware_interface_testing/test/test_components/test_actuator.cpp
#	hardware_interface_testing/test/test_components/test_components.xml
#	hardware_interface_testing/test/test_components/test_sensor.cpp
#	hardware_interface_testing/test/test_components/test_system.cpp
#	hardware_interface_testing/test/test_resource_manager.cpp
#	hardware_interface_testing/test/test_resource_manager.hpp
#	hardware_interface_testing/test/test_resource_manager_prepare_perform_switch.cpp
#	joint_limits/CHANGELOG.rst
#	joint_limits/CMakeLists.txt
#	joint_limits/include/joint_limits/joint_limits.hpp
#	joint_limits/include/joint_limits/joint_limits_rosparam.hpp
#	joint_limits/package.xml
#	joint_limits/test/joint_limits_rosparam.yaml
#	joint_limits/test/joint_limits_rosparam_test.cpp
#	ros2_control/CHANGELOG.rst
#	ros2_control/CMakeLists.txt
#	ros2_control/package.xml
#	ros2_control_test_assets/CHANGELOG.rst
#	ros2_control_test_assets/CMakeLists.txt
#	ros2_control_test_assets/include/ros2_control_test_assets/components_urdfs.hpp
#	ros2_control_test_assets/include/ros2_control_test_assets/descriptions.hpp
#	ros2_control_test_assets/package.xml
#	ros2controlcli/CHANGELOG.rst
#	ros2controlcli/doc/userdoc.rst
#	ros2controlcli/package.xml
#	ros2controlcli/ros2controlcli/api/__init__.py
#	ros2controlcli/ros2controlcli/verb/list_controller_types.py
#	ros2controlcli/ros2controlcli/verb/list_controllers.py
#	ros2controlcli/ros2controlcli/verb/list_hardware_components.py
#	ros2controlcli/ros2controlcli/verb/list_hardware_interfaces.py
#	ros2controlcli/ros2controlcli/verb/load_controller.py
#	ros2controlcli/ros2controlcli/verb/reload_controller_libraries.py
#	ros2controlcli/ros2controlcli/verb/set_controller_state.py
#	ros2controlcli/ros2controlcli/verb/set_hardware_component_state.py
#	ros2controlcli/ros2controlcli/verb/switch_controllers.py
#	ros2controlcli/ros2controlcli/verb/unload_controller.py
#	ros2controlcli/ros2controlcli/verb/view_controller_chains.py
#	ros2controlcli/setup.py
#	ros2controlcli/test/test_view_controller_chains.py
#	rqt_controller_manager/CHANGELOG.rst
#	rqt_controller_manager/package.xml
#	rqt_controller_manager/rqt_controller_manager/controller_manager.py
#	rqt_controller_manager/setup.py
#	transmission_interface/CHANGELOG.rst
#	transmission_interface/CMakeLists.txt
#	transmission_interface/include/transmission_interface/accessor.hpp
#	transmission_interface/include/transmission_interface/differential_transmission.hpp
#	transmission_interface/include/transmission_interface/four_bar_linkage_transmission.hpp
#	transmission_interface/include/transmission_interface/handle.hpp
#	transmission_interface/include/transmission_interface/transmission.hpp
#	transmission_interface/package.xml
#	transmission_interface/src/differential_transmission_loader.cpp
#	transmission_interface/src/four_bar_linkage_transmission_loader.cpp
#	transmission_interface/src/simple_transmission_loader.cpp
#	transmission_interface/test/differential_transmission_loader_test.cpp
#	transmission_interface/test/four_bar_linkage_transmission_loader_test.cpp
#	transmission_interface/test/four_bar_linkage_transmission_test.cpp
#	transmission_interface/test/simple_transmission_loader_test.cpp
#	transmission_interface/test/simple_transmission_test.cpp
  • Loading branch information
saikishor authored and mergify[bot] committed Dec 13, 2024
1 parent 5bce7bf commit 1a2b768
Show file tree
Hide file tree
Showing 202 changed files with 28,725 additions and 123 deletions.
4 changes: 4 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,8 @@ DerivePointerAlignment: false
PointerAlignment: Middle
ReflowComments: true
IncludeBlocks: Preserve
<<<<<<< HEAD
=======
InsertBraces: true
>>>>>>> bb087e2 (Fix the spawner to support full wildcard parameter entries (#1933))
...
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/good-first-issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@ Nothing. This issue is meant to welcome you to Open Source :) We are happy to wa

- [ ] 🙋 **Claim this issue**: Comment below. If someone else has claimed it, ask if they've opened a pull request already and if they're stuck -- maybe you can help them solve a problem or move it along!

<<<<<<< HEAD
- [ ] 🗄️ **Create a local workspace** for making your changes and testing [following these instructions](https://docs.ros.org/en/humble/Tutorials/Workspace/Creating-A-Workspace.html), for Step 3 use "Download Source Code" section with [these instructions](https://control.ros.org/humble/doc/getting_started/getting_started.html#building-from-source).
=======
- [ ] 🗄️ **Create a local workspace** for making your changes and testing [following these instructions](https://docs.ros.org/en/rolling/Tutorials/Workspace/Creating-A-Workspace.html), for Step 3 use "Download Source Code" section with [these instructions](https://control.ros.org/master/doc/getting_started/getting_started.html#building-from-source).
>>>>>>> bb087e2 (Fix the spawner to support full wildcard parameter entries (#1933))
- [ ] 🍴 **Fork the repository** using the handy button at the top of the repository page and **clone** it into `~/ws_ros2_control/src/ros-controls/ros2_control`, [here is a guide that you can follow](https://guides.github.com/activities/forking/) (You will have to remove or empty the existing `ros2_control` folder before cloning your own fork)

Expand All @@ -53,8 +57,14 @@ Nothing. This issue is meant to welcome you to Open Source :) We are happy to wa

Don’t hesitate to ask questions or to get help if you feel like you are getting stuck. For example leave a comment below!
Furthermore, you find helpful resources here:
<<<<<<< HEAD
* [ros2_control Contribution Guide](https://control.ros.org/humble/doc/contributing/contributing.html)
* [ROS2 Tutorials](https://docs.ros.org/en/humble/Tutorials.html)
* [ROS Answers](https://answers.ros.org/questions/)
=======
* [ROS2 Control Contribution Guide](https://control.ros.org/master/doc/contributing/contributing.html)
* [ROS2 Tutorials](https://docs.ros.org/en/rolling/Tutorials.html)
* [Robotics Stack Exchange](https://robotics.stackexchange.com)
>>>>>>> bb087e2 (Fix the spawner to support full wildcard parameter entries (#1933))
**Good luck with your first issue!**
52 changes: 52 additions & 0 deletions .github/mergify.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
pull_request_rules:
<<<<<<< HEAD
- name: Backport to galactic at reviewers discretion
conditions:
- base=master
Expand All @@ -16,11 +17,62 @@ pull_request_rules:
backport:
branches:
- foxy
=======
- name: Backport to humble at reviewers discretion
conditions:
- base=master
- "label=backport-humble"
actions:
backport:
branches:
- humble

- name: Backport to iron at reviewers discretion
conditions:
- base=master
- "label=backport-iron"
actions:
backport:
branches:
- iron
>>>>>>> bb087e2 (Fix the spawner to support full wildcard parameter entries (#1933))

- name: Ask to resolve conflict
conditions:
- conflict
<<<<<<< HEAD
- author!=mergify
actions:
comment:
message: This pull request is in conflict. Could you fix it @{{author}}?
=======
- author!=mergify[bot]
- author!=dependabot[bot]
actions:
comment:
message: This pull request is in conflict. Could you fix it @{{author}}?

- name: Ask to resolve conflict for backports
conditions:
- conflict
- author=mergify[bot]
actions:
comment:
message: This pull request is in conflict. Could you fix it @bmagyar @destogl @christophfroehlich @saikishor?

- name: development targets master branch
conditions:
- base!=master
- author!=bmagyar
- author!=destogl
- author!=christophfroehlich
- author!=saikishor
- author!=mergify[bot]
- author!=dependabot[bot]
actions:
comment:
message: |
@{{author}}, all pull requests must be targeted towards the `master` development branch.
Once merged into `master`, it is possible to backport to `{{base}}`, but it must be in `master`
to have these changes reflected into new distributions.
>>>>>>> bb087e2 (Fix the spawner to support full wildcard parameter entries (#1933))
16 changes: 16 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:

1. Limited scope. Your PR should do one thing or one set of things. Avoid adding “random fixes” to PRs. Put those on separate PRs.
2. Give your PR a descriptive title. Add a short summary, if required.
3. Make sure the pipeline is green.
4. Don’t be afraid to request reviews from maintainers.
5. New code = new tests. If you are adding new functionality, always make sure to add some tests exercising the code and serving as live documentation of your original intention.

To send us a pull request, please:

- [ ] Fork the repository.
- [ ] Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
- [ ] Ensure local tests pass. (`colcon test` and `pre-commit run` (requires you to install pre-commit by `pip3 install pre-commit`)
- [ ] Commit to your fork using clear commit messages.
- [ ] Send a pull request, answering any default questions in the pull request interface.
- [ ] Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
4 changes: 4 additions & 0 deletions .github/workflows/humble-abi-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ jobs:
- uses: ros-industrial/industrial_ci@master
env:
ROS_DISTRO: humble
<<<<<<< HEAD
ROS_REPO: main
=======
ROS_REPO: testing
>>>>>>> bb087e2 (Fix the spawner to support full wildcard parameter entries (#1933))
ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }}
NOT_TEST_BUILD: true
4 changes: 4 additions & 0 deletions .github/workflows/humble-debian-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,8 @@ jobs:
upstream_workspace: ros2_control.${{ matrix.ROS_DISTRO }}.repos
ref_for_scheduled_build: master
skip_packages: rqt_controller_manager
<<<<<<< HEAD
skip_packages_test: controller_manager_msgs control_msgs
=======
skip_packages_test: controller_manager_msgs
>>>>>>> bb087e2 (Fix the spawner to support full wildcard parameter entries (#1933))
10 changes: 10 additions & 0 deletions .github/workflows/prerelease-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,29 @@ on:
default: 'rolling'
type: choice
options:
<<<<<<< HEAD
- foxy
- galactic
- humble
=======
- humble
- iron
>>>>>>> bb087e2 (Fix the spawner to support full wildcard parameter entries (#1933))
- rolling
branch:
description: 'Chose branch for distro'
required: true
default: 'master'
type: choice
options:
<<<<<<< HEAD
- foxy
- galactic
- humble
=======
- humble
- iron
>>>>>>> bb087e2 (Fix the spawner to support full wildcard parameter entries (#1933))
- master

jobs:
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/rolling-abi-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ jobs:
- uses: ros-industrial/industrial_ci@master
env:
ROS_DISTRO: rolling
<<<<<<< HEAD
ROS_REPO: main
=======
ROS_REPO: testing
>>>>>>> bb087e2 (Fix the spawner to support full wildcard parameter entries (#1933))
ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }}
NOT_TEST_BUILD: true
8 changes: 8 additions & 0 deletions .github/workflows/rolling-check-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ on:
- '**.rst'
- '**.md'
- '**.yaml'
<<<<<<< HEAD
=======
- '.github/workflows/rolling-check-docs.yml'
>>>>>>> bb087e2 (Fix the spawner to support full wildcard parameter entries (#1933))

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand All @@ -17,6 +21,10 @@ concurrency:
jobs:
check-docs:
name: Check Docs
<<<<<<< HEAD
uses: ros-controls/control.ros.org/.github/workflows/reusable-sphinx-check-single-version.yml@master
=======
uses: ros-controls/control.ros.org/.github/workflows/reusable-sphinx-check-single-version.yml@rolling
>>>>>>> bb087e2 (Fix the spawner to support full wildcard parameter entries (#1933))
with:
ROS2_CONTROL_PR: ${{ github.ref }}
12 changes: 12 additions & 0 deletions MIGRATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Migration Notes

API changes in ros2_control releases

## ROS Rolling

#### Controller Interface

`update_reference_from_subscribers()` method got parameters and now has the following signature:
```
update_reference_from_subscribers(const rclcpp::Time & time, const rclcpp::Duration & /*period*/)
```
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
# ros2_control

[![Licence](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
<<<<<<< HEAD
[![codecov](https://codecov.io/gh/ros-controls/ros2_control/branch/humble/graph/badge.svg?token=idvm1zJXOf)](https://codecov.io/gh/ros-controls/ros2_control/tree/humble)
=======
[![codecov](https://codecov.io/gh/ros-controls/ros2_control/graph/badge.svg?token=idvm1zJXOf)](https://codecov.io/gh/ros-controls/ros2_control)
>>>>>>> bb087e2 (Fix the spawner to support full wildcard parameter entries (#1933))
This package is a part of the ros2_control framework.
For more, please check the [documentation](https://control.ros.org/).
Expand Down
Loading

0 comments on commit 1a2b768

Please sign in to comment.