Paramètres de démarrage automatique du package de fonctions ROS

Ici, le package de fonctions robot_upstart est utilisé pour définir la fonction de démarrage automatique. Il convient de noter que le package de fonctions robot_upstart des versions cinétique et mélodique sera légèrement différent.

1. Installez robot_upstart

(1) S'il s'agit d'une version mélodique du système ROS, utilisez simplement la méthode d'installation apt pour l'installer directement, et elle est disponible pour des tests personnels.

sudo apt install ros-melodic-robot-upstart

(2) S'il s'agit d'une version cinétique du système ROS, si vous l'installez directement avec apt install, une erreur sera signalée et certaines dépendances seront manquantes. Vous devez donc l'installer avec le code source et installer manuellement les dépendances.

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. Ajouter des tâches à démarrage automatique

(1) Étant donné que robot_upstart est un nœud ROS, roscore doit être activé avant de démarrer.

roscore

(2) Ensuite, vous pouvez utiliser la commande help de robot_upstart pour voir son utilisation.

rosrun robot_upstart install -h

(3) Écrivez tous les nœuds ROS qui doivent être démarrés dans un fichier de lancement. Ici, j'ai écrit le fichier miiboo_bringup/launch/myrobot.launch. Le contenu du fichier est le suivant.

<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) Charger le fichier de lancement

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

dans,

--job spécifie l'alias de la tâche

--interface spécifie l'interface réseau, qui doit être définie, sinon la communication ROS multi-machine ne peut pas être réalisée

--logdir spécifie le répertoire de stockage des journaux

3. Démarrer, redémarrer, arrêter des tâches

(1) Démarrer la tâche

sudo systemctl daemon-reload && sudo systemctl start myrobot

(2) Redémarrez la tâche

sudo systemctl restart myrobot

(3) Arrêter la tâche

sudo systemctl stop myrobot

4. Désinstallez la tâche à démarrage automatique

(1) Étant donné que robot_upstart est un nœud ROS, roscore doit être activé avant de démarrer.

roscore

(2) Désinstaller

rosrun robot_upstart uninstall myrobot

(3) Supprimer le journal

sudo rm -rf ~/myrobot.log

les références

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

Je suppose que tu aimes

Origine blog.csdn.net/m0_68732180/article/details/130253429
conseillé
Classement