第十七弹 launch启动文件的使用方法

ROS探索总结(五十六)—— launch文件

ROS 初级 - 解析 roslaunch 文件

1.  launch文件简介

从 ROS 角度来看,机器人系统就是一堆 node 和 topic (再添加一些 parameter, service 等)构成的网络(rosgraph),其中每个 node 都可以完成一定的功能。通常一个机器人运行时要开启很多 node,如果一个 node 一个 node 的启动,比较麻烦。通过 launch文件以及 roslaunch 命令可以一次性启动多个 node,并且可以设置丰富的参数。

目前来看,官方 ros package 大部分都包含名为 launch 的文件夹,里面存放了 launch 文件。我们自己编写的 package 也应该尽量使用这种结构,方便“一键启动”。

2.Launch文件语法

launch文件采用xml格式。

例如:


    
    

   :  launch文件中的根元素采用标签定义

    :   



pkg : 节点所在的功能包名称
type:节点的可执行文件的名称
name:节点运行时的名称
其他的可选属性:output、respawn、required、ns、args

重映射: 

 

from:原命名
to:映射之后的命名

嵌套:   

包含其他launch文件,类似c语言的头文件包含



file:包含的其他的launch文件路径

3. 一些launch的实现

3.1 新建功能包

catkin_create_pkg learning_launch

第十七弹 launch启动文件的使用方法_第1张图片

 第十七弹 launch启动文件的使用方法_第2张图片

 3.2 simple launch

新建一个名为“simple.launch”的文件:

第十七弹 launch启动文件的使用方法_第3张图片

 文件内部的内容:


    
     

这个需要用到learning_topic功能包>>>>https://wws.lanzoui.com/i5HUZs56ibi

通过连接可以下载所有的源码文件:

第十七弹 launch启动文件的使用方法_第4张图片

编译及运行

编译:在~/catkin_make的目录下启动终端,并运行catkin_make。

第十七弹 launch启动文件的使用方法_第5张图片

 运行:roslaunch       功能包名       文件名

 roslaunch learning_launch simple.launch 

效果:两个节点运行在一个终端中:

第十七弹 launch启动文件的使用方法_第6张图片

 3.3   turtlesim_parameter_config.launch

新建文件:

同样的,新建一个文件,名为“ turtlesim_parameter_config.launch”:

第十七弹 launch启动文件的使用方法_第7张图片

用到param、rosparam:



	
   //设置海龟的数量两个,一个字典值

    
    //设置节点,仿真器节点,turtlesim_node
		
		
        //设置海龟1和海龟2的名字

		
        //加载参数文件param.yaml
	

    
    //启动键盘控制节点

新建文件夹config、新建param.yaml文件:

第十七弹 launch启动文件的使用方法_第8张图片 

param.yaml文件的内容:

A: 123
B: "hello"

group:
  C: 456
  D: "hello"

查看一下参数:

rosparam list

第十七弹 launch启动文件的使用方法_第9张图片

第十七弹 launch启动文件的使用方法_第10张图片

 3.4 start_tf_demo_c++.launch

海龟跟随案例,使用launch,就不用同时打开五个终端了。

第十七弹 launch启动文件的使用方法_第11张图片

 

    
       //启动海龟仿真器
    //键盘控制

        
    

    

  

3.5  turtlesim_remap.launch

第十七弹 launch启动文件的使用方法_第12张图片



	

    
		
	

你可能感兴趣的:(第十七弹 launch启动文件的使用方法)