From 8ae70d332c80ab2fd58ea583037b3001d54f9bbe Mon Sep 17 00:00:00 2001 From: Chandima Fernando Date: Wed, 30 Oct 2024 15:15:56 +0000 Subject: [PATCH] fix: reduce update rate --- src/pdf_beamtime/src/beamtime_entrypoint.cpp | 14 +++++++++++ .../src/beamtime_fidpose_entrypoint.cpp | 14 +++++++++++ .../config/joint_limits.yaml | 24 +++++++++---------- 3 files changed, 40 insertions(+), 12 deletions(-) diff --git a/src/pdf_beamtime/src/beamtime_entrypoint.cpp b/src/pdf_beamtime/src/beamtime_entrypoint.cpp index b1b328b6..7f69ac54 100644 --- a/src/pdf_beamtime/src/beamtime_entrypoint.cpp +++ b/src/pdf_beamtime/src/beamtime_entrypoint.cpp @@ -37,6 +37,20 @@ int main(int argc, char * argv[]) {"robot_description", parameters[1].value_to_string()} }); + // Lower the update rate to the controller + auto controller_manager_parameters_client = + std::make_shared(parameter_client_node, "controller_manager"); + // Boiler plate wait block + while (!controller_manager_parameters_client->wait_for_service(1s)) { + if (!rclcpp::ok()) { + RCLCPP_ERROR( + logger, "Interrupted while waiting for the service. Exiting."); + return 0; + } + RCLCPP_INFO(logger, "controller_manager service not available, waiting again..."); + } + controller_manager_parameters_client->set_parameters({rclcpp::Parameter("update_rate", 100)}); + rclcpp::executors::MultiThreadedExecutor executor; auto beamtime_server = std::make_shared( diff --git a/src/pdf_beamtime/src/beamtime_fidpose_entrypoint.cpp b/src/pdf_beamtime/src/beamtime_fidpose_entrypoint.cpp index 41c5a74b..9b0f2226 100644 --- a/src/pdf_beamtime/src/beamtime_fidpose_entrypoint.cpp +++ b/src/pdf_beamtime/src/beamtime_fidpose_entrypoint.cpp @@ -37,6 +37,20 @@ int main(int argc, char * argv[]) {"robot_description", parameters[1].value_to_string()} }); + // Lower the update rate to the controller + auto controller_manager_parameters_client = + std::make_shared(parameter_client_node, "controller_manager"); + // Boiler plate wait block + while (!controller_manager_parameters_client->wait_for_service(1s)) { + if (!rclcpp::ok()) { + RCLCPP_ERROR( + logger, "Interrupted while waiting for the service. Exiting."); + return 0; + } + RCLCPP_INFO(logger, "controller_manager service not available, waiting again..."); + } + controller_manager_parameters_client->set_parameters({rclcpp::Parameter("update_rate", 100)}); + rclcpp::executors::MultiThreadedExecutor executor; auto beamtime_server = std::make_shared( diff --git a/src/ur3e_hande_moveit_config/config/joint_limits.yaml b/src/ur3e_hande_moveit_config/config/joint_limits.yaml index a4b89bb8..aa0851df 100644 --- a/src/ur3e_hande_moveit_config/config/joint_limits.yaml +++ b/src/ur3e_hande_moveit_config/config/joint_limits.yaml @@ -6,20 +6,20 @@ joint_limits: shoulder_pan_joint: - has_acceleration_limits: true - max_acceleration: 1.0 + has_velocity_limits: true + max_velocity: 1.0 shoulder_lift_joint: - has_acceleration_limits: true - max_acceleration: 1.0 + has_velocity_limits: true + max_velocity: 1.0 elbow_joint: - has_acceleration_limits: true - max_acceleration: 1.0 + has_velocity_limits: true + max_velocity: 1.0 wrist_1_joint: - has_acceleration_limits: true - max_acceleration: 1.0 + has_velocity_limits: true + max_velocity: 1.0 wrist_2_joint: - has_acceleration_limits: true - max_acceleration: 1.0 + has_velocity_limits: true + max_velocity: 1.0 wrist_3_joint: - has_acceleration_limits: true - max_acceleration: 1.0 + has_velocity_limits: true + max_velocity: 1.0