1.整体样式、属性及元素:
<?xml version="1.0"?>
<launch>
<node pkg="abc" type="abc_node" name="xxx" output="screen" />
...
</launch>
<!--属性 -->
pkg =“mypackage”
节点包。
type =“nodetype”
节点类型。必须有一个具有相同名称的相应可执行文件。
name =“nodename”
节点基名称。注意:name不能包含命名空间。请改用ns属性。
args =“arg1 arg2 arg3” (可选)
传递参数到节点。
machine =“machine-name” (可选)
在指定机器上启动节点。
respawn =“true” (可选)
如果节点退出,则自动重新启动节点。
respawn_delay =“30” (可选,默认为0)
如果respawn为true,请在尝试重新启动之前检测到节点故障后等待respawn_delay秒。
required =“true” (可选)
ROS 0.10:如果节点死亡,杀死整个roslaunch。
ns =“foo” (可选)
在“foo”命名空间中启动节点。
clear_params =“true | false” (可选)
在启动前删除节点的私有命名空间中的所有参数。
output =“log | screen” (可选)
如果’screen’,stdout / stderr从节点将被发送到屏幕。如果是“log”,stdout / stderr输出将被发送到$ ROS_HOME/ log中的日志文件,stderr将继续发送到屏幕。默认值为“log”。
cwd =“ROS_HOME | node” (可选)
如果为“node”,则节点的工作目录将设置为与节点的可执行文件相同的目录。在C Turtle中,默认值为“ROS_HOME”。在Box Turtle(ROS 1.0.x)中,默认值是’ros-root’。使用’ros-root’在C Turtle中已被弃用。
launch-prefix =“prefix arguments” (可选)
用于预先添加到节点的启动参数的命令/参数。这是一个强大的功能,使您能够启用gdb,valgrind,xterm,漂亮或其他方便的工具。
2.普通节点启动样式:
2.1 普通包启动
<node pkg="abc" type="abc_node" name="xxx" output="screen" required="false" />
包名 节点类型 节点名字 日志等是否在终端输出 节点是否是必须的
2.2 静态变换启动
<node pkg="tf2_ros" type="static_transform_publisher" name="base_link2lidar" args="2.1 0.0 1.96 0.0 0.046949 0.0 /base_link /lidar" respawn="true"/>
包名 节点类型 节点名 参数 x y z yaw pitch roll parent_frame child_frame ros节点关闭后重启
2.3 rviz启动
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find 包名)/config/rviz/xxx.rviz" output="screen" />
2.3 带参数的launch文件启动
2.3.1设定参数
<arg name="target_frame" default="base_link" />
使用参数
<node pkg="abcdefg" type="abcdefg_node" name="xxx" output="screen">
<param name="target_frame" value="$(arg target_frame)" />
</node>
2.3.2使用仿真时间
<param name="/use_sim_time" value="true" />
2.4 映射
<remap from="cloud_in3" to="$(arg cloud_in3)" />
3包含其他launch文件的启动
<include file="$(find ab_bag)/launch/xxx.launch" />+
4.文件查找
参考:https://blog.csdn.net/qq_36764147/article/details/80157148