赞
踩
launch文件是个XML格式的文件,而XML格式文件是由各种标签标识组成的。
- <launch>
-
- <node pkg="prometheus_demo" type="circular_trajectory_control" name="circular_trajectory_control" output="screen">
- <param name="uav_id" value="1"/>
- </node>
-
- </launch>
<launch>标签中,描述了使用roslaunch命令运行节点所需的标签。
<node>描述了roslaunch运行的节点,选项包括pkg、type和name。
<node>中pkg、type、name字段含义如下:
pkg 功能包名称
type 实际运行的节点的名称(节点名), 必须有一个具有相同名称的相应可执行文件
name 节点type启动后的名字,将覆盖ros::init设置的节点名称,不可重复,除非不在同一命名空间下。一般情况下使用与type相同的名称,但可以根据需要,在运行时更改名称。
output可以设为‘screen’、‘log’ 以及‘both’
默认情况下,launch 启动 node 的信息会存在/.ros/log/run_id/node_name-number-stdout.log中,通过此处参数设置,可令信息显示在屏幕上
screen 令信息显示在屏幕上
log 输出到日志
both 就是screen和log两个都要。就结果而言,控制台中get_logger()和std::cout的内容都输出了
<param> 设置参数名称、类型、值等。
<arg>描述了系统运行中所需要的参数。
<arg>中的name表示参数的名称,default表示参数默认的值。如果需要设置别的值,可以在roslaunch命令中加入节点名。
<arg name="sim_mode" default="true"/>
# $(find prometheus_gazebo)定位到功能包prometheus_gazebo
<arg name="world" default="$(find prometheus_gazebo)/gazebo_worlds/prometheus_empty.world"/>
# include 将另一个的launch文件导入到当前文件(实现代代码复用)
# 格式:file="$(find 功能包名)/xxx/xxx.launch"
- <include file="$(find gazebo_ros)/launch/empty_world.launch">
- <arg name="world_name" value="$(arg world)"/>
- </include>
# if=value (optional) 如果value值为真,包含标签及其内容
# unless=value (optional) 除非value为假,包含标签及其内容
- <group if="$(arg gazebo_enable)">
- ... ...
- </group>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。