From 06cfbcaff1a40c25b3e5e2e9c1bf47f6894caa46 Mon Sep 17 00:00:00 2001 From: JafarAbdi Date: Sat, 26 Oct 2019 23:26:18 +0300 Subject: [PATCH] Update kinematics solver timeout section --- .../src/kinematics_plugin_loader.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/moveit_ros/planning/kinematics_plugin_loader/src/kinematics_plugin_loader.cpp b/moveit_ros/planning/kinematics_plugin_loader/src/kinematics_plugin_loader.cpp index a24e3aeff4..0693631c33 100644 --- a/moveit_ros/planning/kinematics_plugin_loader/src/kinematics_plugin_loader.cpp +++ b/moveit_ros/planning/kinematics_plugin_loader/src/kinematics_plugin_loader.cpp @@ -338,22 +338,20 @@ robot_model::SolverAllocatorFn KinematicsPluginLoader::getLoaderFunction(const s } } - std::string ksolver_timeout_param_name; - if (ksolver_params->has_parameter(base_param_name + "/kinematics_solver_timeout")) + std::string ksolver_timeout_param_name = base_param_name + ".kinematics_solver_timeout"; + if (ksolver_params->has_parameter(ksolver_timeout_param_name)) { - ksolver_timeout_param_name = - node_->get_parameter(base_param_name + "/kinematics_solver_timeout").get_value(); double ksolver_timeout; - if (ksolver_params->has_parameter(ksolver_timeout_param_name)) + rclcpp::Parameter parameter = node_->get_parameter(ksolver_timeout_param_name); + if (parameter.get_type() == rclcpp::ParameterType::PARAMETER_DOUBLE) { - ksolver_timeout = node_->get_parameter(ksolver_timeout_param_name).get_value(); + ksolver_timeout = ksolver_params->get_parameter(ksolver_timeout_param_name); ik_timeout_[known_groups[i].name_] = ksolver_timeout; } - else + else if (parameter.get_type() == rclcpp::ParameterType::PARAMETER_INTEGER) { // just in case this is an int int ksolver_timeout_i; - if (ksolver_params->has_parameter(ksolver_timeout_param_name)) - ksolver_timeout_i = node_->get_parameter(ksolver_timeout_param_name).get_value(); + ksolver_timeout = ksolver_params->get_parameter(ksolver_timeout_param_name); ik_timeout_[known_groups[i].name_] = ksolver_timeout_i; } }