Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Subscriber to topic throughput decrease eventually #930

Open
oriolorra opened this issue May 31, 2024 · 1 comment
Open

Subscriber to topic throughput decrease eventually #930

oriolorra opened this issue May 31, 2024 · 1 comment
Labels

Comments

@oriolorra
Copy link

Hi,

I have encountered some odd behavior. At some point, a subscriber topic decrease throughput, when the publishing topic does not decrease the throughput.

  1. I have a cpp node publishing a string representing a base64 image at 10Hz, which its rate does not decrease over time. Checked via ros2 topic hz /b64_image.
  2. Rosbridge_server is launched too, via ros2 launch rosbridge_server rosbridge_websocket_launch.xml.
  3. A webpage is receiving /b64_image with roslibjs, and the image is rendered into a canvas. Eventually, the frame rate (fps) of message received decrease almost to 0 fps (image attached). If, I refresh manually, the webpage returns to 10fps but return to 0 fps a few seconds later.

Roslibjs topic is configured like this:

 var listener = new ROSLIB.Topic({
    ros : ros,
    name : '/b64_image',
    messageType : 'std_msgs/String',
    queue_size: 1,
    throttle_rate: 10
    })

image

  • Library Version: 1.3.2-1jammy.20240517.175148
  • ROS Version: ROS2 Humble
  • Platform / OS: Ubuntu 22.04

Expected Behavior
I expect to get an almost constant frame rate at 10 fps at the webpage, let's say forever.

Actual Behavior
Webpage has 10 fps during only a few seconds/minuts.

Thanks

@oriolorra oriolorra added the bug label May 31, 2024
@joshjowen
Copy link

joshjowen commented Nov 15, 2024

We use our robots in environments where the network conditions are sometimes quite bad and I have seen the exact same issue which seems to be exacerbated by the network dropping in and out. I was able to fix it by removing the timeout at

executor.spin_once(timeout_sec=0.01)
I would be interested to see if that fixes it for you too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants