Launch文件是ROS(Robot Operating System)中的一个重要组件,用于启动和配置ROS节点和进程。Launch文件通常使用XML格式编写,其中包含ROS节点的名称,参数,运行条件,依赖项等信息。
以下是一个示例Launch文件的基本结构:
<launch>
<!-- Node 1 -->
<node pkg="package_name" type="node_type" name="node_name" args="arguments" output="output_type"/>
<!-- Node 2 -->
<node pkg="package_name" type="node_type" name="node_name" args="arguments" output="output_type"/>
<!-- Include another Launch file -->
<include file="$(find package_name)/launch/another_launch_file.launch" />
</include>
<!-- Set a parameter -->
<param name="parameter_name" value="parameter_value" />
</launch>
上面的示例包含两个节点和一个引用另一个Launch文件的语句,同时还设置了一个ROS参数。节点由<node>
标签定义,其中pkg
属性表示节点所在的ROS软件包,type
属性表示节点可执行文件的名称,name
属性为节点的名称,args
属性表示传递给节点的命令行参数,output
属性定义节点的输出类型。
使用Launch文件可以方便地启动多个节点和设置多个参数,从而快速创建ROS系统的配置。
一个例子:
通过launch文件可以同时启动多个节点
在已经创建的功能包下,创建launch文件夹,与src处于同一个父目录下
luanch文件夹下 创建launch文件 如display.launch 内容如下:
<launch>
<node pkg="rviz" type="rviz" name="rviz" args="-d $(find my_package)/rviz/my.rviz"></node>
<node pkg="my_package" type="my_node" name="my_node" output="screen"></node>
</launch>
同时启动两个节点 一个rviv的节点 一个my_node的节点
rviz需要导入已经设置好的参数
一般将创建rviz文件夹 放在与launch文件夹相同目录下(同一个功能包)
编译 (catkin_make)
运行 roslaunch my_package(功能包名称)display.launch