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'm using this package to interface with my robot hardware, which is connected via 2 CAN networks. However, my sensors return data at a fairly high rate; the sensor network alone is sending messages at over 2250 Hz. This is not actually that fast for computer systems. However, the FastRTPS DDS implementation for ROS2, the default, is not really capable of handling messages this rapidly, at least not with any kind of reliability.
Although using a different middleware implementation might potentially solve this issue, I'd prefer not to be dependent on any specific implementation. Therefore, I'm looking for alternative solutions first.
Is there a way to reduce the amount of messages passed through by this node? For instance, a filter that only allows messages with a certain node ID to be puclished every X ms?
Alternatively, is there a way to change the qos settings for this node so not all messages are sent with 'reliable' reliability? I suspect my system would perform a lot better if I could set this to 'best-effort', but there don't seem to be any parameters supporting that.
The text was updated successfully, but these errors were encountered:
Thank you, that's an interesting article. However, if I'm understanding correctly, Zenoh operates in addition to the ROS DDS implementation to enable additional networking functionality. Since my issue is being caused by the DDS implementation, Zenoh will not resolve it.
I will remember this article for later, it may prove very useful if I ever want to implement ROS communication over the internet.
I'm using this package to interface with my robot hardware, which is connected via 2 CAN networks. However, my sensors return data at a fairly high rate; the sensor network alone is sending messages at over 2250 Hz. This is not actually that fast for computer systems. However, the FastRTPS DDS implementation for ROS2, the default, is not really capable of handling messages this rapidly, at least not with any kind of reliability.
Although using a different middleware implementation might potentially solve this issue, I'd prefer not to be dependent on any specific implementation. Therefore, I'm looking for alternative solutions first.
Is there a way to reduce the amount of messages passed through by this node? For instance, a filter that only allows messages with a certain node ID to be puclished every X ms?
Alternatively, is there a way to change the qos settings for this node so not all messages are sent with 'reliable' reliability? I suspect my system would perform a lot better if I could set this to 'best-effort', but there don't seem to be any parameters supporting that.
The text was updated successfully, but these errors were encountered: