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.