-
 

Package Summary

Tags No category tags.
Version 2.44.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros2_control.git
VCS Type git
VCS Version humble
Last Updated 2024-11-18
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Description of controller_manager

Additional Links

No additional links.

Maintainers

  • Bence Magyar
  • Denis Štogl

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package controller_manager

2.44.0 (2024-11-09)

  • [ros2_control_node] Handle simulation environment clocks (backport #1810) (#1862)
  • Change from thread_priority.hpp to realtime_helpers.hpp (backport #1829) (#1866)
  • [ros2_control_node] Add option to set the CPU affinity (backport #1852) (#1856)
  • [ros2_control_node] Add the realtime_tools lock_memory method to prevent page faults (backport #1822) (#1850)
  • fix: typo use thread_priority (backport #1844) (#1847)
  • [Spawner] Add support for wildcard entries in the controller param files (#1724) (#1835)
  • Add test coverage for [params_file]{.title-ref} parameter in spawner/unspawner tests (#1754) (#1838)
  • Fix unload of controllers when spawned with [--unload-on-kill]{.title-ref} (#1717) (#1842)
  • add thread_priority option to the ros2_control_node (#1820) (#1824)
  • Add few warning compiler options to error (backport #1181) (#1816)
  • Add -Wconversion flag to protect future developments (#1053) (#1815)
  • Fix timeout value in std output (backport #1807) (#1812)
  • Improve launch utils to support the multiple controller names (#1782) (#1783)
  • allow extra spawner arguments to not declare every argument in launch utils (#1505) (#1792)
  • Refactor spawner to be able to reuse code for ros2controlcli (backport #1661) (#1695)
  • [rqt_controller_manager] Add hardware components (#1455) (#1586)
  • [CM] Handle other exceptions while loading the controller plugin (#1731) (#1733)
  • [CM] Throw an exception when the components initially fail to be in the required state (backport #1729) (#1777)
  • Fix spawner tests timeout on source builds (backport #1692) (#1697)
  • Contributors: mergify[bot]

2.43.1 (2024-09-11)

  • controller_manager: Add space to string literal concatenation (#1245) (#1747)
  • fix: the print of the information in control node was in wrong order (#1726)
  • Contributors: Manuel Muth, roscan-tech

2.43.0 (2024-08-22)

  • Infrom user why rt policy could not be set, infrom if is set. (backport #1705) (#1708)
  • Make list controller and list hardware components immediately visualize the state. (backport #1606) (#1690)
  • Robustify spawner (backport #1501) (#1686)
  • [CI] Backport #1636 #1668 and fix coverage on jammy (#1677)
  • Handle on waiting (backport #1562) (#1680)
  • refactor SwitchParams to fix the incosistencies in the spawner tests (backport #1638) (#1659)
  • Contributors: Christoph Fröhlich, mergify[bot]

2.42.0 (2024-07-23)

  • Remove noqa (#1626) (#1628)
  • Bump version of pre-commit hooks (backport #1556) (#1557)
  • Contributors: mergify[bot]

2.41.0 (2024-04-30)

  • check for state of the controller node before cleanup (backport #1363) (#1378)
  • Bump version of pre-commit hooks (backport #1430) (#1434)
  • Contributors: mergify[bot]

2.40.0 (2024-03-02)

  • Fix multiple chainable controller activation bug (backport #1401) (#1411)
  • [CI] Code coverage + pre-commit (backport #1413) (#1414)
  • Contributors: mergify[bot]

2.39.1 (2024-02-14)

2.39.0 (2024-02-12)

  • [Spawners] Remove walrus operator (#1366)
  • [CM] Use explicit constants in controller tests. (#1356) (#1359)
  • Move [test_components]{.title-ref} to own package (backport #1325) (#1340)
  • Contributors: Christoph Fröhlich, Dr Denis

2.38.0 (2024-01-25)

  • [CM] Fix controller parameter loading issue in different cases (#1293) (#1332)
  • Enable setting of initial state in HW components (backport #1046) (#1064)
  • Contributors: Sai Kishor Kothakota, mergify[bot]

2.37.0 (2024-01-20)

  • Add additional checks for non existing and not available interfaces. (backport #1218) (#1291)
  • [ControllerManager] Fix all warnings from the latets features. (backport #1174) (#1309)
  • Reformat with braces added (backport #1209) (#1306)
  • Add spawner for hardware (backport #941) (#1216)
  • Initialize the controller manager services after initializing resource manager (#1272)
  • Fix rqt controller manager crash on ros2_control restart (#1273) (#1280)
  • Contributors: David Yackzan, Sai Kishor Kothakota, mergify[bot]

2.36.1 (2024-01-08)

  • [docs] Remove joint_state_controller (#1263) (#1264)
  • [CI] Increase timeout for controller_managers_srv test (backport #1224) (#1225)
  • Contributors: mergify[bot]

2.36.0 (2023-12-12)

  • Fix controller sorting issue while loading large number of controllers (#1180) (#1186)
  • Contributors: mergify[bot]

2.35.1 (2023-11-27)

2.35.0 (2023-11-14)

  • Fix the controller sorting bug when the interfaces are not configured (fixes #1164) (#1165) (#1166)
  • [CM] Use [robot_description]{.title-ref} topic instead of parameter and don't crash on empty URDF 🦿 (backport #940) (#1052)
  • Contributors: Sai Kishor Kothakota, Denis Stogl

2.34.0 (2023-11-08)

  • [Humble] Controller sorting (#1157)
  • Update spawner to accept controllers list and start them in sequence (backport #1139) (#1149)
  • Create doc file for chained controllers (backport #985) (#1131)
  • Contributors: Sai Kishor Kothakota, mergify[bot]

2.33.0 (2023-10-11)

  • Export of the get_cm_node_options() from robostack (#1129) (#1130)
  • Contributors: mergify[bot]

2.32.0 (2023-10-03)

  • Fix multiple calls to export reference interfaces (backport #1108) (#1114)
  • Contributors: Sai Kishor Kothakota, Dr Denis

2.31.0 (2023-09-11)

  • [Docs] Fix information about activation and deactivation of chainable controllers (#1104) (#1106)
  • Contributors: mergify[bot]

2.30.0 (2023-08-14)

  • [CM] Fixes the issue with individual controller's update rate (#1082) (#1097)
  • Contributors: Sai Kishor Kothakota

2.29.0 (2023-07-09)

  • [CM] Make error message after trying to active controller more informative. (#1066) (#1072)
  • added controller manager runner to have update cycles (#1075) (#1076)
  • Fix equal and higher controller update rate (backport #1070) (#1071)
  • Contributors: Sai Kishor Kothakota, Dr Denis

2.28.0 (2023-06-23)

2.27.0 (2023-06-14)

  • Docs: Use branch name substitution for all links (backport #1031) (#1042)
  • [Humble] enable ReflowComments to also use ColumnLimit on comments (#1038)
  • controller_manager_srvs tests: Add text to assertions (backport #1023) (#1029)
  • Contributors: Sai Kishor Kothakota, Christoph Fröhlich, Bence Magyar, Felix Exner

2.26.0 (2023-05-20)

  • Revert "Add diagnostics (#1015) #abi-breaking
  • Fix GitHub link on control.ros.org (#1022) (#1024)
  • Contributors: Joseph Schornak, Christoph Fröhlich

2.25.3 (2023-04-29)

2.25.2 (2023-04-20)

2.25.1 (2023-04-14)

2.25.0 (2023-04-02)

2.24.1 (2023-03-09)

2.24.0 (2023-02-28)

  • fix AttributeError: Parameter object attribute name is read-only (#957) (#958)
  • Expose node options to controller manager (#942) (#946)
  • Contributors: Bence Magyar, methylDragon,Noel Jiménez García

2.23.0 (2023-02-20)

  • Adds list_hardware_components to CLI #796 - Adds list_hardware_components to CLI (#891) (#937)
  • Do not use CLI calls but direct API for setting parameters. (backport #910) (#913)
  • Contributors: Andy McEvoy, Denis Stogl

2.22.0 (2023-01-31)

  • Optimize output of controller spawner (backport #909) (#911)
  • Namespace Loaded Controllers (#852) (#914)
  • Add diagnostics (backport #820) (#922)
  • Contributors: Bence Magyar, Denis Stogl, Tony Najjar

2.21.0 (2023-01-24)

  • ControllerManager: catch exception by reference (#906) (#907)
  • Fix update rate setting from gazebo_ros2_control (backport #874) (#904)
  • Contributors: Christopher Wecht, Tony Najjar, Denis Stogl

2.20.0 (2023-01-12)

  • Add backward_ros to controller_manager (#886) (#892)
  • Contributors: Bence Magyar

2.19.0 (2023-01-06)

  • Prevent controller manager from crashing when controller's plugin has error during loading. (#881) (#882)
  • Contributors: Denis Štogl

2.18.0 (2022-12-03)

  • Use a thread priority library from realtime_tools (#794) (#868)
  • Fix const-ness in std::chrono::time_point construction and explicitly use std::chrono::nanoseconds as std::chrono::time_point template parameter to help compilation on macOS as its std::chrono::system_clock::time_point defaults to std::chrono::milliseconds for duration type (#848) (#866)
  • Contributors: Andy Zelenak, light-tech

2.17.0 (2022-11-27)

2.16.0 (2022-10-17)

  • Search for controller manager in the same namespace as spawner (#810) (#839)
  • Don't ask to export reference interface if controller not 'inactive' or 'active' (#824) (#843)
  • Contributors: Denis Štogl, Tony Najjar

2.15.0 (2022-09-19)

2.14.0 (2022-09-04)

  • Add doxygen comments (#777)
  • Contributors: Bence Magyar, Denis Štogl

2.13.0 (2022-08-03)

  • Clang tidy: delete a redundant return (#790)
  • Add chained controllers information in list controllers service #abi-braking (#758)
    • add chained controllers in ros2controlcli
    • remove controller_group from service
    • added comments to ControllerState message
    • added comments to ChainedConnection message
  • spawner.py: Fix python logging on deprecation warning (#787)
  • Add documentation for realtime permission (#781)
  • Fix bug in spawner with getter for node's logger (#776)
  • Contributors: Andy Zelenak, Felix Exner, Paul Gesel, Bijou Abraham

2.12.1 (2022-07-14)

  • Rename CM members from start/stop to activate/deactivate nomenclature. (#756)
  • Fix spelling in comment (#769)
  • Contributors: Denis Štogl, Tyler Weaver

2.12.0 (2022-07-09)

  • Deprecate and rename [start]{.title-ref} and [stop]{.title-ref} nomenclature toward user to [activate]{.title-ref} and [deactivate]{.title-ref} #ABI-breaking (#755)
    • Rename fields and deprecate old nomenclature.
    • Add new defines to SwitchController.srv
    • Deprecated start/stop nomenclature in all CLI commands.
    • Deprecate 'start_asap' too as other fields.
  • [ros2_control_node] Automatically detect if RT kernel is used and opportunistically enable SCHED_FIFO (#748)
  • Contributors: Denis Štogl, Tyler Weaver

2.11.0 (2022-07-03)

  • Remove hybrid services in controller manager. (#761)
  • [Interfaces] Improved `get_name()[ method of hardware interfaces #api-breaking (]{.title-ref}#737 <<https://github.com/ros-controls/ros2_control/issues/737>>`_)
  • Update maintainers of packages (#753)
  • Fix test dependency for chainable test (#751)
  • Remove ament autolint (#749)
  • Full functionality of chainable controllers in controller manager (#667)
    • auto-switching of chained mode in controllers
    • interface-matching approach for managing chaining controllers
  • Fixup spanwer and unspawner tests. It changes spawner a bit to handle interupts internally. (#745)
  • Add missing field to initializer lists in tests (#746)
  • Small but useful output update on controller manager. (#741)
  • Fixed period passed to hardware components always 0 (#738)
  • Contributors: Bence Magyar, Denis Štogl, Maciej Bednarczyk, Lucas Schulze

2.10.0 (2022-06-18)

  • Make RHEL CI happy! (#730)
  • CMakeLists cleanup (#733)
  • Update to clang format 12 (#731)
  • Contributors: Andy Zelenak, Bence Magyar, Márk Szitanics

2.9.0 (2022-05-19)

  • Adding base class for chained controllers: [ChainedControllersInterface]{.title-ref} (#663)
    • Extending ControllerInterface with methods for chainable controllers.
    • Switching to chained_mode is only forbidden if controller is active.
    • Default implementation for 'on_set_chained_mode' method.
    • Use two internal methods instead of 'update' directly on chained controllers.
  • Add ControllerInterfaceBase class with methods for chainable controller (#717)
  • Contributors: Denis Štogl

2.8.0 (2022-05-13)

  • Pass time and period to read() and write() (#715)
  • Contributors: Bence Magyar

2.7.0 (2022-04-29)

  • Update ControllerManager documenation describing some concepts (#677)
  • Make node private in ControllerInterface (#699)
  • Contributors: Chen Bainian, Denis Štogl, Jack Center, Bence Magyar

2.6.0 (2022-04-20)

  • Add controller_manager_msgs dependency to test_hardware_management_srvs (#702)
  • Remove unused variable from the test (#700)
  • Enable namespaces for controllers. (#693)
  • Spawner waits for services (#683)
  • Contributors: Denis Štogl, Rufus Wong, Tyler Weaver

2.5.0 (2022-03-25)

  • Make ControllerManager tests more flexible and reusable for different scenarios. Use more parameterized tests regarding strictness. (#661)
  • Use lifecycle nodes in controllers again (#538)
    • Add lifecycle nodes
    • Add custom 'configure' to controller interface to get 'update_rate' parameter.
    • Disable external interfaces of LifecycleNode.
  • Small fixes in controller manager tests. (#660)
  • Enable controller manager services to control hardware lifecycle #abi-breaking (#637)
    • Implement CM services for hardware lifecycle management.
    • Added default behavior to activate all controller and added description of CM parameters.
  • Contributors: Denis Štogl, Vatan Aksoy Tezer, Bence Magyar

2.4.0 (2022-02-23)

  • Fixes of issue with seg-fault when checking interfaces on unconfigured controllers. (#580)
  • Update CM service QoS so that we don't lose service calls when using many controllers. (#643)
  • Contributors: Denis Štogl, Bence Magyar

2.3.0 (2022-02-18)

  • added a fixed control period to loop (#647)
  • install spawner/unspawner using console_script entrypoint (#607)
  • Add BEST_EFFORT in the controller switch tests. (#582)
  • Resolve unused parameter warnings (#636)
  • Contributors: Bence Magyar, Denis Štogl, Jack Center, Melvin Wang, Xi-Huang

2.2.0 (2022-01-24)

  • Resource Manager API changes for hardware lifecycle #api-breaking #abi-breaking (#589)
    • Towards selective starting and stoping of hardware components. Cleaning and renaming.
    • Move Lifecycle of hardware component to the bottom for better overview.
    • Use the same nomenclature as for controllers. 'start' -> 'activate'; 'stop' -> 'deactivate'

    * Add selective starting and stopping of hardware resources. Add HardwareComponentInfo structure in resource manager. Use constants for HW parameters in tests of resource_manager. Add list hardware components in CM to get details about them and check their status. Use clear name for 'guard' and move release cmd itfs for better readability. RM: Add lock for accesing maps with stored interfaces. Separate hardware components-related services after controllers-related services. Add service for activate/deactive hardware components. Add activation and deactivation through ResourceStorage. This helps to manage available command interfaces.

    • Use lifecycle_msgs/State in ListHardwareCompoents for state representation.
    • Simplify repeatable code in methods.
    • Add HW shutdown structure into ResouceManager.
    • Fill out service callback in CM and add parameter for auto-configure.
    • Move claimed_command_itf_map to ResourceStorage from ResourceManager.
    • Do not automatically configure hardware in RM.
    • Lifecycle and claiming in Resource Manager is working.
    • Extend controller manager to support HW lifecycle.
    • Add also available and claimed status into list components service output.
    • Add SetHardwareComponentState service.
    • Make all output in services debug-output.
    • Remove specific services for hardware lifecycle management and leave only 'set_hardware_component_state' service.
    • Make init_resource_manager less stateful.
    • Keep old api to start/activate all components per default.
    • Remove 'moving'/'non-moving' interface-handling.

    * Remove obsolete 'import_components' methods without hardware info and fix post_initialization test. Co-authored-by: Bence Magyar <<bence.magyar.robotics@gmail.com>>

  • Contributors: Denis Štogl

2.1.0 (2022-01-11)

2.0.0 (2021-12-29)

  • Add service-skeletons for controlling hardware lifecycle. (#585)
  • fix get_update_rate visibility in windows (#586)
  • Make output of not available controller nicer and make it informational. (#577)
  • Contributors: Denis Štogl, Melvin Wang

1.2.0 (2021-11-05)

1.1.0 (2021-10-25)

  • feat: add colored output into spawner.py (#560)
  • Added timeout argument for service_caller timeout (#552)
  • controller_manager: Use command_interface_configuration for the claimed interfaces when calling list_controllers (#544)
  • Clean up test_load_controller (#532)
  • Contributors: Jack Center, Jafar Abdi, Michael, Nour Saeed

1.0.0 (2021-09-29)

  • Use ControllerManager node clock for control loop timepoints (#542)
  • Per controller update rate(#513)
  • added dt to controller interface and controller manager #438 (#520)
  • Update nomenclature in CM for better code and output understanding (#517)
  • Methods controlling the lifecycle of controllers all have on_ prefix
  • Controller Manager should not crash when trying to start finalized or unconfigured controller (#461)
  • Fix deprecation warning from rclcpp::Duration (#511)
  • Remove BOOST compiler definitions for pluginlib from CMakeLists (#514)
  • Do not manually set C++ version to 14 (#516)
  • Refactor INSTANTIATE_TEST_CASE_P -> INSTANTIATE_TEST_SUITE_P (#515) Also removed the duplicated format & compiler fixes as on Galactic this shouldn't be an issue
  • rename get_current_state() to get_state() (#512)
  • Fix spawner tests (#509)
  • Removed deprecated CLI verbs (#420)
  • Remove extensions from executable nodes (#453)
  • Contributors: Bence Magyar, Denis Štogl, Dmitri Ignakov, Joseph Schornak, Márk Szitanics, Tim Clephas, bailaC, Mathias Aarbo

0.8.0 (2021-08-28)

  • Use clang format as code formatter (#491)
  • Use example urdf from the test_assests package. (#495)
  • Separate controller manager test cases (#476)
  • Add Controller Manager docs (#467)
  • sort interfaces in resource manager (#483)
  • Add pre-commit setup. (#473)
  • Make controller_manager set controller's use_sim_time param when use_sim_time=True (#468)
    • potential solution to controller_manager use_sim_time sharing issue
    • removed debug print statements
    • added INFO message to warn user that use_sim_time is being set automatically
  • Add load-only option into controller spawner (#427)
  • Fixes for windows (#443)
    • Fix building on windows
    • Fix MSVC linker error when building tests
    • Fix hang when loading controller on windows
    • Use better log for configuring controller
    • Be consistent with visibility control
    • Use try_lock throw exception on failure
  • Add an argument to define controller manager timeout (#444)
  • Contributors: Akash, Bence Magyar, Darko Lukić, Denis Štogl, Karsten Knese, Simon Honigmann

0.7.1 (2021-06-15)

  • Use namespace in controller_manager (#435)
  • Contributors: Jonatan Olofsson

0.7.0 (2021-06-06)

0.6.1 (2021-05-31)

  • Add missing dependency on controller_manager_msgs (#426)
  • Contributors: Denis Štogl

0.6.0 (2021-05-23)

  • List controller claimed interfaces (#407)
    • List controllers now also shows the claimed interfaces

    * Fixed tests that perform switches Successfull controller switches require more than one call to update() in order to update the controller list

    • Can now set the command interface configuration
    • Added checks for the claimed interfaces
  • Contributors: Jordan Palacios

0.5.0 (2021-05-03)

  • Make controller manager update rate optional (#404)
  • Bump [wait_for_service]{.title-ref} timeout to 10 seconds (#403)
  • introduce --stopped for spawner (#402)
  • hardware_interface mode switching using prepareSwitch doSwitch approach (#348)
  • Avoid std::stringstream (#391)
  • avoid deprecations (#393)
  • Use RCLCPP_DEBUG_STREAM for char * (#389)
  • Check controller_interface::init return value when loading (#386)
  • Do not throw when controller type is not found, return nullptr instead (#387)
  • Contributors: Auguste Bourgois, Karsten Knese, Matt Reynolds, Tyler Weaver, Mathias Hauan Arbo, Bence Magyar

0.4.0 (2021-04-07)

  • Fix deprecation warnings: SUCCESS -> OK (#375)
  • Don't use FileType for param-file (#351)
  • Remodel ros2controlcli, refactor spawner/unspawner and fix test (#349)
  • Add spawner and unspawner scripts (#310)
  • Contributors: Bence Magyar, Jordan Palacios, Karsten Knese, Victor Lopez

0.3.0 (2021-03-21)

  • release_interfaces when stopping controller (#343)
    • release_interfaces when stopping controller
    • Moved release_interfaces after deactivate
    • First attempt at test_release_interfaces
    • Switched to std::async with cm_->update
  • Capatalized error message and put the controllers name and resource name inside quote (#338)
  • Contributors: mahaarbo, suab321321

0.2.1 (2021-03-02)

0.2.0 (2021-02-26)

  • Add "Fake" components for simple integration of framework (#323)
  • Contributors: Denis Štogl

0.1.6 (2021-02-05)

0.1.5 (2021-02-04)

0.1.4 (2021-02-03)

  • fix float conversion warning (#312)
  • update doxygen style according to ros2 core standard (#300)
  • Capitalized messages in controller_manager.cpp upto line669 (#285)
  • Sleep accurate duration on ros2_control_node (#302)
  • Contributors: Achinta-Choudhury, João Victor Torres Borges, Karsten Knese, Yutaka Kondo

0.1.3 (2021-01-21)

* Fix building on macOS with clang (#292) ail.com> * Contributors: Karsten Knese

0.1.2 (2021-01-06)

  • Fix update rate issues by working around MutliThreadedExecutor (#275) * Fix update rate issues by working around MutliThreadedExecutor Currently the MutliThreadedExecutor performance is very bad. This leads to controllers not meeting their update rate. This PR is a temporary workaround for these issues. The current approach uses a [rclcpp]{.title-ref} timer to execute the control loop. When used in combination with the [MutliThreadedExecutor]{.title-ref}, the timers are not execute at their target frequency. I've converted the control loop to a while loop on a separate thread that uses [nanosleep]{.title-ref} to execute the correct update rate. This means that [rclcpp]{.title-ref} is not involved in the execution and leads to much better performance.
    • Address review comments by rewriting several comments
  • Contributors: Ramon Wijnands

0.1.1 (2020-12-23)

0.1.0 (2020-12-22)

  • Add configure controller service (#272)
  • Remove lifecycle node (#261)
  • Added starting of resources into CM and RM (#240)
  • Use resource manager (#236)
  • Remove pluginlib warnings on reload test (#237)
  • resource loaning (#224)
  • Allocate memory for components and handles (#207)
  • Add controller manager services (#139)
  • Change Hardware return type to enum class (#114)
  • Use rclcpp::Executor instead of rclcpp::executor::Executor(deprecated) (#82)
  • Replace RCUTILS_ with RCLCPP_ for logging (#62)
  • dont include pluginlib header in controller manager header (#63)
  • export controller_interface (#58)
  • Use pluginlib instead of class_loader for loading controllers (#41)
  • import controller_manager
  • Contributors: Bence Magyar, Denis Štogl, Jafar Abdi, Jordan Palacios, Karsten Knese, Parth Chopra, Victor Lopez

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Name Deps
mir_gazebo
moveit_hybrid_planning
moveit_servo
moveit_resources_fanuc_moveit_config
moveit_resources_panda_moveit_config
qb_device_bringup
qb_device_ros2_control
raspimouse_gazebo
ur_bringup
ur_robot_driver
urdf_sim_tutorial
pmb2_controller_configuration
crane_plus_control
crane_plus_gazebo
gazebo_ros2_control
ros2_control
ros2controlcli
rqt_controller_manager
ackermann_steering_controller
admittance_controller
bicycle_steering_controller
diff_drive_controller
effort_controllers
force_torque_sensor_broadcaster
forward_command_controller
gripper_controllers
imu_sensor_broadcaster
joint_state_broadcaster
joint_trajectory_controller
pid_controller
pose_broadcaster
position_controllers
range_sensor_broadcaster
steering_controllers_library
tricycle_controller
tricycle_steering_controller
velocity_controllers
sm_multi_panda_sim
sm_panda_moveit2z_cb_inventory
webots_ros2_control
webots_ros2_epuck
webots_ros2_tiago
webots_ros2_turtlebot
webots_ros2_universal_robot
qb_softhand_industry_ros2_control
ign_ros2_control
canopen_ros2_controllers
canopen_tests
kortex_bringup
kinova_gen3_6dof_robotiq_2f_85_moveit_config
kinova_gen3_7dof_robotiq_2f_85_moveit_config
kinova_gen3_lite_moveit_config
arm_sim_scenario
andino_base
andino_control
clearpath_control
clearpath_platform
clearpath_mecanum_drive_controller
kuka_drivers_core
kuka_kr_moveit_config
kuka_lbr_iisy_moveit_config
kuka_lbr_iiwa_moveit_config
omni_base_controller_configuration
pal_gripper_controller_configuration
pal_robotiq_controller_configuration
play_motion2
tiago_controller_configuration

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged controller_manager at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 3.30.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros2_control.git
VCS Type git
VCS Version iron
Last Updated 2024-11-14
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Description of controller_manager

Additional Links

No additional links.

Maintainers

  • Bence Magyar
  • Denis Štogl

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package controller_manager

3.30.0 (2024-11-12)

  • [ros2_control_node] Handle simulation environment clocks (backport #1810) (#1863)
  • Fix CMP0115 (#1830) (#1849)
  • Fix Hardware spawner and add tests for it (backport #1759) (#1828)
  • Change from thread_priority.hpp to realtime_helpers.hpp (backport #1829) (#1867)
  • [CM] Fix controller missing update cycles in a real setup (#1774) (#1858)
  • [ros2_control_node] Add option to set the CPU affinity (#1852) (#1857)
  • [ros2_control_node] Add the realtime_tools lock_memory method to prevent page faults (backport #1822) (#1851)
  • fix: typo use thread_priority (backport #1844) (#1846)
  • [Spawner] Add support for wildcard entries in the controller param files (#1724) (#1836)
  • Add test coverage for [params_file]{.title-ref} parameter in spawner/unspawner tests (backport #1754) (#1839)
  • Fix unload of controllers when spawned with [--unload-on-kill]{.title-ref} (#1717) (#1843)
  • Contributors: mergify[bot]

3.29.0 (2024-11-02)

  • add thread_priority option to the ros2_control_node (#1820) (#1825)
  • Fix timeout value in std output (backport #1807) (#1813)
  • Improve launch utils to support the multiple controller names (#1782) (#1784)
  • allow extra spawner arguments to not declare every argument in launch utils (#1505) (#1793)
  • Refactor spawner to be able to reuse code for ros2controlcli (backport #1661) (#1696)
  • [CM] Handle other exceptions while loading the controller plugin (#1731) (#1734)
  • [CM] Throw an exception when the components initially fail to be in the required state (backport #1729) (#1778)
  • Fix spawner tests timeout on source builds (backport #1692) (#1698)
  • Contributors: mergify[bot]

3.28.1 (2024-09-11)

  • fix: the print of the information in control node was in wrong order (#1726) (#1727)
  • Contributors: mergify[bot]

3.28.0 (2024-08-22)

  • Inform user why rt policy could not be set, inform if is set. (backport #1705) (#1709)
  • [CI] Backport #1636 #1668 and fix coverage on jammy (#1677) (#1693)
  • Make list controller and list hardware components immediately visualize the state. (#1606) (#1691)
  • Robustify spawner (backport #1501) (#1687)
  • Handle on waiting (backport #1562) (#1681)
  • refactor SwitchParams to fix the incosistencies in the spawner tests (backport #1638) (#1660)
  • Contributors: mergify[bot]

3.27.0 (2024-07-23)

  • Remove noqa (#1626) (#1629)
  • Contributors: mergify[bot]

3.26.0 (2024-07-09)

  • [rqt_controller_manager] Add hardware components (#1455) (#1587)
  • Bump version of pre-commit hooks (backport #1556) (#1558)
  • Contributors: mergify[bot]

3.25.0 (2024-04-30)

  • check for state of the controller node before cleanup (backport #1363) (#1379)
  • Bump version of pre-commit hooks (backport #1430) (#1435)
  • Contributors: mergify[bot]

3.24.0 (2024-03-02)

  • Fix multiple chainable controller activation bug (backport #1401) (#1412)
  • [CI] Code coverage + pre-commit (backport #1413) (#1415)
  • [CM] Use explicit constants in controller tests. (#1356) (#1360)
  • Contributors: mergify[bot]

3.23.0 (2024-02-01)

  • Move [test_components]{.title-ref} to own package (backport #1325) (#1341)
  • Contributors: Christoph Fröhlich

3.22.1 (2024-01-25)

  • [CM] Fix controller parameter loading issue in different cases (#1293) (#1331)
  • Contributors: Sai Kishor Kothakota

3.22.0 (2024-01-20)

  • Add additional checks for non existing and not available interfaces. (backport #1218) (#1292)
  • [ControllerManager] Fix all warnings from the latets features. (backport #1174) (#1308)
  • Reformat with braces added (backport #1209) (#1307)
  • Initialize the controller manager services after initializing resource manager (backport #1271) (#1278)
  • Fix rqt controller manager crash on ros2_control restart (#1273) (#1276)
  • [docs] Remove joint_state_controller (#1263) (#1265)
  • controller_manager: Add space to string literal concatenation (#1245) (#1249)
  • [CM] Increase tests timeout (#1224) (#1226)
  • Contributors: mergify[bot]

3.21.2 (2023-12-05)

  • Report inactive controllers as a diagnostics ok instead of an error (#1184) (#1190)
  • Fix controller sorting issue while loading large number of controllers (#1180) (#1187)
  • Contributors: Lennart Nachtigall, Sai Kishor Kothakota

3.21.1 (2023-11-14)

  • Fix the controller sorting bug when the interfaces are not configured (fixes #1164) (#1165) (#1167)
  • Contributors: Sai Kishor Kothakota

3.21.0 (2023-11-06)

  • Sort controllers while configuring instead of while activating (#1107)
  • Contributors: Sai Kishor Kothakota

3.20.0 (2023-10-31)

  • Update spawner to accept controllers list and start them in sequence (#1139)
  • [ResourceManager] deactivate hardware from read/write return value (#884)
  • Export of the get_cm_node_options() from robostack (#1129)
  • Contributors: Felix Exner (fexner), Olivier Stasse, Sai Kishor Kothakota

3.19.1 (2023-10-04)

  • Fix next controller update cycle time clock (#1127)
  • Contributors: Sai Kishor Kothakota

3.19.0 (2023-10-03)

  • Proper controller update rate (#1105)
  • Fix multiple calls to export reference interfaces (#1108)
  • [Docs] Fix information about activation and deactivation of chainable controllers (#1104)
  • Contributors: Dr. Denis, Sai Kishor Kothakota

3.18.0 (2023-08-17)

  • Controller sorting and proper execution in a chain (Fixes #853) (#1063)
  • Contributors: Sai Kishor Kothakota, Christoph Fröhlich, Dr Denis, Bence Magyar

3.17.0 (2023-08-07)

  • [CM] Fixes the issue with individual controller's update rate (#1082)
  • Fix deprecation warning (#1093)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

3.16.0 (2023-07-09)

  • added controller manager runner to have update cycles (#1075)
  • [CM] Make error message after trying to active controller more informative. (#1066)
  • Fix equal and higher controller update rate (#1070)
  • Create doc file for chained controllers (#985)
  • Contributors: Dr. Denis, Sai Kishor Kothakota

3.15.0 (2023-06-23)

  • Enable setting of initial state in HW compoments (#1046)
  • [CM] Improve output when using robot description topic and give output about correct topic even remapped. (#1059)
  • Contributors: Dr. Denis

3.14.0 (2023-06-14)

  • Add -Wconversion flag to protect future developments (#1053)
  • [CM] Use [robot_description]{.title-ref} topic instead of parameter and don't crash on empty URDF 🦿 (#940)
  • enable ReflowComments to also use ColumnLimit on comments (#1037)
  • Docs: Use branch name substitution for all links (#1031)
  • Add text to assertions references (#1023)
  • Contributors: Christoph Fröhlich, Felix Exner (fexner), Manuel Muth, Sai Kishor Kothakota, gwalck

3.13.0 (2023-05-18)

  • Add class for thread management of async hw interfaces (#981)
  • Fix GitHub link on control.ros.org (#1022)
  • Remove log-level argument from spawner script (#1013)
  • Contributors: Christoph Fröhlich, Márk Szitanics, Bijou Abraham

3.12.2 (2023-04-29)

3.12.1 (2023-04-14)

3.12.0 (2023-04-02)

  • [Controller Interface] Add time and period paramters to update_reference_from_subscribers() (#846) #API-break
  • Contributors: Robotgir

3.11.0 (2023-03-22)

  • [ControllerManager] Add Class for Async Controllers and Lifecycle Management (#932)
  • Consistent use of colors for warning and error msgs in spawner (#974)
  • Fix wrong warning messages (#973)
  • Add log level support to spawner node (#972)
  • Contributors: Dr. Denis, Márk Szitanics, Bijou Abraham

3.10.0 (2023-03-16)

  • add spawner for hardware (#941)
  • Contributors: Manuel Muth

3.9.1 (2023-03-09)

3.9.0 (2023-02-28)

  • fix AttributeError: Parameter object attribute name is read-only (#957)
  • Remove deprecations from CLI and controller_manager (#948)
  • Expose node options to controller manager (#942)
  • Contributors: Christoph Fröhlich, Noel Jiménez García, methylDragon

3.8.0 (2023-02-10)

  • Fix CMake install so overriding works (#926)
  • 🖤 Add Black formatter for Python files. (#936)
  • Add list_hardware_components CLI <<https://github.com/ros-controls/ros2_control/issues/796>>[_ - Adds list_hardware_components to CLI (]{.title-ref}#891 <<https://github.com/ros-controls/ros2_control/issues/891>>`_)
  • Contributors: Andy McEvoy, Dr. Denis, Tyler Weaver

3.7.0 (2023-01-24)

  • Do not use CLI calls but direct API for setting parameters. (#910)
  • Optimize output of controller spawner (#909)
  • ControllerManager: catch exception by reference (#906)
  • Test fix: don't keep reference to the controller in the test when it should be destroyed in the controller manager (#883)
  • Merge branch 'fix-update-rate' into humble (#874)
  • Contributors: Christopher Wecht, Dr. Denis, Tony Najjar, sgmurray

3.6.0 (2023-01-12)

  • Fix QoS deprecation warnings (#879)
  • Add backward_ros to controller_manager (#886)
  • Contributors: Andy McEvoy, Bence Magyar

3.5.1 (2023-01-06)

  • Prevent controller manager from crashing when controller's plugin has error during loading. (#881)
  • Contributors: Denis Štogl

3.5.0 (2022-12-06)

  • Rename class type to plugin name #api-breaking #abi-breaking (#780)
  • Namespace Loaded Controllers (#852)
  • Contributors: Bence Magyar, sp-sophia-labs

3.4.0 (2022-11-27)

  • Use a thread priority library from realtime_tools (#794)
  • [Doc] Correct type of update_rate parameter (#858)
  • Contributors: Andy Zelenak, Denis Štogl, Bence Magyar

3.3.0 (2022-11-15)

  • Adding activation/deactivation tests for chain controllers (#809)
  • Fix const-ness in std::chrono::time_point construction and explicitly use std::chrono::nanoseconds as std::chrono::time_point template parameter to help compilation on macOS as its std::chrono::system_clock::time_point defaults to std::chrono::milliseconds for duration type (#848)
  • [ControllerManager] Fix wrong initialization order and avoid compiler warnings (#836)
  • Contributors: Adrian Zwiener, Bilal Gill, Felix Exner, light-tech

3.2.0 (2022-10-15)

3.1.0 (2022-10-05)

  • Don't ask to export reference interface if controller not 'inactive' or 'active' (#824)
  • Add diagnostics for controllers activity (#820)
  • Search for controller manager in the same namespace as spawner (#810)
  • Handle HW errors on read and write in CM by stopping controllers (#742) Add code for deactivating controller when hardware gets an error on read and write. Fix misleading variable name in the tests. Remove all interface from available list for hardware when an error happens. Do some more variable renaming to the new nomenclature.
  • Contributors: Denis Štogl, Tony Najjar

3.0.0 (2022-09-19)

2.15.0 (2022-09-19)

2.14.0 (2022-09-04)

  • Add doxygen comments (#777)
  • Contributors: Bence Magyar, Denis Štogl

2.13.0 (2022-08-03)

  • Clang tidy: delete a redundant return (#790)
  • Add chained controllers information in list controllers service #abi-braking (#758)
    • add chained controllers in ros2controlcli
    • remove controller_group from service
    • added comments to ControllerState message
    • added comments to ChainedConnection message
  • spawner.py: Fix python logging on deprecation warning (#787)
  • Add documentation for realtime permission (#781)
  • Fix bug in spawner with getter for node's logger (#776)
  • Contributors: Andy Zelenak, Felix Exner, Paul Gesel, Bijou Abraham

2.12.1 (2022-07-14)

  • Rename CM members from start/stop to activate/deactivate nomenclature. (#756)
  • Fix spelling in comment (#769)
  • Contributors: Denis Štogl, Tyler Weaver

2.12.0 (2022-07-09)

  • Deprecate and rename [start]{.title-ref} and [stop]{.title-ref} nomenclature toward user to [activate]{.title-ref} and [deactivate]{.title-ref} #ABI-breaking (#755)
    • Rename fields and deprecate old nomenclature.
    • Add new defines to SwitchController.srv
    • Deprecated start/stop nomenclature in all CLI commands.
    • Deprecate 'start_asap' too as other fields.
  • [ros2_control_node] Automatically detect if RT kernel is used and opportunistically enable SCHED_FIFO (#748)
  • Contributors: Denis Štogl, Tyler Weaver

2.11.0 (2022-07-03)

  • Remove hybrid services in controller manager. (#761)
  • [Interfaces] Improved `get_name()[ method of hardware interfaces #api-breaking (]{.title-ref}#737 <<https://github.com/ros-controls/ros2_control/issues/737>>`_)
  • Update maintainers of packages (#753)
  • Fix test dependency for chainable test (#751)
  • Remove ament autolint (#749)
  • Full functionality of chainable controllers in controller manager (#667)
    • auto-switching of chained mode in controllers
    • interface-matching approach for managing chaining controllers
  • Fixup spanwer and unspawner tests. It changes spawner a bit to handle interupts internally. (#745)
  • Add missing field to initializer lists in tests (#746)
  • Small but useful output update on controller manager. (#741)
  • Fixed period passed to hardware components always 0 (#738)
  • Contributors: Bence Magyar, Denis Štogl, Maciej Bednarczyk, Lucas Schulze

2.10.0 (2022-06-18)

  • Make RHEL CI happy! (#730)
  • CMakeLists cleanup (#733)
  • Update to clang format 12 (#731)
  • Contributors: Andy Zelenak, Bence Magyar, Márk Szitanics

2.9.0 (2022-05-19)

  • Adding base class for chained controllers: [ChainedControllersInterface]{.title-ref} (#663)
    • Extending ControllerInterface with methods for chainable controllers.
    • Switching to chained_mode is only forbidden if controller is active.
    • Default implementation for 'on_set_chained_mode' method.
    • Use two internal methods instead of 'update' directly on chained controllers.
  • Add ControllerInterfaceBase class with methods for chainable controller (#717)
  • Contributors: Denis Štogl

2.8.0 (2022-05-13)

  • Pass time and period to read() and write() (#715)
  • Contributors: Bence Magyar

2.7.0 (2022-04-29)

  • Update ControllerManager documenation describing some concepts (#677)
  • Make node private in ControllerInterface (#699)
  • Contributors: Chen Bainian, Denis Štogl, Jack Center, Bence Magyar

2.6.0 (2022-04-20)

  • Add controller_manager_msgs dependency to test_hardware_management_srvs (#702)
  • Remove unused variable from the test (#700)
  • Enable namespaces for controllers. (#693)
  • Spawner waits for services (#683)
  • Contributors: Denis Štogl, Rufus Wong, Tyler Weaver

2.5.0 (2022-03-25)

  • Make ControllerManager tests more flexible and reusable for different scenarios. Use more parameterized tests regarding strictness. (#661)
  • Use lifecycle nodes in controllers again (#538)
    • Add lifecycle nodes
    • Add custom 'configure' to controller interface to get 'update_rate' parameter.
    • Disable external interfaces of LifecycleNode.
  • Small fixes in controller manager tests. (#660)
  • Enable controller manager services to control hardware lifecycle #abi-breaking (#637)
    • Implement CM services for hardware lifecycle management.
    • Added default behavior to activate all controller and added description of CM parameters.
  • Contributors: Denis Štogl, Vatan Aksoy Tezer, Bence Magyar

2.4.0 (2022-02-23)

  • Fixes of issue with seg-fault when checking interfaces on unconfigured controllers. (#580)
  • Update CM service QoS so that we don't lose service calls when using many controllers. (#643)
  • Contributors: Denis Štogl, Bence Magyar

2.3.0 (2022-02-18)

  • added a fixed control period to loop (#647)
  • install spawner/unspawner using console_script entrypoint (#607)
  • Add BEST_EFFORT in the controller switch tests. (#582)
  • Resolve unused parameter warnings (#636)
  • Contributors: Bence Magyar, Denis Štogl, Jack Center, Melvin Wang, Xi-Huang

2.2.0 (2022-01-24)

  • Resource Manager API changes for hardware lifecycle #api-breaking #abi-breaking (#589)
    • Towards selective starting and stoping of hardware components. Cleaning and renaming.
    • Move Lifecycle of hardware component to the bottom for better overview.
    • Use the same nomenclature as for controllers. 'start' -> 'activate'; 'stop' -> 'deactivate'

    * Add selective starting and stopping of hardware resources. Add HardwareComponentInfo structure in resource manager. Use constants for HW parameters in tests of resource_manager. Add list hardware components in CM to get details about them and check their status. Use clear name for 'guard' and move release cmd itfs for better readability. RM: Add lock for accesing maps with stored interfaces. Separate hardware components-related services after controllers-related services. Add service for activate/deactive hardware components. Add activation and deactivation through ResourceStorage. This helps to manage available command interfaces.

    • Use lifecycle_msgs/State in ListHardwareCompoents for state representation.
    • Simplify repeatable code in methods.
    • Add HW shutdown structure into ResouceManager.
    • Fill out service callback in CM and add parameter for auto-configure.
    • Move claimed_command_itf_map to ResourceStorage from ResourceManager.
    • Do not automatically configure hardware in RM.
    • Lifecycle and claiming in Resource Manager is working.
    • Extend controller manager to support HW lifecycle.
    • Add also available and claimed status into list components service output.
    • Add SetHardwareComponentState service.
    • Make all output in services debug-output.
    • Remove specific services for hardware lifecycle management and leave only 'set_hardware_component_state' service.
    • Make init_resource_manager less stateful.
    • Keep old api to start/activate all components per default.
    • Remove 'moving'/'non-moving' interface-handling.

    * Remove obsolete 'import_components' methods without hardware info and fix post_initialization test. Co-authored-by: Bence Magyar <<bence.magyar.robotics@gmail.com>>

  • Contributors: Denis Štogl

2.1.0 (2022-01-11)

2.0.0 (2021-12-29)

  • Add service-skeletons for controlling hardware lifecycle. (#585)
  • fix get_update_rate visibility in windows (#586)
  • Make output of not available controller nicer and make it informational. (#577)
  • Contributors: Denis Štogl, Melvin Wang

1.2.0 (2021-11-05)

1.1.0 (2021-10-25)

  • feat: add colored output into spawner.py (#560)
  • Added timeout argument for service_caller timeout (#552)
  • controller_manager: Use command_interface_configuration for the claimed interfaces when calling list_controllers (#544)
  • Clean up test_load_controller (#532)
  • Contributors: Jack Center, Jafar Abdi, Michael, Nour Saeed

1.0.0 (2021-09-29)

  • Use ControllerManager node clock for control loop timepoints (#542)
  • Per controller update rate(#513)
  • added dt to controller interface and controller manager #438 (#520)
  • Update nomenclature in CM for better code and output understanding (#517)
  • Methods controlling the lifecycle of controllers all have on_ prefix
  • Controller Manager should not crash when trying to start finalized or unconfigured controller (#461)
  • Fix deprecation warning from rclcpp::Duration (#511)
  • Remove BOOST compiler definitions for pluginlib from CMakeLists (#514)
  • Do not manually set C++ version to 14 (#516)
  • Refactor INSTANTIATE_TEST_CASE_P -> INSTANTIATE_TEST_SUITE_P (#515) Also removed the duplicated format & compiler fixes as on Galactic this shouldn't be an issue
  • rename get_current_state() to get_state() (#512)
  • Fix spawner tests (#509)
  • Removed deprecated CLI verbs (#420)
  • Remove extensions from executable nodes (#453)
  • Contributors: Bence Magyar, Denis Štogl, Dmitri Ignakov, Joseph Schornak, Márk Szitanics, Tim Clephas, bailaC, Mathias Aarbo

0.8.0 (2021-08-28)

  • Use clang format as code formatter (#491)
  • Use example urdf from the test_assests package. (#495)
  • Separate controller manager test cases (#476)
  • Add Controller Manager docs (#467)
  • sort interfaces in resource manager (#483)
  • Add pre-commit setup. (#473)
  • Make controller_manager set controller's use_sim_time param when use_sim_time=True (#468)
    • potential solution to controller_manager use_sim_time sharing issue
    • removed debug print statements
    • added INFO message to warn user that use_sim_time is being set automatically
  • Add load-only option into controller spawner (#427)
  • Fixes for windows (#443)
    • Fix building on windows
    • Fix MSVC linker error when building tests
    • Fix hang when loading controller on windows
    • Use better log for configuring controller
    • Be consistent with visibility control
    • Use try_lock throw exception on failure
  • Add an argument to define controller manager timeout (#444)
  • Contributors: Akash, Bence Magyar, Darko Lukić, Denis Štogl, Karsten Knese, Simon Honigmann

0.7.1 (2021-06-15)

  • Use namespace in controller_manager (#435)
  • Contributors: Jonatan Olofsson

0.7.0 (2021-06-06)

0.6.1 (2021-05-31)

  • Add missing dependency on controller_manager_msgs (#426)
  • Contributors: Denis Štogl

0.6.0 (2021-05-23)

  • List controller claimed interfaces (#407)
    • List controllers now also shows the claimed interfaces

    * Fixed tests that perform switches Successfull controller switches require more than one call to update() in order to update the controller list

    • Can now set the command interface configuration
    • Added checks for the claimed interfaces
  • Contributors: Jordan Palacios

0.5.0 (2021-05-03)

  • Make controller manager update rate optional (#404)
  • Bump [wait_for_service]{.title-ref} timeout to 10 seconds (#403)
  • introduce --stopped for spawner (#402)
  • hardware_interface mode switching using prepareSwitch doSwitch approach (#348)
  • Avoid std::stringstream (#391)
  • avoid deprecations (#393)
  • Use RCLCPP_DEBUG_STREAM for char * (#389)
  • Check controller_interface::init return value when loading (#386)
  • Do not throw when controller type is not found, return nullptr instead (#387)
  • Contributors: Auguste Bourgois, Karsten Knese, Matt Reynolds, Tyler Weaver, Mathias Hauan Arbo, Bence Magyar

0.4.0 (2021-04-07)

  • Fix deprecation warnings: SUCCESS -> OK (#375)
  • Don't use FileType for param-file (#351)
  • Remodel ros2controlcli, refactor spawner/unspawner and fix test (#349)
  • Add spawner and unspawner scripts (#310)
  • Contributors: Bence Magyar, Jordan Palacios, Karsten Knese, Victor Lopez

0.3.0 (2021-03-21)

  • release_interfaces when stopping controller (#343)
    • release_interfaces when stopping controller
    • Moved release_interfaces after deactivate
    • First attempt at test_release_interfaces
    • Switched to std::async with cm_->update
  • Capatalized error message and put the controllers name and resource name inside quote (#338)
  • Contributors: mahaarbo, suab321321

0.2.1 (2021-03-02)

0.2.0 (2021-02-26)

  • Add "Fake" components for simple integration of framework (#323)
  • Contributors: Denis Štogl

0.1.6 (2021-02-05)

0.1.5 (2021-02-04)

0.1.4 (2021-02-03)

  • fix float conversion warning (#312)
  • update doxygen style according to ros2 core standard (#300)
  • Capitalized messages in controller_manager.cpp upto line669 (#285)
  • Sleep accurate duration on ros2_control_node (#302)
  • Contributors: Achinta-Choudhury, João Victor Torres Borges, Karsten Knese, Yutaka Kondo

0.1.3 (2021-01-21)

* Fix building on macOS with clang (#292) ail.com> * Contributors: Karsten Knese

0.1.2 (2021-01-06)

  • Fix update rate issues by working around MutliThreadedExecutor (#275) * Fix update rate issues by working around MutliThreadedExecutor Currently the MutliThreadedExecutor performance is very bad. This leads to controllers not meeting their update rate. This PR is a temporary workaround for these issues. The current approach uses a [rclcpp]{.title-ref} timer to execute the control loop. When used in combination with the [MutliThreadedExecutor]{.title-ref}, the timers are not execute at their target frequency. I've converted the control loop to a while loop on a separate thread that uses [nanosleep]{.title-ref} to execute the correct update rate. This means that [rclcpp]{.title-ref} is not involved in the execution and leads to much better performance.
    • Address review comments by rewriting several comments
  • Contributors: Ramon Wijnands

0.1.1 (2020-12-23)

0.1.0 (2020-12-22)

  • Add configure controller service (#272)
  • Remove lifecycle node (#261)
  • Added starting of resources into CM and RM (#240)
  • Use resource manager (#236)
  • Remove pluginlib warnings on reload test (#237)
  • resource loaning (#224)
  • Allocate memory for components and handles (#207)
  • Add controller manager services (#139)
  • Change Hardware return type to enum class (#114)
  • Use rclcpp::Executor instead of rclcpp::executor::Executor(deprecated) (#82)
  • Replace RCUTILS_ with RCLCPP_ for logging (#62)
  • dont include pluginlib header in controller manager header (#63)
  • export controller_interface (#58)
  • Use pluginlib instead of class_loader for loading controllers (#41)
  • import controller_manager
  • Contributors: Bence Magyar, Denis Štogl, Jafar Abdi, Jordan Palacios, Karsten Knese, Parth Chopra, Victor Lopez

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged controller_manager at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 4.20.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros2_control.git
VCS Type git
VCS Version master
Last Updated 2024-11-18
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Description of controller_manager

Additional Links

No additional links.

Maintainers

  • Bence Magyar
  • Denis Štogl

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package controller_manager

4.20.0 (2024-11-08)

  • change from thread_priority.hpp to realtime_helpers.hpp (#1829)
  • Use Clock instead of Rate for backward compatibility of rolling (#1864)
  • [ros2_control_node] Handle simulation environment clocks (#1810)
  • [CM] Fix controller missing update cycles in a real setup (#1774)
  • [ros2_control_node] Add option to set the CPU affinity (#1852)
  • [ros2_control_node] Add the realtime_tools lock_memory method to prevent page faults (#1822)
  • Fix CMP0115 (#1830)
  • fix: typo use thread_priority (#1844)
  • Fix Hardware spawner and add tests for it (#1759)
  • add thread_priority option to the ros2_control_node (#1820)
  • Contributors: Baris Yazici, Christoph Fröhlich, Felix Exner (fexner), Sai Kishor Kothakota

4.19.0 (2024-10-26)

  • Fix timeout value in std output (#1807)
  • [CM] Async Function Handler for Controllers (#1489)
  • [Spawner] Add support for wildcard entries in the controller param files (#1724)
  • [Feature] Fallback controllers (#1789)
  • Check the update_rate set to the controllers to be a valid one (#1788)
  • [PR-1689] Follow-up PR of the controller interface variants integration (#1779)
  • Improve diagnostics of Controllers, Hardware Components and Controller Manager (#1764)
  • Improve launch utils to support the multiple controller names (#1782)
  • [RM/HW] Constify the exported state interfaces using ConstSharedPtr (#1767)
  • [CM] Throw an exception when the components initially fail to be in the required state (#1729)
  • Contributors: Felix Exner (fexner), Sai Kishor Kothakota

4.18.0 (2024-10-07)

  • Adapt controller Reference/StateInterfaces to New Way of Exporting (variant support) (#1689)
  • Add test coverage for [params_file]{.title-ref} parameter in spawner/unspawner tests (#1754)
  • [ros2controlcli] add params file parsing to load_controller verb and add namespacing support (#1703)
  • Contributors: Manuel Muth, Sai Kishor Kothakota, Santosh Govindaraj

4.17.0 (2024-09-11)

  • Log exception type when catching the exception (#1749)
  • [CM] Handle other exceptions while loading the controller plugin (#1731)
  • remove unnecessary log of the CM args (#1720)
  • Fix unload of controllers when spawned with [--unload-on-kill]{.title-ref} (#1717)
  • Rename [get_state]{.title-ref} and [set_state]{.title-ref} Functions to [get/set_lifecylce_state]{.title-ref} (variant support) (#1683)
  • Contributors: Manuel Muth, Sai Kishor Kothakota

4.16.1 (2024-08-24)

  • propage a portion of global args to the controller nodes (#1712)
  • Contributors: Sai Kishor Kothakota

4.16.0 (2024-08-22)

  • inform user what reason is for not setting rt policy, inform is policy (#1705)
  • Fix params_file typo in spawner and update release notes for use_global_arguments (#1701)
  • Fix spawner tests timeout (#1692)
  • Refactor spawner to be able to reuse code for ros2controlcli (#1661)
  • Robustify controller spawner and add integration test with many controllers (#1501)
  • Handle waiting in Spawner and align Hardware Spawner functionality (#1562)
  • Make list controller and list hardware components immediately visualize the state. (#1606)
  • [CI] Add coveragepy and remove ignore: test (#1668)
  • Fix spawner unload on kill test (#1675)
  • [CM] Add more logging for easier debugging (#1645)
  • refactor SwitchParams to fix the incosistencies in the spawner tests (#1638)
  • Contributors: Bence Magyar, Christoph Fröhlich, Dr. Denis, Felix Exner (fexner), Manuel Muth, Sai Kishor Kothakota

4.15.0 (2024-08-05)

  • Add missing include for executors (#1653)
  • Fix the namespaced controller_manager spawner + added tests (#1640)
  • CM: Add missing includes (#1641)
  • Fix rst markup (#1642)
  • Add a pytest launch file to test ros2_control_node (#1636)
  • [CM] Remove deprecated spawner args (#1639)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

4.14.0 (2024-07-23)

  • Unused header cleanup (#1627)
  • Remove noqa (#1626)
  • Fix controller starting with later load of robot description test (#1624)
  • [CM] Remove support for the description parameter and use only [robot_description]{.title-ref} topic (#1358)
  • Contributors: Christoph Fröhlich, Dr. Denis, Henry Moore, Sai Kishor Kothakota

4.13.0 (2024-07-08)

  • Change the spamming checking interface ERROR to DEBUG (#1605)
  • [ResourceManager] Propagate access to logger and clock interfaces to HardwareComponent (#1585)
  • [ControllerChaining] Export state interfaces from chainable controllers (#1021)
  • Contributors: Sai Kishor Kothakota

4.12.0 (2024-07-01)

  • [rqt_controller_manager] Add hardware components (#1455)
  • [RM] Rename [load_urdf]{.title-ref} method to [load_and_initialize_components]{.title-ref} and add error handling there to avoid stack crashing when error happens. (#1354)
  • Fix update [period]{.title-ref} for the first update after activation (#1551)
  • Bump version of pre-commit hooks (#1556)
  • Contributors: Christoph Fröhlich, Dr. Denis, github-actions[bot]

4.11.0 (2024-05-14)

  • Add find_package for ament_cmake_gen_version_h (#1534)
  • Contributors: Christoph Fröhlich

4.10.0 (2024-05-08)

  • allow extra spawner arguments to not declare every argument in launch utils (#1505)
  • Working async controllers and components [not synchronized] (#1041)
  • Add fallback controllers list to the ControllerInfo (#1503)
  • Add a functionality to look for the controller type in the params file when not parsed (#1502)
  • Add controller exception handling in controller manager (#1507)
  • Contributors: Márk Szitanics, Sai Kishor Kothakota

4.9.0 (2024-04-30)

  • Deactivate the controllers when they return error similar to hardware (#1499)
  • Component parser: Get mimic information from URDF (#1256)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

4.8.0 (2024-03-27)

  • generate version.h file per package using the ament_generate_version_header (#1449)
  • Use ament_cmake generated rclcpp version header (#1448)
  • Replace random_shuffle with shuffle. (#1446)
  • Contributors: Chris Lalancette, Sai Kishor Kothakota

4.7.0 (2024-03-22)

  • add missing compiler definitions of RCLCPP_VERSION_MAJOR (#1440)
  • Codeformat from new pre-commit config (#1433)
  • add conditioning to get_parameter_value method import (#1428)
  • Change the controller sorting with an approach similar to directed acyclic graphs (#1384)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

4.6.0 (2024-03-02)

  • Add -Werror=missing-braces to compile options (#1423)
  • added conditioning to have rolling tags compilable in older versions (#1422)
  • [CM] Remove deprecated parameters for initial component states. (#1357)
  • [BREAKING CHANGE] Use [robot_description]{.title-ref} topic instead of [~/robot_description]{.title-ref} and update docs regarding this (#1410)
  • [CI] Code coverage + pre-commit (#1413)
  • Fix multiple chainable controller activation bug (#1401)
  • Contributors: Christoph Fröhlich, Dr. Denis, Felix Exner (fexner), Sai Kishor Kothakota

4.5.0 (2024-02-12)

  • check for state of the controller node before cleanup (#1363)
  • [CM] Use explicit constants in controller tests. (#1356)
  • [CM] Optimized debug output about interfaces when switching controllers. (#1355)
  • A method to get node options to setup the controller node #api-breaking (#1169)
  • Contributors: Dr. Denis, Sai Kishor Kothakota

4.4.0 (2024-01-31)

  • Move [test_components]{.title-ref} to own package (#1325)
  • Fix controller parameter loading issue in different cases (#1293)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

4.3.0 (2024-01-20)

  • [CM] Better readability and maintainability: rename variables, move code to more logical places 🔧 (#1227)
  • Initialize the controller manager services after initializing resource manager (#1271)
  • Issue 695: Changing 'namespace_' variables to 'node_namespace' to make it more explicit (#1239)
  • Fix rqt controller manager crash on ros2_control restart (#1273)
  • [docs] Remove joint_state_controller (#1263)
  • controller_manager: Add space to string literal concatenation (#1245)
  • Try using SCHED_FIFO on any kernel (#1142)
  • [CM] Set chained controller interfaces 'available' for activated controllers (#1098)
  • [CM] Increase tests timeout (#1224)
  • Contributors: Christoph Fröhlich, Dr. Denis, Felix Exner (fexner), Sai Kishor Kothakota, Yasushi SHOJI, bailaC

4.2.0 (2023-12-12)

  • [CM] Linting if/else statements (#1193)
  • Reformat with braces added (#1209)
  • Report inactive controllers as a diagnostics ok instead of an error (#1184)
  • Fix controller sorting issue while loading large number of controllers (#1180)
  • Contributors: Bence Magyar, Dr. Denis, Lennart Nachtigall, Sai Kishor Kothakota

4.1.0 (2023-11-30)

  • Add few warning compiler options to error (#1181)
  • [ControllerManager] Fix all warnings from the latets features. (#1174)
  • Compute the actual update period for each controller (#1140)
  • Contributors: Dr. Denis, Sai Kishor Kothakota

4.0.0 (2023-11-21)

  • Pass controller manager update rate on the init of the controller interface (#1141)
  • Fix the controller sorting bug when the interfaces are not configured (fixes #1164) (#1165)
  • Pass URDF to controllers on init (#1088)
  • Remove deprecation warning (#1101)
  • Contributors: Bence Magyar, Christoph Fröhlich, Sai Kishor Kothakota

3.21.0 (2023-11-06)

  • Sort controllers while configuring instead of while activating (#1107)
  • Contributors: Sai Kishor Kothakota

3.20.0 (2023-10-31)

  • Update spawner to accept controllers list and start them in sequence (#1139)
  • [ResourceManager] deactivate hardware from read/write return value (#884)
  • Export of the get_cm_node_options() from robostack (#1129)
  • Contributors: Felix Exner (fexner), Olivier Stasse, Sai Kishor Kothakota

3.19.1 (2023-10-04)

  • Fix next controller update cycle time clock (#1127)
  • Contributors: Sai Kishor Kothakota

3.19.0 (2023-10-03)

  • Proper controller update rate (#1105)
  • Fix multiple calls to export reference interfaces (#1108)
  • [Docs] Fix information about activation and deactivation of chainable controllers (#1104)
  • Contributors: Dr. Denis, Sai Kishor Kothakota

3.18.0 (2023-08-17)

  • Controller sorting and proper execution in a chain (Fixes #853) (#1063)
  • Contributors: Sai Kishor Kothakota, Christoph Fröhlich, Dr Denis, Bence Magyar

3.17.0 (2023-08-07)

  • [CM] Fixes the issue with individual controller's update rate (#1082)
  • Fix deprecation warning (#1093)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

3.16.0 (2023-07-09)

  • added controller manager runner to have update cycles (#1075)
  • [CM] Make error message after trying to active controller more informative. (#1066)
  • Fix equal and higher controller update rate (#1070)
  • Create doc file for chained controllers (#985)
  • Contributors: Dr. Denis, Sai Kishor Kothakota

3.15.0 (2023-06-23)

  • Enable setting of initial state in HW compoments (#1046)
  • [CM] Improve output when using robot description topic and give output about correct topic even remapped. (#1059)
  • Contributors: Dr. Denis

3.14.0 (2023-06-14)

  • Add -Wconversion flag to protect future developments (#1053)
  • [CM] Use [robot_description]{.title-ref} topic instead of parameter and don't crash on empty URDF 🦿 (#940)
  • enable ReflowComments to also use ColumnLimit on comments (#1037)
  • Docs: Use branch name substitution for all links (#1031)
  • Add text to assertions references (#1023)
  • Contributors: Christoph Fröhlich, Felix Exner (fexner), Manuel Muth, Sai Kishor Kothakota, gwalck

3.13.0 (2023-05-18)

  • Add class for thread management of async hw interfaces (#981)
  • Fix GitHub link on control.ros.org (#1022)
  • Remove log-level argument from spawner script (#1013)
  • Contributors: Christoph Fröhlich, Márk Szitanics, Bijou Abraham

3.12.2 (2023-04-29)

3.12.1 (2023-04-14)

3.12.0 (2023-04-02)

  • [Controller Interface] Add time and period paramters to update_reference_from_subscribers() (#846) #API-break
  • Contributors: Robotgir

3.11.0 (2023-03-22)

  • [ControllerManager] Add Class for Async Controllers and Lifecycle Management (#932)
  • Consistent use of colors for warning and error msgs in spawner (#974)
  • Fix wrong warning messages (#973)
  • Add log level support to spawner node (#972)
  • Contributors: Dr. Denis, Márk Szitanics, Bijou Abraham

3.10.0 (2023-03-16)

  • add spawner for hardware (#941)
  • Contributors: Manuel Muth

3.9.1 (2023-03-09)

3.9.0 (2023-02-28)

  • fix AttributeError: Parameter object attribute name is read-only (#957)
  • Remove deprecations from CLI and controller_manager (#948)
  • Expose node options to controller manager (#942)
  • Contributors: Christoph Fröhlich, Noel Jiménez García, methylDragon

3.8.0 (2023-02-10)

  • Fix CMake install so overriding works (#926)
  • 🖤 Add Black formatter for Python files. (#936)
  • Add list_hardware_components CLI <<https://github.com/ros-controls/ros2_control/issues/796>>[_ - Adds list_hardware_components to CLI (]{.title-ref}#891 <<https://github.com/ros-controls/ros2_control/issues/891>>`_)
  • Contributors: Andy McEvoy, Dr. Denis, Tyler Weaver

3.7.0 (2023-01-24)

  • Do not use CLI calls but direct API for setting parameters. (#910)
  • Optimize output of controller spawner (#909)
  • ControllerManager: catch exception by reference (#906)
  • Test fix: don't keep reference to the controller in the test when it should be destroyed in the controller manager (#883)
  • Merge branch 'fix-update-rate' into humble (#874)
  • Contributors: Christopher Wecht, Dr. Denis, Tony Najjar, sgmurray

3.6.0 (2023-01-12)

  • Fix QoS deprecation warnings (#879)
  • Add backward_ros to controller_manager (#886)
  • Contributors: Andy McEvoy, Bence Magyar

3.5.1 (2023-01-06)

  • Prevent controller manager from crashing when controller's plugin has error during loading. (#881)
  • Contributors: Denis Štogl

3.5.0 (2022-12-06)

  • Rename class type to plugin name #api-breaking #abi-breaking (#780)
  • Namespace Loaded Controllers (#852)
  • Contributors: Bence Magyar, sp-sophia-labs

3.4.0 (2022-11-27)

  • Use a thread priority library from realtime_tools (#794)
  • [Doc] Correct type of update_rate parameter (#858)
  • Contributors: Andy Zelenak, Denis Štogl, Bence Magyar

3.3.0 (2022-11-15)

  • Adding activation/deactivation tests for chain controllers (#809)
  • Fix const-ness in std::chrono::time_point construction and explicitly use std::chrono::nanoseconds as std::chrono::time_point template parameter to help compilation on macOS as its std::chrono::system_clock::time_point defaults to std::chrono::milliseconds for duration type (#848)
  • [ControllerManager] Fix wrong initialization order and avoid compiler warnings (#836)
  • Contributors: Adrian Zwiener, Bilal Gill, Felix Exner, light-tech

3.2.0 (2022-10-15)

3.1.0 (2022-10-05)

  • Don't ask to export reference interface if controller not 'inactive' or 'active' (#824)
  • Add diagnostics for controllers activity (#820)
  • Search for controller manager in the same namespace as spawner (#810)
  • Handle HW errors on read and write in CM by stopping controllers (#742) Add code for deactivating controller when hardware gets an error on read and write. Fix misleading variable name in the tests. Remove all interface from available list for hardware when an error happens. Do some more variable renaming to the new nomenclature.
  • Contributors: Denis Štogl, Tony Najjar

3.0.0 (2022-09-19)

2.15.0 (2022-09-19)

2.14.0 (2022-09-04)

  • Add doxygen comments (#777)
  • Contributors: Bence Magyar, Denis Štogl

2.13.0 (2022-08-03)

  • Clang tidy: delete a redundant return (#790)
  • Add chained controllers information in list controllers service #abi-braking (#758)
    • add chained controllers in ros2controlcli
    • remove controller_group from service
    • added comments to ControllerState message
    • added comments to ChainedConnection message
  • spawner.py: Fix python logging on deprecation warning (#787)
  • Add documentation for realtime permission (#781)
  • Fix bug in spawner with getter for node's logger (#776)
  • Contributors: Andy Zelenak, Felix Exner, Paul Gesel, Bijou Abraham

2.12.1 (2022-07-14)

  • Rename CM members from start/stop to activate/deactivate nomenclature. (#756)
  • Fix spelling in comment (#769)
  • Contributors: Denis Štogl, Tyler Weaver

2.12.0 (2022-07-09)

  • Deprecate and rename [start]{.title-ref} and [stop]{.title-ref} nomenclature toward user to [activate]{.title-ref} and [deactivate]{.title-ref} #ABI-breaking (#755)
    • Rename fields and deprecate old nomenclature.
    • Add new defines to SwitchController.srv
    • Deprecated start/stop nomenclature in all CLI commands.
    • Deprecate 'start_asap' too as other fields.
  • [ros2_control_node] Automatically detect if RT kernel is used and opportunistically enable SCHED_FIFO (#748)
  • Contributors: Denis Štogl, Tyler Weaver

2.11.0 (2022-07-03)

  • Remove hybrid services in controller manager. (#761)
  • [Interfaces] Improved `get_name()[ method of hardware interfaces #api-breaking (]{.title-ref}#737 <<https://github.com/ros-controls/ros2_control/issues/737>>`_)
  • Update maintainers of packages (#753)
  • Fix test dependency for chainable test (#751)
  • Remove ament autolint (#749)
  • Full functionality of chainable controllers in controller manager (#667)
    • auto-switching of chained mode in controllers
    • interface-matching approach for managing chaining controllers
  • Fixup spanwer and unspawner tests. It changes spawner a bit to handle interupts internally. (#745)
  • Add missing field to initializer lists in tests (#746)
  • Small but useful output update on controller manager. (#741)
  • Fixed period passed to hardware components always 0 (#738)
  • Contributors: Bence Magyar, Denis Štogl, Maciej Bednarczyk, Lucas Schulze

2.10.0 (2022-06-18)

  • Make RHEL CI happy! (#730)
  • CMakeLists cleanup (#733)
  • Update to clang format 12 (#731)
  • Contributors: Andy Zelenak, Bence Magyar, Márk Szitanics

2.9.0 (2022-05-19)

  • Adding base class for chained controllers: [ChainedControllersInterface]{.title-ref} (#663)
    • Extending ControllerInterface with methods for chainable controllers.
    • Switching to chained_mode is only forbidden if controller is active.
    • Default implementation for 'on_set_chained_mode' method.
    • Use two internal methods instead of 'update' directly on chained controllers.
  • Add ControllerInterfaceBase class with methods for chainable controller (#717)
  • Contributors: Denis Štogl

2.8.0 (2022-05-13)

  • Pass time and period to read() and write() (#715)
  • Contributors: Bence Magyar

2.7.0 (2022-04-29)

  • Update ControllerManager documenation describing some concepts (#677)
  • Make node private in ControllerInterface (#699)
  • Contributors: Chen Bainian, Denis Štogl, Jack Center, Bence Magyar

2.6.0 (2022-04-20)

  • Add controller_manager_msgs dependency to test_hardware_management_srvs (#702)
  • Remove unused variable from the test (#700)
  • Enable namespaces for controllers. (#693)
  • Spawner waits for services (#683)
  • Contributors: Denis Štogl, Rufus Wong, Tyler Weaver

2.5.0 (2022-03-25)

  • Make ControllerManager tests more flexible and reusable for different scenarios. Use more parameterized tests regarding strictness. (#661)
  • Use lifecycle nodes in controllers again (#538)
    • Add lifecycle nodes
    • Add custom 'configure' to controller interface to get 'update_rate' parameter.
    • Disable external interfaces of LifecycleNode.
  • Small fixes in controller manager tests. (#660)
  • Enable controller manager services to control hardware lifecycle #abi-breaking (#637)
    • Implement CM services for hardware lifecycle management.
    • Added default behavior to activate all controller and added description of CM parameters.
  • Contributors: Denis Štogl, Vatan Aksoy Tezer, Bence Magyar

2.4.0 (2022-02-23)

  • Fixes of issue with seg-fault when checking interfaces on unconfigured controllers. (#580)
  • Update CM service QoS so that we don't lose service calls when using many controllers. (#643)
  • Contributors: Denis Štogl, Bence Magyar

2.3.0 (2022-02-18)

  • added a fixed control period to loop (#647)
  • install spawner/unspawner using console_script entrypoint (#607)
  • Add BEST_EFFORT in the controller switch tests. (#582)
  • Resolve unused parameter warnings (#636)
  • Contributors: Bence Magyar, Denis Štogl, Jack Center, Melvin Wang, Xi-Huang

2.2.0 (2022-01-24)

  • Resource Manager API changes for hardware lifecycle #api-breaking #abi-breaking (#589)
    • Towards selective starting and stoping of hardware components. Cleaning and renaming.
    • Move Lifecycle of hardware component to the bottom for better overview.
    • Use the same nomenclature as for controllers. 'start' -> 'activate'; 'stop' -> 'deactivate'

    * Add selective starting and stopping of hardware resources. Add HardwareComponentInfo structure in resource manager. Use constants for HW parameters in tests of resource_manager. Add list hardware components in CM to get details about them and check their status. Use clear name for 'guard' and move release cmd itfs for better readability. RM: Add lock for accesing maps with stored interfaces. Separate hardware components-related services after controllers-related services. Add service for activate/deactive hardware components. Add activation and deactivation through ResourceStorage. This helps to manage available command interfaces.

    • Use lifecycle_msgs/State in ListHardwareCompoents for state representation.
    • Simplify repeatable code in methods.
    • Add HW shutdown structure into ResouceManager.
    • Fill out service callback in CM and add parameter for auto-configure.
    • Move claimed_command_itf_map to ResourceStorage from ResourceManager.
    • Do not automatically configure hardware in RM.
    • Lifecycle and claiming in Resource Manager is working.
    • Extend controller manager to support HW lifecycle.
    • Add also available and claimed status into list components service output.
    • Add SetHardwareComponentState service.
    • Make all output in services debug-output.
    • Remove specific services for hardware lifecycle management and leave only 'set_hardware_component_state' service.
    • Make init_resource_manager less stateful.
    • Keep old api to start/activate all components per default.
    • Remove 'moving'/'non-moving' interface-handling.

    * Remove obsolete 'import_components' methods without hardware info and fix post_initialization test. Co-authored-by: Bence Magyar <<bence.magyar.robotics@gmail.com>>

  • Contributors: Denis Štogl

2.1.0 (2022-01-11)

2.0.0 (2021-12-29)

  • Add service-skeletons for controlling hardware lifecycle. (#585)
  • fix get_update_rate visibility in windows (#586)
  • Make output of not available controller nicer and make it informational. (#577)
  • Contributors: Denis Štogl, Melvin Wang

1.2.0 (2021-11-05)

1.1.0 (2021-10-25)

  • feat: add colored output into spawner.py (#560)
  • Added timeout argument for service_caller timeout (#552)
  • controller_manager: Use command_interface_configuration for the claimed interfaces when calling list_controllers (#544)
  • Clean up test_load_controller (#532)
  • Contributors: Jack Center, Jafar Abdi, Michael, Nour Saeed

1.0.0 (2021-09-29)

  • Use ControllerManager node clock for control loop timepoints (#542)
  • Per controller update rate(#513)
  • added dt to controller interface and controller manager #438 (#520)
  • Update nomenclature in CM for better code and output understanding (#517)
  • Methods controlling the lifecycle of controllers all have on_ prefix
  • Controller Manager should not crash when trying to start finalized or unconfigured controller (#461)
  • Fix deprecation warning from rclcpp::Duration (#511)
  • Remove BOOST compiler definitions for pluginlib from CMakeLists (#514)
  • Do not manually set C++ version to 14 (#516)
  • Refactor INSTANTIATE_TEST_CASE_P -> INSTANTIATE_TEST_SUITE_P (#515) Also removed the duplicated format & compiler fixes as on Galactic this shouldn't be an issue
  • rename get_current_state() to get_state() (#512)
  • Fix spawner tests (#509)
  • Removed deprecated CLI verbs (#420)
  • Remove extensions from executable nodes (#453)
  • Contributors: Bence Magyar, Denis Štogl, Dmitri Ignakov, Joseph Schornak, Márk Szitanics, Tim Clephas, bailaC, Mathias Aarbo

0.8.0 (2021-08-28)

  • Use clang format as code formatter (#491)
  • Use example urdf from the test_assests package. (#495)
  • Separate controller manager test cases (#476)
  • Add Controller Manager docs (#467)
  • sort interfaces in resource manager (#483)
  • Add pre-commit setup. (#473)
  • Make controller_manager set controller's use_sim_time param when use_sim_time=True (#468)
    • potential solution to controller_manager use_sim_time sharing issue
    • removed debug print statements
    • added INFO message to warn user that use_sim_time is being set automatically
  • Add load-only option into controller spawner (#427)
  • Fixes for windows (#443)
    • Fix building on windows
    • Fix MSVC linker error when building tests
    • Fix hang when loading controller on windows
    • Use better log for configuring controller
    • Be consistent with visibility control
    • Use try_lock throw exception on failure
  • Add an argument to define controller manager timeout (#444)
  • Contributors: Akash, Bence Magyar, Darko Lukić, Denis Štogl, Karsten Knese, Simon Honigmann

0.7.1 (2021-06-15)

  • Use namespace in controller_manager (#435)
  • Contributors: Jonatan Olofsson

0.7.0 (2021-06-06)

0.6.1 (2021-05-31)

  • Add missing dependency on controller_manager_msgs (#426)
  • Contributors: Denis Štogl

0.6.0 (2021-05-23)

  • List controller claimed interfaces (#407)
    • List controllers now also shows the claimed interfaces

    * Fixed tests that perform switches Successfull controller switches require more than one call to update() in order to update the controller list

    • Can now set the command interface configuration
    • Added checks for the claimed interfaces
  • Contributors: Jordan Palacios

0.5.0 (2021-05-03)

  • Make controller manager update rate optional (#404)
  • Bump [wait_for_service]{.title-ref} timeout to 10 seconds (#403)
  • introduce --stopped for spawner (#402)
  • hardware_interface mode switching using prepareSwitch doSwitch approach (#348)
  • Avoid std::stringstream (#391)
  • avoid deprecations (#393)
  • Use RCLCPP_DEBUG_STREAM for char * (#389)
  • Check controller_interface::init return value when loading (#386)
  • Do not throw when controller type is not found, return nullptr instead (#387)
  • Contributors: Auguste Bourgois, Karsten Knese, Matt Reynolds, Tyler Weaver, Mathias Hauan Arbo, Bence Magyar

0.4.0 (2021-04-07)

  • Fix deprecation warnings: SUCCESS -> OK (#375)
  • Don't use FileType for param-file (#351)
  • Remodel ros2controlcli, refactor spawner/unspawner and fix test (#349)
  • Add spawner and unspawner scripts (#310)
  • Contributors: Bence Magyar, Jordan Palacios, Karsten Knese, Victor Lopez

0.3.0 (2021-03-21)

  • release_interfaces when stopping controller (#343)
    • release_interfaces when stopping controller
    • Moved release_interfaces after deactivate
    • First attempt at test_release_interfaces
    • Switched to std::async with cm_->update
  • Capatalized error message and put the controllers name and resource name inside quote (#338)
  • Contributors: mahaarbo, suab321321

0.2.1 (2021-03-02)

0.2.0 (2021-02-26)

  • Add "Fake" components for simple integration of framework (#323)
  • Contributors: Denis Štogl

0.1.6 (2021-02-05)

0.1.5 (2021-02-04)

0.1.4 (2021-02-03)

  • fix float conversion warning (#312)
  • update doxygen style according to ros2 core standard (#300)
  • Capitalized messages in controller_manager.cpp upto line669 (#285)
  • Sleep accurate duration on ros2_control_node (#302)
  • Contributors: Achinta-Choudhury, João Victor Torres Borges, Karsten Knese, Yutaka Kondo

0.1.3 (2021-01-21)

* Fix building on macOS with clang (#292) ail.com> * Contributors: Karsten Knese

0.1.2 (2021-01-06)

  • Fix update rate issues by working around MutliThreadedExecutor (#275) * Fix update rate issues by working around MutliThreadedExecutor Currently the MutliThreadedExecutor performance is very bad. This leads to controllers not meeting their update rate. This PR is a temporary workaround for these issues. The current approach uses a [rclcpp]{.title-ref} timer to execute the control loop. When used in combination with the [MutliThreadedExecutor]{.title-ref}, the timers are not execute at their target frequency. I've converted the control loop to a while loop on a separate thread that uses [nanosleep]{.title-ref} to execute the correct update rate. This means that [rclcpp]{.title-ref} is not involved in the execution and leads to much better performance.
    • Address review comments by rewriting several comments
  • Contributors: Ramon Wijnands

0.1.1 (2020-12-23)

0.1.0 (2020-12-22)

  • Add configure controller service (#272)
  • Remove lifecycle node (#261)
  • Added starting of resources into CM and RM (#240)
  • Use resource manager (#236)
  • Remove pluginlib warnings on reload test (#237)
  • resource loaning (#224)
  • Allocate memory for components and handles (#207)
  • Add controller manager services (#139)
  • Change Hardware return type to enum class (#114)
  • Use rclcpp::Executor instead of rclcpp::executor::Executor(deprecated) (#82)
  • Replace RCUTILS_ with RCLCPP_ for logging (#62)
  • dont include pluginlib header in controller manager header (#63)
  • export controller_interface (#58)
  • Use pluginlib instead of class_loader for loading controllers (#41)
  • import controller_manager
  • Contributors: Bence Magyar, Denis Štogl, Jafar Abdi, Jordan Palacios, Karsten Knese, Parth Chopra, Victor Lopez

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged controller_manager at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 4.20.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros2_control.git
VCS Type git
VCS Version master
Last Updated 2024-11-18
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Description of controller_manager

Additional Links

No additional links.

Maintainers

  • Bence Magyar
  • Denis Štogl

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package controller_manager

4.20.0 (2024-11-08)

  • change from thread_priority.hpp to realtime_helpers.hpp (#1829)
  • Use Clock instead of Rate for backward compatibility of rolling (#1864)
  • [ros2_control_node] Handle simulation environment clocks (#1810)
  • [CM] Fix controller missing update cycles in a real setup (#1774)
  • [ros2_control_node] Add option to set the CPU affinity (#1852)
  • [ros2_control_node] Add the realtime_tools lock_memory method to prevent page faults (#1822)
  • Fix CMP0115 (#1830)
  • fix: typo use thread_priority (#1844)
  • Fix Hardware spawner and add tests for it (#1759)
  • add thread_priority option to the ros2_control_node (#1820)
  • Contributors: Baris Yazici, Christoph Fröhlich, Felix Exner (fexner), Sai Kishor Kothakota

4.19.0 (2024-10-26)

  • Fix timeout value in std output (#1807)
  • [CM] Async Function Handler for Controllers (#1489)
  • [Spawner] Add support for wildcard entries in the controller param files (#1724)
  • [Feature] Fallback controllers (#1789)
  • Check the update_rate set to the controllers to be a valid one (#1788)
  • [PR-1689] Follow-up PR of the controller interface variants integration (#1779)
  • Improve diagnostics of Controllers, Hardware Components and Controller Manager (#1764)
  • Improve launch utils to support the multiple controller names (#1782)
  • [RM/HW] Constify the exported state interfaces using ConstSharedPtr (#1767)
  • [CM] Throw an exception when the components initially fail to be in the required state (#1729)
  • Contributors: Felix Exner (fexner), Sai Kishor Kothakota

4.18.0 (2024-10-07)

  • Adapt controller Reference/StateInterfaces to New Way of Exporting (variant support) (#1689)
  • Add test coverage for [params_file]{.title-ref} parameter in spawner/unspawner tests (#1754)
  • [ros2controlcli] add params file parsing to load_controller verb and add namespacing support (#1703)
  • Contributors: Manuel Muth, Sai Kishor Kothakota, Santosh Govindaraj

4.17.0 (2024-09-11)

  • Log exception type when catching the exception (#1749)
  • [CM] Handle other exceptions while loading the controller plugin (#1731)
  • remove unnecessary log of the CM args (#1720)
  • Fix unload of controllers when spawned with [--unload-on-kill]{.title-ref} (#1717)
  • Rename [get_state]{.title-ref} and [set_state]{.title-ref} Functions to [get/set_lifecylce_state]{.title-ref} (variant support) (#1683)
  • Contributors: Manuel Muth, Sai Kishor Kothakota

4.16.1 (2024-08-24)

  • propage a portion of global args to the controller nodes (#1712)
  • Contributors: Sai Kishor Kothakota

4.16.0 (2024-08-22)

  • inform user what reason is for not setting rt policy, inform is policy (#1705)
  • Fix params_file typo in spawner and update release notes for use_global_arguments (#1701)
  • Fix spawner tests timeout (#1692)
  • Refactor spawner to be able to reuse code for ros2controlcli (#1661)
  • Robustify controller spawner and add integration test with many controllers (#1501)
  • Handle waiting in Spawner and align Hardware Spawner functionality (#1562)
  • Make list controller and list hardware components immediately visualize the state. (#1606)
  • [CI] Add coveragepy and remove ignore: test (#1668)
  • Fix spawner unload on kill test (#1675)
  • [CM] Add more logging for easier debugging (#1645)
  • refactor SwitchParams to fix the incosistencies in the spawner tests (#1638)
  • Contributors: Bence Magyar, Christoph Fröhlich, Dr. Denis, Felix Exner (fexner), Manuel Muth, Sai Kishor Kothakota

4.15.0 (2024-08-05)

  • Add missing include for executors (#1653)
  • Fix the namespaced controller_manager spawner + added tests (#1640)
  • CM: Add missing includes (#1641)
  • Fix rst markup (#1642)
  • Add a pytest launch file to test ros2_control_node (#1636)
  • [CM] Remove deprecated spawner args (#1639)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

4.14.0 (2024-07-23)

  • Unused header cleanup (#1627)
  • Remove noqa (#1626)
  • Fix controller starting with later load of robot description test (#1624)
  • [CM] Remove support for the description parameter and use only [robot_description]{.title-ref} topic (#1358)
  • Contributors: Christoph Fröhlich, Dr. Denis, Henry Moore, Sai Kishor Kothakota

4.13.0 (2024-07-08)

  • Change the spamming checking interface ERROR to DEBUG (#1605)
  • [ResourceManager] Propagate access to logger and clock interfaces to HardwareComponent (#1585)
  • [ControllerChaining] Export state interfaces from chainable controllers (#1021)
  • Contributors: Sai Kishor Kothakota

4.12.0 (2024-07-01)

  • [rqt_controller_manager] Add hardware components (#1455)
  • [RM] Rename [load_urdf]{.title-ref} method to [load_and_initialize_components]{.title-ref} and add error handling there to avoid stack crashing when error happens. (#1354)
  • Fix update [period]{.title-ref} for the first update after activation (#1551)
  • Bump version of pre-commit hooks (#1556)
  • Contributors: Christoph Fröhlich, Dr. Denis, github-actions[bot]

4.11.0 (2024-05-14)

  • Add find_package for ament_cmake_gen_version_h (#1534)
  • Contributors: Christoph Fröhlich

4.10.0 (2024-05-08)

  • allow extra spawner arguments to not declare every argument in launch utils (#1505)
  • Working async controllers and components [not synchronized] (#1041)
  • Add fallback controllers list to the ControllerInfo (#1503)
  • Add a functionality to look for the controller type in the params file when not parsed (#1502)
  • Add controller exception handling in controller manager (#1507)
  • Contributors: Márk Szitanics, Sai Kishor Kothakota

4.9.0 (2024-04-30)

  • Deactivate the controllers when they return error similar to hardware (#1499)
  • Component parser: Get mimic information from URDF (#1256)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

4.8.0 (2024-03-27)

  • generate version.h file per package using the ament_generate_version_header (#1449)
  • Use ament_cmake generated rclcpp version header (#1448)
  • Replace random_shuffle with shuffle. (#1446)
  • Contributors: Chris Lalancette, Sai Kishor Kothakota

4.7.0 (2024-03-22)

  • add missing compiler definitions of RCLCPP_VERSION_MAJOR (#1440)
  • Codeformat from new pre-commit config (#1433)
  • add conditioning to get_parameter_value method import (#1428)
  • Change the controller sorting with an approach similar to directed acyclic graphs (#1384)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

4.6.0 (2024-03-02)

  • Add -Werror=missing-braces to compile options (#1423)
  • added conditioning to have rolling tags compilable in older versions (#1422)
  • [CM] Remove deprecated parameters for initial component states. (#1357)
  • [BREAKING CHANGE] Use [robot_description]{.title-ref} topic instead of [~/robot_description]{.title-ref} and update docs regarding this (#1410)
  • [CI] Code coverage + pre-commit (#1413)
  • Fix multiple chainable controller activation bug (#1401)
  • Contributors: Christoph Fröhlich, Dr. Denis, Felix Exner (fexner), Sai Kishor Kothakota

4.5.0 (2024-02-12)

  • check for state of the controller node before cleanup (#1363)
  • [CM] Use explicit constants in controller tests. (#1356)
  • [CM] Optimized debug output about interfaces when switching controllers. (#1355)
  • A method to get node options to setup the controller node #api-breaking (#1169)
  • Contributors: Dr. Denis, Sai Kishor Kothakota

4.4.0 (2024-01-31)

  • Move [test_components]{.title-ref} to own package (#1325)
  • Fix controller parameter loading issue in different cases (#1293)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

4.3.0 (2024-01-20)

  • [CM] Better readability and maintainability: rename variables, move code to more logical places 🔧 (#1227)
  • Initialize the controller manager services after initializing resource manager (#1271)
  • Issue 695: Changing 'namespace_' variables to 'node_namespace' to make it more explicit (#1239)
  • Fix rqt controller manager crash on ros2_control restart (#1273)
  • [docs] Remove joint_state_controller (#1263)
  • controller_manager: Add space to string literal concatenation (#1245)
  • Try using SCHED_FIFO on any kernel (#1142)
  • [CM] Set chained controller interfaces 'available' for activated controllers (#1098)
  • [CM] Increase tests timeout (#1224)
  • Contributors: Christoph Fröhlich, Dr. Denis, Felix Exner (fexner), Sai Kishor Kothakota, Yasushi SHOJI, bailaC

4.2.0 (2023-12-12)

  • [CM] Linting if/else statements (#1193)
  • Reformat with braces added (#1209)
  • Report inactive controllers as a diagnostics ok instead of an error (#1184)
  • Fix controller sorting issue while loading large number of controllers (#1180)
  • Contributors: Bence Magyar, Dr. Denis, Lennart Nachtigall, Sai Kishor Kothakota

4.1.0 (2023-11-30)

  • Add few warning compiler options to error (#1181)
  • [ControllerManager] Fix all warnings from the latets features. (#1174)
  • Compute the actual update period for each controller (#1140)
  • Contributors: Dr. Denis, Sai Kishor Kothakota

4.0.0 (2023-11-21)

  • Pass controller manager update rate on the init of the controller interface (#1141)
  • Fix the controller sorting bug when the interfaces are not configured (fixes #1164) (#1165)
  • Pass URDF to controllers on init (#1088)
  • Remove deprecation warning (#1101)
  • Contributors: Bence Magyar, Christoph Fröhlich, Sai Kishor Kothakota

3.21.0 (2023-11-06)

  • Sort controllers while configuring instead of while activating (#1107)
  • Contributors: Sai Kishor Kothakota

3.20.0 (2023-10-31)

  • Update spawner to accept controllers list and start them in sequence (#1139)
  • [ResourceManager] deactivate hardware from read/write return value (#884)
  • Export of the get_cm_node_options() from robostack (#1129)
  • Contributors: Felix Exner (fexner), Olivier Stasse, Sai Kishor Kothakota

3.19.1 (2023-10-04)

  • Fix next controller update cycle time clock (#1127)
  • Contributors: Sai Kishor Kothakota

3.19.0 (2023-10-03)

  • Proper controller update rate (#1105)
  • Fix multiple calls to export reference interfaces (#1108)
  • [Docs] Fix information about activation and deactivation of chainable controllers (#1104)
  • Contributors: Dr. Denis, Sai Kishor Kothakota

3.18.0 (2023-08-17)

  • Controller sorting and proper execution in a chain (Fixes #853) (#1063)
  • Contributors: Sai Kishor Kothakota, Christoph Fröhlich, Dr Denis, Bence Magyar

3.17.0 (2023-08-07)

  • [CM] Fixes the issue with individual controller's update rate (#1082)
  • Fix deprecation warning (#1093)
  • Contributors: Christoph Fröhlich, Sai Kishor Kothakota

3.16.0 (2023-07-09)

  • added controller manager runner to have update cycles (#1075)
  • [CM] Make error message after trying to active controller more informative. (#1066)
  • Fix equal and higher controller update rate (#1070)
  • Create doc file for chained controllers (#985)
  • Contributors: Dr. Denis, Sai Kishor Kothakota

3.15.0 (2023-06-23)

  • Enable setting of initial state in HW compoments (#1046)
  • [CM] Improve output when using robot description topic and give output about correct topic even remapped. (#1059)
  • Contributors: Dr. Denis

3.14.0 (2023-06-14)

  • Add -Wconversion flag to protect future developments (#1053)
  • [CM] Use [robot_description]{.title-ref} topic instead of parameter and don't crash on empty URDF 🦿 (#940)
  • enable ReflowComments to also use ColumnLimit on comments (#1037)
  • Docs: Use branch name substitution for all links (#1031)
  • Add text to assertions references (#1023)
  • Contributors: Christoph Fröhlich, Felix Exner (fexner), Manuel Muth, Sai Kishor Kothakota, gwalck

3.13.0 (2023-05-18)

  • Add class for thread management of async hw interfaces (#981)
  • Fix GitHub link on control.ros.org (#1022)
  • Remove log-level argument from spawner script (#1013)
  • Contributors: Christoph Fröhlich, Márk Szitanics, Bijou Abraham

3.12.2 (2023-04-29)

3.12.1 (2023-04-14)

3.12.0 (2023-04-02)

  • [Controller Interface] Add time and period paramters to update_reference_from_subscribers() (#846) #API-break
  • Contributors: Robotgir

3.11.0 (2023-03-22)

  • [ControllerManager] Add Class for Async Controllers and Lifecycle Management (#932)
  • Consistent use of colors for warning and error msgs in spawner (#974)
  • Fix wrong warning messages (#973)
  • Add log level support to spawner node (#972)
  • Contributors: Dr. Denis, Márk Szitanics, Bijou Abraham

3.10.0 (2023-03-16)

  • add spawner for hardware (#941)
  • Contributors: Manuel Muth

3.9.1 (2023-03-09)

3.9.0 (2023-02-28)

  • fix AttributeError: Parameter object attribute name is read-only (#957)
  • Remove deprecations from CLI and controller_manager (#948)
  • Expose node options to controller manager (#942)
  • Contributors: Christoph Fröhlich, Noel Jiménez García, methylDragon

3.8.0 (2023-02-10)

  • Fix CMake install so overriding works (#926)
  • 🖤 Add Black formatter for Python files. (#936)
  • Add list_hardware_components CLI <<https://github.com/ros-controls/ros2_control/issues/796>>[_ - Adds list_hardware_components to CLI (]{.title-ref}#891 <<https://github.com/ros-controls/ros2_control/issues/891>>`_)
  • Contributors: Andy McEvoy, Dr. Denis, Tyler Weaver

3.7.0 (2023-01-24)

  • Do not use CLI calls but direct API for setting parameters. (#910)
  • Optimize output of controller spawner (#909)
  • ControllerManager: catch exception by reference (#906)
  • Test fix: don't keep reference to the controller in the test when it should be destroyed in the controller manager (#883)
  • Merge branch 'fix-update-rate' into humble (#874)
  • Contributors: Christopher Wecht, Dr. Denis, Tony Najjar, sgmurray

3.6.0 (2023-01-12)

  • Fix QoS deprecation warnings (#879)
  • Add backward_ros to controller_manager (#886)
  • Contributors: Andy McEvoy, Bence Magyar

3.5.1 (2023-01-06)

  • Prevent controller manager from crashing when controller's plugin has error during loading. (#881)
  • Contributors: Denis Štogl

3.5.0 (2022-12-06)

  • Rename class type to plugin name #api-breaking #abi-breaking (#780)
  • Namespace Loaded Controllers (#852)
  • Contributors: Bence Magyar, sp-sophia-labs

3.4.0 (2022-11-27)

  • Use a thread priority library from realtime_tools (#794)
  • [Doc] Correct type of update_rate parameter (#858)
  • Contributors: Andy Zelenak, Denis Štogl, Bence Magyar

3.3.0 (2022-11-15)

  • Adding activation/deactivation tests for chain controllers (#809)
  • Fix const-ness in std::chrono::time_point construction and explicitly use std::chrono::nanoseconds as std::chrono::time_point template parameter to help compilation on macOS as its std::chrono::system_clock::time_point defaults to std::chrono::milliseconds for duration type (#848)
  • [ControllerManager] Fix wrong initialization order and avoid compiler warnings (#836)
  • Contributors: Adrian Zwiener, Bilal Gill, Felix Exner, light-tech

3.2.0 (2022-10-15)

3.1.0 (2022-10-05)

  • Don't ask to export reference interface if controller not 'inactive' or 'active' (#824)
  • Add diagnostics for controllers activity (#820)
  • Search for controller manager in the same namespace as spawner (#810)
  • Handle HW errors on read and write in CM by stopping controllers (#742) Add code for deactivating controller when hardware gets an error on read and write. Fix misleading variable name in the tests. Remove all interface from available list for hardware when an error happens. Do some more variable renaming to the new nomenclature.
  • Contributors: Denis Štogl, Tony Najjar

3.0.0 (2022-09-19)

2.15.0 (2022-09-19)

2.14.0 (2022-09-04)

  • Add doxygen comments (#777)
  • Contributors: Bence Magyar, Denis Štogl

2.13.0 (2022-08-03)

  • Clang tidy: delete a redundant return (#790)
  • Add chained controllers information in list controllers service #abi-braking (#758)
    • add chained controllers in ros2controlcli
    • remove controller_group from service
    • added comments to ControllerState message
    • added comments to ChainedConnection message
  • spawner.py: Fix python logging on deprecation warning (#787)
  • Add documentation for realtime permission (#781)
  • Fix bug in spawner with getter for node's logger (#776)
  • Contributors: Andy Zelenak, Felix Exner, Paul Gesel, Bijou Abraham

2.12.1 (2022-07-14)

  • Rename CM members from start/stop to activate/deactivate nomenclature. (#756)
  • Fix spelling in comment (#769)
  • Contributors: Denis Štogl, Tyler Weaver

2.12.0 (2022-07-09)

  • Deprecate and rename [start]{.title-ref} and [stop]{.title-ref} nomenclature toward user to [activate]{.title-ref} and [deactivate]{.title-ref} #ABI-breaking (#755)
    • Rename fields and deprecate old nomenclature.
    • Add new defines to SwitchController.srv
    • Deprecated start/stop nomenclature in all CLI commands.
    • Deprecate 'start_asap' too as other fields.
  • [ros2_control_node] Automatically detect if RT kernel is used and opportunistically enable SCHED_FIFO (#748)
  • Contributors: Denis Štogl, Tyler Weaver

2.11.0 (2022-07-03)

  • Remove hybrid services in controller manager. (#761)
  • [Interfaces] Improved `get_name()[ method of hardware interfaces #api-breaking (]{.title-ref}#737 <<https://github.com/ros-controls/ros2_control/issues/737>>`_)
  • Update maintainers of packages (#753)
  • Fix test dependency for chainable test (#751)
  • Remove ament autolint (#749)
  • Full functionality of chainable controllers in controller manager (#667)
    • auto-switching of chained mode in controllers
    • interface-matching approach for managing chaining controllers
  • Fixup spanwer and unspawner tests. It changes spawner a bit to handle interupts internally. (#745)
  • Add missing field to initializer lists in tests (#746)
  • Small but useful output update on controller manager. (#741)
  • Fixed period passed to hardware components always 0 (#738)
  • Contributors: Bence Magyar, Denis Štogl, Maciej Bednarczyk, Lucas Schulze

2.10.0 (2022-06-18)

  • Make RHEL CI happy! (#730)
  • CMakeLists cleanup (#733)
  • Update to clang format 12 (#731)
  • Contributors: Andy Zelenak, Bence Magyar, Márk Szitanics

2.9.0 (2022-05-19)

  • Adding base class for chained controllers: [ChainedControllersInterface]{.title-ref} (#663)
    • Extending ControllerInterface with methods for chainable controllers.
    • Switching to chained_mode is only forbidden if controller is active.
    • Default implementation for 'on_set_chained_mode' method.
    • Use two internal methods instead of 'update' directly on chained controllers.
  • Add ControllerInterfaceBase class with methods for chainable controller (#717)
  • Contributors: Denis Štogl

2.8.0 (2022-05-13)

  • Pass time and period to read() and write() (#715)
  • Contributors: Bence Magyar

2.7.0 (2022-04-29)

  • Update ControllerManager documenation describing some concepts (#677)
  • Make node private in ControllerInterface (#699)
  • Contributors: Chen Bainian, Denis Štogl, Jack Center, Bence Magyar

2.6.0 (2022-04-20)

  • Add controller_manager_msgs dependency to test_hardware_management_srvs (#702)
  • Remove unused variable from the test (#700)
  • Enable namespaces for controllers. (#693)
  • Spawner waits for services (#683)
  • Contributors: Denis Štogl, Rufus Wong, Tyler Weaver

2.5.0 (2022-03-25)

  • Make ControllerManager tests more flexible and reusable for different scenarios. Use more parameterized tests regarding strictness. (#661)
  • Use lifecycle nodes in controllers again (#538)
    • Add lifecycle nodes
    • Add custom 'configure' to controller interface to get 'update_rate' parameter.
    • Disable external interfaces of LifecycleNode.
  • Small fixes in controller manager tests. (#660)
  • Enable controller manager services to control hardware lifecycle #abi-breaking (#637)
    • Implement CM services for hardware lifecycle management.
    • Added default behavior to activate all controller and added description of CM parameters.
  • Contributors: Denis Štogl, Vatan Aksoy Tezer, Bence Magyar

2.4.0 (2022-02-23)

  • Fixes of issue with seg-fault when checking interfaces on unconfigured controllers. (#580)
  • Update CM service QoS so that we don't lose service calls when using many controllers. (#643)
  • Contributors: Denis Štogl, Bence Magyar

2.3.0 (2022-02-18)

  • added a fixed control period to loop (#647)
  • install spawner/unspawner using console_script entrypoint (#607)
  • Add BEST_EFFORT in the controller switch tests. (#582)
  • Resolve unused parameter warnings (#636)
  • Contributors: Bence Magyar, Denis Štogl, Jack Center, Melvin Wang, Xi-Huang

2.2.0 (2022-01-24)

  • Resource Manager API changes for hardware lifecycle #api-breaking #abi-breaking (#589)
    • Towards selective starting and stoping of hardware components. Cleaning and renaming.
    • Move Lifecycle of hardware component to the bottom for better overview.
    • Use the same nomenclature as for controllers. 'start' -> 'activate'; 'stop' -> 'deactivate'

    * Add selective starting and stopping of hardware resources. Add HardwareComponentInfo structure in resource manager. Use constants for HW parameters in tests of resource_manager. Add list hardware components in CM to get details about them and check their status. Use clear name for 'guard' and move release cmd itfs for better readability. RM: Add lock for accesing maps with stored interfaces. Separate hardware components-related services after controllers-related services. Add service for activate/deactive hardware components. Add activation and deactivation through ResourceStorage. This helps to manage available command interfaces.

    • Use lifecycle_msgs/State in ListHardwareCompoents for state representation.
    • Simplify repeatable code in methods.
    • Add HW shutdown structure into ResouceManager.
    • Fill out service callback in CM and add parameter for auto-configure.
    • Move claimed_command_itf_map to ResourceStorage from ResourceManager.
    • Do not automatically configure hardware in RM.
    • Lifecycle and claiming in Resource Manager is working.
    • Extend controller manager to support HW lifecycle.
    • Add also available and claimed status into list components service output.
    • Add SetHardwareComponentState service.
    • Make all output in services debug-output.
    • Remove specific services for hardware lifecycle management and leave only 'set_hardware_component_state' service.
    • Make init_resource_manager less stateful.
    • Keep old api to start/activate all components per default.
    • Remove 'moving'/'non-moving' interface-handling.

    * Remove obsolete 'import_components' methods without hardware info and fix post_initialization test. Co-authored-by: Bence Magyar <<bence.magyar.robotics@gmail.com>>

  • Contributors: Denis Štogl

2.1.0 (2022-01-11)

2.0.0 (2021-12-29)

  • Add service-skeletons for controlling hardware lifecycle. (#585)
  • fix get_update_rate visibility in windows (#586)
  • Make output of not available controller nicer and make it informational. (#577)
  • Contributors: Denis Štogl, Melvin Wang

1.2.0 (2021-11-05)

1.1.0 (2021-10-25)

  • feat: add colored output into spawner.py (#560)
  • Added timeout argument for service_caller timeout (#552)
  • controller_manager: Use command_interface_configuration for the claimed interfaces when calling list_controllers (#544)
  • Clean up test_load_controller (#532)
  • Contributors: Jack Center, Jafar Abdi, Michael, Nour Saeed

1.0.0 (2021-09-29)

  • Use ControllerManager node clock for control loop timepoints (#542)
  • Per controller update rate(#513)
  • added dt to controller interface and controller manager #438 (#520)
  • Update nomenclature in CM for better code and output understanding (#517)
  • Methods controlling the lifecycle of controllers all have on_ prefix
  • Controller Manager should not crash when trying to start finalized or unconfigured controller (#461)
  • Fix deprecation warning from rclcpp::Duration (#511)
  • Remove BOOST compiler definitions for pluginlib from CMakeLists (#514)
  • Do not manually set C++ version to 14 (#516)
  • Refactor INSTANTIATE_TEST_CASE_P -> INSTANTIATE_TEST_SUITE_P (#515) Also removed the duplicated format & compiler fixes as on Galactic this shouldn't be an issue
  • rename get_current_state() to get_state() (#512)
  • Fix spawner tests (#509)
  • Removed deprecated CLI verbs (#420)
  • Remove extensions from executable nodes (#453)
  • Contributors: Bence Magyar, Denis Štogl, Dmitri Ignakov, Joseph Schornak, Márk Szitanics, Tim Clephas, bailaC, Mathias Aarbo

0.8.0 (2021-08-28)

  • Use clang format as code formatter (#491)
  • Use example urdf from the test_assests package. (#495)
  • Separate controller manager test cases (#476)
  • Add Controller Manager docs (#467)
  • sort interfaces in resource manager (#483)
  • Add pre-commit setup. (#473)
  • Make controller_manager set controller's use_sim_time param when use_sim_time=True (#468)
    • potential solution to controller_manager use_sim_time sharing issue
    • removed debug print statements
    • added INFO message to warn user that use_sim_time is being set automatically
  • Add load-only option into controller spawner (#427)
  • Fixes for windows (#443)
    • Fix building on windows
    • Fix MSVC linker error when building tests
    • Fix hang when loading controller on windows
    • Use better log for configuring controller
    • Be consistent with visibility control
    • Use try_lock throw exception on failure
  • Add an argument to define controller manager timeout (#444)
  • Contributors: Akash, Bence Magyar, Darko Lukić, Denis Štogl, Karsten Knese, Simon Honigmann

0.7.1 (2021-06-15)

  • Use namespace in controller_manager (#435)
  • Contributors: Jonatan Olofsson

0.7.0 (2021-06-06)

0.6.1 (2021-05-31)

  • Add missing dependency on controller_manager_msgs (#426)
  • Contributors: Denis Štogl

0.6.0 (2021-05-23)

  • List controller claimed interfaces (#407)
    • List controllers now also shows the claimed interfaces

    * Fixed tests that perform switches Successfull controller switches require more than one call to update() in order to update the controller list

    • Can now set the command interface configuration
    • Added checks for the claimed interfaces
  • Contributors: Jordan Palacios

0.5.0 (2021-05-03)

  • Make controller manager update rate optional (#404)
  • Bump [wait_for_service]{.title-ref} timeout to 10 seconds (#403)
  • introduce --stopped for spawner (#402)
  • hardware_interface mode switching using prepareSwitch doSwitch approach (#348)
  • Avoid std::stringstream (#391)
  • avoid deprecations (#393)
  • Use RCLCPP_DEBUG_STREAM for char * (#389)
  • Check controller_interface::init return value when loading (#386)
  • Do not throw when controller type is not found, return nullptr instead (#387)
  • Contributors: Auguste Bourgois, Karsten Knese, Matt Reynolds, Tyler Weaver, Mathias Hauan Arbo, Bence Magyar

0.4.0 (2021-04-07)

  • Fix deprecation warnings: SUCCESS -> OK (#375)
  • Don't use FileType for param-file (#351)
  • Remodel ros2controlcli, refactor spawner/unspawner and fix test (#349)
  • Add spawner and unspawner scripts (#310)
  • Contributors: Bence Magyar, Jordan Palacios, Karsten Knese, Victor Lopez

0.3.0 (2021-03-21)

  • release_interfaces when stopping controller (#343)
    • release_interfaces when stopping controller
    • Moved release_interfaces after deactivate
    • First attempt at test_release_interfaces
    • Switched to std::async with cm_->update
  • Capatalized error message and put the controllers name and resource name inside quote (#338)
  • Contributors: mahaarbo, suab321321

0.2.1 (2021-03-02)

0.2.0 (2021-02-26)

  • Add "Fake" components for simple integration of framework (#323)
  • Contributors: Denis Štogl

0.1.6 (2021-02-05)

0.1.5 (2021-02-04)

0.1.4 (2021-02-03)

  • fix float conversion warning (#312)
  • update doxygen style according to ros2 core standard (#300)
  • Capitalized messages in controller_manager.cpp upto line669 (#285)
  • Sleep accurate duration on ros2_control_node (#302)
  • Contributors: Achinta-Choudhury, João Victor Torres Borges, Karsten Knese, Yutaka Kondo

0.1.3 (2021-01-21)

* Fix building on macOS with clang (#292) ail.com> * Contributors: Karsten Knese

0.1.2 (2021-01-06)

  • Fix update rate issues by working around MutliThreadedExecutor (#275) * Fix update rate issues by working around MutliThreadedExecutor Currently the MutliThreadedExecutor performance is very bad. This leads to controllers not meeting their update rate. This PR is a temporary workaround for these issues. The current approach uses a [rclcpp]{.title-ref} timer to execute the control loop. When used in combination with the [MutliThreadedExecutor]{.title-ref}, the timers are not execute at their target frequency. I've converted the control loop to a while loop on a separate thread that uses [nanosleep]{.title-ref} to execute the correct update rate. This means that [rclcpp]{.title-ref} is not involved in the execution and leads to much better performance.
    • Address review comments by rewriting several comments
  • Contributors: Ramon Wijnands

0.1.1 (2020-12-23)

0.1.0 (2020-12-22)

  • Add configure controller service (#272)
  • Remove lifecycle node (#261)
  • Added starting of resources into CM and RM (#240)
  • Use resource manager (#236)
  • Remove pluginlib warnings on reload test (#237)
  • resource loaning (#224)
  • Allocate memory for components and handles (#207)
  • Add controller manager services (#139)
  • Change Hardware return type to enum class (#114)
  • Use rclcpp::Executor instead of rclcpp::executor::Executor(deprecated) (#82)
  • Replace RCUTILS_ with RCLCPP_ for logging (#62)
  • dont include pluginlib header in controller manager header (#63)
  • export controller_interface (#58)
  • Use pluginlib instead of class_loader for loading controllers (#41)
  • import controller_manager
  • Contributors: Bence Magyar, Denis Štogl, Jafar Abdi, Jordan Palacios, Karsten Knese, Parth Chopra, Victor Lopez

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged controller_manager at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 0.0.1
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros2_control.git
VCS Type git
VCS Version dashing
Last Updated 2020-02-06
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Description of controller_manager

Additional Links

No additional links.

Maintainers

  • karsten

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package controller_manager

0.0.1 (2020-02-05)

  • Dashing compatibility (#47)
  • Contributors: Bence Magyar, Karsten Knese, Parth Chopra

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged controller_manager at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.6.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros2_control.git
VCS Type git
VCS Version galactic
Last Updated 2022-08-03
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Description of controller_manager

Additional Links

No additional links.

Maintainers

  • karsten

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package controller_manager

1.6.0 (2022-08-03)

  • Fixes of issue with seg-fault when checking interfaces on unconfigured controllers. (#580) (#795)
  • [ros2_control_node] Automatically detect if RT kernel is used and opportunistically enable SCHED_FIFO (#748) (#768)
  • Contributors: Denis Štogl, Tyler Weaver

1.5.1 (2022-05-31)

1.5.0 (2022-04-29)

  • Spawner waits for services (#683) (#697)
  • Contributors: Tyler Weaver

1.4.0 (2022-02-18)

  • added a fixed control period to loop (#647) (#650)
  • Contributors: Jack Center

1.3.0 (2021-12-21)

  • fix get_update_rate visibility in windows (#586) (#588) (cherry picked from commit 3f4a55bd898d5ae16fbefb6b19822dce0dbeba2a) Co-authored-by: Melvin Wang <<melvin.mc.wang@gmail.com>>
  • Make output of not available controller nicer and make it informational. (#577)
  • Contributors: Denis Štogl, mergify[bot]

1.2.0 (2021-11-05)

1.1.0 (2021-10-25)

  • feat: add colored output into spawner.py (#560)
  • Added timeout argument for service_caller timeout (#552)
  • controller_manager: Use command_interface_configuration for the claimed interfaces when calling list_controllers (#544)
  • Clean up test_load_controller (#532)
  • Contributors: Jack Center, Jafar Abdi, Michael, Nour Saeed

1.0.0 (2021-09-29)

  • Use ControllerManager node clock for control loop timepoints (#542)
  • Per controller update rate(#513)
  • added dt to controller interface and controller manager #438 (#520)
  • Update nomenclature in CM for better code and output understanding (#517)
  • Methods controlling the lifecycle of controllers all have on_ prefix
  • Controller Manager should not crash when trying to start finalized or unconfigured controller (#461)
  • Fix deprecation warning from rclcpp::Duration (#511)
  • Remove BOOST compiler definitions for pluginlib from CMakeLists (#514)
  • Do not manually set C++ version to 14 (#516)
  • Refactor INSTANTIATE_TEST_CASE_P -> INSTANTIATE_TEST_SUITE_P (#515) Also removed the duplicated format & compiler fixes as on Galactic this shouldn't be an issue
  • rename get_current_state() to get_state() (#512)
  • Fix spawner tests (#509)
  • Removed deprecated CLI verbs (#420)
  • Remove extensions from executable nodes (#453)
  • Contributors: Bence Magyar, Denis Štogl, Dmitri Ignakov, Joseph Schornak, Márk Szitanics, Tim Clephas, bailaC, Mathias Aarbo

0.8.0 (2021-08-28)

  • Use clang format as code formatter (#491)
  • Use example urdf from the test_assests package. (#495)
  • Separate controller manager test cases (#476)
  • Add Controller Manager docs (#467)
  • sort interfaces in resource manager (#483)
  • Add pre-commit setup. (#473)
  • Make controller_manager set controller's use_sim_time param when use_sim_time=True (#468)
    • potential solution to controller_manager use_sim_time sharing issue
    • removed debug print statements
    • added INFO message to warn user that use_sim_time is being set automatically
  • Add load-only option into controller spawner (#427)
  • Fixes for windows (#443)
    • Fix building on windows
    • Fix MSVC linker error when building tests
    • Fix hang when loading controller on windows
    • Use better log for configuring controller
    • Be consistent with visibility control
    • Use try_lock throw exception on failure
  • Add an argument to define controller manager timeout (#444)
  • Contributors: Akash, Bence Magyar, Darko Lukić, Denis Štogl, Karsten Knese, Simon Honigmann

0.7.1 (2021-06-15)

  • Use namespace in controller_manager (#435)
  • Contributors: Jonatan Olofsson

0.7.0 (2021-06-06)

0.6.1 (2021-05-31)

  • Add missing dependency on controller_manager_msgs (#426)
  • Contributors: Denis Štogl

0.6.0 (2021-05-23)

  • List controller claimed interfaces (#407)
    • List controllers now also shows the claimed interfaces

    * Fixed tests that perform switches Successfull controller switches require more than one call to update() in order to update the controller list

    • Can now set the command interface configuration
    • Added checks for the claimed interfaces
  • Contributors: Jordan Palacios

0.5.0 (2021-05-03)

  • Make controller manager update rate optional (#404)
  • Bump [wait_for_service]{.title-ref} timeout to 10 seconds (#403)
  • introduce --stopped for spawner (#402)
  • hardware_interface mode switching using prepareSwitch doSwitch approach (#348)
  • Avoid std::stringstream (#391)
  • avoid deprecations (#393)
  • Use RCLCPP_DEBUG_STREAM for char * (#389)
  • Check controller_interface::init return value when loading (#386)
  • Do not throw when controller type is not found, return nullptr instead (#387)
  • Contributors: Auguste Bourgois, Karsten Knese, Matt Reynolds, Tyler Weaver, Mathias Hauan Arbo, Bence Magyar

0.4.0 (2021-04-07)

  • Fix deprecation warnings: SUCCESS -> OK (#375)
  • Don't use FileType for param-file (#351)
  • Remodel ros2controlcli, refactor spawner/unspawner and fix test (#349)
  • Add spawner and unspawner scripts (#310)
  • Contributors: Bence Magyar, Jordan Palacios, Karsten Knese, Victor Lopez

0.3.0 (2021-03-21)

  • release_interfaces when stopping controller (#343)
    • release_interfaces when stopping controller
    • Moved release_interfaces after deactivate
    • First attempt at test_release_interfaces
    • Switched to std::async with cm_->update
  • Capatalized error message and put the controllers name and resource name inside quote (#338)
  • Contributors: mahaarbo, suab321321

0.2.1 (2021-03-02)

0.2.0 (2021-02-26)

  • Add "Fake" components for simple integration of framework (#323)
  • Contributors: Denis Štogl

0.1.6 (2021-02-05)

0.1.5 (2021-02-04)

0.1.4 (2021-02-03)

  • fix float conversion warning (#312)
  • update doxygen style according to ros2 core standard (#300)
  • Capitalized messages in controller_manager.cpp upto line669 (#285)
  • Sleep accurate duration on ros2_control_node (#302)
  • Contributors: Achinta-Choudhury, João Victor Torres Borges, Karsten Knese, Yutaka Kondo

0.1.3 (2021-01-21)

* Fix building on macOS with clang (#292) ail.com> * Contributors: Karsten Knese

0.1.2 (2021-01-06)

  • Fix update rate issues by working around MutliThreadedExecutor (#275) * Fix update rate issues by working around MutliThreadedExecutor Currently the MutliThreadedExecutor performance is very bad. This leads to controllers not meeting their update rate. This PR is a temporary workaround for these issues. The current approach uses a [rclcpp]{.title-ref} timer to execute the control loop. When used in combination with the [MutliThreadedExecutor]{.title-ref}, the timers are not execute at their target frequency. I've converted the control loop to a while loop on a separate thread that uses [nanosleep]{.title-ref} to execute the correct update rate. This means that [rclcpp]{.title-ref} is not involved in the execution and leads to much better performance.
    • Address review comments by rewriting several comments
  • Contributors: Ramon Wijnands

0.1.1 (2020-12-23)

0.1.0 (2020-12-22)

  • Add configure controller service (#272)
  • Remove lifecycle node (#261)
  • Added starting of resources into CM and RM (#240)
  • Use resource manager (#236)
  • Remove pluginlib warnings on reload test (#237)
  • resource loaning (#224)
  • Allocate memory for components and handles (#207)
  • Add controller manager services (#139)
  • Change Hardware return type to enum class (#114)
  • Use rclcpp::Executor instead of rclcpp::executor::Executor(deprecated) (#82)
  • Replace RCUTILS_ with RCLCPP_ for logging (#62)
  • dont include pluginlib header in controller manager header (#63)
  • export controller_interface (#58)
  • Use pluginlib instead of class_loader for loading controllers (#41)
  • import controller_manager
  • Contributors: Bence Magyar, Denis Štogl, Jafar Abdi, Jordan Palacios, Karsten Knese, Parth Chopra, Victor Lopez

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged controller_manager at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 0.11.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros2_control.git
VCS Type git
VCS Version foxy
Last Updated 2022-11-17
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Description of controller_manager

Additional Links

No additional links.

Maintainers

  • karsten

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package controller_manager

0.11.0 (2022-08-03)

0.10.1 (2022-05-31)

0.10.0 (2022-02-23)

  • added a fixed control period to loop (backport #647) (#651)
  • Contributors: Jack Center, Denis Štogl

0.9.0 (2021-12-20)

  • Make output of not available controllers nicer and make it informative. (#577) (#578) (cherry picked from commit a47a0347acd28a47b5095e4b206257e1520918ee) Co-authored-by: Denis Štogl <<destogl@users.noreply.github.com>>
  • feat: add colored output into spawner.py (#560) (#563) in order to highlight if controllers are loaded and configured and started. (cherry picked from commit afa0e01989e5b923e5c330f71d9270b30f03276d) Co-authored-by: Michael <<50864015+fmros@users.noreply.github.com>>
  • Contributors: mergify[bot]

0.8.1 (2021-10-25)

  • [ControllerManager] Fix method name upon fetching state of controller(s) (#526)
  • Controller Manager should not crash when trying to start finalized or unconfigured controller (#461) (#524)
  • Contributors: Denis Štogl, Lovro Ivanov

0.8.0 (2021-08-28)

  • Use clang format as code formatter (#491)
  • Use example urdf from the test_assests package. (#495)
  • Separate controller manager test cases (#476)
  • Add Controller Manager docs (#467)
  • sort interfaces in resource manager (#483)
  • Add pre-commit setup. (#473)
  • Make controller_manager set controller's use_sim_time param when use_sim_time=True (#468)
    • potential solution to controller_manager use_sim_time sharing issue
    • removed debug print statements
    • added INFO message to warn user that use_sim_time is being set automatically
  • Add load-only option into controller spawner (#427)
  • Fixes for windows (#443)
    • Fix building on windows
    • Fix MSVC linker error when building tests
    • Fix hang when loading controller on windows
    • Use better log for configuring controller
    • Be consistent with visibility control
    • Use try_lock throw exception on failure
  • Add an argument to define controller manager timeout (#444)
  • Contributors: Akash, Bence Magyar, Darko Lukić, Denis Štogl, Karsten Knese, Simon Honigmann

0.7.1 (2021-06-15)

  • Use namespace in controller_manager (#435)
  • Contributors: Jonatan Olofsson

0.7.0 (2021-06-06)

0.6.1 (2021-05-31)

  • Add missing dependency on controller_manager_msgs (#426)
  • Contributors: Denis Štogl

0.6.0 (2021-05-23)

  • List controller claimed interfaces (#407)
    • List controllers now also shows the claimed interfaces

    * Fixed tests that perform switches Successfull controller switches require more than one call to update() in order to update the controller list

    • Can now set the command interface configuration
    • Added checks for the claimed interfaces
  • Contributors: Jordan Palacios

0.5.0 (2021-05-03)

  • Make controller manager update rate optional (#404)
  • Bump [wait_for_service]{.title-ref} timeout to 10 seconds (#403)
  • introduce --stopped for spawner (#402)
  • hardware_interface mode switching using prepareSwitch doSwitch approach (#348)
  • Avoid std::stringstream (#391)
  • avoid deprecations (#393)
  • Use RCLCPP_DEBUG_STREAM for char * (#389)
  • Check controller_interface::init return value when loading (#386)
  • Do not throw when controller type is not found, return nullptr instead (#387)
  • Contributors: Auguste Bourgois, Karsten Knese, Matt Reynolds, Tyler Weaver, Mathias Hauan Arbo, Bence Magyar

0.4.0 (2021-04-07)

  • Fix deprecation warnings: SUCCESS -> OK (#375)
  • Don't use FileType for param-file (#351)
  • Remodel ros2controlcli, refactor spawner/unspawner and fix test (#349)
  • Add spawner and unspawner scripts (#310)
  • Contributors: Bence Magyar, Jordan Palacios, Karsten Knese, Victor Lopez

0.3.0 (2021-03-21)

  • release_interfaces when stopping controller (#343)
    • release_interfaces when stopping controller
    • Moved release_interfaces after deactivate
    • First attempt at test_release_interfaces
    • Switched to std::async with cm_->update
  • Capatalized error message and put the controllers name and resource name inside quote (#338)
  • Contributors: mahaarbo, suab321321

0.2.1 (2021-03-02)

0.2.0 (2021-02-26)

  • Add "Fake" components for simple integration of framework (#323)
  • Contributors: Denis Štogl

0.1.6 (2021-02-05)

0.1.5 (2021-02-04)

0.1.4 (2021-02-03)

  • fix float conversion warning (#312)
  • update doxygen style according to ros2 core standard (#300)
  • Capitalized messages in controller_manager.cpp upto line669 (#285)
  • Sleep accurate duration on ros2_control_node (#302)
  • Contributors: Achinta-Choudhury, João Victor Torres Borges, Karsten Knese, Yutaka Kondo

0.1.3 (2021-01-21)

* Fix building on macOS with clang (#292) ail.com> * Contributors: Karsten Knese

0.1.2 (2021-01-06)

  • Fix update rate issues by working around MutliThreadedExecutor (#275) * Fix update rate issues by working around MutliThreadedExecutor Currently the MutliThreadedExecutor performance is very bad. This leads to controllers not meeting their update rate. This PR is a temporary workaround for these issues. The current approach uses a [rclcpp]{.title-ref} timer to execute the control loop. When used in combination with the [MutliThreadedExecutor]{.title-ref}, the timers are not execute at their target frequency. I've converted the control loop to a while loop on a separate thread that uses [nanosleep]{.title-ref} to execute the correct update rate. This means that [rclcpp]{.title-ref} is not involved in the execution and leads to much better performance.
    • Address review comments by rewriting several comments
  • Contributors: Ramon Wijnands

0.1.1 (2020-12-23)

0.1.0 (2020-12-22)

  • Add configure controller service (#272)
  • Remove lifecycle node (#261)
  • Added starting of resources into CM and RM (#240)
  • Use resource manager (#236)
  • Remove pluginlib warnings on reload test (#237)
  • resource loaning (#224)
  • Allocate memory for components and handles (#207)
  • Add controller manager services (#139)
  • Change Hardware return type to enum class (#114)
  • Use rclcpp::Executor instead of rclcpp::executor::Executor(deprecated) (#82)
  • Replace RCUTILS_ with RCLCPP_ for logging (#62)
  • dont include pluginlib header in controller manager header (#63)
  • export controller_interface (#58)
  • Use pluginlib instead of class_loader for loading controllers (#41)
  • import controller_manager
  • Contributors: Bence Magyar, Denis Štogl, Jafar Abdi, Jordan Palacios, Karsten Knese, Parth Chopra, Victor Lopez

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged controller_manager at Robotics Stack Exchange