Skip to content

Commit 7db74c3

Browse files
committed
Add retry for setting force mode parameters.
1 parent d637464 commit 7db74c3

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

ur_controllers/src/force_mode_controller.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -362,11 +362,17 @@ bool ForceModeController::setForceMode(const ur_msgs::srv::SetForceMode::Request
362362
}
363363
force_mode_parameters.gain_scaling = req->gain_scaling;
364364

365-
if (!force_mode_params_buffer_.try_set(force_mode_parameters)) {
366-
RCLCPP_ERROR(get_node()->get_logger(), "Could not set force mode parameters in realtime buffer.");
367-
resp->success = false;
368-
return false;
365+
int tries = 0;
366+
while (!force_mode_params_buffer_.try_set(force_mode_parameters)) {
367+
if (tries > 10) {
368+
RCLCPP_ERROR(get_node()->get_logger(), "Could not set force mode parameters in realtime buffer.");
369+
resp->success = false;
370+
return false;
371+
}
372+
rclcpp::sleep_for(std::chrono::milliseconds(50));
373+
tries++;
369374
}
375+
370376
force_mode_active_ = true;
371377
change_requested_ = true;
372378

0 commit comments

Comments
 (0)