-
Notifications
You must be signed in to change notification settings - Fork 158
Initial implementation of ScopedIncludeLaunchDescription #841
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
base: rolling
Are you sure you want to change the base?
Conversation
8a52136
to
ead8657
Compare
Signed-off-by: SuperJappie08 <[email protected]>
ead8657
to
03c79ae
Compare
Currently, I'm stuck due to this feature resulting in confusing behavior on the user side. |
Signed-off-by: SuperJappie08 <[email protected]>
Added a 'globals' launch configuration protection set, so things which should not be scoped (such as `launch_ros` `PushRosNamespace`) can be registered. Signed-off-by: SuperJappie08 <[email protected]>
Signed-off-by: SuperJappie08 <[email protected]>
Signed-off-by: SuperJappie08 <[email protected]>
It works, I implemented the second solution explained in the original issue. There is now a launch local variable named I have also patched More tests are probably necessary/nice, but I would like some feedback on the current implementation before moving forward. EDIT: Commented to eagerly |
Thanks for starting this PR. I agree with the issues you've pointed out regarding the ROS namespace and the launch configurations—specifically, how remapping and namespace settings aren't properly propagated due to scoping. Additionally, I don't think using ResetEnvironment within the scope is desirable in most cases. Many launch files and nodes rely on environment variables being set, so it's generally more appropriate to forward those variables into the included launch description rather than resetting them. |
Currently, it's mirroring the behavior of Currently, the only (standard ROS) environment variables, I can think of are RMW/communication related (e.g. implementation, settings, Domain ID), these should be set before launching, as If I'm really missing a use case, I'm willing to make the change (or add an option), however doing a quick search, I found few uses of The main use of a use that affects multiple nodes would be the The more I think about it, the more it makes sense to change this, I think restoring the environment variables at the end of the scope still makes sense (e.g. revert to what it was before the scope started). |
@emersonknapp, friendly ping. |
@emersonknapp, friendly ping. |
Implementation of a scoped include-action as suggested and discussed in #801.
TODO:
Currently, the
Scoped
name indicator is placed in different places in the class and file name.This probably should be unified for consistency.