Importer les modules necessaires.
import pypot.dynamixel
import time
Trouver le port sur lequel est branché le moteur
print(pypot.dynamixel.get_available_ports())
Ouvrir une communication série avec le moteur :
dxl_io = pypot.dynamixel.Dxl320IO('/dev/ttyAMA0')
Cherche les moteurs connectés sur le bus (il en faut un seul avec l'ID 1 pour la première utilisation) :
motors = (dxl_io.scan(range(60)))
print(motors)
print(len(motors))
Modifier l'identifiant d'un moteur (ID) :
#Remplace l'ID 1 par 2 sur le moteur 1.
#Attention, les moteurs doivents tous avoir une ID différente sur le même bus.
dxl_io.change_id({1:2})
Retourne la position cible pour le moteur 1 :
dxl_io.get_goal_position({1})
Donne un objectif de position pour le moteur 1 :
dxl_io.set_goal_position({12: 60})
Ferme la connexion avec les moteurs :
dxl_io.close()
from pypot.dynamixel import autodetect_robot
my_robot = autodetect_robot()
Afficher les moteurs de my_robot :
my_robot.motors
Faire bouger le moteur 2 jusqu'à la position 0 degrés en 2 secondes :
my_robot.compliant = False
my_robot.motor_2.goto_position(0,2)
Aller plus loin dans les commandes possibles :
La documentation de Pypot : https://poppy-project.github.io/pypot/
Le projet Poppy : https://www.poppy-project.org/fr/