# Failed to get parameters after launching .launch file from another .launch file? [closed]

I have .launch (turtlebot3.launch) file in which I am launching a node, that needs parameters. I take parameters as argument in launch file (turtlebot3.launch) such as x, y, radius etc under node /spawn. I am launching this file multiple times with other launch file (multi_robots.launch).

<group ns="$(arg robot1)"> <include file="$(find path_planning)/launch/turtlebot3.launch">
<arg name="robot" value="$(arg robot1)"/> <arg name="radius" value="0.08"/> <arg name="x" value="5."/> <arg name="y" value="6."/> <arg name="theta" value="0."/> <arg name="x_goal" value="6."/> <arg name="y_goal" value="2."/> <arg name="theta_goal" value="0."/> <arg name="robot_color" value="[50,50,50]"/> <arg name="laser_color" value="[0,255,0]"/> </include> </group>  Basically, args passed here above are parameters for another launch file. Now there are parameters for robot1/spawn such as x, y, radius. But when I try to get parameters rospy.get_param('/robot1/spawn/radius')  It raises KeyError: '/robot1/spawn/radius' They are not shown in the rosparam list either. I am not sure If something like this is possible or not. If not, is there any suggestions I can try? I need parameters(mainly radius and start) for each robots in one node. ROS noetic, Python3 edit retag reopen merge delete ### Closed for the following reason the question is answered, right answer was accepted by aarsh_t close date 2021-04-26 06:22:56.489126 ## 2 Answers Sort by » oldest newest most voted It was noticed that spawn was being shut down before I access the parameters from /spawn due to that I was unable to catch the relative parameters of spawn node. As a solution, I defined same parameters under node I was using that parameter. I am passing these parameters as arguments in other launch file, It was just a small edit in launch file. Thank you @gvdhoorn for direction. more But when I try to get parameters rospy.get_param('/robot1/spawn/radius')  It raises KeyError: '/robot1/spawn/radius' They are not shown in the rosparam list either. that's because arg are not necessarily (ros)param. args are arguments that get passed to the .launch file you include. Whether they end up as parameters on the parameter server depends on what the included .launch file does with them. more ## Comments they ends up as parameters in other launch file. Let me share snippet of other launch file (turtlebot3.launch) <arg name="robot" default="waffle1"/> <arg name="radius" default="0.08"/> <arg name="x" default="2."/> <arg name="y" default="1."/> <arg name="theta" default="0."/> <node pkg="map_simulator" type="spawn" name="spawn" output="screen"> <param name="zero_joints" value="true"/> <param name="static_tf_odom" value="true"/> <param name="radius" value="$(arg radius)"/>
<param name="x" value="$(arg x)"/> <param name="y" value="$(arg y)"/>
<param name="theta" value="\$(arg theta)"/>
</node>

( 2021-04-19 03:46:36 -0600 )edit

It was noticed that spawn was being shut down before I access the parameters from /spawn due to that I was unable to catch the relative parameters of spawn node. As a solution, I defined same parameters under node I was using that parameter. I am passing these parameters as arguments in other launch file, It was just a small edit in launch file. Thank you @gvdhoorn for direction.

( 2021-04-19 11:37:30 -0600 )edit