From f8831f07ee5345e698b79a4dfb7c3b5ad40b46ab Mon Sep 17 00:00:00 2001 From: Sergi Hernandez Juan <shernand@iri.upc.edu> Date: Fri, 23 Oct 2020 13:35:07 +0200 Subject: [PATCH] Used the genric handling of dynamic reconfigure parameters for the module, module service and module action classes. --- cfg/TiagoGripperModule.cfg | 15 ++++----------- config/tiago_gripper_module_default.yaml | 18 +++++++++++------- .../tiago_gripper_module.h | 2 +- src/tiago_gripper_module.cpp | 18 ++++-------------- 4 files changed, 20 insertions(+), 33 deletions(-) diff --git a/cfg/TiagoGripperModule.cfg b/cfg/TiagoGripperModule.cfg index 656bb9b..b905384 100755 --- a/cfg/TiagoGripperModule.cfg +++ b/cfg/TiagoGripperModule.cfg @@ -34,23 +34,16 @@ PACKAGE='tiago_gripper_module' from dynamic_reconfigure.parameter_generator_catkin import * +from iri_ros_tools.dyn_params import add_module_service_params,add_module_action_params,add_module_params gen = ParameterGenerator() -motion_action = gen.add_group("Gripper action") - # Name Type Reconfiguration level Description Default Min Max -#gen.add("velocity_scale_factor", double_t, 0, "Maximum velocity scale factor", 0.5, 0.0, 1.0) -gen.add("rate_hz", double_t, 0, "Gripper module rate in Hz", 1.0, 1.0, 100.0) - -motion_action.add("action_max_retries",int_t, 0, "Maximum number of retries for the action start",1,1,10) -motion_action.add("feedback_watchdog_time_s",double_t, 0, "Maximum time between feedback messages", 10, 0.01,600) -motion_action.add("enable_watchdog",bool_t, 0, "Enable action watchdog", True) -motion_action.add("timeout_s", double_t, 0, "Maximum time allowed to complete the action",1, 0.1,30) -motion_action.add("enable_timeout",bool_t, 0, "Enable action timeout", True) +add_module_params(gen,"gripper_module") +add_module_service_params(gen,"grasp") +motion_action=add_module_action_params(gen,"move") motion_action.add("close_dist", double_t, 0, "Close position distance", 0.01, 0.0, 0.045) motion_action.add("open_dist", double_t, 0, "Open position distance", 0.035, 0.0, 0.045) motion_action.add("default_duration",double_t,0, "Default gripper motion duration ",1.0, 0.1, 10.0) -motion_action.add("enabled", bool_t, 0, "Enable action execution", True) exit(gen.generate(PACKAGE, "TiagoGripperModuleAlgorithm", "TiagoGripperModule")) diff --git a/config/tiago_gripper_module_default.yaml b/config/tiago_gripper_module_default.yaml index 7662c47..cbee91d 100644 --- a/config/tiago_gripper_module_default.yaml +++ b/config/tiago_gripper_module_default.yaml @@ -1,12 +1,16 @@ -rate_hz: 1.0 +gripper_module_rate_hz: 1.0 + +grasp_num_retries: 1 +grasp_enabled: True + +move_num_retries: 1 +move_feedback_watchdog_time_s: 10.0 +move_enable_watchdog: True +move_timeout_s: 1.0 +move_enable_timeout: True +move_enabled: True -action_max_retries: 1 -feedback_watchdog_time_s: 10.0 -enable_watchdog: True -timeout_s: 1.0 -enable_timeout: True close_dist: 0.01 open_dist: 0.035 default_duration: 1.0 -enabled: True diff --git a/include/tiago_gripper_module/tiago_gripper_module.h b/include/tiago_gripper_module/tiago_gripper_module.h index 80bd745..9749fe7 100644 --- a/include/tiago_gripper_module/tiago_gripper_module.h +++ b/include/tiago_gripper_module/tiago_gripper_module.h @@ -42,7 +42,7 @@ class CTiagoGripperModule : public CModule<tiago_gripper_module::TiagoGripperMod /****************Services*****************/ /****************Actions*****************/ - CModuleAction<control_msgs::FollowJointTrajectoryAction> gripper_action; + CModuleAction<control_msgs::FollowJointTrajectoryAction,tiago_gripper_module::TiagoGripperModuleConfig> gripper_action; control_msgs::FollowJointTrajectoryGoal goal; /****************Actions*****************/ diff --git a/src/tiago_gripper_module.cpp b/src/tiago_gripper_module.cpp index 3ec41ab..fe14074 100644 --- a/src/tiago_gripper_module.cpp +++ b/src/tiago_gripper_module.cpp @@ -149,21 +149,11 @@ void CTiagoGripperModule::reconfigure_callback(tiago_gripper_module::TiagoGrippe this->lock(); this->config=config; /* set the module rate */ - this->set_rate(config.rate_hz); + this->dynamic_reconfigure(config,"gripper_module"); + /* module service parameters */ + this->grasp_service.dynamic_reconfigure(config,"grasp"); /* motion action parameters */ - this->gripper_action.set_max_num_retries(config.action_max_retries); - if(config.enable_watchdog) - this->gripper_action.enable_watchdog(config.feedback_watchdog_time_s); - else - this->gripper_action.disable_watchdog(); - if(this->config.enable_timeout) - this->gripper_action.enable_timeout(config.timeout_s); - else - this->gripper_action.disable_timeout(); - if(this->config.enabled) - this->gripper_action.enable(); - else - this->gripper_action.disable(); + this->gripper_action.dynamic_reconfigure(config,"move"); this->unlock(); } -- GitLab