-
 

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-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

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
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-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

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-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

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.20.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros_control.git
VCS Type git
VCS Version noetic-devel
Last Updated 2024-10-12
Dev Status MAINTAINED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The controller manager.

Additional Links

Maintainers

  • Bence Magyar
  • Enrique Fernandez
  • Mathias Lüdtke

Authors

  • Wim Meeussen
  • Mathias Lüdtke

Controller Manager

The controller_manager provides a hard-realtime-compatible loop to control a robot mechanism, as well as infrastructure to load, unload, start and stop controllers.

Detailed user documentation can be found in the package’s ROS wiki page.

CHANGELOG

Changelog for package controller_manager

0.20.0 (2023-10-27)

  • Reorder waiting for services and ros time to speed up controller start (#508)
  • duplicate controller name in start and stop list will throw error (#506)
  • Contributors: Bence Magyar, Captain Yoshi, Martin Oehler
  • Reorder waiting for services and ros time to speed up controller start (#508)
  • duplicate controller name in start and stop list will throw error (#506)
  • Contributors: Captain Yoshi, Martin Oehler

0.19.6 (2022-10-21)

  • SPAWNER: Wait for the clock to be available before proceeding (#432) This patch is to resolve an issue when the simulated clock is not published right away (coming from a remote gazebo instance for example). If the clock is not published right away, the rosservice wait_for_service times out prematurely and the controllers fail to be loaded since the system is not yet ready (no Gazebo clock). With no, gazebo system, the clock will be ready immediately and the spawner will proceed. Issue: #431
  • Contributors: Guillaume Autran

0.19.5 (2021-06-16)

  • Add wall clock timeout to avoid some deadlock situation when switching mode (#491) Co-authored-by: Krishna <<chaitanyaradon89@gmail.com>>
  • Contributors: Bence Magyar

0.19.4 (2020-12-05)

0.19.3 (2020-10-11)

0.19.2 (2020-08-17)

0.19.1 (2020-05-10)

  • Function specifiers noetic (#453)
    • Add override specifiers & default constructors
    • Delete ControllerBase copy & move ctors
    • Remove unnecessary default constructors
    • Modernize additional constructors
    • Revert ImuSensorHandle::<Data::Data>() = default
    • Remove unnecessary default overridden constructors

    * Remove semicolon after function body Co-authored-by: Matt Reynolds <<mtreynolds@uwaterloo.ca>>

  • Use setuptools instead of distutils (#429)
  • Contributors: Bence Magyar, Matt Reynolds

0.19.0 (2020-04-23)

  • Replace enums with enum classes (#412)
  • Contributors: Matt Reynolds

0.18.0 (2020-04-16)

  • enable spawner to wait indefinitely if requested (#428) [rospy.wait_for_service]{.title-ref} does not allow for [0]{.title-ref} to wait indefinitely. Instead, [None]{.title-ref} has to be passed explicitly. By personal request of three maintainers extended to include documentation and the alternative argument --no-timeout.
  • Bump CMake version to avoid CMP0048 (#427)
  • Contributors: Michael Görner, Shane Loretz

0.17.0 (2020-02-24)

  • Use auto keyword
  • Use default member initializers
  • Replace boost with std
  • Replace boost mutexes & locks with std
  • Replace boost::bind with std::bind
  • Contributors: AbhinavSingh, Bence Magyar, Matt Reynolds, suab321321

0.16.0 (2020-01-27)

  • Use range-based for loops in controller_manager
  • Resolve Boost dependency issues
  • Update dependencies
    • Dependencies needed to compile are <build_depend>
    • Dependencies used in public headers are <build_export_depend>
    • Dependencies needed to link or run are <exec_depend>
  • Merge branch 'melodic-devel' into catkin-lint
  • Add ${catkin_EXPORTED_TARGETS} dependencies
  • Update package dependencies
  • Add missing roscpp & rospy dependencies
  • Prefer nullptr for null pointers
  • Replace header guard with #pragma once
  • Apply consistent style to CMakeLists.txt files
  • Apply consistent style to package.xml files
  • Fix build error in clang error: non-aggregate type 'std::vector' (aka 'vector >') cannot be initialized with an initializer list
  • Multi-update cycle mode switch (#391) For more info: https://github.com/pal-robotics-forks/ros_control2/pull/5
    • Added tests for ControllerManager update
    • Mocks for controllers and controller loader in update test
    • Divided in tests with and without controllers
    • Controller state initialized in mock
    • Moved mocks to test class
    • All tests using mock class
    • Test for multiple updates in a single controller

    * Added new switchResult() function to RobotHW interface ControllerManager uses this function to wait for the result of the doSwitch() before starting the new set of controllers

    • Using ranged based loops
    • Switch is now managed in a separate function
    • Option to start controllers as soon as their joints are ready after a switch
    • Tests for controller_interface API
    • Added new STOPPED, WAITING and ABORTED states to ControllerBase
    • Split manageSwitch() into smaller functions
    • Abort pending controllers in case of switch error

    * Changed default behaviour of new switch param This way if it not set it will be the same behaviour as previous version

    • Added timeout parameter to switch controller
    • Removed unnecessary includes
    • Using target_include_directories for the test
    • std::all_of instead of std::count_if
    • Deleted autogenerated file
    • Adapted tests to changes in controller_manager
    • Adapted python implementation to new parameters in SwitchController
    • Added missing parameter description docstring
    • Moved all parameters used for switching to a separate object
    • Moved error messages to controller_base
    • State check functions are now const
    • Removed unnecessary comments
    • Added constants for start_asap and timeout default parameters values
  • Remove extra {
  • Adding Pal Robotics to copyright notice Co-Authored-By: Bence Magyar <<bence.magyar.robotics@gmail.com>>
  • Added constants for start_asap and timeout default parameters values
  • Moved error messages to controller_base
  • Moved all parameters used for switching to a separate object
  • Added missing parameter description docstring
  • Adapted python implementation to new parameters in SwitchController
  • Deleted autogenerated file
  • std::all_of instead of std::count_if
  • Cosmetics
  • Fixed lincenses
  • Removed unnecessary includes
  • Added timeout parameter to switch controller
  • Changed default behaviour of new switch param This way if it not set it will be the same behaviour as previous version
  • Abort pending controllers in case of switch error
  • Split manageSwitch() into smaller functions
  • Added new STOPPED, WAITING and ABORTED states to ControllerBase
  • Option to start controllers as soon as their joints are ready after a switch
  • Switch is now managed in a separate function
  • Using ranged based loops
  • Added new switchResult() function to RobotHW interface ControllerManager uses this function to wait for the result of the doSwitch() before starting the new set of controllers
  • Test for multiple updates in a single controller
  • All tests using mock class
  • Moved mocks to test class
  • Controller state initialized in mock
  • Divided in tests with and without controllers
  • Mocks for controllers and controller loader in update test
  • Added tests for ControllerManager update
  • fix install destination (#377)
  • catch ROSInterruptException
  • specify RUNTIME DESTINATION for libraries (#373) needed for exporting DLLs on Windows
  • use this_thread::sleep_for instead of usleep (#375)
  • remove unused pthread.h
  • Contributors: Bence Magyar, Gérald Lelong, James Xu, Jordan Palacios, Matt Reynolds, Victor Lopez, jordan-palacios

0.15.1 (2018-09-30)

  • Updated for compatibility with Python2 or Python3
  • Initialize controller_manager node using init_node.
  • back to Python3 prints, add '-s to remaining places
  • pep8 styling
  • added quotes in python code too, also changed python prints to rosconsole
  • added quotes for controller name and controller type in warnings and errors
  • Contributors: Daniel Ingram, Jasper Güldenstein, Stefan Profanter, Gennaro Raiola, Bence Magyar

0.15.0 (2018-05-28)

  • boost::shared_ptr -> std::shared_ptr
  • Introduce shared_ptr typedefs
  • Add controller_group script that allows switching groups easily
  • Contributors: Bence Magyar, Enrique Fernández Perdomo, Yong Li

0.14.2 (2018-04-26)

  • Update maintainers
  • Fix catkin_lint errors and warnings
  • Remove unused imports, comment and executable flag
  • Remove realtime_tools dependency
  • Contributors: Bence Magyar

0.14.1 (2018-04-16)

  • Fix controller_manager_interface and add unit tests.
  • Contributors: Yong Li

0.14.0 (2018-03-26)

  • migrate classloader headers
  • refactored controller_manager unspawner
  • fix controller_manager list: migrated to new ControllerState with claimed_resources
  • remove debug prints from controller_manager script
  • Contributors: Mathias Lüdtke

0.13.0 (2017-12-23)

  • Several spawner-related fixes:
  • Remove shutdown_timeout & add deprecation note
  • Remove roslib import
  • Run wait_for_service on object instead of the hardcoded string version
  • Remove wait_for_service and rephrase warning after exception
  • Remove sleep(1) as it causes more problems than what it solves
  • Contributors: Bence Magyar

0.12.0 (2017-08-05)

0.11.5 (2017-06-28)

  • Fix misspelling revise message
  • Contributors: Dave Coleman

0.11.4 (2017-02-14)

  • controller_manager: drop unused inclusion of tinyxml.h
  • Contributors: Dmitry Rozhkov

0.11.3 (2016-12-07)

0.11.2 (2016-11-28)

  • to[to.size-1] to to.back()
  • Remove boost from depends declaration to fix cmake warning
  • Add Enrique and Bence to maintainer list
  • Clean up export leftovers from rosbuild
  • Convert to format2, fix dependency in cmake
  • Contributors: Bence Magyar

0.11.1 (2016-08-18)

0.11.0 (2016-05-23)

0.10.1 (2016-04-23)

0.10.0 (2015-11-20)

  • Fix doSwitch execution point The doSwitch method needs to be executed in the update() method, that is, in the real-time path, which is where controller switching actually takes place.
  • Introduce prepareSwitch, replacement of canSwitch
  • Deprecate RobotHW::canSwitch
  • Multi-interface controllers
    • C++ API break.

    - Make controller_manager aware of controllers that claim resources from more than one hardware interface.

    • Update and extend the corresponding test suite.
  • Address -Wunused-parameter warnings
  • Contributors: Adolfo Rodriguez Tsouroukdissian, Mathias Lüdtke

0.9.3 (2015-05-05)

  • controller_manager: Add missing rostest dep
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.9.2 (2015-05-04)

  • Add HW interface switch feature
  • Contributors: Mathias Lüdtke

0.9.1 (2014-11-03)

  • Update package maintainers
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.9.0 (2014-10-31)

  • Spawner script: adding shutdown timeout to prevent deadlocks
  • Documentation fixes
  • Contributors: Jonathan Bohren, shadowmanos

0.8.2 (2014-06-25)

0.8.1 (2014-06-24)

0.8.0 (2014-05-12)

  • Remove rosbuild artifacts. Fix #154.
  • Create README.md
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.7.2 (2014-04-01)

0.7.1 (2014-03-31)

0.7.0 (2014-03-28)

  • Add --timeout option to controller spawner
  • Use argparse instead of getopt It is a much nicer interface
  • Contributors: Paul Mathieu

0.6.0 (2014-02-05)

  • Update controller_manager.cpp Postfix to prefix increment operator.
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.5.8 (2013-10-11)

  • Fixed additional timeout that was just added
  • Merge branch 'hydro-devel' into extended_wait_time
  • Extended wait time to 30 seconds for slower computers
  • Renamed manifest.xml to prevent conflicts with rosdep
  • Fix broken unspawner script.
  • Check controller_manager API early. Fast shutdown. - Check for all services required by spawner at the beginning, so it can know early on that it has all its requisites. - Remove service waiting from shutdown to ensure a fast teardown. Usecase: A spawner that dies after the controller manager should not wait for services to appear as they will never appear, the controllers are already stopped. This happens for example when killing a Gazebo session.

  • Restore controller stop+unload on node kill.

0.5.7 (2013-07-30)

  • Update controller_manager.cpp getControllerNames now clears names before adding current names. This fixes a bug in reloadControllerLibrariesSrv where the method is called twice in a row without first clearing the list. Steps to reproduce:
    • Spawn controller
    • Stop controller

    - reload-libraries controller_manager.cpp:501: bool controller_manager::ControllerManager::reloadControllerLibrariesSrv(controller_manager_msgs::ReloadControllerLibraries::Request&, controller_manager_msgs::ReloadControllerLibraries::Response&): Assertion `controllers.empty()' failed.

  • Updated changelogs

0.5.6 (2013-07-29)

0.5.5 (2013-07-23)

  • Tweaked Changelog

0.5.4 (2013-07-23)

0.5.3 (2013-07-22)

0.5.2 (2013-07-22)

0.5.1 (2013-07-19)

0.5.0 (2013-07-16)

  • Removed urdf_interface dependencies
  • Fix spawner choke when namespace is unspecified. Add missing check in conditional.
  • Add meta tags to packages not specifying them.
    • Website, bugtracker, repository.
  • Making script install target install scripts so that they are executable
  • Fix build order.
  • Combined exceptions per jbohren
  • Reneamed Github repo in documentation to ros-controls
  • Better timeout error checking, necessary for Gazebo
  • User error checking

0.4.0 (2013-06-25)

  • Version 0.4.0
  • 1.0.1
  • Fixing failure mode in new catkin cmakelists
  • Added namespace argument to spawner script
  • Fix package URL in package.xml
  • Python install for controller_manager.
  • Fix build order dependency.
  • adding install targets
  • merging CMakeLists.txt files from rosbuild and catkin
  • adding hybrid-buildsystem makefiles
  • Fix package URLs.
  • catkinizing, could still be cleaned up
  • Additional log feedback when load_controller fails When loading a controller fails bacause its configuration was not found on the parameter server, show the namespace where the parameters are expected to help debugging.
  • Remove unused method. Fixes #33.
  • add option to pass in two nodehandles to a controller: one in the root of the controller manager namespace, and one in the namespace of the controller itself. This copies the behavior used by nodelets and nodes
  • Fix typo in rosdoc config files.
  • Adding explicit header for recursive mutex
  • Removing getControllerByNameImpl
  • Switching controller_manager controllers_lock_ to be a recursive lock
  • Fixing comment indent
  • Adding template parameter doc
  • Changing @ commands to commands
  • More doc in controller manager
  • Adding clearer ros warning in controller switching
  • Adding lots of inline documentation, rosdoc files adding inline doc to robot_hw adding inline doc to robot_hw adding inline doc to robot_hw more doc more documentation more doc more doc more doc more doc formatting adding more doc groups in controller manager adding more doc groups in controller manager Adding doc for controllerspec adding hardware interface docs adding doc to joint interfaces adding rosdoc for controller_interface Adding / reformatting doc for controller interface
  • don't clear vectors in realtime
  • Make public getControllerByName method thread-safe. Existing virtual non-threadsafe method has been suffixed with -Impl and pushed to protected class scope. In-class uses call getControllerByNameImpl, as the lock has already been acquired.
  • new interface with time and duration
  • add missing include
  • remove .svn folder
  • Doing resource conflict check on switchControllers call
  • Adding in resource/claim infrastructure
  • fix command line interface
  • clean up publishing controller state
  • Controller spec now also copies over type
  • Switching to owned interfaces, instead of multiple virtual inheritance
  • add scripts for controller manager
  • get rid of pr2 stuff
  • Controller manager can now register ControllerLoaders
  • Controller manager now runs with new ControllerLoader mechanism
  • Creating new plugin_loader interface
  • Adding debugging printouts
  • Namespacing controller_spec
  • Fixing copyright header text
  • Spawning dummy controller works
  • Tweaking inheritance to be virtual so it compiles. dummy app with controller manager compiles
  • all pkgs now ported to fuerte
  • add missing file
  • running controller with casting. Pluginlib still messed up
  • add macro
  • running version, with latest pluginlib
  • compiling version
  • compiling version
  • first catkin stuff

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

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.

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

Package Summary

Tags No category tags.
Version 0.13.5
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros_control.git
VCS Type git
VCS Version kinetic-devel
Last Updated 2020-04-17
Dev Status MAINTAINED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The controller manager.

Additional Links

Maintainers

  • Bence Magyar
  • Enrique Fernandez
  • Mathias Lüdtke

Authors

  • Wim Meeussen
  • Mathias Lüdtke

Controller Manager

The controller_manager provides a hard-realtime-compatible loop to control a robot mechanism, as well as infrastructure to load, unload, start and stop controllers.

Detailed user documentation can be found in the package’s ROS wiki page.

CHANGELOG

Changelog for package controller_manager

0.13.5 (2020-02-09)

0.13.4 (2020-01-12)

  • Touch up remaining Python2 prints and PEP8
  • Initialize controller_manager node using init_node. Fixes #349
  • Updated for compatibility with Python2 or Python3
  • add minimum required pluginlib version
  • Contributors: Bence Magyar, Daniel Ingram, Mikael Arguedas, Stefan Profanter

0.13.3 (2018-04-26)

  • Introduce shared_ptr typedefs
  • Update maintainers
  • Fix catkin_lint errors and warnings
  • Remove unused imports, comment and executable flag
  • Remove realtime_tools dependency
  • Contributors: Bence Magyar

0.13.2 (2018-04-16)

  • Fix controller_manager_interface and add unit tests.
  • migrate classloader headers
  • Contributors: Mathias Lüdtke, Yong Li

0.13.1 (2018-03-26)

  • refactored controller_manager unspawner
  • fix controller_manager list: migrated to new ControllerState with claimed_resources
  • remove debug prints from controller_manager script
  • Contributors: Mathias Lüdtke

0.13.0 (2017-12-23)

  • Several spawner-related fixes:
  • Remove shutdown_timeout & add deprecation note
  • Remove roslib import
  • Run wait_for_service on object instead of the hardcoded string version
  • Remove wait_for_service and rephrase warning after exception
  • Remove sleep(1) as it causes more problems than what it solves
  • Contributors: Bence Magyar

0.12.0 (2017-08-05)

0.11.5 (2017-06-28)

  • Fix misspelling revise message
  • Contributors: Dave Coleman

0.11.4 (2017-02-14)

  • controller_manager: drop unused inclusion of tinyxml.h
  • Contributors: Dmitry Rozhkov

0.11.3 (2016-12-07)

0.11.2 (2016-11-28)

  • to[to.size-1] to to.back()
  • Remove boost from depends declaration to fix cmake warning
  • Add Enrique and Bence to maintainer list
  • Clean up export leftovers from rosbuild
  • Convert to format2, fix dependency in cmake
  • Contributors: Bence Magyar

0.11.1 (2016-08-18)

0.11.0 (2016-05-23)

0.10.1 (2016-04-23)

0.10.0 (2015-11-20)

  • Fix doSwitch execution point The doSwitch method needs to be executed in the update() method, that is, in the real-time path, which is where controller switching actually takes place.
  • Introduce prepareSwitch, replacement of canSwitch
  • Deprecate RobotHW::canSwitch
  • Multi-interface controllers
    • C++ API break.

    - Make controller_manager aware of controllers that claim resources from more than one hardware interface.

    • Update and extend the corresponding test suite.
  • Address -Wunused-parameter warnings
  • Contributors: Adolfo Rodriguez Tsouroukdissian, Mathias Lüdtke

0.9.3 (2015-05-05)

  • controller_manager: Add missing rostest dep
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.9.2 (2015-05-04)

  • Add HW interface switch feature
  • Contributors: Mathias Lüdtke

0.9.1 (2014-11-03)

  • Update package maintainers
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.9.0 (2014-10-31)

  • Spawner script: adding shutdown timeout to prevent deadlocks
  • Documentation fixes
  • Contributors: Jonathan Bohren, shadowmanos

0.8.2 (2014-06-25)

0.8.1 (2014-06-24)

0.8.0 (2014-05-12)

  • Remove rosbuild artifacts. Fix #154.
  • Create README.md
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.7.2 (2014-04-01)

0.7.1 (2014-03-31)

0.7.0 (2014-03-28)

  • Add --timeout option to controller spawner
  • Use argparse instead of getopt It is a much nicer interface
  • Contributors: Paul Mathieu

0.6.0 (2014-02-05)

  • Update controller_manager.cpp Postfix to prefix increment operator.
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.5.8 (2013-10-11)

  • Fixed additional timeout that was just added
  • Merge branch 'hydro-devel' into extended_wait_time
  • Extended wait time to 30 seconds for slower computers
  • Renamed manifest.xml to prevent conflicts with rosdep
  • Fix broken unspawner script.
  • Check controller_manager API early. Fast shutdown. - Check for all services required by spawner at the beginning, so it can know early on that it has all its requisites. - Remove service waiting from shutdown to ensure a fast teardown. Usecase: A spawner that dies after the controller manager should not wait for services to appear as they will never appear, the controllers are already stopped. This happens for example when killing a Gazebo session.

  • Restore controller stop+unload on node kill.

0.5.7 (2013-07-30)

  • Update controller_manager.cpp getControllerNames now clears names before adding current names. This fixes a bug in reloadControllerLibrariesSrv where the method is called twice in a row without first clearing the list. Steps to reproduce:
    • Spawn controller
    • Stop controller

    - reload-libraries controller_manager.cpp:501: bool controller_manager::ControllerManager::reloadControllerLibrariesSrv(controller_manager_msgs::ReloadControllerLibraries::Request&, controller_manager_msgs::ReloadControllerLibraries::Response&): Assertion `controllers.empty()' failed.

  • Updated changelogs

0.5.6 (2013-07-29)

0.5.5 (2013-07-23)

  • Tweaked Changelog

0.5.4 (2013-07-23)

0.5.3 (2013-07-22)

0.5.2 (2013-07-22)

0.5.1 (2013-07-19)

0.5.0 (2013-07-16)

  • Removed urdf_interface dependencies
  • Fix spawner choke when namespace is unspecified. Add missing check in conditional.
  • Add meta tags to packages not specifying them.
    • Website, bugtracker, repository.
  • Making script install target install scripts so that they are executable
  • Fix build order.
  • Combined exceptions per jbohren
  • Reneamed Github repo in documentation to ros-controls
  • Better timeout error checking, necessary for Gazebo
  • User error checking

0.4.0 (2013-06-25)

  • Version 0.4.0
  • 1.0.1
  • Fixing failure mode in new catkin cmakelists
  • Added namespace argument to spawner script
  • Fix package URL in package.xml
  • Python install for controller_manager.
  • Fix build order dependency.
  • adding install targets
  • merging CMakeLists.txt files from rosbuild and catkin
  • adding hybrid-buildsystem makefiles
  • Fix package URLs.
  • catkinizing, could still be cleaned up
  • Additional log feedback when load_controller fails When loading a controller fails bacause its configuration was not found on the parameter server, show the namespace where the parameters are expected to help debugging.
  • Remove unused method. Fixes #33.
  • add option to pass in two nodehandles to a controller: one in the root of the controller manager namespace, and one in the namespace of the controller itself. This copies the behavior used by nodelets and nodes
  • Fix typo in rosdoc config files.
  • Adding explicit header for recursive mutex
  • Removing getControllerByNameImpl
  • Switching controller_manager controllers_lock_ to be a recursive lock
  • Fixing comment indent
  • Adding template parameter doc
  • Changing @ commands to commands
  • More doc in controller manager
  • Adding clearer ros warning in controller switching
  • Adding lots of inline documentation, rosdoc files adding inline doc to robot_hw adding inline doc to robot_hw adding inline doc to robot_hw more doc more documentation more doc more doc more doc more doc formatting adding more doc groups in controller manager adding more doc groups in controller manager Adding doc for controllerspec adding hardware interface docs adding doc to joint interfaces adding rosdoc for controller_interface Adding / reformatting doc for controller interface
  • don't clear vectors in realtime
  • Make public getControllerByName method thread-safe. Existing virtual non-threadsafe method has been suffixed with -Impl and pushed to protected class scope. In-class uses call getControllerByNameImpl, as the lock has already been acquired.
  • new interface with time and duration
  • add missing include
  • remove .svn folder
  • Doing resource conflict check on switchControllers call
  • Adding in resource/claim infrastructure
  • fix command line interface
  • clean up publishing controller state
  • Controller spec now also copies over type
  • Switching to owned interfaces, instead of multiple virtual inheritance
  • add scripts for controller manager
  • get rid of pr2 stuff
  • Controller manager can now register ControllerLoaders
  • Controller manager now runs with new ControllerLoader mechanism
  • Creating new plugin_loader interface
  • Adding debugging printouts
  • Namespacing controller_spec
  • Fixing copyright header text
  • Spawning dummy controller works
  • Tweaking inheritance to be virtual so it compiles. dummy app with controller manager compiles
  • all pkgs now ported to fuerte
  • add missing file
  • running controller with casting. Pluginlib still messed up
  • add macro
  • running version, with latest pluginlib
  • compiling version
  • compiling version
  • first catkin stuff

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.10.2
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros_control.git
VCS Type git
VCS Version jade-devel
Last Updated 2016-11-28
Dev Status MAINTAINED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The controller manager.

Additional Links

Maintainers

  • Adolfo Rodriguez Tsouroukdissian

Authors

  • Wim Meeussen
  • Mathias Lüdtke

Controller Manager

The controller_manager provides a hard-realtime-compatible loop to control a robot mechanism, as well as infrastructure to load, unload, start and stop controllers.

Detailed user documentation can be found in the package’s ROS wiki page.

CHANGELOG

Changelog for package controller_manager

0.10.1 (2016-11-28)

0.10.0 (2015-11-20)

  • Fix doSwitch execution point The doSwitch method needs to be executed in the update() method, that is, in the real-time path, which is where controller switching actually takes place.
  • Introduce prepareSwitch, replacement of canSwitch
  • Deprecate RobotHW::canSwitch
  • Multi-interface controllers
    • C++ API break.

    - Make controller_manager aware of controllers that claim resources from more than one hardware interface.

    • Update and extend the corresponding test suite.
  • Address -Wunused-parameter warnings
  • Contributors: Adolfo Rodriguez Tsouroukdissian, Mathias Lüdtke

0.9.3 (2015-05-05)

  • controller_manager: Add missing rostest dep
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.9.2 (2015-05-04)

  • Add HW interface switch feature
  • Contributors: Mathias Lüdtke

0.9.1 (2014-11-03)

  • Update package maintainers
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.9.0 (2014-10-31)

  • Spawner script: adding shutdown timeout to prevent deadlocks
  • Documentation fixes
  • Contributors: Jonathan Bohren, shadowmanos

0.8.2 (2014-06-25)

0.8.1 (2014-06-24)

0.8.0 (2014-05-12)

  • Remove rosbuild artifacts. Fix #154.
  • Create README.md
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.7.2 (2014-04-01)

0.7.1 (2014-03-31)

0.7.0 (2014-03-28)

  • Add --timeout option to controller spawner
  • Use argparse instead of getopt It is a much nicer interface
  • Contributors: Paul Mathieu

0.6.0 (2014-02-05)

  • Update controller_manager.cpp Postfix to prefix increment operator.
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.5.8 (2013-10-11)

  • Fixed additional timeout that was just added
  • Merge branch 'hydro-devel' into extended_wait_time
  • Extended wait time to 30 seconds for slower computers
  • Renamed manifest.xml to prevent conflicts with rosdep
  • Fix broken unspawner script.
  • Check controller_manager API early. Fast shutdown. - Check for all services required by spawner at the beginning, so it can know early on that it has all its requisites. - Remove service waiting from shutdown to ensure a fast teardown. Usecase: A spawner that dies after the controller manager should not wait for services to appear as they will never appear, the controllers are already stopped. This happens for example when killing a Gazebo session.

  • Restore controller stop+unload on node kill.

0.5.7 (2013-07-30)

  • Update controller_manager.cpp getControllerNames now clears names before adding current names. This fixes a bug in reloadControllerLibrariesSrv where the method is called twice in a row without first clearing the list. Steps to reproduce:
    • Spawn controller
    • Stop controller

    - reload-libraries controller_manager.cpp:501: bool controller_manager::ControllerManager::reloadControllerLibrariesSrv(controller_manager_msgs::ReloadControllerLibraries::Request&, controller_manager_msgs::ReloadControllerLibraries::Response&): Assertion `controllers.empty()' failed.

  • Updated changelogs

0.5.6 (2013-07-29)

0.5.5 (2013-07-23)

  • Tweaked Changelog

0.5.4 (2013-07-23)

0.5.3 (2013-07-22)

0.5.2 (2013-07-22)

0.5.1 (2013-07-19)

0.5.0 (2013-07-16)

  • Removed urdf_interface dependencies
  • Fix spawner choke when namespace is unspecified. Add missing check in conditional.
  • Add meta tags to packages not specifying them.
    • Website, bugtracker, repository.
  • Making script install target install scripts so that they are executable
  • Fix build order.
  • Combined exceptions per jbohren
  • Reneamed Github repo in documentation to ros-controls
  • Better timeout error checking, necessary for Gazebo
  • User error checking

0.4.0 (2013-06-25)

  • Version 0.4.0
  • 1.0.1
  • Fixing failure mode in new catkin cmakelists
  • Added namespace argument to spawner script
  • Fix package URL in package.xml
  • Python install for controller_manager.
  • Fix build order dependency.
  • adding install targets
  • merging CMakeLists.txt files from rosbuild and catkin
  • adding hybrid-buildsystem makefiles
  • Fix package URLs.
  • catkinizing, could still be cleaned up
  • Additional log feedback when load_controller fails When loading a controller fails bacause its configuration was not found on the parameter server, show the namespace where the parameters are expected to help debugging.
  • Remove unused method. Fixes #33.
  • add option to pass in two nodehandles to a controller: one in the root of the controller manager namespace, and one in the namespace of the controller itself. This copies the behavior used by nodelets and nodes
  • Fix typo in rosdoc config files.
  • Adding explicit header for recursive mutex
  • Removing getControllerByNameImpl
  • Switching controller_manager controllers_lock_ to be a recursive lock
  • Fixing comment indent
  • Adding template parameter doc
  • Changing @ commands to commands
  • More doc in controller manager
  • Adding clearer ros warning in controller switching
  • Adding lots of inline documentation, rosdoc files adding inline doc to robot_hw adding inline doc to robot_hw adding inline doc to robot_hw more doc more documentation more doc more doc more doc more doc formatting adding more doc groups in controller manager adding more doc groups in controller manager Adding doc for controllerspec adding hardware interface docs adding doc to joint interfaces adding rosdoc for controller_interface Adding / reformatting doc for controller interface
  • don't clear vectors in realtime
  • Make public getControllerByName method thread-safe. Existing virtual non-threadsafe method has been suffixed with -Impl and pushed to protected class scope. In-class uses call getControllerByNameImpl, as the lock has already been acquired.
  • new interface with time and duration
  • add missing include
  • remove .svn folder
  • Doing resource conflict check on switchControllers call
  • Adding in resource/claim infrastructure
  • fix command line interface
  • clean up publishing controller state
  • Controller spec now also copies over type
  • Switching to owned interfaces, instead of multiple virtual inheritance
  • add scripts for controller manager
  • get rid of pr2 stuff
  • Controller manager can now register ControllerLoaders
  • Controller manager now runs with new ControllerLoader mechanism
  • Creating new plugin_loader interface
  • Adding debugging printouts
  • Namespacing controller_spec
  • Fixing copyright header text
  • Spawning dummy controller works
  • Tweaking inheritance to be virtual so it compiles. dummy app with controller manager compiles
  • all pkgs now ported to fuerte
  • add missing file
  • running controller with casting. Pluginlib still messed up
  • add macro
  • running version, with latest pluginlib
  • compiling version
  • compiling version
  • first catkin stuff

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.9.7
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros_control.git
VCS Type git
VCS Version indigo-devel
Last Updated 2018-05-31
Dev Status MAINTAINED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The controller manager.

Additional Links

Maintainers

  • Adolfo Rodriguez Tsouroukdissian

Authors

  • Wim Meeussen
  • Mathias Lüdtke

Controller Manager

The controller_manager provides a hard-realtime-compatible loop to control a robot mechanism, as well as infrastructure to load, unload, start and stop controllers.

Detailed user documentation can be found in the package’s ROS wiki page.

CHANGELOG

Changelog for package controller_manager

0.9.7 (2018-05-19)

  • Introduce shared_ptr typedefs
  • Contributors: Bence Magyar

0.9.6 (2018-04-16)

  • Fix controller_manager_interface and add unit tests.
  • Contributors: Yong Li

0.9.5 (2018-03-26)

0.9.4 (2016-02-12)

  • Fix doSwitch execution point The doSwitch method needs to be executed in the update() method, that is, in the real-time path, which is where controller switching actually takes place. It was previously done in the switchController callback, which is non real-time. In this method controller switching is scheduled, but not actually executed. This changeset fixes a bug in which hardware interface modes could switch before controllers, leading to undefined behavior.
  • Introduce prepareSwitch, replacement of canSwitch RobotHW::prepareSwitch is intended as a substitute for RobotHW::canSwitch. The main reasons for the change are a non-const signature to allow changing state and a more descriptive name. RobotHW::canSwitch will be deprecated in a later ROS distro.
  • Address -Wunused-parameter warnings
  • Contributors: Adolfo Rodriguez Tsouroukdissian, Mathias Lüdtke

0.9.3 (2015-05-05)

  • controller_manager: Add missing rostest dep
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.9.2 (2015-05-04)

  • Add HW interface switch feature
  • Contributors: Mathias Lüdtke

0.9.1 (2014-11-03)

  • Update package maintainers
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.9.0 (2014-10-31)

  • Spawner script: adding shutdown timeout to prevent deadlocks
  • Documentation fixes
  • Contributors: Jonathan Bohren, shadowmanos

0.8.2 (2014-06-25)

0.8.1 (2014-06-24)

0.8.0 (2014-05-12)

  • Remove rosbuild artifacts. Fix #154.
  • Create README.md
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.7.2 (2014-04-01)

0.7.1 (2014-03-31)

0.7.0 (2014-03-28)

  • Add --timeout option to controller spawner
  • Use argparse instead of getopt It is a much nicer interface
  • Contributors: Paul Mathieu

0.6.0 (2014-02-05)

  • Update controller_manager.cpp Postfix to prefix increment operator.
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.5.8 (2013-10-11)

  • Fixed additional timeout that was just added
  • Merge branch 'hydro-devel' into extended_wait_time
  • Extended wait time to 30 seconds for slower computers
  • Renamed manifest.xml to prevent conflicts with rosdep
  • Fix broken unspawner script.
  • Check controller_manager API early. Fast shutdown. - Check for all services required by spawner at the beginning, so it can know early on that it has all its requisites. - Remove service waiting from shutdown to ensure a fast teardown. Usecase: A spawner that dies after the controller manager should not wait for services to appear as they will never appear, the controllers are already stopped. This happens for example when killing a Gazebo session.

  • Restore controller stop+unload on node kill.

0.5.7 (2013-07-30)

  • Update controller_manager.cpp getControllerNames now clears names before adding current names. This fixes a bug in reloadControllerLibrariesSrv where the method is called twice in a row without first clearing the list. Steps to reproduce:
    • Spawn controller
    • Stop controller

    - reload-libraries controller_manager.cpp:501: bool controller_manager::ControllerManager::reloadControllerLibrariesSrv(controller_manager_msgs::ReloadControllerLibraries::Request&, controller_manager_msgs::ReloadControllerLibraries::Response&): Assertion `controllers.empty()' failed.

  • Updated changelogs

0.5.6 (2013-07-29)

0.5.5 (2013-07-23)

  • Tweaked Changelog

0.5.4 (2013-07-23)

0.5.3 (2013-07-22)

0.5.2 (2013-07-22)

0.5.1 (2013-07-19)

0.5.0 (2013-07-16)

  • Removed urdf_interface dependencies
  • Fix spawner choke when namespace is unspecified. Add missing check in conditional.
  • Add meta tags to packages not specifying them.
    • Website, bugtracker, repository.
  • Making script install target install scripts so that they are executable
  • Fix build order.
  • Combined exceptions per jbohren
  • Reneamed Github repo in documentation to ros-controls
  • Better timeout error checking, necessary for Gazebo
  • User error checking

0.4.0 (2013-06-25)

  • Version 0.4.0
  • 1.0.1
  • Fixing failure mode in new catkin cmakelists
  • Added namespace argument to spawner script
  • Fix package URL in package.xml
  • Python install for controller_manager.
  • Fix build order dependency.
  • adding install targets
  • merging CMakeLists.txt files from rosbuild and catkin
  • adding hybrid-buildsystem makefiles
  • Fix package URLs.
  • catkinizing, could still be cleaned up
  • Additional log feedback when load_controller fails When loading a controller fails bacause its configuration was not found on the parameter server, show the namespace where the parameters are expected to help debugging.
  • Remove unused method. Fixes #33.
  • add option to pass in two nodehandles to a controller: one in the root of the controller manager namespace, and one in the namespace of the controller itself. This copies the behavior used by nodelets and nodes
  • Fix typo in rosdoc config files.
  • Adding explicit header for recursive mutex
  • Removing getControllerByNameImpl
  • Switching controller_manager controllers_lock_ to be a recursive lock
  • Fixing comment indent
  • Adding template parameter doc
  • Changing @ commands to commands
  • More doc in controller manager
  • Adding clearer ros warning in controller switching
  • Adding lots of inline documentation, rosdoc files adding inline doc to robot_hw adding inline doc to robot_hw adding inline doc to robot_hw more doc more documentation more doc more doc more doc more doc formatting adding more doc groups in controller manager adding more doc groups in controller manager Adding doc for controllerspec adding hardware interface docs adding doc to joint interfaces adding rosdoc for controller_interface Adding / reformatting doc for controller interface
  • don't clear vectors in realtime
  • Make public getControllerByName method thread-safe. Existing virtual non-threadsafe method has been suffixed with -Impl and pushed to protected class scope. In-class uses call getControllerByNameImpl, as the lock has already been acquired.
  • new interface with time and duration
  • add missing include
  • remove .svn folder
  • Doing resource conflict check on switchControllers call
  • Adding in resource/claim infrastructure
  • fix command line interface
  • clean up publishing controller state
  • Controller spec now also copies over type
  • Switching to owned interfaces, instead of multiple virtual inheritance
  • add scripts for controller manager
  • get rid of pr2 stuff
  • Controller manager can now register ControllerLoaders
  • Controller manager now runs with new ControllerLoader mechanism
  • Creating new plugin_loader interface
  • Adding debugging printouts
  • Namespacing controller_spec
  • Fixing copyright header text
  • Spawning dummy controller works
  • Tweaking inheritance to be virtual so it compiles. dummy app with controller manager compiles
  • all pkgs now ported to fuerte
  • add missing file
  • running controller with casting. Pluginlib still messed up
  • add macro
  • running version, with latest pluginlib
  • compiling version
  • compiling version
  • first catkin stuff

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.

Package Dependencies

System Dependencies

No direct system dependencies.

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.7.3
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros_control.git
VCS Type git
VCS Version hydro-devel
Last Updated 2014-10-28
Dev Status MAINTAINED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The controller manager.

Additional Links

Maintainers

  • Wim Meeussen

Authors

  • Wim Meeussen

Controller Manager

The controller_manager provides a hard-realtime-compatible loop to control a robot mechanism, as well as infrastructure to load, unload, start and stop controllers.

Detailed user documentation can be found in the package’s ROS wiki page.

CHANGELOG

Changelog for package controller_manager

0.7.3 (2014-10-28)

  • Spawner: adding shutdown timeout to prevent deadlocks
  • Create README.md
  • Contributors: Adolfo Rodriguez Tsouroukdissian, Jonathan Bohren

0.7.2 (2014-04-01)

0.7.1 (2014-03-31)

0.7.0 (2014-03-28)

  • Add --timeout option to controller spawner
  • Use argparse instead of getopt It is a much nicer interface
  • Contributors: Paul Mathieu

0.6.0 (2014-02-05)

  • Update controller_manager.cpp Postfix to prefix increment operator.
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.5.8 (2013-10-11)

  • Fixed additional timeout that was just added
  • Merge branch 'hydro-devel' into extended_wait_time
  • Extended wait time to 30 seconds for slower computers
  • Renamed manifest.xml to prevent conflicts with rosdep
  • Fix broken unspawner script.
  • Check controller_manager API early. Fast shutdown. - Check for all services required by spawner at the beginning, so it can know early on that it has all its requisites. - Remove service waiting from shutdown to ensure a fast teardown. Usecase: A spawner that dies after the controller manager should not wait for services to appear as they will never appear, the controllers are already stopped. This happens for example when killing a Gazebo session.

  • Restore controller stop+unload on node kill.

0.5.7 (2013-07-30)

  • Update controller_manager.cpp getControllerNames now clears names before adding current names. This fixes a bug in reloadControllerLibrariesSrv where the method is called twice in a row without first clearing the list. Steps to reproduce:
    • Spawn controller
    • Stop controller

    - reload-libraries controller_manager.cpp:501: bool controller_manager::ControllerManager::reloadControllerLibrariesSrv(controller_manager_msgs::ReloadControllerLibraries::Request&, controller_manager_msgs::ReloadControllerLibraries::Response&): Assertion `controllers.empty()' failed.

  • Updated changelogs

0.5.6 (2013-07-29)

0.5.5 (2013-07-23)

  • Tweaked Changelog

0.5.4 (2013-07-23)

0.5.3 (2013-07-22)

0.5.2 (2013-07-22)

0.5.1 (2013-07-19)

0.5.0 (2013-07-16)

  • Removed urdf_interface dependencies
  • Fix spawner choke when namespace is unspecified. Add missing check in conditional.
  • Add meta tags to packages not specifying them.
    • Website, bugtracker, repository.
  • Making script install target install scripts so that they are executable
  • Fix build order.
  • Combined exceptions per jbohren
  • Reneamed Github repo in documentation to ros-controls
  • Better timeout error checking, necessary for Gazebo
  • User error checking

0.4.0 (2013-06-25)

  • Version 0.4.0
  • 1.0.1
  • Fixing failure mode in new catkin cmakelists
  • Added namespace argument to spawner script
  • Fix package URL in package.xml
  • Python install for controller_manager.
  • Fix build order dependency.
  • adding install targets
  • merging CMakeLists.txt files from rosbuild and catkin
  • adding hybrid-buildsystem makefiles
  • Fix package URLs.
  • catkinizing, could still be cleaned up
  • Additional log feedback when load_controller fails When loading a controller fails bacause its configuration was not found on the parameter server, show the namespace where the parameters are expected to help debugging.
  • Remove unused method. Fixes #33.
  • add option to pass in two nodehandles to a controller: one in the root of the controller manager namespace, and one in the namespace of the controller itself. This copies the behavior used by nodelets and nodes
  • Fix typo in rosdoc config files.
  • Adding explicit header for recursive mutex
  • Removing getControllerByNameImpl
  • Switching controller_manager controllers_lock_ to be a recursive lock
  • Fixing comment indent
  • Adding template parameter doc
  • Changing @ commands to commands
  • More doc in controller manager
  • Adding clearer ros warning in controller switching
  • Adding lots of inline documentation, rosdoc files adding inline doc to robot_hw adding inline doc to robot_hw adding inline doc to robot_hw more doc more documentation more doc more doc more doc more doc formatting adding more doc groups in controller manager adding more doc groups in controller manager Adding doc for controllerspec adding hardware interface docs adding doc to joint interfaces adding rosdoc for controller_interface Adding / reformatting doc for controller interface
  • don't clear vectors in realtime
  • Make public getControllerByName method thread-safe. Existing virtual non-threadsafe method has been suffixed with -Impl and pushed to protected class scope. In-class uses call getControllerByNameImpl, as the lock has already been acquired.
  • new interface with time and duration
  • add missing include
  • remove .svn folder
  • Doing resource conflict check on switchControllers call
  • Adding in resource/claim infrastructure
  • fix command line interface
  • clean up publishing controller state
  • Controller spec now also copies over type
  • Switching to owned interfaces, instead of multiple virtual inheritance
  • add scripts for controller manager
  • get rid of pr2 stuff
  • Controller manager can now register ControllerLoaders
  • Controller manager now runs with new ControllerLoader mechanism
  • Creating new plugin_loader interface
  • Adding debugging printouts
  • Namespacing controller_spec
  • Fixing copyright header text
  • Spawning dummy controller works
  • Tweaking inheritance to be virtual so it compiles. dummy app with controller manager compiles
  • all pkgs now ported to fuerte
  • add missing file
  • running controller with casting. Pluginlib still messed up
  • add macro
  • running version, with latest pluginlib
  • compiling version
  • compiling version
  • first catkin stuff

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.13.5
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros_control.git
VCS Type git
VCS Version kinetic-devel
Last Updated 2020-04-17
Dev Status MAINTAINED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The controller manager.

Additional Links

Maintainers

  • Bence Magyar
  • Enrique Fernandez
  • Mathias Lüdtke

Authors

  • Wim Meeussen
  • Mathias Lüdtke

Controller Manager

The controller_manager provides a hard-realtime-compatible loop to control a robot mechanism, as well as infrastructure to load, unload, start and stop controllers.

Detailed user documentation can be found in the package’s ROS wiki page.

CHANGELOG

Changelog for package controller_manager

0.13.5 (2020-02-09)

0.13.4 (2020-01-12)

  • Touch up remaining Python2 prints and PEP8
  • Initialize controller_manager node using init_node. Fixes #349
  • Updated for compatibility with Python2 or Python3
  • add minimum required pluginlib version
  • Contributors: Bence Magyar, Daniel Ingram, Mikael Arguedas, Stefan Profanter

0.13.3 (2018-04-26)

  • Introduce shared_ptr typedefs
  • Update maintainers
  • Fix catkin_lint errors and warnings
  • Remove unused imports, comment and executable flag
  • Remove realtime_tools dependency
  • Contributors: Bence Magyar

0.13.2 (2018-04-16)

  • Fix controller_manager_interface and add unit tests.
  • migrate classloader headers
  • Contributors: Mathias Lüdtke, Yong Li

0.13.1 (2018-03-26)

  • refactored controller_manager unspawner
  • fix controller_manager list: migrated to new ControllerState with claimed_resources
  • remove debug prints from controller_manager script
  • Contributors: Mathias Lüdtke

0.13.0 (2017-12-23)

  • Several spawner-related fixes:
  • Remove shutdown_timeout & add deprecation note
  • Remove roslib import
  • Run wait_for_service on object instead of the hardcoded string version
  • Remove wait_for_service and rephrase warning after exception
  • Remove sleep(1) as it causes more problems than what it solves
  • Contributors: Bence Magyar

0.12.0 (2017-08-05)

0.11.5 (2017-06-28)

  • Fix misspelling revise message
  • Contributors: Dave Coleman

0.11.4 (2017-02-14)

  • controller_manager: drop unused inclusion of tinyxml.h
  • Contributors: Dmitry Rozhkov

0.11.3 (2016-12-07)

0.11.2 (2016-11-28)

  • to[to.size-1] to to.back()
  • Remove boost from depends declaration to fix cmake warning
  • Add Enrique and Bence to maintainer list
  • Clean up export leftovers from rosbuild
  • Convert to format2, fix dependency in cmake
  • Contributors: Bence Magyar

0.11.1 (2016-08-18)

0.11.0 (2016-05-23)

0.10.1 (2016-04-23)

0.10.0 (2015-11-20)

  • Fix doSwitch execution point The doSwitch method needs to be executed in the update() method, that is, in the real-time path, which is where controller switching actually takes place.
  • Introduce prepareSwitch, replacement of canSwitch
  • Deprecate RobotHW::canSwitch
  • Multi-interface controllers
    • C++ API break.

    - Make controller_manager aware of controllers that claim resources from more than one hardware interface.

    • Update and extend the corresponding test suite.
  • Address -Wunused-parameter warnings
  • Contributors: Adolfo Rodriguez Tsouroukdissian, Mathias Lüdtke

0.9.3 (2015-05-05)

  • controller_manager: Add missing rostest dep
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.9.2 (2015-05-04)

  • Add HW interface switch feature
  • Contributors: Mathias Lüdtke

0.9.1 (2014-11-03)

  • Update package maintainers
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.9.0 (2014-10-31)

  • Spawner script: adding shutdown timeout to prevent deadlocks
  • Documentation fixes
  • Contributors: Jonathan Bohren, shadowmanos

0.8.2 (2014-06-25)

0.8.1 (2014-06-24)

0.8.0 (2014-05-12)

  • Remove rosbuild artifacts. Fix #154.
  • Create README.md
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.7.2 (2014-04-01)

0.7.1 (2014-03-31)

0.7.0 (2014-03-28)

  • Add --timeout option to controller spawner
  • Use argparse instead of getopt It is a much nicer interface
  • Contributors: Paul Mathieu

0.6.0 (2014-02-05)

  • Update controller_manager.cpp Postfix to prefix increment operator.
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.5.8 (2013-10-11)

  • Fixed additional timeout that was just added
  • Merge branch 'hydro-devel' into extended_wait_time
  • Extended wait time to 30 seconds for slower computers
  • Renamed manifest.xml to prevent conflicts with rosdep
  • Fix broken unspawner script.
  • Check controller_manager API early. Fast shutdown. - Check for all services required by spawner at the beginning, so it can know early on that it has all its requisites. - Remove service waiting from shutdown to ensure a fast teardown. Usecase: A spawner that dies after the controller manager should not wait for services to appear as they will never appear, the controllers are already stopped. This happens for example when killing a Gazebo session.

  • Restore controller stop+unload on node kill.

0.5.7 (2013-07-30)

  • Update controller_manager.cpp getControllerNames now clears names before adding current names. This fixes a bug in reloadControllerLibrariesSrv where the method is called twice in a row without first clearing the list. Steps to reproduce:
    • Spawn controller
    • Stop controller

    - reload-libraries controller_manager.cpp:501: bool controller_manager::ControllerManager::reloadControllerLibrariesSrv(controller_manager_msgs::ReloadControllerLibraries::Request&, controller_manager_msgs::ReloadControllerLibraries::Response&): Assertion `controllers.empty()' failed.

  • Updated changelogs

0.5.6 (2013-07-29)

0.5.5 (2013-07-23)

  • Tweaked Changelog

0.5.4 (2013-07-23)

0.5.3 (2013-07-22)

0.5.2 (2013-07-22)

0.5.1 (2013-07-19)

0.5.0 (2013-07-16)

  • Removed urdf_interface dependencies
  • Fix spawner choke when namespace is unspecified. Add missing check in conditional.
  • Add meta tags to packages not specifying them.
    • Website, bugtracker, repository.
  • Making script install target install scripts so that they are executable
  • Fix build order.
  • Combined exceptions per jbohren
  • Reneamed Github repo in documentation to ros-controls
  • Better timeout error checking, necessary for Gazebo
  • User error checking

0.4.0 (2013-06-25)

  • Version 0.4.0
  • 1.0.1
  • Fixing failure mode in new catkin cmakelists
  • Added namespace argument to spawner script
  • Fix package URL in package.xml
  • Python install for controller_manager.
  • Fix build order dependency.
  • adding install targets
  • merging CMakeLists.txt files from rosbuild and catkin
  • adding hybrid-buildsystem makefiles
  • Fix package URLs.
  • catkinizing, could still be cleaned up
  • Additional log feedback when load_controller fails When loading a controller fails bacause its configuration was not found on the parameter server, show the namespace where the parameters are expected to help debugging.
  • Remove unused method. Fixes #33.
  • add option to pass in two nodehandles to a controller: one in the root of the controller manager namespace, and one in the namespace of the controller itself. This copies the behavior used by nodelets and nodes
  • Fix typo in rosdoc config files.
  • Adding explicit header for recursive mutex
  • Removing getControllerByNameImpl
  • Switching controller_manager controllers_lock_ to be a recursive lock
  • Fixing comment indent
  • Adding template parameter doc
  • Changing @ commands to commands
  • More doc in controller manager
  • Adding clearer ros warning in controller switching
  • Adding lots of inline documentation, rosdoc files adding inline doc to robot_hw adding inline doc to robot_hw adding inline doc to robot_hw more doc more documentation more doc more doc more doc more doc formatting adding more doc groups in controller manager adding more doc groups in controller manager Adding doc for controllerspec adding hardware interface docs adding doc to joint interfaces adding rosdoc for controller_interface Adding / reformatting doc for controller interface
  • don't clear vectors in realtime
  • Make public getControllerByName method thread-safe. Existing virtual non-threadsafe method has been suffixed with -Impl and pushed to protected class scope. In-class uses call getControllerByNameImpl, as the lock has already been acquired.
  • new interface with time and duration
  • add missing include
  • remove .svn folder
  • Doing resource conflict check on switchControllers call
  • Adding in resource/claim infrastructure
  • fix command line interface
  • clean up publishing controller state
  • Controller spec now also copies over type
  • Switching to owned interfaces, instead of multiple virtual inheritance
  • add scripts for controller manager
  • get rid of pr2 stuff
  • Controller manager can now register ControllerLoaders
  • Controller manager now runs with new ControllerLoader mechanism
  • Creating new plugin_loader interface
  • Adding debugging printouts
  • Namespacing controller_spec
  • Fixing copyright header text
  • Spawning dummy controller works
  • Tweaking inheritance to be virtual so it compiles. dummy app with controller manager compiles
  • all pkgs now ported to fuerte
  • add missing file
  • running controller with casting. Pluginlib still messed up
  • add macro
  • running version, with latest pluginlib
  • compiling version
  • compiling version
  • first catkin stuff

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
caster_base
caster_control
cob_gazebo_ros_control
cob_bringup
cob_gazebo_worlds
crane_x7_control
denso_robot_control
fake_joint_driver
fake_joint_launch
fetchit_challenge
franka_control
franka_gazebo
gazebo_ros_control
gundam_rx78_control
husky_base
husky_control
husky_gazebo
jackal_control
khi_robot_bringup
khi_robot_control
minas_control
tra1_bringup
mir_gazebo
moose_control
moose_gazebo
open_manipulator_p_gazebo
open_manipulator_gazebo
open_manipulator_with_tb3_gazebo
pilz_control
prbt_support
play_motion
qb_device_control
qb_device_gazebo
qb_hand_gazebo
qb_move_gazebo
ridgeback_control
canopen_motor_node
combined_robot_hw_tests
controller_manager_tests
ros_control
rqt_controller_manager
ros_control_boilerplate
ackermann_steering_controller
diff_drive_controller
four_wheel_steering_controller
gripper_action_controller
joint_trajectory_controller
sciurus17_control
seed_r7_bringup
seed_r7_ros_controller
sr_edc_controller_configuration
talos_controller_configuration
ubiquity_motor
ur_e_gazebo
ur_gazebo
usb_cam_controllers
usb_cam_hardware
volta_control
volta_simulation
warthog_control
denso_ros_control
vs060_gazebo
doosan_robotics
dsr_control
dsr_gazebo
dynamixel_control_hw
grizzly_control
grizzly_gazebo
iiwa_control
iiwa_hw
jaguar_control
katana_arm_gazebo
kuka_eki_hw_interface
kuka_rsi_hw_interface
magni_bringup
magni_gazebo
manipulator_h_gazebo
melfa_driver
multi_jackal_base
multi_jackal_control
nao_control
naoqi_dcm_driver
pepper_control
raspigibbon_control
rb1_base_control
rh_p12_rn_gazebo
robotiq_3f_gripper_control
op3_gazebo
roch_teleop
roch_base
roch_control
roch_gazebo
roomblock_bringup
schunk_canopen_driver
svenzva_drivers
thormang3_gazebo
ur_modern_driver
xarm_controller
xbot_description

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.18.4
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-controls/ros_control.git
VCS Type git
VCS Version melodic-devel
Last Updated 2023-10-27
Dev Status MAINTAINED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The controller manager.

Additional Links

Maintainers

  • Bence Magyar
  • Enrique Fernandez
  • Mathias Lüdtke

Authors

  • Wim Meeussen
  • Mathias Lüdtke

Controller Manager

The controller_manager provides a hard-realtime-compatible loop to control a robot mechanism, as well as infrastructure to load, unload, start and stop controllers.

Detailed user documentation can be found in the package’s ROS wiki page.

CHANGELOG

Changelog for package controller_manager

0.18.4 (2021-06-16)

  • Add wall clock timeout to avoid some deadlock situation when switching mode
  • Contributors: krishnachaitanya7

0.18.3 (2020-12-05)

  • Update docs in hardware_interface
  • Contributors: Franz Pucher

0.18.2 (2020-08-17)

0.18.1 (2020-05-09)

  • Add function specifiers and modernize constructors (#430)
    • Add override specifiers & default constructors
    • Delete ControllerBase copy & move ctors
    • Remove unnecessary default constructors
    • Modernize additional constructors
    • Revert ImuSensorHandle::<Data::Data>() = default
    • Remove unnecessary default overridden constructors
    • Remove semicolon after function body
  • Contributors: Matt Reynolds

0.18.0 (2020-04-16)

  • enable spawner to wait indefinitely if requested (#428) [rospy.wait_for_service]{.title-ref} does not allow for [0]{.title-ref} to wait indefinitely. Instead, [None]{.title-ref} has to be passed explicitly. By personal request of three maintainers extended to include documentation and the alternative argument --no-timeout.
  • Bump CMake version to avoid CMP0048 (#427)
  • Contributors: Michael Görner, Shane Loretz

0.17.0 (2020-02-24)

  • Use auto keyword
  • Use default member initializers
  • Replace boost with std
  • Replace boost mutexes & locks with std
  • Replace boost::bind with std::bind
  • Contributors: AbhinavSingh, Bence Magyar, Matt Reynolds, suab321321

0.16.0 (2020-01-27)

  • Use range-based for loops in controller_manager
  • Resolve Boost dependency issues
  • Update dependencies
    • Dependencies needed to compile are <build_depend>
    • Dependencies used in public headers are <build_export_depend>
    • Dependencies needed to link or run are <exec_depend>
  • Merge branch 'melodic-devel' into catkin-lint
  • Add ${catkin_EXPORTED_TARGETS} dependencies
  • Update package dependencies
  • Add missing roscpp & rospy dependencies
  • Prefer nullptr for null pointers
  • Replace header guard with #pragma once
  • Apply consistent style to CMakeLists.txt files
  • Apply consistent style to package.xml files
  • Fix build error in clang error: non-aggregate type 'std::vector' (aka 'vector >') cannot be initialized with an initializer list
  • Multi-update cycle mode switch (#391) For more info: https://github.com/pal-robotics-forks/ros_control2/pull/5
    • Added tests for ControllerManager update
    • Mocks for controllers and controller loader in update test
    • Divided in tests with and without controllers
    • Controller state initialized in mock
    • Moved mocks to test class
    • All tests using mock class
    • Test for multiple updates in a single controller

    * Added new switchResult() function to RobotHW interface ControllerManager uses this function to wait for the result of the doSwitch() before starting the new set of controllers

    • Using ranged based loops
    • Switch is now managed in a separate function
    • Option to start controllers as soon as their joints are ready after a switch
    • Tests for controller_interface API
    • Added new STOPPED, WAITING and ABORTED states to ControllerBase
    • Split manageSwitch() into smaller functions
    • Abort pending controllers in case of switch error

    * Changed default behaviour of new switch param This way if it not set it will be the same behaviour as previous version

    • Added timeout parameter to switch controller
    • Removed unnecessary includes
    • Using target_include_directories for the test
    • std::all_of instead of std::count_if
    • Deleted autogenerated file
    • Adapted tests to changes in controller_manager
    • Adapted python implementation to new parameters in SwitchController
    • Added missing parameter description docstring
    • Moved all parameters used for switching to a separate object
    • Moved error messages to controller_base
    • State check functions are now const
    • Removed unnecessary comments
    • Added constants for start_asap and timeout default parameters values
  • Remove extra {
  • Adding Pal Robotics to copyright notice Co-Authored-By: Bence Magyar <<bence.magyar.robotics@gmail.com>>
  • Added constants for start_asap and timeout default parameters values
  • Moved error messages to controller_base
  • Moved all parameters used for switching to a separate object
  • Added missing parameter description docstring
  • Adapted python implementation to new parameters in SwitchController
  • Deleted autogenerated file
  • std::all_of instead of std::count_if
  • Cosmetics
  • Fixed lincenses
  • Removed unnecessary includes
  • Added timeout parameter to switch controller
  • Changed default behaviour of new switch param This way if it not set it will be the same behaviour as previous version
  • Abort pending controllers in case of switch error
  • Split manageSwitch() into smaller functions
  • Added new STOPPED, WAITING and ABORTED states to ControllerBase
  • Option to start controllers as soon as their joints are ready after a switch
  • Switch is now managed in a separate function
  • Using ranged based loops
  • Added new switchResult() function to RobotHW interface ControllerManager uses this function to wait for the result of the doSwitch() before starting the new set of controllers
  • Test for multiple updates in a single controller
  • All tests using mock class
  • Moved mocks to test class
  • Controller state initialized in mock
  • Divided in tests with and without controllers
  • Mocks for controllers and controller loader in update test
  • Added tests for ControllerManager update
  • fix install destination (#377)
  • catch ROSInterruptException
  • specify RUNTIME DESTINATION for libraries (#373) needed for exporting DLLs on Windows
  • use this_thread::sleep_for instead of usleep (#375)
  • remove unused pthread.h
  • Contributors: Bence Magyar, Gérald Lelong, James Xu, Jordan Palacios, Matt Reynolds, Victor Lopez, jordan-palacios

0.15.1 (2018-09-30)

  • Updated for compatibility with Python2 or Python3
  • Initialize controller_manager node using init_node.
  • back to Python3 prints, add '-s to remaining places
  • pep8 styling
  • added quotes in python code too, also changed python prints to rosconsole
  • added quotes for controller name and controller type in warnings and errors
  • Contributors: Daniel Ingram, Jasper Güldenstein, Stefan Profanter, Gennaro Raiola, Bence Magyar

0.15.0 (2018-05-28)

  • boost::shared_ptr -> std::shared_ptr
  • Introduce shared_ptr typedefs
  • Add controller_group script that allows switching groups easily
  • Contributors: Bence Magyar, Enrique Fernández Perdomo, Yong Li

0.14.2 (2018-04-26)

  • Update maintainers
  • Fix catkin_lint errors and warnings
  • Remove unused imports, comment and executable flag
  • Remove realtime_tools dependency
  • Contributors: Bence Magyar

0.14.1 (2018-04-16)

  • Fix controller_manager_interface and add unit tests.
  • Contributors: Yong Li

0.14.0 (2018-03-26)

  • migrate classloader headers
  • refactored controller_manager unspawner
  • fix controller_manager list: migrated to new ControllerState with claimed_resources
  • remove debug prints from controller_manager script
  • Contributors: Mathias Lüdtke

0.13.0 (2017-12-23)

  • Several spawner-related fixes:
  • Remove shutdown_timeout & add deprecation note
  • Remove roslib import
  • Run wait_for_service on object instead of the hardcoded string version
  • Remove wait_for_service and rephrase warning after exception
  • Remove sleep(1) as it causes more problems than what it solves
  • Contributors: Bence Magyar

0.12.0 (2017-08-05)

0.11.5 (2017-06-28)

  • Fix misspelling revise message
  • Contributors: Dave Coleman

0.11.4 (2017-02-14)

  • controller_manager: drop unused inclusion of tinyxml.h
  • Contributors: Dmitry Rozhkov

0.11.3 (2016-12-07)

0.11.2 (2016-11-28)

  • to[to.size-1] to to.back()
  • Remove boost from depends declaration to fix cmake warning
  • Add Enrique and Bence to maintainer list
  • Clean up export leftovers from rosbuild
  • Convert to format2, fix dependency in cmake
  • Contributors: Bence Magyar

0.11.1 (2016-08-18)

0.11.0 (2016-05-23)

0.10.1 (2016-04-23)

0.10.0 (2015-11-20)

  • Fix doSwitch execution point The doSwitch method needs to be executed in the update() method, that is, in the real-time path, which is where controller switching actually takes place.
  • Introduce prepareSwitch, replacement of canSwitch
  • Deprecate RobotHW::canSwitch
  • Multi-interface controllers
    • C++ API break.

    - Make controller_manager aware of controllers that claim resources from more than one hardware interface.

    • Update and extend the corresponding test suite.
  • Address -Wunused-parameter warnings
  • Contributors: Adolfo Rodriguez Tsouroukdissian, Mathias Lüdtke

0.9.3 (2015-05-05)

  • controller_manager: Add missing rostest dep
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.9.2 (2015-05-04)

  • Add HW interface switch feature
  • Contributors: Mathias Lüdtke

0.9.1 (2014-11-03)

  • Update package maintainers
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.9.0 (2014-10-31)

  • Spawner script: adding shutdown timeout to prevent deadlocks
  • Documentation fixes
  • Contributors: Jonathan Bohren, shadowmanos

0.8.2 (2014-06-25)

0.8.1 (2014-06-24)

0.8.0 (2014-05-12)

  • Remove rosbuild artifacts. Fix #154.
  • Create README.md
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.7.2 (2014-04-01)

0.7.1 (2014-03-31)

0.7.0 (2014-03-28)

  • Add --timeout option to controller spawner
  • Use argparse instead of getopt It is a much nicer interface
  • Contributors: Paul Mathieu

0.6.0 (2014-02-05)

  • Update controller_manager.cpp Postfix to prefix increment operator.
  • Contributors: Adolfo Rodriguez Tsouroukdissian

0.5.8 (2013-10-11)

  • Fixed additional timeout that was just added
  • Merge branch 'hydro-devel' into extended_wait_time
  • Extended wait time to 30 seconds for slower computers
  • Renamed manifest.xml to prevent conflicts with rosdep
  • Fix broken unspawner script.
  • Check controller_manager API early. Fast shutdown. - Check for all services required by spawner at the beginning, so it can know early on that it has all its requisites. - Remove service waiting from shutdown to ensure a fast teardown. Usecase: A spawner that dies after the controller manager should not wait for services to appear as they will never appear, the controllers are already stopped. This happens for example when killing a Gazebo session.

  • Restore controller stop+unload on node kill.

0.5.7 (2013-07-30)

  • Update controller_manager.cpp getControllerNames now clears names before adding current names. This fixes a bug in reloadControllerLibrariesSrv where the method is called twice in a row without first clearing the list. Steps to reproduce:
    • Spawn controller
    • Stop controller

    - reload-libraries controller_manager.cpp:501: bool controller_manager::ControllerManager::reloadControllerLibrariesSrv(controller_manager_msgs::ReloadControllerLibraries::Request&, controller_manager_msgs::ReloadControllerLibraries::Response&): Assertion `controllers.empty()' failed.

  • Updated changelogs

0.5.6 (2013-07-29)

0.5.5 (2013-07-23)

  • Tweaked Changelog

0.5.4 (2013-07-23)

0.5.3 (2013-07-22)

0.5.2 (2013-07-22)

0.5.1 (2013-07-19)

0.5.0 (2013-07-16)

  • Removed urdf_interface dependencies
  • Fix spawner choke when namespace is unspecified. Add missing check in conditional.
  • Add meta tags to packages not specifying them.
    • Website, bugtracker, repository.
  • Making script install target install scripts so that they are executable
  • Fix build order.
  • Combined exceptions per jbohren
  • Reneamed Github repo in documentation to ros-controls
  • Better timeout error checking, necessary for Gazebo
  • User error checking

0.4.0 (2013-06-25)

  • Version 0.4.0
  • 1.0.1
  • Fixing failure mode in new catkin cmakelists
  • Added namespace argument to spawner script
  • Fix package URL in package.xml
  • Python install for controller_manager.
  • Fix build order dependency.
  • adding install targets
  • merging CMakeLists.txt files from rosbuild and catkin
  • adding hybrid-buildsystem makefiles
  • Fix package URLs.
  • catkinizing, could still be cleaned up
  • Additional log feedback when load_controller fails When loading a controller fails bacause its configuration was not found on the parameter server, show the namespace where the parameters are expected to help debugging.
  • Remove unused method. Fixes #33.
  • add option to pass in two nodehandles to a controller: one in the root of the controller manager namespace, and one in the namespace of the controller itself. This copies the behavior used by nodelets and nodes
  • Fix typo in rosdoc config files.
  • Adding explicit header for recursive mutex
  • Removing getControllerByNameImpl
  • Switching controller_manager controllers_lock_ to be a recursive lock
  • Fixing comment indent
  • Adding template parameter doc
  • Changing @ commands to commands
  • More doc in controller manager
  • Adding clearer ros warning in controller switching
  • Adding lots of inline documentation, rosdoc files adding inline doc to robot_hw adding inline doc to robot_hw adding inline doc to robot_hw more doc more documentation more doc more doc more doc more doc formatting adding more doc groups in controller manager adding more doc groups in controller manager Adding doc for controllerspec adding hardware interface docs adding doc to joint interfaces adding rosdoc for controller_interface Adding / reformatting doc for controller interface
  • don't clear vectors in realtime
  • Make public getControllerByName method thread-safe. Existing virtual non-threadsafe method has been suffixed with -Impl and pushed to protected class scope. In-class uses call getControllerByNameImpl, as the lock has already been acquired.
  • new interface with time and duration
  • add missing include
  • remove .svn folder
  • Doing resource conflict check on switchControllers call
  • Adding in resource/claim infrastructure
  • fix command line interface
  • clean up publishing controller state
  • Controller spec now also copies over type
  • Switching to owned interfaces, instead of multiple virtual inheritance
  • add scripts for controller manager
  • get rid of pr2 stuff
  • Controller manager can now register ControllerLoaders
  • Controller manager now runs with new ControllerLoader mechanism
  • Creating new plugin_loader interface
  • Adding debugging printouts
  • Namespacing controller_spec
  • Fixing copyright header text
  • Spawning dummy controller works
  • Tweaking inheritance to be virtual so it compiles. dummy app with controller manager compiles
  • all pkgs now ported to fuerte
  • add missing file
  • running controller with casting. Pluginlib still messed up
  • add macro
  • running version, with latest pluginlib
  • compiling version
  • compiling version
  • first catkin stuff

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