Ce que vous accomplirez
À la fin de cette unité, vous disposerez d'un environnement virtuel Python avec le SDK OpenArm installé, et l'exécution d'un script de test de 5 lignes reviendra True depuis arm.ping(). Cette confirmation signifie que votre code Python dispose d'un canal de communication en direct avec le bras – qui constitue la base sur laquelle repose tout ce qui se trouve dans les unités 3 à 6.
La documentation complète d'installation et de configuration du SDK se trouve à matériel/openarm/logiciel. Cette unité encadre ce processus avec le contexte dont vous avez besoin et couvre les modes de défaillance les plus courants.
Installer le SDK
Travailler à travers le guide de configuration du logiciel pour une installation complète du SDK. La version courte :
L'installation prend 5 à 15 minutes en fonction de votre connexion Internet. Le torch et lerobot les packages sont volumineux mais vous en aurez besoin dans les unités 4 et 5, alors installez-les maintenant.
Test de connexion Python rapide
Avec ROS 2 en cours d'exécution (à partir de l'unité 1) et votre environnement virtuel activé, exécutez ce test. C'est le moyen le plus rapide de confirmer que votre pile complète fonctionne de bout en bout :
Et arm.ping() retours True et arm.get_joints() renvoie les angles de joint actuels, vous avez terminé. Passez à la section de dépannage uniquement si vous voyez des erreurs.
Dépannage : les 3 erreurs de connexion les plus courantes
Erreur 1 : ConnectionRefusedError ou délai d'attente activé OpenArm()
ROS 2 n'est pas en cours d'exécution ou le serveur d'action n'a pas encore démarré. Vérifiez que ros2 node list montre /openarm_controller. Sinon, retournez sur votre terminal ROS 2 et confirmez le lancement terminé sans erreur. Une sous-cause courante : vous avez oublié de sourcer votre espace de travail avant le lancement – voir l'unité 1, étape critique 2.
Erreur 2 : can0: Network is down dans la borne ROS 2
L'interface SocketCAN a été abandonnée. Cela se produit si vous avez débranché et rebranché l'adaptateur USB-CAN sans réexécuter le ip link set commande. Courir sudo ip link set can0 up type can bitrate 1000000, puis redémarrez le lancement de ROS 2. Ajoutez cette commande à un script de démarrage pour qu'il s'exécute automatiquement au démarrage : sudo nano /etc/network/interfaces.d/can0.
Erreur 3 : arm.get_joints() renvoie tous les zéros même lorsque le bras n'est pas positionné
Ce n'est pas une erreur, cela signifie le bras est signalant son état commun, mais l'étalonnage peut ne pas être complet. Si votre bras est physiquement en position zéro, les zéros sont corrects. Si votre bras présente un angle différent mais affiche toujours des zéros, réexécutez l'étalonnage à partir de l'interface utilisateur Web (unité 1, étape critique 4). Les codeurs conjoints ont besoin de la séquence de référence pour établir la position absolue.
Unité 2 terminée quand...
arm.ping() retours True dans votre terminal Python. Le script de test s'exécute sans erreur du début à la fin. Vous pouvez voir les valeurs de l'angle articulaire changer en temps réel lorsque vous bougez physiquement le bras tout en arm.get_joints() est interrogé en boucle. Vous êtes prêt pour l'unité 3.