zoukankan      html  css  js  c++  java
  • ROS launch文件的使用(同时打开多个终端运行)

    1.需求

    一个程序中可能需要启动多个节点,比如:ROS 内置的小乌龟案例,如果要控制乌龟运动,要启动多个窗口,分别启动 roscore、乌龟界面节点、键盘控制节点。如果每次都调用 rosrun 逐一启动,显然效率低下,如何优化?

    官方给出的优化策略是使用 launch 文件,可以一次性启动多个 ROS 节点。

    2.实现

    1. 选定功能包右击 ---> 添加 launch 文件夹

    2. 选定 launch 文件夹右击 ---> 添加 launch 文件

    3. 编辑 launch 文件内容

      <launch>
          <node pkg="helloworld" type="demo_hello" name="hello" output="screen" />
          <node pkg="turtlesim" type="turtlesim_node" name="t1"/>
          <node pkg="turtlesim" type="turtle_teleop_key" name="key1" />
      </launch>
      • node ---> 包含的某个节点

      • pkg -----> 功能包

      • type ----> 被运行的节点文件

      • name --> 为节点命名

      • output-> 设置日志的输出目标

    4. 运行 launch 文件

      roslaunch 包名 launch文件名
    5. 运行结果: 一次性启动了多个节点

    <!--rosrun turtlesim-->
    <launch>
        <!--添加被执行的节点-->
        <!--乌龟GUI-->
        <node pkg="turtlesim" type="turtlesim_node" name="turtle_GUI"/>
        <node pkg="turtlesim" type="turtle_teleop_key" name="turtle_key"/>
       
    
    </launch>

    运行:ctrl+~(esc下的键)

    roslaunch hello_vscode start_turtle.launch

     

    <!--rosrun turtlesim-->
    <launch>
        <!--添加被执行的节点-->
        <!--乌龟GUI-->
        <node pkg="turtlesim" type="turtlesim_node" name="turtle_GUI"/>
        <node pkg="turtlesim" type="turtle_teleop_key" name="turtle_key"/>
        <node pkg="hello_vscode" type="hello_vscode_c" name="hello" output="screen"/> 
    
    </launch>

  • 相关阅读:
    【洛谷 1536】村村通
    【洛谷 1551】亲戚
    【UOJ 300】感冒病毒
    【洛谷 2299】Mzc和体委的争夺战
    【洛谷 3371】模板_单源最短路径(弱化版)
    【洛谷 2910】寻宝之路
    【洛谷 1359】租用游艇
    【UOJ 275】最短路径问题
    【UOJ 38】 股票经济人通信网络
    【UOJ 276】无向图最小环
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/14998815.html
Copyright © 2011-2022 走看看