What does this line do?

Professor, Below is the line from a launch file:
<rosparam file="$(find husky_navigation)/config/costmap_global_static.yaml" command="load" ns="global_costmap" unless="$(arg no_static_map)"/>

  1. What does rosparam do ?
  2. What’s the function of file, command, ns, unless, and if ?
  3. Are the names in the 2nd question fixed ?

Hi ,

  1. It loads all the parameters defined in that .yaml file into the ros parameter server, so that all the rosprogarms can access that data.

  2. file: you define which file to load, command: tell this node what to do ( this is something unique of this rosparam tag ), ns: namespace of the data, in case you want to set those parameters inside a namespace . Very useful when various robots have the same names in the parameters.

  3. Most of them, in this example yes, because the navigation system expects those values.

1 Like

What about unless and if, Professor Miguel @duckfrost ?