launch文件

发布时间:2024年01月04日

launch文件可以用python、xml、yaml等格式编写这里介绍xml格式:

节点标签node,标签属性:

  • pkg:功能包;
  • exec:可执行文件;
  • name:节点名称(重定义节点名称)
  • namespace:命名空间
  • exec_name:流程标签
  • respawn:节点关闭后是否重启;
  • args:调用指令时的参数列表;
  • ros_args:相当于args前缀--ros-args

node标签的子集标签:

param,设置参数标签(有两种方式,一种直接通过name和vale设置,第二种是导入yaml参数文件),其属性有:

  • name:参数名称;
  • vale:参数值
  • from:参数文件路径(当采用导入yaml参数文件时)

remap,话题重映射标签,其属性有:

  • form:原话题名称
  • to:新话题名称
<launch>
    <node pkg="turtlesim" exec="turtlesim_node" name="t11" namespace="t1" exec_name="lable"
        respawn="True" ros_args="--remap __ns:=/xx/yy" args="--ros_args --remap __ns:=/xx/yy">
        <!--  ros_args 这个属性是给执行语句添加参数的,正常情况下添加参数是:--ros_args --remap __ns:=/xx/yy  -->
        <!-- 除了ros_args,args属性功能与其相同,但是使用方法不同:args="--ros_args --remap __ns:=/xx/yy" -->
        <param name="background_r" value="0" />
        <param name="background_g" value="50" />
        <param name="background_b" value="50" />

    </node>
</launch>

执行命令标签executable,标签属性:

  • cmd:被执行的命令;
  • output:日志输出目的地设置。
<launch>
    <!-- 执行终端命令 -->
    <executable cmd="ros2 run turtlesim turtlesim_node" output="both" />
</launch>

参数设置标签arg,(可以动态设置参数,标签param是将参数写死了)标签属性:

  • name:参数的名称
  • default:默认值
<launch>
    <arg name="ss" default="255" />
    <node pkg="turtlesim" exec="turtlesim_node">
        <param name="background_r" value="$(var ss)" />
    </node>
</launch>

<!-- 在终端输入命令:ros2 launch pkg0_launch xml_arg_launch.xml ss:=100-->
<!-- 这个可以在启动launch时修改参数ss,进而修改background_r -->

分组设置group(批量将节点设置到不同命名空间),子集标签:

  • push-ros-namespace:定义命名空间
  • node:定义启动节点
<launch>
    <group>
        <!-- 设置namespace -->
        <push-ros-namespace namespace="ns1" />
        <!-- 设置被包含的节点 -->
        <node pkg="turtlesim" exec="turtlesim_node" name="t1" />
        <node pkg="turtlesim" exec="turtlesim_node" name="t2" />
    </group>

    <group>
        <!-- 设置namespace -->
        <push-ros-namespace namespace="ns2" />
        <!-- 设置被包含的节点 -->
        <node pkg="turtlesim" exec="turtlesim_node" name="t3" />
    </group>

</launch>

文章来源:https://blog.csdn.net/weixin_52720049/article/details/135394255
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。