-
Notifications
You must be signed in to change notification settings - Fork 523
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
(moveit_py) node can have multiple param files #2393
Conversation
24899ad
to
ddde552
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2393 +/- ##
==========================================
+ Coverage 50.46% 50.84% +0.39%
==========================================
Files 385 386 +1
Lines 31831 32002 +171
==========================================
+ Hits 16061 16269 +208
+ Misses 15770 15733 -37 ☔ View full report in Codecov by Sentry. |
3731251
to
a49ab0b
Compare
@peterdavidfagan any changes I need to make to this PR? Or is it ready for review? |
Hey @MatthijsBurgh, This looks good to me, thank you for this contribution. I have a paper deadline for October 10th, once this passes I'll test the above changes on my side. |
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.
Thank you for addressing this issue! What I'm not really following is why we have to parse cli_args, and why we can't simply forward all the launch arguments blindly. Maybe @peterdavidfagan can give an explanation for this?
It has been a while since I looked at this but below is my understanding.
Short Answer Long Answer If the user themselves don't pass a config dict from MoveItConfigsBuilder in their Python script, the parameters are automatically taken from the cli args in the constructor as seen here. This honestly could be cleaned up, in terms of the statements used in the constructor. This being said I am unsure if there is a cleaner way to simply forward launch parameter arguments as the instance doesn't inherit from the The logic for constructing cmd arguments from parameters can be found here. This same script provides comments for how the node parameters are parsed etc. Reason for Changes rclpy approach |
@MatthijsBurgh I am testing your changes now, thanks for this contribution it is clearly an improvement over what was there before. Would you be up for performing an interactive rebase of your branch so it only contains commits for the latest changes? This would be useful for commit history readability. I am going to quickly test on my side and then complete a review of the changes. Update I can see that your changes works so far as specifying param files. |
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.
Approving these changes, they accomplish the fix of ensuring multiple parameter files get parsed which improves over the existing code. While going through this PR other issues relating to parsing of parameters were encountered. Follow up work will address these issues.
A node is often started with multiple param files. Using `list.index` only returns the first occurrence. The new code searches for all occurrences.
9c05ccc
to
7bd1b85
Compare
I rebased this PR on main. Dropping the merge commit. I do think we should merge this PR, not waiting on the other open issues. |
Agreed on the above. |
P.S. Do I still need approval to run workflows as I am still a first time contributor. Since this PR isn't merged yet? Or are your workflow settings strict that at all time outside contributors need approval. In that case, you maybe want to relax that. As that would speed up the process a little bit. |
Yeah the workflows usually require a maintainer to approve. I believe there is a financial cost associated with these workflows so it might be problematic to run them for every update to a pr. I agree though it would be nice to have the permission to manually trigger workflows, at the moment I think only maintainers can do this. Update: I addressed the config file issue in the tutorials, I agree this is ready to be merged. |
@peterdavidfagan friendly ping to trigger CI :) |
Hi @MatthijsBurgh unfortunately I don't have access to trigger CI but @henningkayser or @sjahr may be able to help as they are maintainers and should have access. I have been using your code and all is good hopefully these changes can be merged soon. |
@sjahr It seems the CI issues are not related to the changes in this PR. Correct? |
A node is often started with multiple param files. Using `list.index` only returns the first occurrence. The new code searches for all occurrences. (cherry picked from commit 15d9d61)
A node is often started with multiple param files. Using `list.index` only returns the first occurrence. The new code searches for all occurrences. (cherry picked from commit 15d9d61) Co-authored-by: Matthijs van der Burgh <[email protected]>
Description
A node is often started with multiple param files. Using
list.index
only returns the first occurrence. The new code searches for all occurrences.Checklist
Please backport to iron and rolling.