ROS学习(一)launch文件解析

转载  努力干活还不粘人的小妖精的文章,网址https://blog.csdn.net/qq_38402294/article/details/71512089

来自参考书《ROS开源机器人控制基础》

在ROS应用中,一般涉及多个节点,每个节点又有多个参数,可以编写.launch文件,然后用roslaunch命令运行。
Launch文件名格式:


文件中一般包括以下几部分:
1.是要启动的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也会显示在终端窗口上
下面是一个启动节点的例子:

``

解释:启动gazebo功能包中的gazebo节点,该节点的参数是r2_grap.world文件中的内容,节点的stdout和stderr会显示在终端窗口上。如果gazebo节点停止,不能重新启动。
2.
可以使用.yaml文件load/dump/delete参数,也可以添加到中使用,参数:
Command=”load|dump|delete”(默认load)
File=”$(find pkg-name)/path/foo.yaml”(yaml文件的名字)
Param=”param-name”:参数的名字
例子:


解释:将r2_impedance_controller.yaml文件加载到parameter server(参数服务器)中,设置控制参数。
3.
用来定义一个设置在parameter server的参数,可以添加到中。参数:
Name=”namespace/name”参数名字
Value=”value”(可选)定义参数的值,如果省略这个参数,则应该指定一个文件(binfile/textfile)或命令
Type=”str|int|double|boot”(可选)指定参数类型
Textfile=” (findpkgname)/path/file”(可选)binfile=”

(find pkg-name)/path/file” (可选)
command=” (find pkg-name)/exe’ $(find pkg-name)/arg.txt’” (可选)exe是可执行文件,arg.txt参数文件

4.
可以在当前launch文件中调用另一个launch文件

5.
用来设置节点的环境变量,可用在,,
参数
Name=”environment-variable-name”设置环境变量名字
Value=” environment-variable-value”设置环境变量的值
6.
将一个参数名映射为另一个参数名,参数
From=”original-name”
To=”new-name”
例子:
将接受的主题chatter换成hello
7.
定义一个局部参数,该参数只能在一个launch文件中使用,三种使用方法:
声明一个参数foo,之后需要赋值
< arg name=”foo” default=”1”/>声明一个参数foo,默认值1,该值可修改
< arg name=”foo” default=”bar”/>声明一个参数foo, 该值不可修改
例子:


< arg name=”hoge” default=”false”/>

定义局部参数hoge,hoge的值赋给了参数param,局部参数hoge可以在运行launch文件时修改,如
Roslaunch [package][filebname.launch] hoge: =true

你可能感兴趣的:(ROS)