ROS-launch文件
eval函数
eval是ROS launch文件中的一种内置函数,它的作用是对一个表达式进行求值。在这个特定的
eval函数被用于求解一个条件表达式,这个表达式使用了and和or逻辑运算符。if_usb_cam和括号内的多个camera_mode选项的值将被用于求解表达式,结果将被用于决定这个
语法
运行 roslaunch 命令不需要运行 roscore,运行 roslaunch 命令时,会自动检测是否开启了 roscore,如果没有开启则自动开启 roscore。
launch 文件的语法如下:
XML 文件必须要包含一个根元素,launch 文件中的根元素采用
签定义,文件中的其他内容都必须包含在这个标签之中:
……
……
启动 ROS 系统的核心是启动 ROS 节点,采用
启动一个节点至少需要三个属性:name、pkg 和 type
name:属性定义节点运行的名称,可自定义;
pkg:属性定义节点所在的功能包名称;
type:属性定义节点的可执行文件名称(与源文件名称不一定相同),也可以是.py 文件;
参数设置标签
关于参数设置的标签元素有两个:、
param
param 和 arg 的作用都是写入参数,但是 param 是 ROS 系统运行中的参数,存储在参数服务器中。在 launch 文件中可以通过标签加载 param。launch 文件执行后,param 就加载到 ROS 的参数服务器上了。
arg
arg 标签用来在 launch 文件中定义参数,arg 和 param 在 ROS 里有根本性的区别,就像局部变量和全局变量的区别一样。arg 不储存在参数服务器中,不能提供给节点使用,只能在 launch 文件中使用。param 则是储存在参数服务器中,可以被节点使用
标签简写
在ROS(Robot Operating System)的Launch文件中,某些标记可以省略闭合标签。具体来说,在ROS Launch文件中,对于某些标记,可以使用单标记语法,类似于HTML或XML的单标记语法,即只需在开头的标记上加上斜杠和右尖括号即可,例如:
该写法与以下等价
共有 0 条评论