Documentation Niryo One

⌘K
  1. Accueil
  2. Docs
  3. Documentation Niryo One
  4. Déboguez votre robot
  5. Déboguer les moteurs Niryo One un par un

Déboguer les moteurs Niryo One un par un

Dans ce tutoriel, nous verrons comment déboguer les moteurs Niryo One, un à la fois. Vous pouvez rencontrer des problèmes avec votre robot, et ces problèmes peuvent être liés à un moteur spécifique.

Quelques raisons pour lesquelles vous souhaiterez peut-être déboguer les moteurs un par un :

  • Vous avez un « Problème de connexion moteur » dans Niryo One Studio. Parallèlement à cette erreur, vous recevrez un message plus détaillé vous indiquant quel moteur (ou quel bus moteur) n'est pas connecté.
  • Un ou plusieurs moteurs Dynamixel redémarrent souvent (vous verrez la LED du moteur passer au rouge pendant une seconde).
  • Le robot fait des mouvements bizarres et on ne sait pas si cela vient de moteurs ou de pièces mécaniques.
  • ...

Il existe deux manières de déboguer chaque moteur séparément : en utilisant Niryo One Studio, ou directement en utilisant ssh pour vous connecter au Raspberry Pi 3B et modifier les fichiers de configuration. Notez que les 2 méthodes produisent exactement le même résultat.

Méthode 1 : Déboguer les moteurs à l’aide de Niryo One Studio

Assurez-vous que votre Niryo One Studio est au minimum v2.1.0.

Ouvrez Niryo One Studio et accédez à l'onglet « Débogage », où vous voyez un panneau « Options de débogage du moteur ».

déboguer les moteurs Niryo One

Cochez ou décochez simplement les cases pour choisir le moteur à activer/désactiver. Après avoir choisi votre configuration, cliquez sur « Modifier la configuration et redémarrer ». Cela fera redémarrer le robot avec uniquement les moteurs vérifiés activés. Les autres moteurs (axes) seront en mode simulation.

Une fois que vous avez détecté un problème avec un moteur, vous pouvez vérifier sur notre forum pour voir si quelqu'un a déjà eu le même problème.

Vous pouvez aussi vous envoyez-nous un message d'assistance technique (veuillez décrire les tests que vous avez effectués et inclure le journal que vous voyez à l'écran) et nous verrons ce que nous pouvons faire pour vous.

!!! N'oubliez pas de réactiver tous les moteurs une fois vos tests terminés !!!

Méthode 2 : Déboguer les moteurs directement sur le Raspberry Pi (pour les développeurs)

Cette méthode est la même que la méthode 1. Elle est juste un peu plus rapide car vous pouvez relancer l'exécution de la pile Niryo One sans redémarrer le Raspberry Pi 3B.

Procédure à suivre pour chaque test

Vous devrez d'abord accéder au Raspberry Pi 3B à l'intérieur du robot, via une connexion ssh. (Icic'est un tutoriel pour ça)

Maintenant, pour chaque test que vous effectuez, vous devez faire ceci :

  • Arrêtez le programme Niryo One ROS actuel (sudo systemctl stop niryo_one_ros.service, mot de passe pour sudo : « robotics ») ou tuez le ROS actuel si vous l'avez lancé manuellement dans un terminal
  • Faites les modifications requises sur les fichiers de configuration
  • Relancez le programme Niryo One ROS dans un terminal pour voir les logs : roslaunch niryo_one_bringup rpi_setup.launch

Désactiver complètement un bus à moteur

Vim et nano sont installés sur le Raspberry Pi 3B (version Xubuntu pour RPi). Vous pouvez utiliser n'importe quel éditeur de texte pour modifier les fichiers.

Vous avez 2 possibilités lors du débogage des moteurs : vous pouvez soit désactiver un moteur à la fois, soit désactiver le bus moteur complet. Nous verrons d'abord comment désactiver complètement un autocar.

Allez dans le fichier ~/catkin_ws/src/niryo_one_bringup/launch/controllers.launch (fichier sur github)

Débogage des moteurs - contrôleurs.yaml

Ici, vous verrez ces 3 lignes :

  • Pour lancer le robot en mode simulation (pas de moteur du tout), changez simplement l'indicateur simulation_mode en true.
  • Pour lancer le robot avec uniquement les moteurs pas à pas (axes 1, 2 et 3), modifiez l'indicateur Disable_dxl_for_debug sur true.
  • Et pour lancer le robot avec uniquement les moteurs Dynamixel (axes 4, 5, 6 & outils), changez le flag Disable_can_for_debug en true.

Pour chaque test, pensez à suivre la procédure donnée précédemment pour arrêter/modifier/démarrer le programme Niryo One ROS.

Si vous rencontrez des problèmes de moteurs et que vous ne savez pas d'où cela vient, ces tests vous permettront de détecter rapidement si vous avez un problème de Niryo Stepper (bus can) ou un problème de Dynamixel (bus dxl). Vous pouvez également désactiver complètement un bus moteur si vous effectuez des tests uniquement sur l'autre bus moteur.

Après avoir effectué ces tests, vous pouvez commencer à déboguer un moteur à la fois.

Déboguer les moteurs pas à pas

Pour déboguer ces moteurs, n'oubliez pas de définir simulation_mode sur false dans Controllers.launch et de définir Disable_can_for_debug sur false. Selon ce que vous voulez faire, vous pouvez laisser l'indicateur Disable_dxl_for_debug sur false ou le définir sur true.

Maintenant, pour déboguer un moteur à la fois, vous devrez modifier le fichier ~/catkin_ws/src/niryo_one_bringup/config/v2/niryo_one_motors.yaml (fichier sur github) (choisissez le dossier V1 ou V2 selon la version matérielle que vous possédez. Note : si le moteur de l'axe 4 est un moteur Dynamixel, vous disposez du V2)

Débogage des moteurs - niryo_one_motors_yaml

Sur ce fichier, vous verrez tous les moteurs qui doivent être connectés au bus moteur. Pour cette partie (moteurs pas à pas), ceux auxquels nous prêterons attention sont les moteurs sous « can_required_motors ». Si un ID de moteur figure sur cette liste et que le moteur n'est pas détecté, vous obtiendrez un « Problème de connexion du moteur » sur Niryo One Studio.

Vous pouvez simplement ajouter un # devant un moteur pour le désactiver. Par exemple, si vous mettez un # devant chaque moteur sauf le moteur 1, alors seul le moteur 1 fonctionnera, tous les autres seront en mode simulation.

Avec ces tests, il vous sera plus facile de vérifier si un moteur pas à pas est défectueux.

Après avoir effectué tous les tests, n'oubliez pas de supprimer le commentaire # devant les moteurs.

Débogage des moteurs Dynamixel

Pour déboguer ces moteurs, n'oubliez pas de définir simulation_mode sur false dans Controllers.launch et de définir Disable_dxl_for_debug sur false. Selon ce que vous voulez faire, vous pouvez laisser l'indicateur Disable_can_for_debug sur false ou le définir sur true.

Vous pouvez maintenant suivre les mêmes instructions que pour les moteurs pas à pas, mais cette fois vous allez modifier les lignes ci-dessous « dxl_required_motors ».

Remarque : vous n'avez rien à modifier en dessous de « dxl_authorized_motors ».

Après avoir fait tous les tests, n'oubliez pas de supprimer les commentaires # devant les moteurs que vous avez désactivés.

Alors maintenant vous savez quel moteur a un problème

Si vous avez repéré un problème, vous pouvez consulter notre forum pour voir si quelqu'un a déjà eu le même problème, ou envoyez-nous un message d'assistance technique avec le journal que vous avez.

Comment pouvons-nous vous aider ?