ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

I guess your core question is: to dynamically change values in the params server, using "rosparam set XX" in another terminal works, but using "load XXX.yaml" doesn't. why would this happen? you may wondering.. since the the documents tell us the "load XXX.yaml" is the same as "rosparam set XX" except for it uses a file the store the values to be set.

I faced the exactly the same issue, and here's the findings: the param name will be different with different setting method: method_1: write "load XXX.yaml" in the launch file and start it using the roslauch. method_2 use "load XXX.yaml" directly. for method_1, the generated param name will have the package name before the param name, the exact name will be like: "pkgname/paramname" . While with method_2, it will be like "paramname".

therefore, your code will likely to use the name "pkgname/paramname", and after launching, your load params in using "load XXX.yaml", the loaded name will be "paramname", see, they are different. that's why your program not reacting to "load XXX.yaml".