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
We compiled ROS2 Eloquent with Fast RTPS middleware implementation on arm32 (Raspberry Pi Zero). In general, it works quite good, but we are experiencing low FPS when we send images locally (publisher and subscriber onboard). We profiled our node and noticed that a lot of images are dropped - the images are acquired and sent (publisher->publish()) at 10Hz but the subscriber (ros2 topic hz image_raw) receives them at 3 - 4Hz.
Expected Behavior
Since both nodes, publisher and subscriber, are running locally I would expect it to easily achieve 10fps. The images are around 1MB (640x480x3).
Current Behavior
Achieved fps is around 3 - 4 and the CPU is at ~100%
I assume that the messages are dropped because the device cannot handle the workload. But since the high CPU usage is caused by Fast RTPS I was wondering if it is possible to reduce it?
The text was updated successfully, but these errors were encountered:
MiguelCompany
changed the title
High CPU usage when big message are published on arm32
High CPU usage when big message are published on arm32 [8995]
Jul 30, 2020
Unfortunately we don't have the hardware to verify your issue, but we did some improvements that can and should affect your case. It'd be nice if you could try with master branch. Furthermore, if both publisher and subscriber are in the same machine, you could benefit from Fast DDS Shared Memory Transport. If you have any problems setting it up just let us know and we'll be happy to guide you.
Fast DDS (formerly known as FastRTPS) 1.9.x has reached end of life. Also, Raspbian Buster OS is not officially supported. Finally, a possible fix or improvement was provided last year and no feedback was received. Consequently, I am going to close this issue due to inactivity and unsupported OS and release.
We compiled ROS2 Eloquent with Fast RTPS middleware implementation on arm32 (Raspberry Pi Zero). In general, it works quite good, but we are experiencing low FPS when we send images locally (publisher and subscriber onboard). We profiled our node and noticed that a lot of images are dropped - the images are acquired and sent (
publisher->publish()
) at 10Hz but the subscriber (ros2 topic hz image_raw
) receives them at 3 - 4Hz.Expected Behavior
Since both nodes, publisher and subscriber, are running locally I would expect it to easily achieve 10fps. The images are around 1MB (640x480x3).
Current Behavior
Achieved fps is around 3 - 4 and the CPU is at ~100%
Steps to Reproduce
System information
I assume that the messages are dropped because the device cannot handle the workload. But since the high CPU usage is caused by Fast RTPS I was wondering if it is possible to reduce it?
The text was updated successfully, but these errors were encountered: