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

ros2_control hardware interface

Additional Links

No additional links.

Maintainers

  • Bence Magyar
  • Denis Štogl

Authors

No additional authors.

Overview

For detailed information about this package, please see the ros2_control Documentation!

CHANGELOG

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)

  • Improve API/lifecycle docs (#2081) (#2085)
  • Contributors: mergify[bot]

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged hardware_interface at Robotics Stack Exchange

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

Base classes for hardware abstraction and tooling for them

Additional Links

No additional links.

Maintainers

  • Bence Magyar
  • Denis Štogl
  • Christoph Froehlich
  • Sai Kishor Kothakota

Authors

No additional authors.

Overview

For detailed information about this package, please see the ros2_control Documentation!

CHANGELOG

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged hardware_interface at Robotics Stack Exchange

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

Base classes for hardware abstraction and tooling for them

Additional Links

No additional links.

Maintainers

  • Bence Magyar
  • Denis Štogl
  • Christoph Froehlich
  • Sai Kishor Kothakota

Authors

No additional authors.

Overview

For detailed information about this package, please see the ros2_control Documentation!

CHANGELOG

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged hardware_interface at Robotics Stack Exchange

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

Base classes for hardware abstraction and tooling for them

Additional Links

No additional links.

Maintainers

  • Bence Magyar
  • Denis Štogl
  • Christoph Froehlich
  • Sai Kishor Kothakota

Authors

No additional authors.

Overview

For detailed information about this package, please see the ros2_control Documentation!

CHANGELOG

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

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

Hardware Interface base class.

Additional Links

Maintainers

  • Bence Magyar
  • Enrique Fernandez
  • Mathias Lüdtke

Authors

  • Wim Meeussen
  • Adolfo Rodriguez Tsouroukdissian
README
No README found. See repository README.
CHANGELOG

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

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
schunk_svh_driver
schunk_svh_simulation
curiosity_rover_demo
trick_ros2_control
abb_egm_hardware_interface
abb_hardware_interface
laikago_controller
laikago_controller
angler_bringup
ar3_hardware
arduinobot_controller
arduinobot_controller
ariac_controllers
aubo_ros2_driver
aubo_robot_driver
autocar_description
autocar_gazebo
end_effector_trajectory_controller
thruster_allocation_matrix_controller
thruster_controllers
topic_sensors
velocity_controllers
whole_body_controllers
bitbots_ros_control
cartesian_compliance_controller
cartesian_controller_simulation
cartesian_controllers_universal_robots
clearpath_hardware_interfaces
robolaunch_cloudy_hardware
pkg
denso_robot_control
diff_bot_description
differential_bot_controller
elfin_ethercat_driver
elfin_ros_control
ethercat_driver
flexiv_robot_states_broadcaster
gpio_controller
joint_impedance_controller
flexiv_hardware
fairino_hardware
racecar_description
hal_hw_interface
hiwin_driver
pass_through_controllers
hoverboard_hardware_interface
husarion_ugv_gazebo
husarion_ugv_hardware_interfaces
snp_automate_2022
irc_ros_bringup
irc_ros_hardware
isaac_diffbot_sim
kalman_arm_controller
layered_hardware
lidarbot_base
manta_v2_gazebo_ros2_control
melfa_driver
melfa_io_controllers
mep3_hardware
mujoco_ros2_control
multi_robot_arm
franka_control2
franka_hardware
franka_robot_state_broadcaster
franka_semantic_components
myactuator_rmd_hardware
joints_interface
ur_controllers
ur_controllers
ur_robot_driver
ur_robot_driver
ur_robot_driver
ur_robot_driver
odrive_hardware_interface
odrive_hardware_interface
unitree_legged_control
omnidirectional_controllers
open_mower_next
openvmp_hardware_simulation_gazebo
osr_gazebo
pca9685_hardware_interface
minibot_hardware_interface
march_system_interface
gz_quadruped_hardware
controller_common
rae_hw
pid_command_controller
arm_system_hwi
head_system_hwi
neck_system_hwi
luxo_hardware_interface
custom_robots
interbotix_xs_ros_control
dg3f_m_driver
dg5f_driver
husky_base
mecanumbot_controller
mecanumbot_hardware
unity_diffbot_sim
ros2_control_demo_example_1
ros2_control_demo_example_10
ros2_control_demo_example_11
ros2_control_demo_example_12
ros2_control_demo_example_14
ros2_control_demo_example_16
ros2_control_demo_example_17
ros2_control_demo_example_2
ros2_control_demo_example_3
ros2_control_demo_example_4
ros2_control_demo_example_5
ros2_control_demo_example_6
ros2_control_demo_example_7
ros2_control_demo_example_8
ros2_control_demo_example_9
epick_driver
fanuc_control
net_ft_diagnostic_broadcaster
net_ft_driver
odrive_ros2_control
controlko_controllers
controlko_description
controlko_hardware_interface
combined_robot_hw
combined_robot_hw_tests
controller_interface
controller_manager
joint_limits_interface
ros_control
transmission_interface
bumperbot_firmware
bumperbot_firmware
spot_hardware_interface
spot_ros2_control
pendulum_robot_description
pendulum_control_description
unitree_controller
unitree_gazebo
ros2_unitree_legged_control
ur_modern_driver
ur_modern_driver
uwrt_mars_rover_drivetrain_hw
wpr_simulation2
xarm_controller
mecanum_drive_controller

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged hardware_interface 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

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

ROS2 ros_control hardware interface

Additional Links

No additional links.

Maintainers

  • Karsten Knese
  • Bence Magyar

Authors

No additional authors.

robot agnostic hardware_interface package. This package will eventually be moved into its own repo.

CHANGELOG

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)

  • Extend FakeHardware to support <gpio>-tag (#574) (#634)
  • Contributors: Subhas Das

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged hardware_interface 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

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

ros2_control hardware interface

Additional Links

No additional links.

Maintainers

  • Bence Magyar
  • Denis Štogl

Authors

No additional authors.

Overview

For detailed information about this package, please see the ros2_control Documentation!

CHANGELOG

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged hardware_interface at Robotics Stack Exchange

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

Hardware Interface base class.

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:

Note that \ref hardware_interface::JointCommandInterface allows both reading joint state and commanding [effort|velocity|position]-based joints (see this answer).

CHANGELOG

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged hardware_interface at Robotics Stack Exchange

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

Hardware Interface base class.

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:

Note that \ref hardware_interface::JointCommandInterface allows both reading joint state and commanding [effort|velocity|position]-based joints (see this answer).

CHANGELOG

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged hardware_interface at Robotics Stack Exchange