Introducción al desarrollo de aplicaciones ROS Uso de roslaunch

ROS es la abreviatura de Robot Operating System. Este artículo presenta la introducción del desarrollo de aplicaciones ROS y el uso de roslaunch. Sin roslaunch, necesitamos abrir muchas terminales, iniciar roscore, varios nodos, etc. Para los desarrolladores o usuarios de ros, roslaunch es una herramienta muy importante.

roslaunch es una herramienta que puede lanzar fácilmente múltiples nodos ROS de forma local y remota (a través de SSH) y establecer parámetros en el servidor de parámetros. Incluye la opción de regenerar automáticamente los procesos muertos. roslaunch recibe uno o más archivos de configuración XML (extensión .launch), estos archivos especifican los parámetros que se establecerán y el nodo que se lanzará y el host en el que se debe ejecutar.

El lanzamiento de roslaunch

Hay 2 formas de iniciar roslaunch:

Método 1: ruta del archivo de inicio de roslaunch + nombre del archivo de inicio

Si está en el directorio del archivo de inicio, no necesita el directorio

比如 : roslaunch turtle.launch

o:

Método 2: nombre del paquete del proyecto roslaunch, nombre del archivo de lanzamiento

tal como:

Crea un archivo de lanzamiento simple

La tortuga de simulación bajo ROS  presenta un ejemplo de cómo iniciar y controlar el movimiento de la tortuga. Hay 3 terminales abiertas allí, comenzando respectivamente roscore, rosrun turtlesim turtlesim_node y rosrun turtlesim turtle_teleop_key. Ahora solo se usa una terminal para el lanzamiento.

lanzamiento de mkdir 

lanzamiento de cd

nano turtle.lanzamiento

El contenido del archivo es:

<launch>
    <node pkg="turtlesim" type="turtlesim_node" name="turtle1" output="screen" />
    <node pkg="turtlesim" type="turtle_teleop_key" name="key" output="screen" />
</launch>

Guardar y Salir.

Ejecutar en la terminal: roslaunch turtle.launch

Vi que se inicia la emulación tortuga, porque ahora en la terminal tortuga, haga clic para volver a la terminal original.Por supuesto, la posición relativa de las dos terminales debe configurarse para evitar bloqueos. Utilice las teclas de flecha del teclado para controlar el movimiento de la pequeña tortuga.

 

Método de paquete de ingeniería

El  espacio de trabajo de ROS  se establece en el artículo Desarrollo de ROS y preparación de aplicaciones: crear un espacio de trabajo . Ahora, cree un paquete funcional:

cd ~ / catkin_ws / src

catkin_create_pkg learning_launch

cd ~ / catkin_ws / src / learning_launch

lanzamiento de mkdir 

lanzamiento de cd

nano turtle.lanzamiento

El contenido es el mismo que el anterior o copie el archivo anterior directamente.

Regrese al directorio del proyecto y luego compile, fuente

cd ~ / catkin_ws /

catkin_make

fuente ~ / catkin_ws / devel / setup.bash

Ahora puede iniciar roslaunch como un paquete de proyecto

roslaunch learning_launch turtle.launch

Se puede ver que el método del paquete del proyecto es el mismo que el método del archivo, puede ser fácil de recordar o puede estar en su paquete del proyecto, por ejemplo, learning_tf se coloca en el directorio donde se encuentra.

lanzar contenido de archivo

Iniciar roslaunch es muy simple, la clave es el contenido del archivo de inicio.

El archivo de inicio es un archivo xml cuyo elemento raíz es la definición de etiqueta <launch>

Inicie el nodo: <nodo>

<node name = "$ (anon foo)" pkg = "rospy_tutorials" type = "talker.py" />   
<node pkg = "turtlesim" type = "turtlesim_node" name = "turtle1" output = "screen" /> El
most Los tres tipos importantes de
nombres de paquetes de proyectos pkg
Tipo de nombre de archivo de ejecución
Nombre de nodo
Otros incluyen:
salida respawn required ns args

configuración de parámetros

Configure los parámetros del sistema y guárdelos en el servidor de parámetros

<param> Establecer parámetros

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

<rosparam> Importa todos los parámetros en el archivo de parámetros YAML

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

Variables locales en el archivo de lanzamiento

<arg>

<arg name = "hoge" value = "fuga" />

<remap> reasignación

<reasignación de = "/ diferente_tema" a = "/ tema_necesario" />

<include> contiene otros archivos de inicio

<includefile = "$ (buscar nombre-paquete) /ruta/nombrearchivo.xml" />

Para obtener más información, consulte  http://wiki.ros.org/roslaunch/XML/

Ahora, los tutoriales generales tienen un método de inicio. Después de conocer los principios básicos, se familiarizará con el contenido del archivo de inicio varias veces.

Eso es todo para la introducción.

 

 

 


 

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/leon_zeng0/article/details/115111624
Recomendado
Clasificación