• ROS - launch文件


     launch文件是个XML格式的文件,而XML格式文件是由各种标签标识组成的。

    1. <launch>
    2.     <node pkg="prometheus_demo" type="circular_trajectory_control" name="circular_trajectory_control" output="screen">
    3.         <param name="uav_id" value="1"/>
    4.     </node>
    5. </launch>

    标签中,描述了使用roslaunch命令运行节点所需的标签。

    描述了roslaunch运行的节点,选项包括pkg、type和name。

    中pkg、type、name字段含义如下:

    pkg        功能包名称

    type       实际运行的节点的名称(节点名), 必须有一个具有相同名称的相应可执行文件

    name    节点type启动后的名字,将覆盖ros::init设置的节点名称,不可重复,除非不在同一命名空间下。一般情况下使用与type相同的名称,但可以根据需要,在运行时更改名称。

    output可以设为‘screen’、‘log’ 以及‘both’

    默认情况下,launch 启动 node 的信息会存在/.ros/log/run_id/node_name-number-stdout.log中,通过此处参数设置,可令信息显示在屏幕上

    screen   令信息显示在屏幕上

    log 输出到日志

    both 就是screen和log两个都要。就结果而言,控制台中get_logger()和std::cout的内容都输出了  

         设置参数名称、类型、值等。

    描述了系统运行中所需要的参数。

    中的name表示参数的名称,default表示参数默认的值。如果需要设置别的值,可以在roslaunch命令中加入节点名。

    <arg name="sim_mode" default="true"/>


    # $(find prometheus_gazebo)定位到功能包prometheus_gazebo

       <arg name="world" default="$(find prometheus_gazebo)/gazebo_worlds/prometheus_empty.world"/>


       
    # include 将另一个的launch文件导入到当前文件(实现代代码复用)
    # 格式:file="$(find 功能包名)/xxx/xxx.launch"

    1.         <include file="$(find gazebo_ros)/launch/empty_world.launch">
    2.             <arg name="world_name" value="$(arg world)"/>
    3.         </include>


    # if=value (optional) 如果value值为真,包含标签及其内容
    # unless=value (optional)  除非value为假,包含标签及其内容

    1.     <group if="$(arg gazebo_enable)">
    2.           ... ...
    3.     </group>

  • 相关阅读:
    Object.seal和Object.freeze的区别
    HTML+CSS+JS我的班级网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计
    Samba服务部署
    群晖-使用docker套件部署Prometheus+Grafana
    【HCIA】广域网技术
    LabVIEW编程LabVIEW开发吉时利Keithley 7001开关例程与相关资料
    jquery 选择器深入
    gdb监视
    原来ConcurrentHashMap里有这么多知识点
    KdMapper扩展实现之REALiX(hwinfo64a.sys)
  • 原文地址:https://blog.csdn.net/peng_258/article/details/127910538