How to limit publishing rates of micrortps_client?

Setup: PX4 v1.11 <-- FastRTPS --> ROS2 Foxy

Issue:

Some messages have much higher publishing rates than I need. What is the appropriate way of lowering the rates? The v1.11 release only provides the -w option (v1.9 also had -u) for the micrortps_client, which limit the rates of all messages.

  1. Is the -w option the appropriate and only way (without modifying source)?
  2. What if I want to adjust the rate of a single message - can it be done?
  3. When using the -w option, is this simply implemented as a subsampling of the uORB messages?
  4. Does the baudrate option (-b) impose any dynamic adjustment of the rates?

Thanks!

-u wasn’t doing anything in specific regarding message throttling.

  1. Right now it’s the only method possible - but it applies throttling on all topics.
  2. Not at this point. That might be feasible if we add it as an option similarly to what is done to set the topics to be sent or received. Contributions are welcomed.
  3. It’s publish throttling.
  4. No. That would though be rather complex to achieve because each topic has its own requirements ans specificities for data rates - you cannot apply a single reduction scale to all topics because there are topics that you will require to be published at the rate that they streamed in uORB.