ROS YAML文件中的环境变量?
有没有办法在启动文件期间加载的ROS yaml文件中使用环境变量 比如说, 测试启动:ROS YAML文件中的环境变量?,yaml,ros,Yaml,Ros,有没有办法在启动文件期间加载的ROS yaml文件中使用环境变量 比如说, 测试启动: <launch> <rosparam command="load" file="example.yaml" /> </launch> 我知道您可以使用或标记将环境变量作为参数加载到启动文件中,但是当有很多参数时,将它们定义在单独的.yaml文件中要整洁得多。有推荐的方法吗?没有,并且不支持读取yaml文件中的env变量 您可以创建多个不同名称的yaml文件,
<launch>
<rosparam command="load" file="example.yaml" />
</launch>
我知道您可以使用
或
标记将环境变量作为参数加载到启动文件中,但是当有很多参数时,将它们定义在单独的.yaml文件中要整洁得多。有推荐的方法吗?没有,并且不支持读取yaml文件中的env变量
您可以创建多个不同名称的yaml文件,并使用启动文件中的env变量有选择地加载它们,例如:
<launch>
<rosparam command="load" file="$(optenv VEHICLE_NAME default_vehicle_name)_example.yaml" />
</launch>
`标签有一个属性subst\u value
,用于启用env
、optenv
等。当直接添加到启动文件中时,YAML文本的替换参数。这是以下工作:
foo:$(环境用户)
对于和更高版本的,它在使用外部YAML文件时也有效:
<launch>
<rosparam command="load" file="$(optenv VEHICLE_NAME default_vehicle_name)_example.yaml" />
</launch>