Revisé mucho en Internet sobre el paquete y escribí el archivo de lanzamiento. Todos dicen que es un paquete y un archivo ejecutable. No está claro en qué carpeta está este archivo. Lo he practicado y lo grabé.
No se trata de cómo escribir el archivo de inicio, ni se trata de iniciar varios nodos, solo se escribe un nodo para explicar dónde están pkg y type.
Aquí está el flujo completo para un ejemplo:
cd ~/git (otras carpetas también están disponibles)
git clone https://github.com/ethz-asl/ros_best_practices.git
ln -s ~/git/ros_best_practices/ ~/catkin_ws/src/ (crear enlace simbólico, múltiples es más conveniente para proyectos)
cd ~/catkin_ws
catkin build ros_package_template (ros_package_template está en la carpeta ros_best_practices)
fuente devel/setup.bash (actualizar espacio de trabajo)
puede ver que ya hay un ros_package_template.launch que
se puede iniciar directamente con roslaunch ros_package_template ros_package_template.lanzar comando
Si desea escribir un archivo de inicio e iniciarlo a través del archivo de inicio, puede usar la siguiente plantilla
<lanzamiento>
<nodo paquete="" tipo="" nombre="" salida="pantalla">
</nodo>
</lanzamiento>
La pregunta ahora es qué paquete y tipo debe escribir
Puede ver la carpeta ros_package_template recién creada en la carpeta ~/catkin_ws/devel/lib, ingresar a la carpeta ros_package_template y encontrar un archivo ejecutable ros_package_template, por lo que pkg es el nombre de la carpeta ros_package_template, y el tipo es el archivo ejecutable El nombre ros_package_template
( aunque son lo mismo), el nombre se puede tomar solo, aún toma ros_package_template
El contenido de este archivo de inicio es el siguiente, denominado test.launch, suponiendo que se coloque en ~/git
<lanzamiento>
<nodo pkg="ros_package_template" type="ros_package_template" nombre="ros_package_template" salida="pantalla">
</nodo>
</lanzamiento>
Use roslaunch ~/git/test.launch para iniciarlo
Establecer el archivo yaml en el archivo de inicio
1. Configure directamente, use el formato de archivo xml y el formato de archivo yaml informará un error
https://blog.csdn.net/ljx0365/article/details/115058744
2. Establecer directamente la ruta del archivo yaml
<lanzamiento>
<nodo nombre="vins_node" pkg="vins" type="vins_node" salida="pantalla" args="/xx/xx/x/.yaml"/>
</lanzamiento>
详见:roslaunch command line args - ROS Answers: Open Source Q&A Forum
<launch>
<node pkg="my_package" type="my_node" name="node_instance" args="-arg1 -arg2" />
</launch>