diff --git a/ackermann_steering_controller/package.xml b/ackermann_steering_controller/package.xml
index 6724245d73..c07b1e32b2 100644
--- a/ackermann_steering_controller/package.xml
+++ b/ackermann_steering_controller/package.xml
@@ -26,6 +26,7 @@
ament_cmake_gmock
controller_manager
+ hardware_interface_testing
hardware_interface
ros2_control_test_assets
diff --git a/admittance_controller/package.xml b/admittance_controller/package.xml
index 666a2e9d0c..587f87af3d 100644
--- a/admittance_controller/package.xml
+++ b/admittance_controller/package.xml
@@ -34,6 +34,7 @@
ament_cmake_gmock
controller_manager
+ hardware_interface_testing
kinematics_interface_kdl
ros2_control_test_assets
diff --git a/bicycle_steering_controller/package.xml b/bicycle_steering_controller/package.xml
index 43e195019f..f175e58471 100644
--- a/bicycle_steering_controller/package.xml
+++ b/bicycle_steering_controller/package.xml
@@ -27,6 +27,7 @@
ament_cmake_gmock
controller_manager
hardware_interface
+ hardware_interface_testing
ros2_control_test_assets
diff --git a/diff_drive_controller/test/test_load_diff_drive_controller.cpp b/diff_drive_controller/test/test_load_diff_drive_controller.cpp
index 1eb8939031..660208c560 100644
--- a/diff_drive_controller/test/test_load_diff_drive_controller.cpp
+++ b/diff_drive_controller/test/test_load_diff_drive_controller.cpp
@@ -16,6 +16,9 @@
#include
#include "controller_manager/controller_manager.hpp"
+#include "hardware_interface/resource_manager.hpp"
+#include "rclcpp/executor.hpp"
+#include "rclcpp/executors/single_threaded_executor.hpp"
#include "rclcpp/utilities.hpp"
#include "ros2_control_test_assets/descriptions.hpp"
diff --git a/effort_controllers/package.xml b/effort_controllers/package.xml
index 61d49586f5..5fa5f7058c 100644
--- a/effort_controllers/package.xml
+++ b/effort_controllers/package.xml
@@ -17,6 +17,8 @@
ament_cmake_gmock
controller_manager
+ hardware_interface_testing
+ hardware_interface
ros2_control_test_assets
diff --git a/effort_controllers/test/test_load_joint_group_effort_controller.cpp b/effort_controllers/test/test_load_joint_group_effort_controller.cpp
index 61bb1ddf9a..52f1f9934a 100644
--- a/effort_controllers/test/test_load_joint_group_effort_controller.cpp
+++ b/effort_controllers/test/test_load_joint_group_effort_controller.cpp
@@ -17,7 +17,9 @@
#include "controller_manager/controller_manager.hpp"
#include "hardware_interface/resource_manager.hpp"
+#include "rclcpp/executor.hpp"
#include "rclcpp/executors/single_threaded_executor.hpp"
+#include "rclcpp/utilities.hpp"
#include "ros2_control_test_assets/descriptions.hpp"
TEST(TestLoadJointGroupVelocityController, load_controller)
diff --git a/force_torque_sensor_broadcaster/package.xml b/force_torque_sensor_broadcaster/package.xml
index 5b393ebc13..ac5979df5b 100644
--- a/force_torque_sensor_broadcaster/package.xml
+++ b/force_torque_sensor_broadcaster/package.xml
@@ -23,6 +23,7 @@
ament_cmake_gmock
controller_manager
+ hardware_interface_testing
ros2_control_test_assets
diff --git a/forward_command_controller/package.xml b/forward_command_controller/package.xml
index eb88fdc317..ed43626a56 100644
--- a/forward_command_controller/package.xml
+++ b/forward_command_controller/package.xml
@@ -22,6 +22,7 @@
ament_cmake_gmock
controller_manager
+ hardware_interface_testing
ros2_control_test_assets
diff --git a/gripper_controllers/package.xml b/gripper_controllers/package.xml
index ef6b39eabc..c2e774f22e 100644
--- a/gripper_controllers/package.xml
+++ b/gripper_controllers/package.xml
@@ -27,6 +27,7 @@
ament_cmake_gmock
controller_manager
+ hardware_interface_testing
ros2_control_test_assets
diff --git a/gripper_controllers/test/test_load_gripper_action_controllers.cpp b/gripper_controllers/test/test_load_gripper_action_controllers.cpp
index 130b12e0bb..0ef5f0bcb2 100644
--- a/gripper_controllers/test/test_load_gripper_action_controllers.cpp
+++ b/gripper_controllers/test/test_load_gripper_action_controllers.cpp
@@ -17,7 +17,9 @@
#include "controller_manager/controller_manager.hpp"
#include "hardware_interface/resource_manager.hpp"
+#include "rclcpp/executor.hpp"
#include "rclcpp/executors/single_threaded_executor.hpp"
+#include "rclcpp/utilities.hpp"
#include "ros2_control_test_assets/descriptions.hpp"
TEST(TestLoadGripperActionControllers, load_controller)
diff --git a/imu_sensor_broadcaster/package.xml b/imu_sensor_broadcaster/package.xml
index 7f374866fc..2d44a9f213 100644
--- a/imu_sensor_broadcaster/package.xml
+++ b/imu_sensor_broadcaster/package.xml
@@ -25,6 +25,7 @@
ament_lint_auto
ament_lint_common
controller_manager
+ hardware_interface_testing
ros2_control_test_assets
diff --git a/joint_state_broadcaster/package.xml b/joint_state_broadcaster/package.xml
index 589bc33547..917e430e90 100644
--- a/joint_state_broadcaster/package.xml
+++ b/joint_state_broadcaster/package.xml
@@ -25,6 +25,7 @@
ament_cmake_gmock
controller_manager
+ hardware_interface_testing
hardware_interface
rclcpp
ros2_control_test_assets
diff --git a/joint_trajectory_controller/package.xml b/joint_trajectory_controller/package.xml
index 12327fe648..1ce1661849 100644
--- a/joint_trajectory_controller/package.xml
+++ b/joint_trajectory_controller/package.xml
@@ -28,6 +28,7 @@
ament_cmake_gmock
controller_manager
+ hardware_interface_testing
ros2_control_test_assets
diff --git a/pid_controller/package.xml b/pid_controller/package.xml
new file mode 100644
index 0000000000..70c7bfa987
--- /dev/null
+++ b/pid_controller/package.xml
@@ -0,0 +1,36 @@
+
+
+
+ pid_controller
+ 4.5.0
+ Controller based on PID implememenation from control_toolbox package.
+ Bence Magyar
+ Denis Štogl
+ Denis Štogl
+ Apache-2.0
+
+ ament_cmake
+
+ generate_parameter_library
+
+ angles
+ control_msgs
+ control_toolbox
+ controller_interface
+ hardware_interface
+ parameter_traits
+ pluginlib
+ rclcpp
+ rclcpp_lifecycle
+ realtime_tools
+ std_srvs
+
+ ament_cmake_gmock
+ controller_manager
+ hardware_interface_testing
+ ros2_control_test_assets
+
+
+ ament_cmake
+
+
diff --git a/position_controllers/package.xml b/position_controllers/package.xml
index 6194eb1140..a32e7ca22f 100644
--- a/position_controllers/package.xml
+++ b/position_controllers/package.xml
@@ -17,6 +17,8 @@
ament_cmake_gmock
controller_manager
+ hardware_interface_testing
+ hardware_interface
ros2_control_test_assets
diff --git a/position_controllers/test/test_load_joint_group_position_controller.cpp b/position_controllers/test/test_load_joint_group_position_controller.cpp
index fe61039fdb..bc27b5e629 100644
--- a/position_controllers/test/test_load_joint_group_position_controller.cpp
+++ b/position_controllers/test/test_load_joint_group_position_controller.cpp
@@ -17,7 +17,9 @@
#include "controller_manager/controller_manager.hpp"
#include "hardware_interface/resource_manager.hpp"
+#include "rclcpp/executor.hpp"
#include "rclcpp/executors/single_threaded_executor.hpp"
+#include "rclcpp/utilities.hpp"
#include "ros2_control_test_assets/descriptions.hpp"
TEST(TestLoadJointGroupPositionController, load_controller)
diff --git a/range_sensor_broadcaster/package.xml b/range_sensor_broadcaster/package.xml
index 52ac3b19ec..3d7dec2208 100644
--- a/range_sensor_broadcaster/package.xml
+++ b/range_sensor_broadcaster/package.xml
@@ -22,7 +22,7 @@
ament_cmake_gmock
controller_manager
- hardware_interface
+ hardware_interface_testing
ros2_control_test_assets
diff --git a/tricycle_controller/package.xml b/tricycle_controller/package.xml
index 589c63a554..0a72fbd192 100644
--- a/tricycle_controller/package.xml
+++ b/tricycle_controller/package.xml
@@ -29,6 +29,7 @@
ament_cmake_gmock
controller_manager
+ hardware_interface_testing
ros2_control_test_assets
diff --git a/tricycle_controller/test/test_load_tricycle_controller.cpp b/tricycle_controller/test/test_load_tricycle_controller.cpp
index 9298fae574..229d014fe9 100644
--- a/tricycle_controller/test/test_load_tricycle_controller.cpp
+++ b/tricycle_controller/test/test_load_tricycle_controller.cpp
@@ -21,7 +21,9 @@
#include "controller_manager/controller_manager.hpp"
#include "hardware_interface/resource_manager.hpp"
+#include "rclcpp/executor.hpp"
#include "rclcpp/executors/single_threaded_executor.hpp"
+#include "rclcpp/utilities.hpp"
#include "ros2_control_test_assets/descriptions.hpp"
TEST(TestLoadTricycleController, load_controller)
diff --git a/tricycle_steering_controller/package.xml b/tricycle_steering_controller/package.xml
index 32976745a9..45a3a9130f 100644
--- a/tricycle_steering_controller/package.xml
+++ b/tricycle_steering_controller/package.xml
@@ -27,7 +27,7 @@
ament_cmake_gmock
controller_manager
- hardware_interface
+ hardware_interface_testing
ros2_control_test_assets
diff --git a/velocity_controllers/package.xml b/velocity_controllers/package.xml
index c5339d743f..e88779672c 100644
--- a/velocity_controllers/package.xml
+++ b/velocity_controllers/package.xml
@@ -17,6 +17,7 @@
ament_cmake_gmock
controller_manager
+ hardware_interface_testing
hardware_interface
ros2_control_test_assets
diff --git a/velocity_controllers/test/test_load_joint_group_velocity_controller.cpp b/velocity_controllers/test/test_load_joint_group_velocity_controller.cpp
index 1872b5f746..e426349f96 100644
--- a/velocity_controllers/test/test_load_joint_group_velocity_controller.cpp
+++ b/velocity_controllers/test/test_load_joint_group_velocity_controller.cpp
@@ -17,7 +17,9 @@
#include "controller_manager/controller_manager.hpp"
#include "hardware_interface/resource_manager.hpp"
+#include "rclcpp/executor.hpp"
#include "rclcpp/executors/single_threaded_executor.hpp"
+#include "rclcpp/utilities.hpp"
#include "ros2_control_test_assets/descriptions.hpp"
TEST(TestLoadJointGroupVelocityController, load_controller)