ros launch文件简单
时间: 2025-06-19 13:16:12 浏览: 14
### ROS Launch 文件简介
ROS (Robot Operating System) 提供了一种强大的工具——`launch` 文件,用于简化复杂系统的启动过程。这些文件通常以 `.launch` 结尾,并采用 XML 格式编写[^1]。
#### 基本结构
一个典型的 `launch` 文件由 `<launch>` 根标签包裹,内部包含多个子标签,用来描述需要启动的节点及其参数配置。以下是基本语法:
```xml
<launch>
<!-- 启动一个节点 -->
<node pkg="package_name" type="executable_name" name="node_name" output="screen">
<param name="parameter_name" value="value"/>
</node>
<!-- 设置全局参数 -->
<param name="global_param" value="true"/>
<!-- 包含另一个 launch 文件 -->
<include file="$(find package_name)/path/to/other.launch"/>
</launch>
```
- **`<node>`**: 定义并启动一个 ROS 节点。属性包括:
- `pkg`: 节点所属的包名。
- `type`: 可执行文件名称。
- `name`: 节点实例的名字。
- `output`: 控制台日志输出方式(如 `"screen"` 表示打印到终端窗口)。
- **`<param>`**: 配置参数,支持局部和全局范围。
- **`<include>`**: 引入其他 launch 文件,便于模块化设计[^2]。
#### 示例:启动两个简单的节点
假设有一个名为 `my_package` 的包,其中包含两个可执行文件 `talker.py` 和 `listener.py`,可以通过以下 launch 文件同时启动这两个节点:
```xml
<launch>
<node pkg="my_package" type="talker.py" name="talker_node" output="screen"/>
<node pkg="my_package" type="listener.py" name="listener_node" output="screen"/>
</launch>
```
此示例展示了如何利用 launch 文件减少手动输入命令的工作量,提高效率[^3]。
#### 参数传递
如果希望动态调整某些参数,在 launch 文件中可以直接定义或引用外部传参。例如:
```xml
<launch>
<arg name="rate" default="10"/>
<node pkg="my_package" type="publisher_node" name="pub_node" output="screen">
<param name="publish_rate" value="$(arg rate)" />
</node>
</launch>
```
在此例子中,通过 `<arg>` 标签声明了一个默认值为 10 的参数 `rate`,该参数会被传递给 publisher 节点作为发布频率设置[^4]。
### 注意事项
当运行相同类型的多个节点时,需注意命名冲突问题,可通过匿名机制或其他手段解决。
---
阅读全文
相关推荐


















