wiki.ros官网地址:http://wiki.ros.org/roslaunch/XML
http://wiki.ros.org/roslaunch/
http://wiki.ros.org/roslaunch/Commandline%20Tools
http://wiki.ros.org/rosparam
launch文件是一种特殊的XML格式文件,通常以.launch作为文件后缀。
roslaunch命令需要启动文件的名称。 可以指定启动文件的文件路径,也可以指定程序包名称和该程序包中的启动文件,例如
roslaunch pr2_robot/pr2_bringup/pr2.launch
roslaunch pkg_name launchfile_name.launch
启动时也可添加参数:
--wait 延迟启动,直到检测到roscore。
--local 仅启动本地节点,远程计算机上的节点将无法运行。
--screen 强制所有节点输出到屏幕, 对节点调试有用。
eg:
$ roslaunch --screen package filename.launch
启动的同时也可对参数赋值:
roslaunch pkg_name launchfile_name cc:=urdf/cvis.urdf # launch file 中有参数 “cc” 需要赋值
roslaunch pkg_name launchfile_name cc:='$(find urdf_pkg)/urdf/cvis.urdf' # 用 find 命令提供路径
launch文件的主要包含内容:
<launch> <!--根标签-->
<node> <!--需要启动的node及其参数-->
<machine> <!--指定运行的机器-->
<include> <!--包含其他launch-->
<remap> <!--设定 topic 映射-->
<env> <!--为启动的节点指定环境变量-->
<param> <!--定义参数到参数服务器-->
<rosparam> <!--加载yaml文件中的参数到参数服务器-->
<group> <!--设定分组-->
<test> <!--启动测试节点-->
<arg> <!--定义变量-->
</launch> <!--根标签-->
node
pkg:“pkg_name” 包名
type:“exe_name” 节点类型,即编译生成的可执行文件
name:“node_name” 节点名称,自定义但不能重复
args:传递节点的参数列表
respawn:“true” 如果节点退出自动重启 default:false
output:“screen” 标准输出/标准错误输出重定向屏幕,log重定向log文件,default:log
required:“true” 如果节点退出,关闭全部launch进程
launch-prefix:“prefix arguments” 前置的参数,可以使用其他工具如gdb,valgrind等
remap:名称映射 from:被映射名称 to:目标名称
arg:
roslaunch支持启动参数arg,可以通过设置arg来改变程序的运行。name为启动参数的名称,default为该参数的默认值,value为该参数的参数值。default与 value两者的唯一区别在于命令行参数roslaunch pkg-name launch-file-name arg-name:=”set-value”可以覆盖默认值default,但是不能覆盖参数值 value。在launch文件中出现$(arg arg-name)的地方,运行时roslaunch 会将它替换成参数值。并且可以在include元素标签内使用arg来设置所包含的launch文件中的参数值。
param
在ROS中。parameter是运行中的ROS系统使用的数值,存储在参数服务器(parameter server)中,每个活跃的节点都可以通过 ros::param::get 函数来获取parameter的值,用户也可以通过rosparam来获得parameter的值
name=“namespace/name”
参数名称。名称空间可以包含在参数名称中,但应避免使用全局指定的名称。
value=“value”(optional)
定义参数的值。如果省略此属性,则必须指定binfile,textfile或command。
include
在launch文件中复用其他launch文件可以减少代码编写的工作量,提高文件的简洁性。使用包含元素include在launch文件中可包含其他launch文件中所有的节点和参数。
<include file="$(find pkg-name)/launch/launch-file-name">
launch 文件不需要编译
文章后续会一直添加