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

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

文章目录

  • 一、launch的文件结构
  • 二、launch的文件语法
    • 2.1 根元素
    • 2.2 参数设置
    • 2.3 重映射和嵌套
  • 三、相关示例
    • simple.launch
    • turtlesim_parameter_config.launch
    • start_tf_demo_c++.launch
    • start_tf_demo_py.launch
    • turtlesim_remap.launch

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

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

一、launch的文件结构

  • 由XML语言写的,可实现多个节点的配置和启动。
  • 不再需要打开多个终端用多个rosrun命令来启动不同的节点了
  • 可自动启动ROS Master
    ROS1学习笔记:launch启动文件的使用方法_第1张图片

二、launch的文件语法

2.1 根元素

ROS1学习笔记:launch启动文件的使用方法_第2张图片
name为节点名称,会取代程序中初始化节点 init 时赋予的名字
其他:

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

2.2 参数设置

ROS1学习笔记:launch启动文件的使用方法_第3张图片

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

2.3 重映射和嵌套

ROS1学习笔记:launch启动文件的使用方法_第4张图片
注意嵌套include之后,调用另一个launch文件,便会启动该文件内的所有内容。
更多标签参见:http://wiki.ros.org/roslaunch/XML

三、相关示例

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

cd ~/catkin_ws/src
catkin_create_pkg learning_launch

将相关的文件和代码分别放置对应的文件夹下:
ROS1学习笔记:launch启动文件的使用方法_第5张图片
ROS1学习笔记:launch启动文件的使用方法_第6张图片
编译环境:

cd ~/catkin_ws
catkin_make

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

ROS1学习笔记:launch启动文件的使用方法_第7张图片
ROS1学习笔记:launch启动文件的使用方法_第8张图片
ROS1学习笔记:launch启动文件的使用方法_第9张图片

simple.launch

ROS1学习笔记:launch启动文件的使用方法_第10张图片
该代码对之前的learning_topic功能包下的发布和订阅节点的程序进行了整合,设定了node的name,并选择将日志信息打印到终端。

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

roslaunch learning_launch simple.launch

我们可以看到启动launch后,发布和订阅的日志都打印到了终端。
ROS1学习笔记:launch启动文件的使用方法_第11张图片

turtlesim_parameter_config.launch

ROS1学习笔记:launch启动文件的使用方法_第12张图片

启动:

roslaunch learning_launch turtlesim_parameter_config.launch

start_tf_demo_c++.launch

ROS1学习笔记:launch启动文件的使用方法_第13张图片
启动:

roslaunch learning_launch start_tf_demo_c++.launch

start_tf_demo_py.launch

ROS1学习笔记:launch启动文件的使用方法_第14张图片
启动:

roslaunch learning_launch turtlesim_remap.launch

turtlesim_remap.launch

ROS1学习笔记:launch启动文件的使用方法_第15张图片
启动:

roslaunch learning_launch turtlesim_remap.launch

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

你可能感兴趣的:(ros机器人,学习,笔记,ubuntu,ros,机器人)