Add queue_size to the forward command controller#2204
Add queue_size to the forward command controller#2204saikishor wants to merge 1 commit intoros-controls:masterfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2204 +/- ##
=======================================
Coverage 84.90% 84.91%
=======================================
Files 153 153
Lines 14995 14997 +2
Branches 1290 1290
=======================================
+ Hits 12732 12734 +2
Misses 1790 1790
Partials 473 473
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Thanks for this addition, the Is one of the intended use cases supporting action chunking (e.g. batched action sequences from a learned policy)? If so, one friction that I am seeing: FCC currently doesn't seem to have a way to consume a chunk as an ordered sequence at the intended execution cadence. To compensate for that, a policy node could:
For action chunking to work correctly, more work may be needed. If the use case is in scope, happy to discuss more. |
@Juliaj the changes proposed in this PR has nothing to do with action chunking. That's completely different topic. It depends on the usecase, I have a usecase where every point of the Trajectory is important and I cannot miss it, and I can use this queue_size to obtain that |
@saikishor thanks for clarifying. Just to make sure I understand, is the missing command issue caused by command bursts or a slower FCC update cycle? The fix reduces message loss at the DDS layer, but since I'm guessing you considered a |
|
This is because with forwarded command controller maybe you are interested in all commands like me instead of only the latest value. The problem with using latest value is that it causes jerks. |
christophfroehlich
left a comment
There was a problem hiding this comment.
release notes are missing. The SystemDefaultsQoS depends on the middleware, but what is default for fastrtps for example? keep_last(10)?
No clue |
|
Self note: Change to add the RTBuffer to have more info stored and to not have losses between RT and nonRT loop |
|
With the default value 1 of the newly introduced parameter, you just disable the queue actually? |
This adds the queue_size to the forward command controller, so that setting a proper value you can avoid the commands sent from nonRT loop from being missed