-
Notifications
You must be signed in to change notification settings - Fork 70
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
Add latest time zero-order-hold sync policy #73
Conversation
Signed-off-by: Michael Anderson <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've left a few comments inline.
Besides that, it might be nice to add in some documentation to the top of latest_time.h
that describes briefly what this sync policy does, and how to use it.
Co-authored-by: Chris Lalancette <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
Thanks @clalancette ! I added some some documentation at the top of the header. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The functionality works for me. I have some questions and suggestions. Take it all with a grain of salt since it's my first time touching this repo 😄
Co-authored-by: Louise Poubel <[email protected]>
…ne is selected Signed-off-by: Michael Anderson <[email protected]>
…ndermi/message_filters into andermi/latest_time_zoh_policy
Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
Signed-off-by: Michael Anderson <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for iterating, LGTM! I'd appreciate a review from one of the maintainers though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, looks pretty good to me. I've left a few things inline that I think we should address.
Co-authored-by: Chris Lalancette <[email protected]>
…igs; other PR comments Signed-off-by: Michael Anderson <[email protected]>
@clalancette I think/hope I've addressed your comments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All right, one last pass. Once these things are fixed, we'll be ready to run CI on it.
Signed-off-by: Michael Anderson <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! The next step here is to run CI, but we are currently having some infrastructure issues with CI. Once those are resolved I'll do the CI run.
Signed-off-by: Michael Anderson <[email protected]>
I actually did find a small intermittent bug |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like there are some Windows warnings being introduced by this PR:
https://ci.ros2.org/job/ci_windows/17217/msbuild/new/#issuesContent
This is currently blocked by timing issue in windows CI.
In Linux, a threshold of 10 * EMA#2 is used for detecting if the message rate changed. On windows, the rate change is not being detected the same way. |
Signed-off-by: Michael Anderson <[email protected]>
@clalancette, @quarkytale I gave it another shot... I spun up ros2 dev on my windows machine. |
Looks like compiler warnings causing |
Signed-off-by: Michael Anderson <[email protected]>
@quarkytale would you mind running another one? I fixed the 7 msbuild warnings related to conversion from |
I'm not sure if the warnings were an issue, but good to have them cleared. Seems like some tests are being skipped, that might be the reason for unstable status. Other things that stood out to me:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM and CI is green!
https://github.com/Mergifyio backport humble |
✅ Backports have been created
|
* adding latest time zoh policy Signed-off-by: Michael Anderson <[email protected]> * remove commented code * Update include/message_filters/sync_policies/latest_time.h Co-authored-by: Chris Lalancette <[email protected]> * updates from PR comments Signed-off-by: Michael Anderson <[email protected]> * cleanup includes Signed-off-by: Michael Anderson <[email protected]> * adding documentation Signed-off-by: Michael Anderson <[email protected]> * Update include/message_filters/sync_policies/latest_time.h Co-authored-by: Louise Poubel <[email protected]> * address PR comments; add new test for if pivot changes rate and new one is selected Signed-off-by: Michael Anderson <[email protected]> * adding message rate step change detection and EMA filter reset Signed-off-by: Michael Anderson <[email protected]> * whitespace Signed-off-by: Michael Anderson <[email protected]> * whitespace Signed-off-by: Michael Anderson <[email protected]> * detect if pivot message is late Signed-off-by: Michael Anderson <[email protected]> * add ChangeRateLeading test Signed-off-by: Michael Anderson <[email protected]> * whitespace Signed-off-by: Michael Anderson <[email protected]> * Update include/message_filters/sync_policies/latest_time.h Co-authored-by: Chris Lalancette <[email protected]> * add option to take instance of rclcpp::Clock; make magic numbers configs; other PR comments Signed-off-by: Michael Anderson <[email protected]> * clean up; handle zero period Signed-off-by: Michael Anderson <[email protected]> * check for late message after avg error is calculated Signed-off-by: Michael Anderson <[email protected]> * control test timing with sim time Signed-off-by: Michael Anderson <[email protected]> * fix msbuild compiler warnings Signed-off-by: Michael Anderson <[email protected]> Signed-off-by: Michael Anderson <[email protected]> Co-authored-by: Chris Lalancette <[email protected]> Co-authored-by: Louise Poubel <[email protected]> (cherry picked from commit e0055f3)
* adding latest time zoh policy Signed-off-by: Michael Anderson <[email protected]> * remove commented code * Update include/message_filters/sync_policies/latest_time.h Co-authored-by: Chris Lalancette <[email protected]> * updates from PR comments Signed-off-by: Michael Anderson <[email protected]> * cleanup includes Signed-off-by: Michael Anderson <[email protected]> * adding documentation Signed-off-by: Michael Anderson <[email protected]> * Update include/message_filters/sync_policies/latest_time.h Co-authored-by: Louise Poubel <[email protected]> * address PR comments; add new test for if pivot changes rate and new one is selected Signed-off-by: Michael Anderson <[email protected]> * adding message rate step change detection and EMA filter reset Signed-off-by: Michael Anderson <[email protected]> * whitespace Signed-off-by: Michael Anderson <[email protected]> * whitespace Signed-off-by: Michael Anderson <[email protected]> * detect if pivot message is late Signed-off-by: Michael Anderson <[email protected]> * add ChangeRateLeading test Signed-off-by: Michael Anderson <[email protected]> * whitespace Signed-off-by: Michael Anderson <[email protected]> * Update include/message_filters/sync_policies/latest_time.h Co-authored-by: Chris Lalancette <[email protected]> * add option to take instance of rclcpp::Clock; make magic numbers configs; other PR comments Signed-off-by: Michael Anderson <[email protected]> * clean up; handle zero period Signed-off-by: Michael Anderson <[email protected]> * check for late message after avg error is calculated Signed-off-by: Michael Anderson <[email protected]> * control test timing with sim time Signed-off-by: Michael Anderson <[email protected]> * fix msbuild compiler warnings Signed-off-by: Michael Anderson <[email protected]> Signed-off-by: Michael Anderson <[email protected]> Co-authored-by: Chris Lalancette <[email protected]> Co-authored-by: Louise Poubel <[email protected]> (cherry picked from commit e0055f3) Co-authored-by: andermi <[email protected]>
Rate logic added to #38.
Computes rates of received messages and pivots on fastest topic; essentially, upsamples slower topics with a zero-order hold.