You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
include_launch_description now searches exhaustively for all declared arguments inside a launch file and all of the included files inside it.
For a huge launch system like the one I am testing, the function will search through all the included files (regardless it is included or not by <group if=false/true>) to check argument validity. But when we go onto the process of the subfiles, the function will again search through all the sub-subfiles. Which essentially leads to a search complexity of at least $O(n^2)$.
More importantly, the search itself is a standalone part of codes that only reports errors but does not contribute to the launch process.
Without argument checking in include, each declare_launch_arugment will also cleanly throw out an error and cleanly terminate the program when the value is not provided.
The launching process of other parts of the code is now $O(n)$ and more manageable for large system.
Implementation considerations
Experiment: Completely Eliminate the Argument Checking in include_launch_description
Launching with correct arguments: I observed a significant boost of speed in launching our repo.
Launching with in-complete arguments: the launch will fire up some of the corrected packages in the order of the launch file -> declare_launch_arugment throws error messages about the lack of required argument -> everything quit cleanly including the launched nodes.
Pros: easy to implement and fast.
Cons: Some users may expect the launch system to quit directly before launching up any nodes.
Personal Considerations
I hope this could at least become an optional mechanism by adding arguments to the launch command.
The text was updated successfully, but these errors were encountered:
Feature request
Feature description
I would hope to add an argument to skip the argument checking in
actions/include_launch_description.py
.Background
include_launch_description
now searches exhaustively for all declared arguments inside a launch file and all of the included files inside it.<group if=false/true>
) to check argument validity. But when we go onto the process of the subfiles, the function will again search through all the sub-subfiles. Which essentially leads to a search complexity of at leastinclude
, eachdeclare_launch_arugment
will also cleanly throw out an error and cleanly terminate the program when the value is not provided.Implementation considerations
Experiment: Completely Eliminate the Argument Checking in
include_launch_description
Locally I have conducted this experiment.
Commenting out Line 163 - 177.
declare_launch_arugment
throws error messages about the lack of required argument -> everything quit cleanly including the launched nodes.Pros: easy to implement and fast.
Cons: Some users may expect the launch system to quit directly before launching up any nodes.
Personal Considerations
I hope this could at least become an optional mechanism by adding arguments to the launch command.
The text was updated successfully, but these errors were encountered: