ros中launch文件载入配置文件遇到的问题

在ros中学习编写launch文件,我看在node标签下经常用args来传递参数给节点,比如
pkg="rviz" name="rviz" type="rviz" args="-d $(find hdl_localization)/rviz/hdl_localization.rviz"   />

其中args后边跟着一个参数 -d,这个参数表达什么意思呢?因为我学着这样写载入配置文件的时候会报错:

pkg="vins" name="vins" type="vins_node" args="-d $(find vins)/../config/realsense.yaml"   />

然而我去掉-d这个参数,就能正常运行,请各位伙伴指点。我在roswiki中也没有找到相关解释,只有如下简单的解释:

args="arg1 arg2 arg3"(optional)

Pass arguments to node.

谢谢各位,求指点。

望采纳


args 是一个选项,用于将参数传递给 ROS 节点。上例中,-d 是一个参数,表示后边跟着的是一个路径。


通常,-d 用于指定一个路径,表示要加载的配置文件或其他数据。上例 -d 的含义是:"加载 $(find vins)/../config/realsense.yaml 这个文件"。


如果你没有使用 -d,可能无法正常加载配置文件,导致报错。试试在 args 中添加 -d 参数,如下所示:

<node  pkg="vins" name="vins" type="vins_node" args="-d $(find vins)/../config/realsense.yaml"   />