You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am currently looking into the issue why our ros2control node is consuming 100% cpu load.
For testing purposes I disabled all loaded controllers one by one. As expected the cpu drops a bit for each controller. But for the joint state broadcaster this was rather extreme. I see a change in cpu load for node of ~15-20%.
This is not the case for other controllers that publish messages at the same rate of 500Hz.
We have a rather large amount of joints in our system: 34.
Expected behavior
I would expect that such a simple controller shouldn't consume that much cpu power.
Environment (please complete the following information):
OS: ubuntu 24.04
Version Jazzy - 4.16.0
Additional context
When taking a look at the code I would guess at the moment three places that could result in a higher cpu load:
there are rather many operations on the map_interface_to_joint_state_ -> but unordered_map should be fast enough
mutex operation in the RT publisher
Reading the values from the state interfaces -> Not sure if there is any synchronization happening ?
The text was updated successfully, but these errors were encountered:
Strange. To narrow that down, I'd comment the different publishers in the update() method and see if the publishers or the state_interface.get_value() is causing this behavior..
I highly doubt that it is caused due to the handles. In a synchronous system, mutexes shouldn't do anything. So, as @christophfroehlich suggested try to check with the publishers and see.
Describe the bug
I am currently looking into the issue why our ros2control node is consuming 100% cpu load.
For testing purposes I disabled all loaded controllers one by one. As expected the cpu drops a bit for each controller. But for the joint state broadcaster this was rather extreme. I see a change in cpu load for node of ~15-20%.
This is not the case for other controllers that publish messages at the same rate of 500Hz.
We have a rather large amount of joints in our system: 34.
Expected behavior
I would expect that such a simple controller shouldn't consume that much cpu power.
Environment (please complete the following information):
Additional context
When taking a look at the code I would guess at the moment three places that could result in a higher cpu load:
map_interface_to_joint_state_
-> but unordered_map should be fast enoughThe text was updated successfully, but these errors were encountered: