提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- (1)<launch>节点
- (2)<node> 节点
- (3)<param> 标签
- (4)<rosparam> 标签
- (5)<include> 标签
- (6)<arg> 标签
- (7)<remap> 标签
- 总结
前言
ROS中的launch文件用于启动一个或多个ROS节点和参数服务器。通过launch文件,可以定义节点的启动顺序、参数设置、命名空间等,实现复杂系统的快速启动和配置。它们使得ROS节点的管理和调试变得更加简单,特别是在大型机器人系统中,launch文件能够有效地组织节点的启动和通信,提高了系统的可维护性和可扩展性
(1)节点
launch文件中的根元素采用<launch>
开头 </launch>
结尾
(2) 节点
例如:<node pkg="slam" type="laserMappingg" name="mapping" output="screen" />
pkg
: 节点所在的功能包名称
type
: 节点的可执行文件名称
name
: 节点运行时的名称
可选属性
output
: 指定输出方式,要在终端显示日志信息可用out=“screen”
respawn
: 当节点异常停止时,是否重启
required
: 指定节点是否一定要启动
na
: 命名空间
args
: launch文件中的参数
(3) 标签
例如:<param name="max_iteration" type="int" value="3" />
用于设置ROS系统运行中的参数,存储在参数服务器中
name
: 参数名
value
: 参数值
(4) 标签
作用:rosparam标签可以实现节点从参数服务器上加载(load)、导出(dump)和删除(delete)YAML文件
用法:
<!-- 加载package_name功能包下的example.yaml文件 -->
<rosparam command="load" file="$(find package_name)/example.yaml">
<!-- 导出example_out.yaml文件到package_name功能包下 -->
<rosparam command="dump" file="$(find package_name)/example_out.yaml" />
<!-- 删除参数 -->
<rosparam command="delete" param="xxx/param">
参数介绍:
command
:功能类型(load、dump、delete)
file
:参数文件的路径
param
:参数名称
(5) 标签
例如:<include file="$(find rs_to_velodyne)/launch/rs2velodyne.launch" />
include标签功能和编程语言中的include预处理类似,
它可以导入其他launch文件到当前include标签所在的位置,实现launch文件复用
(6) 标签
例如: <arg name="rviz" default="true" />
launch文件内部的局部变量,仅限于launch文件使用
name
: 参数名
value
: 参数值
调用:
<param name="foo" value="$(arg rviz)"/>;
<node name="node" pkg="package" type="type" args="$(arg rviz)"/>;
(7) 标签
例如:<remap from="/turtlebot/cmd_vel" to="/cmd_vel"/>;
重映射ROS计算图资源的命名:
from
: 原命名
to
: 映射之后的命名
参考:
https://blog.csdn.net/u013932564/article/details/133354605?ops_request_misc=&request_id=&biz_id=102&utm_term=%20ros%E4%B8%ADlaunch%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E5%B8%B8%E8%A7%81%E7%9A%84%E8%AF%AD%E6%B3%95%E5%8F%82%E6%95%B0%E7%9A%84%E4%BB%8B%E7%BB%8D&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-133354605.142v100pc_search_result_base2&spm=1018.2226.3001.4187
总结
ROS中的launch文件是一个强大的工具,用于启动ROS节点和参数服务器,实现复杂系统的快速启动和配置。通过定义启动顺序、参数设置和命名空间等,launch文件简化了节点的管理和调试。在大型机器人系统中尤其有用,能有效组织节点的启动和通信,提升系统的可维护性和可扩展性。以上的教程介绍 ros中launch文件中的常见的语法参数