jeudi 3 juin 2021

Robot quadrupède à 2 servomoteurs (Arduino)

Je vous présente aujourd'hui un robot quadrupède peu coûteux et très facile à fabriquer.  Il est constitué de deux servomoteurs: un premier servomoteur qui contrôle la paire de pattes avant, et un deuxième servomoteur qui contrôle la paire de pattes arrière. Pour que le robot puisse avancer, il est très important que les servomoteurs soient légèrement inclinés (les pattes ne sont donc pas parfaitement perpendiculaires au sol).


Avant d'aller plus loin, observons le robot en mouvement (il se déplace d'abord vers l'avant, puis ensuite vers l'arrière):

Fabrication du robot

J'ai fabriqué la structure mécanique de mon robot avec du carton, quelques baguettes de bois, un peu de colle et du ruban gommé.

Pour les pattes, j'ai utilisé quatre segments de crayons. Les crayons sont assemblées par paires, collés à chaque extrémité d'une tige de bois. 


Un palonnier de servomoteur est fixé sur la tige de bois, à mi-chemin entre les deux pattes (contrairement à ce que suggère la photo, c'est préférable de visser le palonnier au servomoteur avant de le fixer à la tige de bois).


Pour le châssis, j'ai découpé un rectangle dans du carton ondulé. ainsi que deux triangles pour les côtés. Deux petites ouvertures rectangulaires sont juste assez grandes pour qu'on puisse y insérer les servomoteurs.


On assemble le tout en ne lésinant pas sur le ruban gommé...


J'ai ajouté un peu de ruban gommé sur le bout des pattes pour les rendre plus adhérentes.

Circuit

J'ai fait mes tests avec une carte Arduino Uno mais, puisqu'il s'agit de contrôler deux servomoteurs, n'importe quel microcontrôleur pourvu de 2 sorties PWM fera l'affaire. Si votre robot est de petite taille, vous préférerez peut-être une carte de plus petite dimension comme l'Arduino Nano ou la STM32 Bluepill. Si vous optez pour l'ESP8266 ou l'ESP32, vous ajoutez la possibilité de contrôler votre robot via le réseau WiFi.

Sans surprise, chaque servomoteur est alimenté par une tension de 5 V, et contrôlé par une broche PWM (en l'occurrence les broches 9 et 10).

Installation de la bibliothèque Servo

Si ce n'est pas déjà fait, on installe la bibliothèque Servo au moyen du gestionnaire de bibliothèque.

Sketch

Voici le sketch utilisé: le robot marche un certain temps vers l'avant, puis ensuite vers l'arrière.

-

-

Les 4 phases du mouvement

La marche du robot s'effectue en 4 phases; à chaque phase, un seul des deux servomoteurs change de position:

Phase 1:  servo avant à 70°, servo arrière à 110°


Phase 2: servo avant à 110°, servo arrière à 110°


Phase 3: servo avant à 110°, servo arrière à 70°


Phase 4: servo avant à 70°, servo arrière à 70°


Sources

Ce robot est fortement inspiré de celui qui avait été présenté par Vinod sur son blog Electronics the King of Hobbies. J'ai été intrigué par la simplicité du robot, tout en regrettant que Vinod ait utilisé une carte MSP430 Launchpad programmée...en assembleur!

Le même principe a été utilisé par Edwindertien pour son robot SimpleWalker. Si vous disposez de la machinerie nécessaire, vous serez certainement intéressés par ses plans détaillés (il a fait un robot en contreplaqué et un autre en acrylique). Son sketch Arduino a servi de point de départ à mon propre sketch.

À lire également


Yves Pelletier (Facebook)

Aucun commentaire:

Enregistrer un commentaire