<arg> tag

New in C Turtle

Introducción

La etiqueta <arg> le permite crear archivos de lanzamiento (launch) más reutilizables y configurables, mediante la especificación de valores que se pasan a través de la línea de comandos. Estos se pasan a través de un <include> o se declaran para archivos de nivel superior. Los argumentos no son globales . Una declaración arg es específica de un solo archivo launch, de forma similar a un parámetro local en un método. Se deben pasar explícitamente los valores arg a un archivo incluido, como lo haría en una llamada a un método.

Patrón de caso de uso

<arg> puede ser usado de las siguientes formas:

  • <arg name="foo" />

    • Declara la existencia de foo. foo debe pasarse como un argumento de línea de comandos (si es de nivel superior) o mediante el paso de <include> (si se incluye).

    <arg name="foo" default="1" />

    • Declara foo con un valor predeterminado. foo puede ser anulado por el argumento de la línea de comandos (si es de nivel superior) o mediante el paso de <include> (si está incluido).

    <arg name="foo" value="bar" />

    • Declara foo con valor constante. El valor de foo no se puede anular. Este uso permite la parametrización interna de un archivo de lanzamiento sin exponer esa parametrización en niveles superiores.

Attributos

  • name="arg_name"

    • Name of argument.

    default="default value" (opcional)

    • Default value of argument. Cannot be combined with value attribute.

    value="value" (optional)

    • Argument value. Cannot be combined with default attribute.

    doc="description for this arg" (optional) New in Indigo

    • Description of the argument. You could get this through --ros-args argument to the roslaunch command.

Ejemplos

Pasando un argumento a un archivo incluido

  • my_file.launch:

    <include file="included.launch">
      <!-- all vars that included.launch requires must be set -->
      <arg name="hoge" value="fuga" />
    </include>

    included.launch:

    <launch>
      <!-- declare arg to be passed in -->
      <arg name="hoge" />
    
      <!-- read value of arg -->
      <param name="param" value="$(arg hoge)"/>
    </launch>

Pasando un argumento a través de la línea de comandos

roslaunch utiliza la misma sintaxis que los argumentos de reasignación de ROS para especificar valores de arg.

  • $ roslaunch my_file.launch hoge:=my_value      (el archivo .launch esta disponible en el mismo directorio)
    $ roslaunch %YOUR_ROS_PKG% my_file.launch hoge:=my_value

Wiki: es/roslaunch/XML/arg (last edited 2021-09-04 18:05:58 by JuanEduardoRiva)