来自参考书《ROS开源机器人控制基础》
在ROS应用中,一般涉及多个节点,每个节点又有多个参数,可以编写.launch文件,然后用roslaunch命令运行。
Launch文件名格式:
<launch>
…
</launch>
文件中一般包括以下几部分:
1.<node>
是要启动的ROS节点,它包括以下几个参数:
Pkg=”mypackage”:节点的功能包
Type=”nodetype”:节点的类型
Name=”nodename”:节点的名字
Args=”arg1 arg2 arg3”:(可选)传递给节点的参数
Respawn=”true”: (可选)如果节点停止,自动终止节点
Ns=”foo”: (可选)在”foo”命名空间启动节点
Output=”log|screen”: (可选)如果选择screen,节点的stdout(标准输出)和stderr(标准错误)信息将显示在终端窗口上;如果选择log,stdout和stderr将发送到一个log文件,stderr也会显示在终端窗口上
下面是一个启动节点的例子:
`<node name=”gazebo” pkg=”gazebo” type=”gazebo” args=”$(find r2_gazebo)/gazebo/r2_grap.world”` `output=”screen” respawn=”false”/>`
解释:启动gazebo功能包中的gazebo节点,该节点的参数是r2_grap.world文件中的内容,节点的stdout和stderr会显示在终端窗口上。如果gazebo节点停止,不能重新启动。
2.<rosparam>
可以使用.yaml文件load/dump/delete参数,也可以添加到中使用,参数:
Command=”load|dump|delete”(默认load)
File=”$(find pkg-name)/path/foo.yaml”(yaml文件的名字)
Param=”param-name”:参数的名字