Configuración de inicio automático de arranque del paquete de funciones ROS

Aquí, el paquete de funciones robot_upstart se utiliza para configurar la función de arranque automático Vale la pena señalar que el paquete de funciones robot_upstart de las versiones cinética y melódica será ligeramente diferente.

1. Instalar robot_upstart

(1) Si es una versión melódica del sistema ROS, solo use el método de instalación apt para instalarlo directamente y está disponible para pruebas personales.

sudo apt install ros-melodic-robot-upstart

(2) Si es una versión cinética del sistema ROS, si lo instala directamente con apt install, se informará un error y faltarán algunas dependencias. Por lo tanto, debe instalarlo con el código fuente e instalar manualmente las dependencias.

cd ~/catkin_ws/src
git clone https://github.com/clearpathrobotics
/robot_upstart.git 
cd ..
#如果编译无响应,请将~/catkin_ws/build中的文件全部删除后重试
catkin_make
#用rosdep安装robot_upstart所需依赖项
rosdep install robot_upstart

2. Agregue tareas de inicio automático

(1) Dado que robot_upstart es un nodo ROS, roscore debe habilitarse antes de comenzar.

roscore

(2) Luego puede usar el comando de ayuda de robot_upstart para ver su uso.

rosrun robot_upstart install -h

(3) Escriba todos los nodos ROS que deben iniciarse en un archivo de inicio. Aquí escribí el archivo miiboo_bringup/launch/myrobot.launch. El contenido del archivo es el siguiente.

<launch>
  <!-- launch sensor -->
  <include file="$(find miiboo_bringup)/launch/miiboo_all_sensor.launch"/>
 
  <!-- launch nav -->
  <include file="$(find miiboo_nav)/launch/miiboo_nav.launch" />
 
  <!-- launch manage -->
  <include file="$(find nav_manage)/launch/nav_manage.launch"/>
</launch>

(4) Cargue el archivo de lanzamiento

rosrun robot_upstart
 install miiboo_bringup/launch/myrobot.launch --job myrobot --interface wlan0 --logdir ~/myrobot.log

en,

--job especifica el alias de la tarea

--interfaz especifica la interfaz de red, que debe configurarse; de ​​lo contrario, no se puede realizar la comunicación ROS entre varias máquinas

--logdir especifica el directorio de almacenamiento de registro

3. Iniciar, reiniciar, detener tareas

(1) Iniciar la tarea

sudo systemctl daemon-reload && sudo systemctl start myrobot

(2) Reiniciar la tarea

sudo systemctl restart myrobot

(3) Detener la tarea

sudo systemctl stop myrobot

4. Desinstalar la tarea de inicio automático

(1) Dado que robot_upstart es un nodo ROS, roscore debe habilitarse antes de comenzar.

roscore

(2) Desinstalar

rosrun robot_upstart uninstall myrobot

(3) Eliminar registro

sudo rm -rf ~/myrobot.log

referencias

[1] Zhang Hu, Robot SLAM Navigation Core Technology and Practice [M], Machinery Industry Press, 2022.

Supongo que te gusta

Origin blog.csdn.net/m0_68732180/article/details/130253429
Recomendado
Clasificación