ROS Launch

格式:

	<launch>
		<include
		file = "$(find packge-name)/launch-name.launch"
		/>

		<arg
			name = "arg-name"
			default = "x";
		/>

		<node
			pkg = "package-name"
			type = "executable-name"
			name = "node-name"
			ouput = "screen"
			respawn = "true"
			required = "true"
			launch-prefix = "xterm -e"
			ns = "namespace"
		>

		<remap from = "origin" to "new"/>
		<param name = "param-name" value = "param-value"/>

		</node> 

		<group ns = "namespace" if = "$(arg arg-name)"/>
			<param name = "param-name" value = "param-value"/>
		</group>
	    
	</launch>

  • name:这边的node-name会覆盖所有的ros::init定义的名字
  • 如果要使用一个匿名名称,可以用name=”$(anon base_name)”
  • 注意,对同一个基本名的重复利用会产生相同的匿名名称,所以每一个匿名启动节点都得有不同的基本名
  • output:节点会把标准输出打印在显示器上,而不是log文件
  • respawn:节点停止后自动重启
  • required:必要节点,终止的时候其他节点会被杀掉。
  • launch-prefix=”xterm -e”为该节点单独开一个终端
  • 启动前缀属性不止xterm还有其他,比如降低进程优先级
  • ns:命名空间,在不同命名空间内可以启动相同的节点,比如两只乌龟,两个遥控节点。
  • remap:话题的重映射中使用的一般是相对名称,在应用所有重映射之前,所有名称都要先解析为全局名称。浅谈上反转乌龟速度的(在launch一文中的)好例子
  • include:可以包含其他启动文件
  • arg:关于启动参数,浅谈P122
  • group有两个好处:1.统一group内的节点命名空间 2.通过if判断0或1决定是否启动group内节点
  • param设置参数,如果是在节点元素中,则是私有名称

Search

    欢迎添加我的微信

    闷骚的程序员

    Table of Contents