n.paramstd::string>("my_param", s, "default_value");//代表将名字为my_param的参数值赋值给s变量,没有参数值时则使用默认参数值
如:
nh_param.param<string>("imageTopic", imageTopic, "/pandora/sensor/pandora/camera/front_color");
nh_param.param<string>("targetPoseTopic", targetPoseTopic, "/target_pose_img");
意思就是我launch文件里面有这个imageTopic(前面这个)的参数值的赋值,则赋值给imageTopic(后面这个),后面的"/pandora/sensor/pandora/camera/front_color就会忽略。
假如我launch文件里面没有这个imageTopic的定义,则就用/pandora/sensor/pandora/camera/front_color
这种传递参数的方式非常适合调试