zoukankan      html  css  js  c++  java
  • ROS的launch文件

    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也做出了反应。
  • 相关阅读:
    曾国藩家书人但有恒、事无不成
    pythonredis
    tableSorter使用介绍
    Python模块学习 subprocess 创建子进程
    曾国藩家书用人必先知人
    身份证号码的规则及验证原理
    KeyDown,KeyPress 和KeyUp 之我谈(更新版本)
    Python基础综合练习
    熟悉常用的Linux操作
    大数据概述
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/7396948.html
Copyright © 2011-2022 走看看