How to remap a private parameter
In a launch file I want to remap parameters of my node to other, already existing parameters. It is working for global parameters but not for private ones.
This is a simple example node "param.py":
#!/usr/bin/env python
"""Just testing parameter mapping."""
import rospy
rospy.init_node("param")
print(rospy.get_param("foo"))
print(rospy.get_param("bar"))
print(rospy.get_param("~baz"))
The node is launched by this launch file "param.launch":
<launch>
<node name="param" pkg="mypkg" type="param.py" output="screen">
<remap from="/bar" to="/foo" />
<remap from="baz" to="foo" />
</node>
</launch>
In a terminal I run:
rosparam set foo 42
roslaunch mypkg param.launch
The output is:
42
42
KeyError: '~baz'
How can I make it work?
I'm afraid
rosparam
would fail without Parameter server running. Maybe addroscore
command a line above?