ROS中可以把很多的命令以描述的形式写成launch文件,然后用roslaunch命令执行launch文件。它的使用方法如下:

 roslaunch [package] [filename.launch]

比如:我们切换到beginner_tutorials文件下:

roscd beginner_tutorials 

注:如果提示找不到文件或文件夹,就参照前面把环境变量设置一下。执行:

cd ~/catkin_ws/devel/
source setup.bash

在beginner_tutorials文件夹下,创建launch文件夹,切换到该文件夹下:

mkdir launch
cd launch

用ubuntu默认的编辑器gedit创建一个launch文件。

然后在打开的的launch文件中复制入下面的内容:

gedit turtlemimic.launch  
<launch>

  <group ns="turtlesim1">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group> <group ns="turtlesim2">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group> <node pkg="turtlesim" name="mimic" type="mimic">
<remap from="input" to="turtlesim1/turtle1"/>
<remap from="output" to="turtlesim2/turtle1"/>
</node> </launch>
保存退出就可以了。
现在使用如下命令载入刚才创建的launch文件:
roslaunch beginner_tutorials turtlemimic.launch  

就可以看到新打开两个乌龟节点。

新打开一个终端,输入命令

rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'

使乌龟运动起来。就可以看到两只乌龟都在运动。

输入命令:

rosnode list

就可以看到启动了两个节点/turtlesim1/sim和/turtlesim2/sim。如图:

下面来解析一下launch文件的标签的意思:
<lanuch>
<lanuch>标签用来识别这是一个launch文件。 <group ns="turtlesim1">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group> <group ns="turtlesim2">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group>
上面的内容表示我们启动了两只乌龟。分别名为turtlesim1和turtlesim2. <node pkg="turtlesim" name="mimic" type="mimic">
<remap from="input" to="turtlesim1/turtle1"/>
<remap from="output" to="turtlesim2/turtle1"/>
</node>
上面的内容使turtlesim2模仿turtlesim1。所以虽然我们只向turtlesim1发布了话题,turtlesim2也做出了反应。

ROS的launch文件的更多相关文章

  1. python ros 使用launch文件启动脚本

    目录结构 在包里面新建scripts文件夹,里面放运行的脚本文件,记得设置执行权限 然后新建launch文件夹,新建launch文件按照如下格式写: <node pkg="initia ...

  2. Ros学习——launch文件解析

    launch文件的重点是:节点(node)元素的集合. roslaunch 则是让所有的节点共享同一个终端. 1.标签(元素)说明 1. group标签 2. node标签 <group ns= ...

  3. 第三课3、ROS的launch文件

    1.launch 参数说明: pkg为节点的功能包,type为需要运行的那个节点,name为节点的名字,后面的参数可选 举个例子: 在工作空间中新建一个包: 然后再回到工作空间中去编译: 再在包目录下 ...

  4. ROS * 通过launch文件添加多个模型

    我添加的是dae模型,urdf文件过两天贴 方法一 : <launch> <!-- these are the arguments you can pass this launch ...

  5. ros 启动launch文件,附带参数

    roslaunch cartographer_ros cartographer_ref.launch resolution:=0.07 #下面是cartographer_ref.launch的内容 & ...

  6. ROS中.launch文件的remap标签详解

    https://www.cnblogs.com/LiuQiang921202/p/7679943.html

  7. ROS Learning-010 beginner_Tutorials 编写简单的启动脚本文件(.launch 文件)

    ROS Indigo beginner_Tutorials-09 编写简单的启动脚本文件 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.0 ...

  8. ROS启动多launch文件

    在ROS工程中经常需要启动好几个launch文件,比较不方便,有下面两种方法可以更高效些: 重写一个大型的launch文件,将所有的节点的启动配置信息都包含进去. 通过bash写一个xxx.sh文件, ...

  9. ros 编译包含脚本文件以及launch文件

    目录结构如下: 修改CMakeLists.txt文件 install(PROGRAMS scripts/initial_pos.py DESTINATION ${CATKIN_PACKAGE_BIN_ ...

随机推荐

  1. float浮动的世界

    loat有四个属性,分别是: float:none:  没有浮动: float:left:  左浮动: float:right: 右浮动: float:inherit:继承父元素的浮动: ------ ...

  2. Grunt 入门操作指南

    0.简介 grunt是一个任务自动运行器.简单来讲,用了以后,再也不用每次修改sass后,去生成下css,也再也不用去一遍遍压缩js了 ,也再也不用修改了点点东西就要去刷新页面,也不需要去复杂地建立一 ...

  3. centos7学习笔记-安装配置apache

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 1.安装apache #yum install httpd 2.配置开机启动 systemctl enable httpd 3. ...

  4. jsp笔记----jsp常用的的获取项目的根路径

    <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" ...

  5. iOS 验证码按钮倒计时

    在app 注册或者登录 需要验证码的地方.为了避免短时间内刷验证码.往往会加上一层验证. 倒计时结束后.可以重新获取! 代码实现如下: // _CountdownTime 倒计时总时间: //_tim ...

  6. python3+xlwt 读取txt信息并写入到excel中

    # coding = utf-8 import os import xlwt import re def readTxt_toExcel(valueList, Pathlist): workbook ...

  7. 基于WIN8.1:新手篇→tomcat安装配置

    一.JDK配置 下载安装JDK和tomcat 打开电脑属性,高级系统设置进行环境变量配置 新建系统变量,变量值为JDK安装路径,并在系统变量path最后加上“%JAVA_HOME%\bin;%JAVA ...

  8. May 31. 2018 Week 22nd Thursday

    The good seaman is known in bad weather. 惊涛骇浪,方显英雄本色. As we all know, the true worth of a person is ...

  9. C语言 统计一篇英文短文中单词的个数

    //凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ #include<stdio.h> #define N 1000 void main(){ ] ...

  10. mysql数据库显示 1164 table *** doesn't exist

    问题出现场景: 以前mysql安装在C盘,后来重装系统,将mysql安装在了D盘,重装之前,将mysql的Data 文件夹备份了下来,mysql重新安装好之后,将原来的Data 文件夹内的数据库文件夹 ...