Resolves #215
Allows us to specify multiple .yaml files when doing ros2 launch. What this does is allow us to specify a base configuration and allow for overriding of specific nodes. For example, if we do ros2 launch network_systems main_launch.py config:=config1.yaml,config2.yaml, then:
globals.yaml is loaded and processed
config1.yaml is loaded and overrides any duplicate parameters with globals.yaml
config2.yaml is loaded and override previous duplicate parameters
Non-duplicate parameters are unchanged.
To take advantage of this overriding structure, main_launch.py in subteam repos should be updated such that:
inside get_global_launch_arguments() assign a global variable global_launch_config = module.GLOBAL_LAUNCH_CONFIG
In each get_x_description(), assign ros_parameters = [global_launch_config, *LaunchConfiguration("config").perform(context).split(","), <whatever else>]
Description
.yaml
files when doingros2 launch
. What this does is allow us to specify a base configuration and allow for overriding of specific nodes. For example, if we doros2 launch network_systems main_launch.py config:=config1.yaml,config2.yaml
, then:To take advantage of this overriding structure, main_launch.py in subteam repos should be updated such that:
get_global_launch_arguments()
assign a global variableglobal_launch_config = module.GLOBAL_LAUNCH_CONFIG
get_x_description()
, assignros_parameters = [global_launch_config, *LaunchConfiguration("config").perform(context).split(","), <whatever else>]
Verification
Resources