Si vous recherchez un bon servomoteur à utiliser pour votre projet de robotique, chez Niryo nous avons testé plusieurs servomoteurs disponibles en ligne et nous avons découvert qu’un type de moteur se distingue clairement des autres. Ce sont les moteurs DynamiXEL, fabriqués par l’entreprise Robotis. Nous les utilisons nous-mêmes sur notre robot.
Nous allons vous expliquer ici quelles sont les caractéristiques principales de ces moteurs et comment les utiliser concrètement pour votre projet de robotique.
Caractéristiques des moteurs DynamiXEL
Voici les principales fonctionnalités que vous obtenez avec les moteurs DynamiXEL :
- Contrôle de mode variable : vous pouvez utiliser un contrôle de position en boucle fermée avec le mode « joint » (jusqu’à 320-360°) ou basculer en « mode roue », où le moteur peut tourner indéfiniment avec un contrôle de vitesse.
- Feedback utile : position, vitesse, charge, température, tension, etc. Grâce à ces retours, vous pouvez toujours connaître l’état du moteur et développer votre propre algorithme en boucle fermée en fonction de ces données.
- Feedback d’erreur : à chaque commande (lecture, écriture), le moteur vous renvoie un certain nombre d’informations. Parmi celles-ci, vous pouvez vérifier s’il y a une erreur avec les données que vous avez envoyées ou s’il y a une erreur interne, une surcharge, une surchauffe, etc.
- Contrôle PID : il suffit de fournir les valeurs, et le moteur DynamiXEL utilisera le PID comme méthode principale de contrôle.
- LED : bien que ce ne soit pas directement lié au servomoteur, cela vous permet de vérifier facilement les erreurs (par exemple, la LED clignotera en cas de surchauffe) et d’améliorer l’aspect visuel de votre robot !
- Contrôler plusieurs moteurs en les enchaînant simplement. De cette façon, vous n’avez qu’un seul bus pour communiquer avec tous vos moteurs, ce qui vous permet de réduire considérablement le nombre de câbles sur votre robot.
Quel moteur DynamiXEL choisir pour votre projet de robotique ?
Eh bien, si vous recherchez en ligne, vous trouverez de nombreux servomoteurs DynamiXEL différents, avec des capacités et des prix très variés. Si vous commencez avec Dynamixel, nous vous recommandons soit de choisir les moteurs XL-320 ou AX-12. Ce sont les deux modèles les plus courants, pour lesquels vous trouverez beaucoup d’aide sur Internet pour leur utilisation. Leurs capacités devraient être suffisantes pour votre projet de robotique – du moins pour les tests si vous avez un projet plus ambitieux.
Comment utiliser les servomoteurs DynamiXEL?
Comme les servomoteurs DynamiXEL possèdent un microcontrôleur interne, vous devez communiquer avec eux pour leur communiquer des commandes et lire des données.
Les moteurs utilisent une communication série TTL Half-Duplex.
Pour contrôler un moteur DynamiXEL, vous pouvez utiliser simplement un module USB2 Dynamixel, qui vous permet de connecter facilement votre bus DynamiXEL à votre ordinateur (ou Raspberry Pi) via USB, et ainsi ne pas vous soucier du fonctionnement de la communication.
Si vous souhaitez utiliser uniquement un microcontrôleur (comme sur une carte Arduino, par exemple), vous pouvez utiliser directement les broches UART (avec une configuration Half-Duplex).
Une fois que vos moteurs sont connectés, vous devrez leur envoyer des instructions pour déplacer votre robot et obtenir des retours.
Il existe différentes manières de programmer les moteurs DynamiXEL, adaptées à chaque niveau :
- Logiciels graphiques
- SDK Dynamixel pour les développeurs.
- Ou envoyer directement des paquets au bus DynamiXEL, en suivant le bon protocole de communication (protocole 1.0 pour AX-12 et protocole 2.0 pour XL-320).
Vous pouvez également chaîner plusieurs moteurs pour n’utiliser qu’un seul bus et ainsi réduire le nombre de câbles. Mais alors… Comment savoir comment communiquer avec un servo spécifique ?
Chaque moteur possède un ID (que vous pouvez changer facilement), il vous suffit donc de spécifier l’ID du servo avec lequel vous voulez communiquer, lorsque vous envoyez vos données !
Exemple de projet robotique utilisant des servomoteurs DynamiXEL
Chez Niryo, nous utilisons actuellement des servomoteurs Dynamixel XL-320 sur notre robot, ce qui nous permet de :
- Obtenir des trajectoires fluides par rapport à certains autres servomoteurs standards.
- Augmenter la plage d’axes à plus de 180°.
- Obtenir un retour d’information utile pour améliorer certaines fonctionnalités. Par exemple, nous pouvons demander à une pince de se déplacer vers une position “proche”, et d’arrêter de forcer lorsqu’il saisit un objet (avec feedback de charge) . De cette façon, nous évitons que le moteur ne se casse ou ne souffre de surchauffe.
- Utiliser des LED pour indiquer des signaux à l’utilisateur : robot prêt, phase d’initialisation, problème détecté….
- Signaux à l’utilisateur : robot prêt, phase d’initialisation, problème détecté…
Les servomoteurs DynamiXEL figurent parmi les meilleurs choix pour les projets de robotique en raison de leurs fonctionnalités avancées qui surpassent celles des servomoteurs standard. Ainsi, si vous souhaitez démarrer votre propre projet, envisagez d’en tester un, ce qui vous fera gagner du temps et vous permettra de vous concentrer sur des fonctionnalités de niveau supérieur !
Pour plus d’informations sur Niryo One, vous pouvez consulter notre site Web et regarder des vidéos sur son fonctionnement. Nous publierons bientôt de nouvelles photos et vidéos sur la manière dont nous utilisons les moteurs DynamiXEL sur Niryo One.