From e8cd5d4a3c216ba8cfddc18a1ca9ab62ae3e3c5d Mon Sep 17 00:00:00 2001 From: Sai Kishor Kothakota Date: Thu, 28 Nov 2024 18:57:20 +0100 Subject: [PATCH 1/3] Integrate pal_statistics for introspecting the ros2_control_demos --- .../controllers/src/passthrough_controller.cpp | 5 +++++ example_12/hardware/rrbot.cpp | 9 +++++++++ example_4/hardware/rrbot_system_with_sensor.cpp | 16 ++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/example_12/controllers/src/passthrough_controller.cpp b/example_12/controllers/src/passthrough_controller.cpp index 92660438a..0d44b74a5 100644 --- a/example_12/controllers/src/passthrough_controller.cpp +++ b/example_12/controllers/src/passthrough_controller.cpp @@ -85,6 +85,11 @@ controller_interface::CallbackReturn PassthroughController::on_configure( reference_interfaces_.resize( reference_interface_names_.size(), std::numeric_limits::quiet_NaN()); + for (size_t i = 0; i < reference_interface_names_.size(); i++) + { + REGISTER_DEFAULT_INTROSPECTION(reference_interface_names_[i], &reference_interfaces_[i]); + } + return controller_interface::CallbackReturn::SUCCESS; } diff --git a/example_12/hardware/rrbot.cpp b/example_12/hardware/rrbot.cpp index a6cc4cf77..238e3438e 100644 --- a/example_12/hardware/rrbot.cpp +++ b/example_12/hardware/rrbot.cpp @@ -81,6 +81,15 @@ hardware_interface::CallbackReturn RRBotSystemPositionOnlyHardware::on_init( } } + REGISTER_DEFAULT_INTROSPECTION("hw_start_sec", &hw_start_sec_); + REGISTER_DEFAULT_INTROSPECTION("hw_stop_sec", &hw_stop_sec_); + REGISTER_DEFAULT_INTROSPECTION("hw_slowdown", &hw_slowdown_); + for (size_t i = 0; i < info_.joints.size(); ++i) + { + REGISTER_DEFAULT_INTROSPECTION(info_.joints[i].name + ".hw_state", &hw_states_[i]); + REGISTER_DEFAULT_INTROSPECTION(info_.joints[i].name + ".hw_command", &hw_commands_[i]); + } + return hardware_interface::CallbackReturn::SUCCESS; } diff --git a/example_4/hardware/rrbot_system_with_sensor.cpp b/example_4/hardware/rrbot_system_with_sensor.cpp index f7df7eb83..5765a2bdb 100644 --- a/example_4/hardware/rrbot_system_with_sensor.cpp +++ b/example_4/hardware/rrbot_system_with_sensor.cpp @@ -85,6 +85,22 @@ hardware_interface::CallbackReturn RRBotSystemWithSensorHardware::on_init( } } + REGISTER_DEFAULT_INTROSPECTION("hw_start_sec", &hw_start_sec_); + REGISTER_DEFAULT_INTROSPECTION("hw_stop_sec", &hw_stop_sec_); + REGISTER_DEFAULT_INTROSPECTION("hw_slowdown", &hw_slowdown_); + REGISTER_DEFAULT_INTROSPECTION("hw_sensor_change", &hw_sensor_change_); + for (size_t i = 0; i < info_.joints.size(); ++i) + { + REGISTER_DEFAULT_INTROSPECTION(info_.joints[i].name + ".hw_state", &hw_joint_states_[i]); + REGISTER_DEFAULT_INTROSPECTION(info_.joints[i].name + ".hw_command", &hw_joint_commands_[i]); + } + for (size_t i = 0; i < info_.sensors[0].state_interfaces.size(); ++i) + { + REGISTER_DEFAULT_INTROSPECTION( + info_.sensors[0].name + "." + info_.sensors[0].state_interfaces[i].name, + &hw_sensor_states_[i]); + } + return hardware_interface::CallbackReturn::SUCCESS; } From 8726ccc127f2bd71cfc32d2773720fcc07dc4590 Mon Sep 17 00:00:00 2001 From: Sai Kishor Kothakota Date: Thu, 5 Dec 2024 18:13:44 +0100 Subject: [PATCH 2/3] rename the macro to REGISTER_ROS2_CONTROL_INTROSPECTION --- .../controllers/src/passthrough_controller.cpp | 2 +- example_12/hardware/rrbot.cpp | 10 +++++----- example_4/hardware/rrbot_system_with_sensor.cpp | 14 +++++++------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/example_12/controllers/src/passthrough_controller.cpp b/example_12/controllers/src/passthrough_controller.cpp index 0d44b74a5..345bf9b6f 100644 --- a/example_12/controllers/src/passthrough_controller.cpp +++ b/example_12/controllers/src/passthrough_controller.cpp @@ -87,7 +87,7 @@ controller_interface::CallbackReturn PassthroughController::on_configure( for (size_t i = 0; i < reference_interface_names_.size(); i++) { - REGISTER_DEFAULT_INTROSPECTION(reference_interface_names_[i], &reference_interfaces_[i]); + REGISTER_ROS2_CONTROL_INTROSPECTION(reference_interface_names_[i], &reference_interfaces_[i]); } return controller_interface::CallbackReturn::SUCCESS; diff --git a/example_12/hardware/rrbot.cpp b/example_12/hardware/rrbot.cpp index 238e3438e..be511c8af 100644 --- a/example_12/hardware/rrbot.cpp +++ b/example_12/hardware/rrbot.cpp @@ -81,13 +81,13 @@ hardware_interface::CallbackReturn RRBotSystemPositionOnlyHardware::on_init( } } - REGISTER_DEFAULT_INTROSPECTION("hw_start_sec", &hw_start_sec_); - REGISTER_DEFAULT_INTROSPECTION("hw_stop_sec", &hw_stop_sec_); - REGISTER_DEFAULT_INTROSPECTION("hw_slowdown", &hw_slowdown_); + REGISTER_ROS2_CONTROL_INTROSPECTION("hw_start_sec", &hw_start_sec_); + REGISTER_ROS2_CONTROL_INTROSPECTION("hw_stop_sec", &hw_stop_sec_); + REGISTER_ROS2_CONTROL_INTROSPECTION("hw_slowdown", &hw_slowdown_); for (size_t i = 0; i < info_.joints.size(); ++i) { - REGISTER_DEFAULT_INTROSPECTION(info_.joints[i].name + ".hw_state", &hw_states_[i]); - REGISTER_DEFAULT_INTROSPECTION(info_.joints[i].name + ".hw_command", &hw_commands_[i]); + REGISTER_ROS2_CONTROL_INTROSPECTION(info_.joints[i].name + ".hw_state", &hw_states_[i]); + REGISTER_ROS2_CONTROL_INTROSPECTION(info_.joints[i].name + ".hw_command", &hw_commands_[i]); } return hardware_interface::CallbackReturn::SUCCESS; diff --git a/example_4/hardware/rrbot_system_with_sensor.cpp b/example_4/hardware/rrbot_system_with_sensor.cpp index 5765a2bdb..f2f7a29e0 100644 --- a/example_4/hardware/rrbot_system_with_sensor.cpp +++ b/example_4/hardware/rrbot_system_with_sensor.cpp @@ -85,18 +85,18 @@ hardware_interface::CallbackReturn RRBotSystemWithSensorHardware::on_init( } } - REGISTER_DEFAULT_INTROSPECTION("hw_start_sec", &hw_start_sec_); - REGISTER_DEFAULT_INTROSPECTION("hw_stop_sec", &hw_stop_sec_); - REGISTER_DEFAULT_INTROSPECTION("hw_slowdown", &hw_slowdown_); - REGISTER_DEFAULT_INTROSPECTION("hw_sensor_change", &hw_sensor_change_); + REGISTER_ROS2_CONTROL_INTROSPECTION("hw_start_sec", &hw_start_sec_); + REGISTER_ROS2_CONTROL_INTROSPECTION("hw_stop_sec", &hw_stop_sec_); + REGISTER_ROS2_CONTROL_INTROSPECTION("hw_slowdown", &hw_slowdown_); + REGISTER_ROS2_CONTROL_INTROSPECTION("hw_sensor_change", &hw_sensor_change_); for (size_t i = 0; i < info_.joints.size(); ++i) { - REGISTER_DEFAULT_INTROSPECTION(info_.joints[i].name + ".hw_state", &hw_joint_states_[i]); - REGISTER_DEFAULT_INTROSPECTION(info_.joints[i].name + ".hw_command", &hw_joint_commands_[i]); + REGISTER_ROS2_CONTROL_INTROSPECTION(info_.joints[i].name + ".hw_state", &hw_joint_states_[i]); + REGISTER_ROS2_CONTROL_INTROSPECTION(info_.joints[i].name + ".hw_command", &hw_joint_commands_[i]); } for (size_t i = 0; i < info_.sensors[0].state_interfaces.size(); ++i) { - REGISTER_DEFAULT_INTROSPECTION( + REGISTER_ROS2_CONTROL_INTROSPECTION( info_.sensors[0].name + "." + info_.sensors[0].state_interfaces[i].name, &hw_sensor_states_[i]); } From f82fc373f9a5d61f5f00eb895ba38bebe89ef94f Mon Sep 17 00:00:00 2001 From: Sai Kishor Kothakota Date: Wed, 1 Jan 2025 21:10:59 +0100 Subject: [PATCH 3/3] cleanup after variants merge --- example_12/hardware/rrbot.cpp | 5 ----- example_4/hardware/rrbot_system_with_sensor.cpp | 11 ----------- 2 files changed, 16 deletions(-) diff --git a/example_12/hardware/rrbot.cpp b/example_12/hardware/rrbot.cpp index be511c8af..cba7968bd 100644 --- a/example_12/hardware/rrbot.cpp +++ b/example_12/hardware/rrbot.cpp @@ -84,11 +84,6 @@ hardware_interface::CallbackReturn RRBotSystemPositionOnlyHardware::on_init( REGISTER_ROS2_CONTROL_INTROSPECTION("hw_start_sec", &hw_start_sec_); REGISTER_ROS2_CONTROL_INTROSPECTION("hw_stop_sec", &hw_stop_sec_); REGISTER_ROS2_CONTROL_INTROSPECTION("hw_slowdown", &hw_slowdown_); - for (size_t i = 0; i < info_.joints.size(); ++i) - { - REGISTER_ROS2_CONTROL_INTROSPECTION(info_.joints[i].name + ".hw_state", &hw_states_[i]); - REGISTER_ROS2_CONTROL_INTROSPECTION(info_.joints[i].name + ".hw_command", &hw_commands_[i]); - } return hardware_interface::CallbackReturn::SUCCESS; } diff --git a/example_4/hardware/rrbot_system_with_sensor.cpp b/example_4/hardware/rrbot_system_with_sensor.cpp index f2f7a29e0..37cd374bd 100644 --- a/example_4/hardware/rrbot_system_with_sensor.cpp +++ b/example_4/hardware/rrbot_system_with_sensor.cpp @@ -89,17 +89,6 @@ hardware_interface::CallbackReturn RRBotSystemWithSensorHardware::on_init( REGISTER_ROS2_CONTROL_INTROSPECTION("hw_stop_sec", &hw_stop_sec_); REGISTER_ROS2_CONTROL_INTROSPECTION("hw_slowdown", &hw_slowdown_); REGISTER_ROS2_CONTROL_INTROSPECTION("hw_sensor_change", &hw_sensor_change_); - for (size_t i = 0; i < info_.joints.size(); ++i) - { - REGISTER_ROS2_CONTROL_INTROSPECTION(info_.joints[i].name + ".hw_state", &hw_joint_states_[i]); - REGISTER_ROS2_CONTROL_INTROSPECTION(info_.joints[i].name + ".hw_command", &hw_joint_commands_[i]); - } - for (size_t i = 0; i < info_.sensors[0].state_interfaces.size(); ++i) - { - REGISTER_ROS2_CONTROL_INTROSPECTION( - info_.sensors[0].name + "." + info_.sensors[0].state_interfaces[i].name, - &hw_sensor_states_[i]); - } return hardware_interface::CallbackReturn::SUCCESS; }