[Documentation] [TitleIndex] [WordIndex

Etiqueta <machine>

La etiqueta <machine> declara una máquina en la que puede ejecutar nodos ROS. No necesita esta etiqueta si está lanzando todos los nodos localmente. Se usa principalmente para declarar configuraciones SSH y variables de entorno ROS para máquinas remotas, aunque también puede usarla para declarar información sobre la máquina local.

Atributos

Los siguientes atributos están disponibles en ROS Electric y versiones anteriores:

Elements

Solo para Electric y anteriores: Puede utilizar las siguientes etiquetas XML dentro de una etiqueta <machine>:

Ejemplos

La sintaxis de la etiqueta <machine> es muy diferente en ROS Electric, así que preste atención al indicador de versión en los ejemplos siguientes.

Básica (Solo ROS Electric and anteriores)

El siguiente ejemplo a continuación muestra la configuración de un nodo "footalker" para ejecutar otra máquina. Además de anular ROS_ROOT y ROS_PACKAGE_PATH que usará la máquina, el ejemplo también establece una variable de entorno LUCKY_NUMBER en la máquina remota.

<launch>
  <machine name="foo" address="foo-address" ros-root="/u/user/ros/ros/" ros-package-path="/u/user/ros/ros-pkg" user="someone">
    <env name="LUCKY_NUMBER" value="13" />
  </machine>

  <node machine="foo" name="footalker" pkg="test_ros" type="talker.py" />

</launch>

Basic (ROS Fuerte y posterior) usando env-loader

<< Versión (Fuerte) >>

El siguiente ejemplo a continuación muestra la configuración de un nodo "footalker" para ejecutar otra máquina. Utiliza el archivo env-loader predeterminado que viene con Fuerte.

<launch>
  <machine name="foo" address="foo-address" env-loader="/opt/ros/fuerte/env.sh" user="someone"/>

  <node machine="foo" name="footalker" pkg="test_ros" type="talker.py" />

</launch>

A continuación se muestra un ejemplo de secuencia de comandos de env-loader. Reemplace /opt/ros/fuerte/setup.sh con un archivo de configuración diferente si desea utilizar una configuración de entorno diferente:

#!/bin/sh

. /opt/ros/fuerte/setup.sh
exec "$@"

Alternativamente, si prefiere obtener fuentes de un espacio de trabajo de rosws:

#!/usr/bin/env bash

source /home/username/path/to/workspace/setup.bash
exec "$@"

2024-06-08 13:13