ROS1学习笔记:launch启动文件的使用方法

参考B站古月居ROS入门21讲:launch启动文件的使用方法
基于VMware Ubuntu 20.04 Noetic版本的环境


在前面我们的学习中,我们看到启动TF的坐标广播和监听,启动程序非常麻烦,要同时运行很多个终端,并且涉及到终端向ROS的参数传递。

本节我们可以通过launch启动文件来解决上述的麻烦问题,帮助我们快速部署、整合并启动相关例程。

一、launch的文件结构

  • 由XML语言写的,可实现多个节点的配置和启动。
  • 不再需要打开多个终端用多个rosrun命令来启动不同的节点了
  • 可自动启动ROS Master
    在这里插入图片描述

二、launch的文件语法

2.1 根元素

在这里插入图片描述
name为节点名称,会取代程序中初始化节点 init 时赋予的名字
其他:

  • output:控制某个节点node把日志信息打印到终端
  • respawn:节点奔溃后是否重启
  • required:节点是否为必须节点,即改节点奔溃后须终止其他节点
  • ns:自定义的命名空间,在自定义的命名空间中运行节点
  • args:输入参数用

2.2 参数设置

在这里插入图片描述

  • param:【在ROS参数服务器中】处理一个参数
  • rosparam:【在ROS参数服务器中】处理多个参数
  • arg:【不存在于ROS的参数服务器中】仅在launch文件中出现,可作为- node运行时传的参数,如之前在终端输入指令时传的参数。

2.3 重映射和嵌套

在这里插入图片描述
注意嵌套include之后,调用另一个launch文件,便会启动该文件内的所有内容。
更多标签参见:http://wiki.ros.org/roslaunch/XML

三、相关示例

在演示相关示例之前,我们先创建一个新的功能包:learning_launch,这个包不需要添加其他依赖,只是用来存放launch文件。

cd ~/catkin_ws/src
catkin_create_pkg learning_launch

将相关的文件和代码分别放置对应的文件夹下:
在这里插入图片描述
在这里插入图片描述
编译环境:

cd ~/catkin_ws
catkin_make

打开拷贝进的launch文件,在文本编辑器选择高亮模式,选择XML代码方便查看代码:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

simple.launch

在这里插入图片描述
该代码对之前的learning_topic功能包下的发布和订阅节点的程序进行了整合,设定了node的name,并选择将日志信息打印到终端。

运行该launch文件:
格式为:roslaunch 包名 文件名

roslaunch learning_launch simple.launch

我们可以看到启动launch后,发布和订阅的日志都打印到了终端。
在这里插入图片描述

turtlesim_parameter_config.launch

在这里插入图片描述

启动:

roslaunch learning_launch turtlesim_parameter_config.launch

start_tf_demo_c++.launch

在这里插入图片描述
启动:

roslaunch learning_launch start_tf_demo_c++.launch

start_tf_demo_py.launch

在这里插入图片描述
启动:

roslaunch learning_launch turtlesim_remap.launch

turtlesim_remap.launch

在这里插入图片描述
启动:

roslaunch learning_launch turtlesim_remap.launch

参考文章:https://blog.csdn.net/takedachia/article/details/122623247

猜你喜欢

转载自blog.csdn.net/weixin_56197703/article/details/127104336
今日推荐