[Documentation] [TitleIndex] [WordIndex

Etiqueta <param>

La etiqueta <param> define un parámetro que se configurará en el Servidor de parámetros. En lugar de value, puede especificar un atributo textfile, binfile o command para establecer el valor de un parámetro. La etiqueta <param> se puede colocar dentro de una etiqueta <node>, en cuyo caso el parámetro se trata como un parámetro privado.

También puede establecer parámetros privados en un grupo de nodos usando la sintaxis ~ param (ver ROS names (Nombres ROS)) en una etiqueta <param>. El parámetro declarado se establecerá como un parámetro local en las etiquetas <node> que siguen y que están en el mismo ámbito (es decir, grupo o la etiqueta ns).

Atributos

Atributo

Estado

Caracteristicas

name="namespace/name"

Parámetro name. Los espacios de nombres se pueden incluir en el nombre del parámetro, pero se deben evitar los nombres especificados globalmente.

value="value"

(opcional)

Define el valor del parámetro. Si se omite este atributo, se debe especificar binfile, textfile o command.

type="str|int|double|bool|yaml"

(opcional)

Especifica el tipo de parámetro. Si no especifica el tipo, roslaunch intentará determinarlo automáticamente. Estas reglas son muy básicas:

  • numeros con '.'s son punto flotante, integros de lo contrario;
  • "true" o "false" son boleamos (no sensible entre mayúsculas y minúsculas).
  • todos los demás valores son strings.

textfile="$(find pkg-name)/path/file.txt"

(opcional)

El contenido del archivo se leerá y almacenará como una cadena. El archivo debe ser accesible localmente, aunque se recomienda encarecidamente que utilice la sintaxis relativa al paquete $(find)/file.txt para especificar la ubicación.

binfile="$(find pkg-name)/path/file"

(opcional)

El contenido del archivo se leerá y almacenará como un objeto binario XML-RPC codificado en base64. El archivo debe ser accesible localmente, aunque se recomienda encarecidamente que utilice la sintaxis relativa al paquete {$(find)/file.txt para especificar la ubicación.

command="$(find pkg-name)/exe '$(find pkg-name)/arg.txt'"

(opcional)

La salida del comando se leerá y almacenará como una cadena. Se recomienda encarecidamente que utilice la sintaxis $(find)/file.txt relativa al paquete para especificar los argumentos del archivo. También debe citar los argumentos del archivo con comillas simples debido a los requisitos de escape de XML.

Ejemplos

<param name="publish_frequency" type="double" value="10.0" />

Parámetros de salida correspondientes a YAML

Para cargar un archivo YAML, puede usar:

<rosparam command="load" file="FILENAME" />

New in Lunar

Pero esto no funciona cuando se usa un comando que genera los parámetros en stdout. En ese caso, se puede usar el nuevo tipo de parámetro yaml:

<param name="params_a" type="yaml" command="cat '$(find roslaunch)/test/params.yaml'" />

En el ejemplo anterior, los parámetros del archivo descrito se cargarían en el espacio de nombres (namespace) local params_a.


2024-05-11 12:51