ros2_control icon indicating copy to clipboard operation
ros2_control copied to clipboard

Throttled overrun prints don't seem to be throttled properly

Open bmagyar opened this issue 7 months ago • 5 comments

Describe the bug Throttling the warnings about overruns doesn't seem to work reliably. It is not a huge issue but it can be annoying. I often get 2 prints each second but also saw cases of 1 and 3.

We may need to explore using a different clock.

Expected behavior There should be at most 1 message per second. The RCLCPP_WARN_THROTTLED print here should throttle the messages to 1000ms = 1 second.

Screenshots [WARN] [1747395233.440807556] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 2.895488 ms (missed cycles : 2). [WARN] [1747395233.450173719] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 2.263731 ms (missed cycles : 2). [WARN] [1747395234.114839063] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 2.927795 ms (missed cycles : 2). [WARN] [1747395234.134072793] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 2.161909 ms (missed cycles : 2). [WARN] [1747395235.112376698] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 2.466102 ms (missed cycles : 2). [WARN] [1747395235.122050666] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 2.139334 ms (missed cycles : 2).

Environment (please complete the following information):

  • OS: Ubuntu 24.04
  • Version Jazzy 4.29.0
  • Docker container

Additional context No custom changes

bmagyar avatar May 16 '25 12:05 bmagyar

Experiencing the same issue, it is almost impossible to read the logs.

InigoMoreno avatar May 21 '25 10:05 InigoMoreno

Experiencing the same issue, it is almost impossible to read the logs.

@InigoMoreno what distro are you using? And at what frequency are you running your controller_manager?

saikishor avatar May 21 '25 10:05 saikishor

Hi, I'm experiencing the same issue. [ros2_control_node-1] [WARN] [1749827164.547201688] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 50 Hz. The loop took 76.312262 ms (missed cycles : 4). Has the problem been solved?

Thank you very much.

SteMuc avatar Jun 13 '25 15:06 SteMuc

Hi, I'm experiencing the same issue. [ros2_control_node-1] [WARN] [1749827164.547201688] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 50 Hz. The loop took 76.312262 ms (missed cycles : 4). Has the problem been solved?

Thank you very much.

Hello @SteMuc !

You have the throttling issue? Or it's just printing it? The logs you shared don't give much information about it.

saikishor avatar Jun 13 '25 15:06 saikishor

Experiencing the same issue, it is almost impossible to read the logs.

@InigoMoreno what distro are you using? And at what frequency are you running your controller_manager?

Sorry for the late answer, I am also using ROS jazzy and the frequency is also 500hz.

InigoMoreno avatar Jun 17 '25 12:06 InigoMoreno

how can we solve this problem?

luvwinnie avatar Jul 11 '25 06:07 luvwinnie

the throttled print is only a consequence, but the root cause is that the CM can't run at the requested update rate. you should check your OS settings, and maybe lower the frequency if it can't handle the high update rate.

christophfroehlich avatar Jul 11 '25 08:07 christophfroehlich

Hi, I am also having the same issue as well (using ROS 2 Jazzy). I have tried lowering the frequency and this also did not help; I have tried 150, 100, 50, and 10 Hz. I still continue to get the error Overrun detected! The controller manager missed its desired rate... The way I am lowering the the frequency is by running in the terminal ros2 param set /controller_manager update_rate 10.I have also tried doing it through the yaml file provided by my robot's controller package (using an uFactory xArm7). I am also looking at the system manager and don't think it's cpu related. I'm using linux and running ros through docker (Ubuntu 24.04). Any help with this would be great---thank you!

dbarsoum avatar Aug 11 '25 22:08 dbarsoum

I tried one more thing and it seemed to fix it; @christophfroehlich was correct that a lower frequency needs to be set. I went into my robot's controller_manager package into the yaml file and lowered it from 150 (which was the issue) to 50. When I edited my post above, I only tried 100 and 10 Hz. This is the yaml file I changed: https://github.com/xArm-Developer/xarm_ros2/blob/humble/xarm_controller/config/xarm7_controllers.yaml under parameter update_rate. So far no issues. Hope this helps others! Thank you!

dbarsoum avatar Aug 12 '25 00:08 dbarsoum

This issue is being labeled as stale because it has been open 45 days with no activity. It will be automatically closed after another 45 days without follow-ups.

github-actions[bot] avatar Sep 26 '25 12:09 github-actions[bot]

This issue was closed because it has been stalled for 45 days with no activity.

github-actions[bot] avatar Nov 10 '25 12:11 github-actions[bot]