<launch>
<arg name="role_name" default="hero" />
<arg name="detect_range" default="30.0" />
<node pkg="gap_selector" type="gap_selector" name="gap_selector" output="screen">
<param name="role_name" value="$(arg role_name)" />
<param name="detect_range" type="double" value="$(arg detect_range)" />
</node>
</launch>
c++中的launch文件中的param要加上类型
那么在执行文件中如何调用呢?
int main(int argc, char **argv)
{
ros::init(argc, argv, "gap_selector");
ros::NodeHandle n("~");
double detect_range;
if (n.getParam("detect_range", detect_range))
{
ROS_INFO("Got param: %f", detect_range);
}
else
{
detect_range = 50.0;
ROS_ERROR("Failed to get param 'detect_range'");
}
...
}
c++中param可以通过rosparam list 来查看