No, this is not supported.
as is also described on the wiki/roslaunch page, roslaunch
has a very specific way of loading and evaluating .launch
files. Parameters are all evaluated and loaded onto the parameter server first, then nodes are started.
Doing what you ask for would also be difficult to implement robustly, as it's very easy to create (invisible, to roslaunch
) cycles (fi: param A needs B which tries to get(..)
A).
I'm loading yaml config:
<rosparam file="$(find package_name)/config/main_config.yaml" command="load"/>
Then I want to run node using rosparams:
<node pkg="/params/param1" type="/params/param2" name="/params/param3">
Maybe should I save param as arg? So how to get rosparam as arg?
<arg name="arg_name1" value="/params/param1" />
<arg name="arg_name2" value="/params/param2" />
<arg name="arg_name3" value="/params/param3" />
And then:
<node pkg="arg_name1" type="arg_name2" name="arg_name3">
I'm not sure I completely understand what you're trying to do, but putting all these details in .yaml
files seems like something you may not want to do.
The whole point of .launch
files is to provide a way to configure your deployment and bringup. You seem to be looking to create a .launch
file completely parameterised by a .yaml
file (or multiple files). That's not what this was all created for.
Perhaps if you could help us understand why you want to create such a structure, we could provide (a) better answer(s).
This is a question which comes up quite often and has many existing Q&As already. The following are some related/duplicate questions (in no particular order): #q226980, #q210479, #q213145, #q339208, #q234510 and #q330129.