![]() |
hardware_interface package from ros2_control repocontroller_interface controller_manager controller_manager_msgs hardware_interface hardware_interface_testing joint_limits joint_limits_interface ros2_control ros2_control_test_assets ros2controlcli rqt_controller_manager transmission_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.51.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | Generic and simple controls framework for ROS 2 |
Checkout URI | https://github.com/ros-controls/ros2_control.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-08-07 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | controllers control robotics ros control-systems robot-control ros2 ros2-control ros2-rolling ros2-humble ros2-jazzy |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Bence Magyar
- Denis Štogl
Authors
Overview
For detailed information about this package, please see the ros2_control Documentation!
Changelog for package hardware_interface
2.51.0 (2025-06-06)
2.50.0 (2025-04-10)
- Bump version of pre-commit hooks (backport #2156) (#2157)
- [RM] Add error handling for missing [plugin]{.title-ref} tags in URDF parsing (backport #2138) (#2145)
- Contributors: mergify[bot]
2.49.0 (2025-03-18)
2.48.0 (2025-02-07)
- Handle SIGINT properly in the controller manager (backport #2014) (#2040)
- [Doc] Fix broken link (backport #2034) (#2035)
- Contributors: mergify[bot]
2.47.0 (2024-12-31)
- Fix the lock_guard placement (#1960)
- Update initial_value parameters of generic_system tests (#1943)
- Contributors: Sai Kishor Kothakota, Sanjeev
2.46.0 (2024-12-16)
- generate version.h file per package using the ament_generate_version_header (backport #1449) (#1938)
- [CI] Add clang job, setup concurrency, use rt_tools humble branch (backport #1910) (#1924)
- [Spawner] Accept parsing multiple [--param-file]{.title-ref} arguments to spawner (backport #1805) (#1894)
- Contributors: mergify[bot]
2.45.0 (2024-12-03)
2.44.0 (2024-11-09)
- Add few warning compiler options to error (backport #1181) (#1816)
- Add -Wconversion flag to protect future developments (#1053) (#1815)
- Add resources_lock_ lock_guards to avoid race condition when loading robot_description through topic (backport #1451) (#1599)
- Contributors: mergify[bot]
2.43.1 (2024-09-11)
2.43.0 (2024-08-22)
2.42.0 (2024-07-23)
- Small improvements to the error output in component parser to make debugging easier. (backport #1580) (#1581)
- Update joints_userdoc.rst (#1604)
- Fix link to gazebosim.org (#1563) (#1564)
- Add doc page about joint kinematics (#1497) (#1559)
- Bump version of pre-commit hooks (backport #1556) (#1557)
- Contributors: Christoph Fröhlich, mergify[bot]
2.41.0 (2024-04-30)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
rcutils | |
ament_cmake | |
ament_cmake_gen_version_h | |
ament_cmake_gmock | |
ros2_control_test_assets | |
control_msgs | |
lifecycle_msgs | |
pluginlib | |
rclcpp_lifecycle | |
rcpputils | |
tinyxml2_vendor |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged hardware_interface at Robotics Stack Exchange
![]() |
hardware_interface package from ros2_control repocontroller_interface controller_manager controller_manager_msgs hardware_interface hardware_interface_testing joint_limits ros2_control ros2_control_test_assets ros2controlcli rqt_controller_manager transmission_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 4.35.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | Generic and simple controls framework for ROS 2 |
Checkout URI | https://github.com/ros-controls/ros2_control.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2025-08-14 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | controllers control robotics ros control-systems robot-control ros2 ros2-control ros2-rolling ros2-humble ros2-jazzy |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
Overview
For detailed information about this package, please see the ros2_control Documentation!
Changelog for package hardware_interface
4.35.0 (2025-07-31)
- Fix the joint limiter exception while configuring component (#2416) (#2417)
- Fix the prepare_command_mode_switch behaviour when HW is INACTIVE (#2347) (#2418)
- Addition of a Default Node for Hardware Component (#2348) (#2413)
- Contributors: mergify[bot]
4.34.0 (2025-07-21)
- Cleanup old internal API (#2346) (#2358)
- Add deprecations to old methods not using Structs (backport #2344) (#2359)
- Further Struct based Method changes to support propagation in [gz_ros2_control]{.title-ref} (backport #2340) (#2407)
- Delete copy constructor and copy and move operators (backport #2378) (#2404)
- Shift to Struct based Method and Constructors, with Executor passed from CM to [on_init()]{.title-ref} (#2323) (#2339)
- Fix the crashing joint limiters when used with multiple interfaces (#2371) (#2398)
- Add pixi workflow and dependency file (#2338) (#2364)
- Contributors: mergify[bot]
4.33.0 (2025-07-02)
- expose get_data_type method in loaned interfaces (#2351) (#2357)
- Improve lexical casts methods (#2343) (#2345)
- Deactivate controllers with command interfaces to hardware on DEACTIVATE (#2334) (#2341)
- Add string array to lexical casts (#2333) (#2335)
- Contributors: mergify[bot]
4.32.0 (2025-06-06)
- also use std::mutex on macOS (#2313) (#2315)
- Use std::mutex on windows (#2311) (#2312)
- Contributors: mergify[bot]
4.31.0 (2025-05-24)
- [RM] Isolate start and stop interfaces for each Hardware Component (backport #2120) (#2273)
- Add [data_type]{.title-ref} field to the HardwareInterfaces message (backport #2204) (#2232)
- Add new [Handle]{.title-ref} constructor for easier initialization (#2253) (#2270)
- Use target_link_libraries instead of ament_target_dependencies (#2266) (#2271)
- Read [data_type]{.title-ref} for all types of interfaces (#2235) (#2261)
- Contributors: mergify[bot]
4.30.0 (2025-05-21)
- Statically allocate string concatenations using FMT formatting (#2205) (#2249)
- Suppress the deprecation warnings of the hardware_interface API (#2223) (#2247)
- Contributors: mergify[bot]
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
fmt |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged hardware_interface at Robotics Stack Exchange
![]() |
hardware_interface package from ros2_control repocontroller_interface controller_manager controller_manager_msgs hardware_interface hardware_interface_testing joint_limits ros2_control ros2_control_test_assets ros2controlcli rqt_controller_manager transmission_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 5.5.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | Generic and simple controls framework for ROS 2 |
Checkout URI | https://github.com/ros-controls/ros2_control.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-08-13 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | controllers control robotics ros control-systems robot-control ros2 ros2-control ros2-rolling ros2-humble ros2-jazzy |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
Overview
For detailed information about this package, please see the ros2_control Documentation!
Changelog for package hardware_interface
5.5.0 (2025-07-31)
- Fix the prepare_command_mode_switch behaviour when HW is INACTIVE (#2347)
- Fix the joint limiter exception while configuring component (#2416)
- Migration notes on init (#2412)
- Contributors: Felix Exner (fexner), Sai Kishor Kothakota
5.4.0 (2025-07-21)
- Delete copy constructor and copy and move operators (#2378)
- Fix the crashing joint limiters when used with multiple interfaces (#2371)
- add changes to cast the other data types to double (#2360)
- Addition of a Default Node for Hardware Component (#2348)
- Add pixi workflow and dependency file (#2338)
- Contributors: Christoph Fröhlich, Sai Kishor Kothakota, Soham Patil
5.3.0 (2025-07-02)
- Add deprecations to old methods not using param structs (#2344)
- expose get_data_type method in loaned interfaces (#2351)
- Cleanup old internal API (#2346)
- Improve lexical casts methods (#2343)
- added params approach to allow propagation in gz_ros2_control (#2340)
- Deactivate controllers with command interfaces to hardware on DEACTIVATE (#2334)
- Shift to Struct based Method and Constructors, with Executor passed from CM to [on_init()]{.title-ref} (#2323)
- Add string array to lexical casts (#2333)
- Contributors: Jordan Palacios, Marq Rasmussen, Sai Kishor Kothakota, Soham Patil
5.2.0 (2025-06-07)
- hardware_interface: optimise & rename find_common_hardware_interfaces (#2294)
- also use std::mutex on macOS (#2313)
- Use std::mutex on windows (#2311)
- Contributors: Christoph Fröhlich, Daisuke Nishimatsu, Eldgar
5.1.0 (2025-05-24)
- [RM] Isolate start and stop interfaces for each Hardware Component (#2120)
- Use target_link_libraries instead of ament_target_dependencies (#2266)
- Add new [Handle]{.title-ref} constructor for easier initialization (#2253)
- Cleanup deprecations in [ros_control]{.title-ref} (#2258)
- Read [data_type]{.title-ref} for all types of interfaces (#2235)
- Contributors: Sai Kishor Kothakota
5.0.0 (2025-05-21)
- Statically allocate string concatenations using FMT formatting (#2205)
- Suppress the deprecation warnings of the hardware_interface API (#2223)
- Add [data_type]{.title-ref} field to the HardwareInterfaces message (#2204)
- Contributors: Sai Kishor Kothakota, mini-1235
4.29.0 (2025-05-04)
- [Diagnostics] Add diagnostics of execution time and periodicity of the hardware components (#2086)
- Add common reusable helper methods header (#2099)
- Contributors: Sai Kishor Kothakota
4.28.1 (2025-04-17)
- Avoid running joint limit enforcement during initialization (#2188)
- Use previous command to enforce the joint limits on position interfaces (#2183)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
fmt |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged hardware_interface at Robotics Stack Exchange
![]() |
hardware_interface package from ros2_control repocontroller_interface controller_manager controller_manager_msgs hardware_interface hardware_interface_testing joint_limits ros2_control ros2_control_test_assets ros2controlcli rqt_controller_manager transmission_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 5.5.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | Generic and simple controls framework for ROS 2 |
Checkout URI | https://github.com/ros-controls/ros2_control.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-08-13 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | controllers control robotics ros control-systems robot-control ros2 ros2-control ros2-rolling ros2-humble ros2-jazzy |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Bence Magyar
- Denis Štogl
- Christoph Froehlich
- Sai Kishor Kothakota
Authors
Overview
For detailed information about this package, please see the ros2_control Documentation!
Changelog for package hardware_interface
5.5.0 (2025-07-31)
- Fix the prepare_command_mode_switch behaviour when HW is INACTIVE (#2347)
- Fix the joint limiter exception while configuring component (#2416)
- Migration notes on init (#2412)
- Contributors: Felix Exner (fexner), Sai Kishor Kothakota
5.4.0 (2025-07-21)
- Delete copy constructor and copy and move operators (#2378)
- Fix the crashing joint limiters when used with multiple interfaces (#2371)
- add changes to cast the other data types to double (#2360)
- Addition of a Default Node for Hardware Component (#2348)
- Add pixi workflow and dependency file (#2338)
- Contributors: Christoph Fröhlich, Sai Kishor Kothakota, Soham Patil
5.3.0 (2025-07-02)
- Add deprecations to old methods not using param structs (#2344)
- expose get_data_type method in loaned interfaces (#2351)
- Cleanup old internal API (#2346)
- Improve lexical casts methods (#2343)
- added params approach to allow propagation in gz_ros2_control (#2340)
- Deactivate controllers with command interfaces to hardware on DEACTIVATE (#2334)
- Shift to Struct based Method and Constructors, with Executor passed from CM to [on_init()]{.title-ref} (#2323)
- Add string array to lexical casts (#2333)
- Contributors: Jordan Palacios, Marq Rasmussen, Sai Kishor Kothakota, Soham Patil
5.2.0 (2025-06-07)
- hardware_interface: optimise & rename find_common_hardware_interfaces (#2294)
- also use std::mutex on macOS (#2313)
- Use std::mutex on windows (#2311)
- Contributors: Christoph Fröhlich, Daisuke Nishimatsu, Eldgar
5.1.0 (2025-05-24)
- [RM] Isolate start and stop interfaces for each Hardware Component (#2120)
- Use target_link_libraries instead of ament_target_dependencies (#2266)
- Add new [Handle]{.title-ref} constructor for easier initialization (#2253)
- Cleanup deprecations in [ros_control]{.title-ref} (#2258)
- Read [data_type]{.title-ref} for all types of interfaces (#2235)
- Contributors: Sai Kishor Kothakota
5.0.0 (2025-05-21)
- Statically allocate string concatenations using FMT formatting (#2205)
- Suppress the deprecation warnings of the hardware_interface API (#2223)
- Add [data_type]{.title-ref} field to the HardwareInterfaces message (#2204)
- Contributors: Sai Kishor Kothakota, mini-1235
4.29.0 (2025-05-04)
- [Diagnostics] Add diagnostics of execution time and periodicity of the hardware components (#2086)
- Add common reusable helper methods header (#2099)
- Contributors: Sai Kishor Kothakota
4.28.1 (2025-04-17)
- Avoid running joint limit enforcement during initialization (#2188)
- Use previous command to enforce the joint limits on position interfaces (#2183)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
fmt |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged hardware_interface at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.13.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | This ROS workspace is created on Raspbian OS. Here I have installed ROS Kinetic from source using cross-compilation and worked on projects like Surveilling Robot. |
Checkout URI | https://github.com/iamrajee/roskinetic_catkin_ws.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2022-03-04 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | cmake ros raspbian catkin raspberry-pi-3 realsense ros-kinetic gmapping-slam realsense-camera |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Bence Magyar
- Enrique Fernandez
- Mathias Lüdtke
Authors
- Wim Meeussen
- Adolfo Rodriguez Tsouroukdissian
Changelog for package hardware_interface
0.13.3 (2018-04-26)
- Introduce shared_ptr typedefs
- Update maintainers
- Fix catkin_lint errors and warnings
- Contributors: Bence Magyar
0.13.2 (2018-04-16)
0.13.1 (2018-03-26)
0.13.0 (2017-12-23)
- move CheckIsResourceManager into internal namespace
- remove unused CheckIsResourceManager::value
- do not require default constructors for HardwareInterface classes ResourceManager-based interfaces still need a default constructor.
- get rid of warnings for functions returning no values
- test for HW interface without default constructor
- fix constness in ImuSensorHandle
- fix constness in ForceTorqueSensorHandle
- Contributors: Mathias Lüdtke
0.12.0 (2017-08-05)
0.11.5 (2017-06-28)
0.11.4 (2017-02-14)
0.11.3 (2016-12-07)
0.11.2 (2016-11-28)
- 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)
- Allow the InterfaceManager class to register other InterfaceManagers. This will make it possible to combine several RobotHW objects into a single one.
- Contributors: Toni Oliver
0.10.1 (2016-04-23)
- Fix rosconsole errors from test build
- Contributors: Bence Magyar
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. It was previously done in the switchController callback, which is non real-time.
- Introduce prepareSwitch, replacement of canSwitch
- Add InterfaceManager::getNames Add new method that allows to query the names of all interfaces managed by an InterfaceManager instance.
- Multi-interface controllers
- C++ API break.
- Modify ControllerInfo class to allow controllers to claim resources from multiple hardware interfaces. - Propagate changes to RobotHW::checkForConflict: Default resource ownsership policy is aware of controllers claiming resources from multiple hardware interfaces.
- Update and extend the corresponding test suite.
- Address -Wunused-parameter warnings
- Contributors: Adolfo Rodriguez Tsouroukdissian, Mathias Lüdtke
0.9.3 (2015-05-05)
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)
- Add PosVel and PosVelAcc command interfaces
- Documentation fixes
- Contributors: Igorec, shadowmanos
0.8.2 (2014-06-25)
0.8.1 (2014-06-24)
0.8.0 (2014-05-12)
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged hardware_interface at Robotics Stack Exchange
![]() |
hardware_interface package from ros2_control repocontroller_interface controller_manager controller_manager_msgs hardware_interface joint_limits_interface ros2_control ros2_control_test_assets ros2controlcli transmission_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.6.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | Generic and simple controls framework for ROS 2 |
Checkout URI | https://github.com/ros-controls/ros2_control.git |
VCS Type | git |
VCS Version | galactic |
Last Updated | 2022-08-03 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | controllers control robotics ros control-systems robot-control ros2 ros2-control ros2-rolling ros2-humble ros2-jazzy |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Karsten Knese
- Bence Magyar
Authors
robot agnostic hardware_interface package. This package will eventually be moved into its own repo.
Changelog for package hardware_interface
1.6.0 (2022-08-03)
1.5.1 (2022-05-31)
1.5.0 (2022-04-29)
- Require lifecycle-msgs in hardware_interface package (#675)
- Contributors: Martin Wudenka
1.4.0 (2022-02-18)
1.3.0 (2021-12-21)
1.2.0 (2021-11-05)
- Import and Initialize components (#566)
- Contributors: Alejandro Hernández Cordero
1.1.0 (2021-10-25)
- Handle errors of hardware that happen on read and write. (#546)
- Contributors: Denis Štogl, Mathias Aarbo
1.0.0 (2021-09-29)
- Hardware components extension for lifecycle support (#503)
- add M_PI macro for windows in test_component_parser.cpp (#502)
- Extend GenericSystem by adding mapping of position with offset to custom interface. (#469)
- Remove BOOST compiler definitions for pluginlib from CMakeLists (#514)
- Do not manually set C++ version to 14 (#516)
- Contributors: Bence Magyar, Denis Štogl, dzyGIT
0.8.0 (2021-08-28)
- Use clang format as code formatter (#491)
- Fixup doc typo (#492)
- Add docs for fake components (#466)
- sort interfaces in resource manager (#483)
- fix format (#484)
- Transmission parsing v2
(#471)
- move parsing responsibility to hardware_interface
- parse transmission type
- Cleanup unused parser
- Add pre-commit setup. (#473)
- Extended GenericSystem with state offset options for testing some
special control cases.
(#350)
- Extended GenericSystem with state offset options for testing some special control cases.
- Better parameter name
- Apply offset only to position interfaces.
- Added GPIO parsing and test (#436)
- 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
- Contributors: Akash, Bence Magyar, Denis Štogl, Karsten Knese, Mathias Arbo, Jafar Abdi
0.7.1 (2021-06-15)
- [FakeSystem] Set default command interface to NaN (#424)
- Contributors: Denis Štogl, Bence Magyar
0.7.0 (2021-06-06)
- Add FTS as first semantic components to simplify controllers. (#370)
- Contributors: bailaC, Denis Štogl, Jordan Palacios
0.6.1 (2021-05-31)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
rcutils | |
ament_cmake | |
ament_cmake_gmock | |
ament_lint_auto | |
ament_lint_common | |
ros2_control_test_assets | |
control_msgs | |
lifecycle_msgs | |
pluginlib | |
rclcpp_lifecycle | |
rcpputils | |
tinyxml2_vendor |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged hardware_interface at Robotics Stack Exchange
![]() |
hardware_interface package from ros2_control repocontroller_interface controller_manager controller_manager_msgs hardware_interface hardware_interface_testing joint_limits joint_limits_interface ros2_control ros2_control_test_assets ros2controlcli rqt_controller_manager transmission_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.30.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | Generic and simple controls framework for ROS 2 |
Checkout URI | https://github.com/ros-controls/ros2_control.git |
VCS Type | git |
VCS Version | iron |
Last Updated | 2024-11-14 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | controllers control robotics ros control-systems robot-control ros2 ros2-control ros2-rolling ros2-humble ros2-jazzy |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Bence Magyar
- Denis Štogl
Authors
Overview
For detailed information about this package, please see the ros2_control Documentation!
Changelog for package hardware_interface
3.30.0 (2024-11-12)
3.29.0 (2024-11-02)
- Add resources_lock_ lock_guards to avoid race condition when loading robot_description through topic (backport #1451) (#1600)
- Contributors: mergify[bot]
3.28.1 (2024-09-11)
3.28.0 (2024-08-22)
3.27.0 (2024-07-23)
- Small improvements to the error output in component parser to make debugging easier. (backport #1580) (#1582)
- Contributors: mergify[bot]
3.26.0 (2024-07-09)
- Fix link to gazebosim.org (#1563) (#1565)
- Add doc page about joint kinematics (#1497) (#1560)
- Bump version of pre-commit hooks (backport #1556) (#1558)
- Contributors: mergify[bot]
3.25.0 (2024-04-30)
- Add missing calculate_dynamics (#1498) (#1512)
- [Doc] Add documentation about initial_value regarding mock_hw (#1352) (#1514)
- Move migration notes (#1481)
- Bump version of pre-commit hooks (backport #1430) (#1435)
- Contributors: Christoph Fröhlich, Felix Exner
3.24.0 (2024-03-02)
- [CI] Code coverage + pre-commit (backport #1413) (#1415)
- Move hardware interface README content to sphinx documentation (#1342) (#1381)
- 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)
- [RM] Fix crash for missing urdf in resource manager (#1301) (#1313)
- Add additional checks for non existing and not available interfaces. (backport #1218) (#1292)
- Adding backward compatibility for string-to-double conversion (#1284) (#1289)
- Fix return of ERROR and calls of cleanup when system is unconfigured of finalized (#1279) (#1287)
- fix the multiple definitions of lexical casts methods (#1281) (#1283)
- Use portable version for string-to-double conversion (backport #1257) (#1269)
- [ResourceManager] adds test for uninitialized hardware (#1243)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
rcutils | |
ament_cmake | |
ament_cmake_gmock | |
ros2_control_test_assets | |
control_msgs | |
lifecycle_msgs | |
pluginlib | |
rclcpp_lifecycle | |
rcpputils | |
tinyxml2_vendor |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged hardware_interface at Robotics Stack Exchange
![]() |
hardware_interface package from ros_control repocombined_robot_hw combined_robot_hw_tests controller_interface controller_manager controller_manager_msgs controller_manager_tests hardware_interface joint_limits_interface ros_control rqt_controller_manager transmission_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.18.4 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | Generic and simple controls framework for ROS |
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 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Bence Magyar
- Enrique Fernandez
- Mathias Lüdtke
Authors
- Wim Meeussen
- Adolfo Rodriguez Tsouroukdissian
Hardware Interfaces
Hardware interfaces are used by ROS control in conjunction with one of the available ROS controllers to send (\ref hardware_interface::RobotHW::write) commands to the hardware and receive (\ref hardware_interface::RobotHW::read) states from the robot’s resources (joints, sensors, actuators).
A list of available hardware interfaces (provided via the HardwareResourceManager) as of this writing are:
-
JointCommandInterface:
hardware interface to support commanding and reading the state of an array of
joints. Note that these commands can have any semantic meaning as long as each
can be represented by a single double, they are not necessarily effort commands.
To specify a meaning to this command, see the derived classes:
- EffortJointInterface: for commanding and reading effort-based joints.
- VelocityJointInterface: for commanding and reading velocity-based joints.
- PositionJointInterface: for commanding and reading position-based joints.
- JointStateInterfaces: hardware interface to support reading the state of an array of named joints, each of which has some position, velocity, and effort (force or torque).
- ActuatorStateInterfaces: hardware interface to support reading the state of an array of named actuators, each of which has some position, velocity, and effort (force or torque).
- ActuatorCommandInterfaces
- PosVelJointInterface
- PosVelAccJointInterface
- Force-torque sensor Interface
- IMU sensor Interface
Note that \ref hardware_interface::JointCommandInterface allows both reading joint state and commanding [effort|velocity|position]-based joints (see this answer).
Changelog for package hardware_interface
0.18.4 (2021-06-16)
0.18.3 (2020-12-05)
- [hardware_interface] Update documentation
(#457)
* doc: update robot_hw.h docstrings update docstring of class and
init method.
- doc: add mainpage.dox including examples
- doc: add README.md for hardware_interface
- Update hardware_interface/mainpage.dox
- Use JointStateHandle in case of read-only operations
- Explain JointStateInterface and PositionJointInterface
- Explain how to use potential software transmissions
- Link to transmission_interface examples
- remove whitespace
- Update mainpage.dox with comments from \@bmagyar
- Explain JointStateInterface and PositionJointInterface
- Explain how to use potential software transmissions
- Link to transmission_interface examples
- Update doc of robot_hw.h with comments of \@bmagyar
- Use JointStateHandle in case of read-only operations
- Clarified documentation for InterfaceManager sub-manager handling
- Updated InterfaceManager documentation
- Removed duplicate error message Previously, trying to combine two non-ResourceManager interfaces yielded two identical error messages.
- Remove inconsistent InterfaceManager manager registering behavior All InterfaceManager now handle registered InterfaceManagers transparently. This allows chains of multiple InterfaceManagers registered to each other to work corectly, mostly relevant for registering a manager from a combined_robot_hw RobotHW.
- doc: add README.md for hardware_interface
- doc: add mainpage.dox including examples
- doc: update robot_hw.h docstrings update docstring of class and init method.
- Contributors: Bence Magyar, Franz Pucher, Robert Wilbrandt
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
- [hardware_interface::RobotHW] doc: update read and write, fix: group names (#444)
- Contributors: Franz, Matt Reynolds
0.18.0 (2020-04-16)
- Bump CMake version to avoid CMP0048 (#427)
- Contributors: Shane Loretz
0.17.0 (2020-02-24)
- Use default member initializers
- Use braces for member initializers
- Replace boost with std
- Replace boost::ptr_vector<T> with std::vector<T*>
- Contributors: AbhinavSingh, Bence Magyar, Matt Reynolds
0.16.0 (2020-01-27)
- Merge pull request #413 from matthew-reynolds/range-for Use range-based for loop
- Use more meaningful pair iterator names
- Correct typo in interface_manager.h Co-Authored-By: Bence Magyar <<bence.magyar.robotics@gmail.com>>
- Merge pull request #404 from matthew-reynolds/catkin-lint Update CMakeLists.txt and package.xml
- Use range-based for loops in hardware_interface
- 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
- Update package dependencies
- Remove rosunit test_depend from package.xml
- Merge pull request #405 from matthew-reynolds/use-nullptr Use nullptr
- Use nullptr in tests
- Prefer nullptr for null pointers
- Merge pull request #406 from matthew-reynolds/pragma-once Use #pragma once
- Replace header guard with #pragma once
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged hardware_interface at Robotics Stack Exchange
![]() |
hardware_interface package from ros_control repocombined_robot_hw combined_robot_hw_tests controller_interface controller_manager controller_manager_msgs controller_manager_tests hardware_interface joint_limits_interface ros_control rqt_controller_manager transmission_interface |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 0.20.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | Generic and simple controls framework for ROS |
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 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Bence Magyar
- Enrique Fernandez
- Mathias Lüdtke
Authors
- Wim Meeussen
- Adolfo Rodriguez Tsouroukdissian
Hardware Interfaces
Hardware interfaces are used by ROS control in conjunction with one of the available ROS controllers to send (\ref hardware_interface::RobotHW::write) commands to the hardware and receive (\ref hardware_interface::RobotHW::read) states from the robot’s resources (joints, sensors, actuators).
A list of available hardware interfaces (provided via the HardwareResourceManager) as of this writing are:
-
JointCommandInterface:
hardware interface to support commanding and reading the state of an array of
joints. Note that these commands can have any semantic meaning as long as each
can be represented by a single double, they are not necessarily effort commands.
To specify a meaning to this command, see the derived classes:
- EffortJointInterface: for commanding and reading effort-based joints.
- VelocityJointInterface: for commanding and reading velocity-based joints.
- PositionJointInterface: for commanding and reading position-based joints.
- JointStateInterfaces: hardware interface to support reading the state of an array of named joints, each of which has some position, velocity, and effort (force or torque).
- ActuatorStateInterfaces: hardware interface to support reading the state of an array of named actuators, each of which has some position, velocity, and effort (force or torque).
- ActuatorCommandInterfaces
- PosVelJointInterface
- PosVelAccJointInterface
- Force-torque sensor Interface
- IMU sensor Interface
Note that \ref hardware_interface::JointCommandInterface allows both reading joint state and commanding [effort|velocity|position]-based joints (see this answer).
Changelog for package hardware_interface
0.20.0 (2023-10-27)
- Add JPVTPIDGains-like interface (#515)
- Contributors: Bence Magyar, Wolfgang Merkt
0.19.6 (2022-10-21)
- Update mainpage.dox (#496)
- Contributors: PaddyCube
0.19.5 (2021-06-16)
- Correct exception msg for missing abs pos ptr
- fix broken links by making them relative
- Contributors: G.A. vd. Hoorn, Mikael Arguedas
0.19.4 (2020-12-05)
- Clarified documentation for InterfaceManager sub-manager handling
- Updated InterfaceManager documentation
- Removed duplicate error message Previously, trying to combine two non-ResourceManager interfaces yielded two identical error messages.
- Remove inconsistent InterfaceManager manager registering behavior All InterfaceManager now handle registered InterfaceManagers transparently. This allows chains of multiple InterfaceManagers registered to each other to work corectly, mostly relevant for registering a manager from a combined_robot_hw RobotHW. Resolves #452
- Contributors: Robert Wilbrandt
0.19.3 (2020-10-11)
- Update mainpage.dox
- Explain JointStateInterface and PositionJointInterface
- Explain how to use potential software transmissions
- Link to transmission_interface examples
- Update doc of robot_hw.h
- Use JointStateHandle in case of read-only operations
- doc: add README.md for hardware_interface
- doc: add mainpage.dox including examples
- doc: update robot_hw.h docstrings update docstring of class and init method.
- Contributors: Franz Pucher, Bence Magyar
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>>
-
[hardware_interface::RobotHW] doc: update read and write, fix: group names (#444) (#454)
-
Use setuptools instead of distutils (#429)
-
Contributors: Bence Magyar, Matt Reynolds
0.19.0 (2020-04-23)
- Remove deprecated ForceTorqueHandle ctor (#437)
- Replace enums with enum classes (#412)
- Use CamelCase for ResourceManagerType typedef (#438)
- Contributors: Matt Reynolds
0.18.0 (2020-04-16)
- Bump CMake version to avoid CMP0048 (#427)
- Contributors: Shane Loretz
0.17.0 (2020-02-24)
- Use default member initializers
- Use braces for member initializers
- Replace boost with std
- Replace boost::ptr_vector<T> with std::vector<T*>
- Contributors: AbhinavSingh, Bence Magyar, Matt Reynolds
0.16.0 (2020-01-27)
File truncated at 100 lines see the full file