Nous décrivons ici la construction du robot "Minnie" : un robot bipède "entièrement métallique" de 80cm de haut, ~7 kg à un cout limité d'environ 350€.
Minnie est inspiré de notre robot Echo, plus petit :
Minnie est mue par :
2 moteurs de hanche
2 moteurs de genoux
2 moteurs de pieds
2 moteurs d'épaule
2 moteurs de coude
2 moteurs (servos RC) de tête
Ce qui fait quand même 12 moteurs (DOF) qui doivent être suffisamment puissants, rapides, pas trop chers...
Actuellement, Minnie n'a pas de main. On pourra envisager de lui rajouter une pince ou plusieurs doigts...
Minnie doit, évidemment marcher, détecter une chute (ce qui ne manquera pas d'arriver !) ne rien casser (il y a 2 amortisseurs en mousse à l'avant et 1 à l'arrière) et se relever toute seule.
Le matériel nécessaire :
Le tronc de Minnie est constitué d'une boite en aluminium avec son couvercle FA68 de 300x210x100 (42.20€) (la boite est grande mais il ne faut pas négliger la taille du câblage et l'accès. La taille de la boite permet aussi d'accueillir, éventuellement, un pack batterie plus important).
A l'intérieur, une grande plaque en plexiglas transparent e3.5, verticale, maintenue par 2 cornières en alu de 20x20 fixée sur le côté gauche de la boite et 2 charnières maison sur le côté droit donne un accès facile à toutes les cartes. Le plexi est isolant : on peut visser les cartes directement dessus sans entretoise, sans accès à l'arrière et sa transparence facilite la maintenance. Derrière cette plaque se trouve la batterie (qui a beaucoup de place), 4 moteurs et 1 servo. Tous les câbles qui arrivent sur les cartes fixées sur la plaque passe du côté droit. Ainsi, en dévissant les 2 vis des cornières du côté gauche, on peut faire pivoter la carte en plexi avec toutes les cartes, comme la page d'un livre, pour avoir accès aux moteurs, au câblage et à la batterie. A la rigueur Minnie pourrait même fonctionner avec la plaque plexi "ouverte". On pourrait même fixer des cartes supplémentaires au verso, dans la partie haute de la plaque en plexi...
Les bras et les cuisses de Minnie sont constitués de profilés aluminium de 50x50e2, les avant bras de profilés aluminium 30x30e2 et les mollets de profilés aluminium de 45x45e2
Minnie est animée par un ESP32-S3 avec son bornier support (7.5€) et d'un petit module accéléromètre I2C MPU6050 (1.6€) (pour détecter les chutes). Rappelons que l'ESP32-S3 est beaucoup plus puissant (~x50) qu'un Arduino Mega mais il faut lui rajouter 1 de ces 2 modules (ou les 2) pour étendre le nombre de ports (l'ESP32-S3 n'a que 35 I/O) : Pilote de servos, interface série.
Entrées/Sorties I/O : Total : 39
10 PWM moteur
10 Digital moteurs sens
10 Analog capteurs potentiomètres
2 Digital Servos tête
2 Digital Capteur Ultra-sons
1 Analog Tension batterie
2 I2C Accéléromètre
1 Digital Bip
Nota : pour économiser les I/O, nous allons probablement utiliser la diode Led RGB intégrée à l'ESP32-S3 ce qui supposera de faire un trou dans face avant de la boite entre les amortisseurs et d'y ajouter une petite fenêtre en plexi transparente... (ou dépolie)
Pilote de servos 16 canaux (2.91€)
Un pack batterie Lithium de 12V 20Ah avec son circuit de charge (25€). La puissance du pack va évidemment déterminer l'autonomie... (Attention aux capacités fantaisistes indiquées sur les batteries chinoises...)
Il y a beaucoup de place derrière la plaque en plexi qui maintient les cartes électroniques. On peut donc choisir entre pas mal de modèles et de capacités différentes selon l'autonomie souhaitée.
10 motoréducteurs coudés 5840-31ZY (49€ les 4) 12V (l'axe de sortie est monté sur 2 roulements à billes)
Nota : ces moteurs sont un compromis puissance/vitesse/prix : on peut faire mieux mais c'est environ 10 fois plus cher : Minnie à 2500€ ! ... Ici la vitesse des moteurs va limiter la vitesse de mouvements et de marche de Minnie...
Ces moteurs sont irréversibles (ce qui a des inconvénients) mais a aussi l'avantage de permettre de maintenir une position à l'arrêt sans consommer et améliorer l'autonomie... Minnie pourrait rester à faire l'arbre droit pendant 15mn sans presque rien consommer !
5 cartes contrôleurs ZK-BM1 (24.20€ les 6) pour 2 moteurs chacune avec des ponts en H et du PWM pour commander en vitesse et dans les 2 sens chaque moteur (à chaque mouvement les moteurs sont accélérés et décélérés par logiciel. (Plus rapide, augmentation de la durée de vie des moteurs, équilibre de Minnie et plus naturel).
10 potentiomètres Piher PT15 10k sans butée linèaires (2.2€ les10) (voir un peu plus loin). Le problème des moteurs, c'est qu'ils n'ont pas de capteur angulaire. L'astuce ici, consiste à coller (époxy) un axe constitué d'une vis FM4x10 modifiée : la tête est meulé en diamètre, 2 plats sont ajoutés sur le filetage à la lime et la vis est raccourcie. La tête est collée sur l'axe moteur et entraine le potentiomètre PT15. On obtient ainsi des servos de puissance à moindre cout !
Les 10 potentiomètre sont alimentés en 3.3V directement par l'ESP32 (qui suffit largement). Le tout rentre au chausse-pied au niveau du coude et des pieds...
2 servos RC RDS3115MG (24€ les 2) pour la tête de Minnie (les mêmes que ceux utilisés par Echo)
14 brides D8 (8.88€ les 4) pour les motoréducteurs (ces brides sont fixées sur l'axe des moteurs et, par 4 vis sur les profilés aluminium) (on pourrait aussi fabriquer ces brides)
Nota : Nous allons cependant essayer de fabriquer nos brides nous-mêmes : en soudant (arc), pour chaque bride, deux rondelles en acier Ø20x2, percées et taraudées M4, à un morceau de tube D10d8. Et en soudant un écrouM4 sur le tube. Ces brides seront maintenues par 8 vis M4 : 4 de chaque côté du profilé aluminium pour plus de rigidité...
1 Convertisseur 12V->5V 5A (1.60€) pour alimenter les 2 servos, l'ESP32 et tous les potentiomètres PT15
2 arceaux en acier M6x20 (2.10€ les2) pour assurer, attraper, transporter et sécuriser Minnie
60 vis Chc Tête fraisée M3x10 (1.40€ les 50)
90 vis Chc tête fraisée M4x10 (1.96€ les 30)
1m câble nappe multicolore
1 filament Led rouge (voyant marche)
Et encore :
Caméra (futur...)
De la visserie et de la tôle aluminium pour les pieds
Des chaussures enfant pour les pieds
Des amortisseurs de chute : 2 seins demi-sphériques en mousse à l'avant et... un cylindre de mousse à l'arrière... fixés sur la boite
De la mousse pour caler la batterie devant et derrière
Un avant-projet de Minnie en 3D : (le capot de la boite est ouvert). Les profilés aluminium seront munis de bouchons en plastique imprimés en 3D ou en bois. (En bleu, à terre, une carte de crédit CB pour donner l’échelle).
Minnie est entièrement métallique sauf la tête, les pieds et les "mains" pour limiter le bruit. (pendant la marche et les chutes). Notre expérience avec notre robot Echo nous a montré que les semelles métalliques n'étaient pas idéal sur le carrelage : c'est bruyant et ça glisse !
De haut en bas :
La tête (imprimée en 3D Ø120) Le trou du nez servira pour la future caméra, des trous sous la tête, à l'avant pour un futur haut-parleur... La casquette, un capteur à ultra-sons, et un filament Led rouge (voyant marche) en forme de sourire fixés sur :
Sur le dessus du coffret :
Le capot de la boite avec... 2 amortisseurs de chute en mousse (il y a les mêmes dans le dos). Ça limite le bruit et la casse en cas de chute ! Un trou rond avec une fenêtre en plexi (dépolie ?) permet de voir la Led RGB de l'ESP32-S3 qui nous donnera pas mal d'indications :
batterie chargée/déchargée, moteurs actifs...
La boite est assez grande et contient l'ESP32-S3 avec ses borniers (vert), les 5 cartes contrôleurs (noir), le convertisseur, les 2 extendeurs de port, l'accéléromètre. Derrière la plaque en plexi transparente et qui peut pivoter : le pack batterie (bleu), les 2 motoréducteurs d'épaule et les 2 motoréducteurs de hanche. (Les masses le plus bas possible).
La partie rouge, derrière la plaque plexi, est un morceau de mousse qui maintient la batterie (en bleu)
Les bras en profilé alu 50x50e2
Sur les épaules, une butée noire (invisible sur l'image) pour empêcher les bras de faire plusieurs tours et d'arracher le câble du coude
Les avant-bras en profilé alu 30x30e2
Les cuisses en profilé alu 50x50e2
Les mollets en profilé alu 45x45e2
Les pieds, (avec une bride supplémentaire et axe Ø8 en plus du moteur. Les semelles sont en CTP (pour le bruit). Si les dimensions sont correctes, les pieds seront ensuite équipés de chaussures enfants !
Devant les pieds, une carte CB pour donner l'échelle...
Nota : les pieds d'un robot bipède doivent être soigneusement choisis : forme, dimensions, matière... (les pieds plus petits sont plus esthétiques mais l'équilibre est évidemment plus compliqué).
Comme d'habitude, il faut commencer par construire une mécanique relativement fiable, puis l'électrotechnique et le câblage et enfin le code ESP32-S3...
Nota : Tous les câbles qui arrivent sur les cartes électroniques fixées sur la plaque en plexi viennent de la droite de Minnie (la gauche sur la photo). (Même les câbles connectés aux moteur de gauche). Ainsi, en cas de maintenance, on peut dévisser les 2 vis qui maintiennent la plaque en plexi sur les équerres alu et faire pivoter la plaque en plexi avec toutes ses cartes (comme ouvrir un livre). Voire faire fonctionner Minnie, plaque plexi ouverte.
Le code :
Il faut commencer par apprendre Minnie à marcher, puis à se relever, qu'elle soit sur le ventre ou sur le dos. Ensuite tourner (ce n'est pas très compliqué), courir, s'asseoir, se coucher, faire des roulades, courir (c'est plus compliqué), faire un saut périlleux avant, Euh... là non !
Nommer les moteurs : (angles en degrés)
TZ : servo tête axe vertical (+ vers la droite)
TX : servo tête axe horizontal (+ vers le haut)
EG : motoréducteur épaule gauche (+ vers l'avant)
ED : motoréducteur épaule droite (+ vers l'avant)
CG : motoréducteur coude gauche (+ vers l'avant)
CD : motoréducteur coude droit (+ vers l'avant)
HG : motoréducteur hanche gauche (+ vers l'avant)
HD : motoréducteur hanche droite (+ vers l'avant)
GG : motoréducteur genoux gauche (+ vers l'avant)
GD : motoréducteur genoux droite (+ vers l'avant)
PG : motoréducteur pied gauche (+ vers l'extérieur)
PD : motoréducteur pied droit (+ vers l'extérieur)
Exemple de routine : HG(45,40) : rotation de la hanche gauche jusqu'à 45° en avant à une vitesse PWM de 40%.
La routine gère l'accélération, la vitesse maxi, la décélération, si l'angle ne bouge pas, il faut augmenter temporairement la puissance PWM. Nota : avec nos cartes contrôleurs ZK-BM1, le PWM est limité à 2kHz max, en espérant que les moteurs ne vont pas "chanter" trop fort...
Exemple de ligne de code : HG(45,50); GG(-45,50); PG(-10,40); Moteur();
La routine Moteur() lance les 3 mouvements : hanche gauche, genou gauche et pied gauche en même temps (comme pour Echo).
Pour marcher, Minnie doit commencer par mettre son appui sur le pied gauche.
Exemple (les angles sont approximatifs et doivent être réglés précisément sur place, à vitesse très lente, pour un équilibre gauche/droite avant/arrière optimal.
Avance cuisse gauche de 15°, recule mollet gauche de 15°, incline pied gauche de 5° extérieur, pied droit de 30° vers l'intérieur : Minnie est alors en appui sur le pied gauche (sans tomber)
Pied droit à 0°
Recule le tronc, avance la cuisse droite de 30°, recule le mollet droit de 30°
Avance le tronc recule la cuisse gauche de 30°, avance le mollet droit de 30°, pied gauche à 0° : Minnie est alors en appui sur les 2 pieds
Et grosso modo, ainsi de suite en inversant la droite et la gauche
Il faut réaliser tous ces mouvements à vitesse très lente puis accélérer (il faudra peut-être retoucher un peu les angles).
Pour marcher vite, comme pour un humain, il y a un angle idéal : les petits pas sont lents, et les grandes enjambées aussi...
A noter que la marche ne consomme pas énormément d'énergie (ce qui consomme, c'est se relever et courir). Comme un humain : un bipède est plus efficace énergétiquement qu'un quadrupède.
Ensuite il faut apprendre à Minnie à se relever lorsqu'elle est couchée sur le ventre ou sur le dos. Lui apprendre à tourner (ce n'est pas très compliqué). Lui apprendre à courir, ça, c'est plus difficile parce que c'est un mouvement dynamique qu'on ne peut pas se contenter de jouer très lentement puis accélérer. Et aussi parce que, comme un humain, pour courir, il faut d'abord accélérer puis courir et ralentir...
Réalisation :
Il faut commencer par fabriquer le tronc et les jambes :
Modifier les 10 motoréducteurs et et leur ajouter les potentiomètres
Monter 4 motoréducteurs dans le boitier
Fabriquer les cuisses et le mollets et les pieds avec les profilés aluminium
Assembler tout ça
Installer la plaque en plexi, les 2 charnières et les 2 cornières, l'ESP32-S3, le convertisseur, le pilote de servos et 4 cartes contrôleurs
Installer la batterie, le porte fusible, le connecteur de charge et l'interrupteur de marche
On peut commencer les premiers essais sans accéléromètre, sans tête, sans bras...
Arrivé ici, il est nécessaire de construire un Youpala : un support en bois muni de 4 roulettes avec une double potence reliée par 2 cordelettes et 2 mousquetons aux arceaux en acier de Minnie. Ainsi Minnie (comme un bébé humain) peut faire ses premiers pas sans vraiment se casser la figure...
Il faut ensuite ajuster précisément les angles de la marche, la forme et la taille des pieds en CTP (contreplaqué) et voir si on peut l'équiper de chaussures pour une stabilité suffisante.
Il faut alors ajouter les bras dont on aura besoin pour que Minnie puisse se relever
Il faudra enfin rajouter l'accéléromètre et mettre au point les routines pour se relever depuis position sur le ventre ou sur le dos.
Et finalement ajouter les 2 servos, la tête avec le capteur ultra-sons...
Plus tard, un microphone, un haut-parleur et une caméra avec un 2e ESP32 pour gérer tout ça, discuter avec le robot et faire de la détection d'obstacles voire de la reconnaissance de visages...
Premiers tests :
Installer le potentiomètre sur un motoréducteur :
Nota : Pour le capteur de position, à la place du potentiomètre, nous avons fait des essais avec des capteurs magnétiques AS5600 et un aimant collé sur l'axe moteur mais les perturbations magnétiques apportées par le moteur sont trop importantes...
Nota : il n'est même pas nécessaire, ni souhaitable d'ouvrir le boitier du réducteur ni d’ailleurs celui du potentiomètre PT15.
Percer un avant-trou Ø3 (par exemple) centré sur l'axe de sortie, à l'arrière du boitier du motoréducteur coudé 5840-31ZY : on voit l'axe à travers le trou. En faisant tourner le motoréducteur, on peut voir, à la loupe, s'il est précisément centré
Agrandir le trou au foret de 6 et le terminer avec une lame de métal ou un tournevis plat pour obtenir un diamètre de 6.5 : arrivé là, on voit bien l'axe (D5) et le roulement
Coller (époxy) la tête d'une vis FM4x10 modifiée : la tête meulée à Ø6, 2 plats sur le filetage pour s'ajuster au trou oblong du potentiomètre PT15 et raccourcie à la bonne longueur. La vis doit être bien centrée dans l'axe du moteur et les plats orientés // au plat de l'axe moteur.
Nota : on peut évidemment continuer à utiliser le motoréducteur normalement, avec l'axe, même s'il est inutilisé.
Nous avons usiné, avec notre Cnc3040 maison, dix adaptateurs en plexiglas e8 avec un "trou de serrure" pour le potentiomètre qui rentre en forçant un peu. (La CNC nous permet de fabriquer facilement 10 adaptateurs précis et identiques. (On pourrait aussi les imprimer en 3D). Les potentiomètres ont tous été modifiés (plus de butée).
Nota : on aurait pu usiner l'adaptateur dans du plexi de 10 et usiner le "tour de serrure" sans déboucher en laissant 1 mm pour protéger le potentiomètre. Mais dans notre cas, il n'y a vraiment pas beaucoup de place dans le profilé...
Nous avons monté un adaptateur sur le dos d'un moteur avec 4 vis fraisée M4x8
Puis nous avons monté le potentiomètre P15 10k et ses 3 fils
ATTENTION : Le problème, ici, c'est de se procurer des potentiomètres PT15 SANS BUTÉE. Ça existe mais c'est vraiment difficile à trouver. Nous avons choisi d'utiliser des PT15 standards et de percer un trou près de l'axe pour ôter la butée : c'est une opération délicate. (Mais bon, les PT15 ne sont pas chers...)
Méthode pour enlever la butée du PT15 :
Sacrifier un PT15 en l'ouvrant en séparant la partie métallique de la partie plastique noire juste pour bien comprendre comment fonctionne la butée
Percer un trou Ø1.2 dans le plastique noir à l'opposé des contacts, tout près de la partie blanche mais sans la toucher. Attention d'aller doucement quand le foret traverse le plastique et qu'il dégage...
Avec une épingle ou un objet pointu (et une loupe), à travers le trou arracher des morceaux de plastique noir, côté centre qui constituent la butée
Avec un axe, essayer de forcer (un peu la butée) dans un sens ou dans l'autre
Enlever un peu plus de plastique, forcer un peu avec l'axe et ainsi de suite jusqu'à ce que la butée saute
Vérifier à l’ohmmètre et en faisant tourner l'axe, que le potentiomètre est toujours "vivant"
En option : nous avons rebouché chaque trou avec un peu de résine (pour éviter les saletés qui pourraient s'y introduire)
Au bout de un ou deux potentiomètres, l'opération prend moins de 5mn par potentiomètre.
Nota : en principe, on n'atteint jamais la butée...
Nota : si on laisse la butée, au moindre bug, défaut... on va tout casser.
Nota : il existe aussi des PT15U à durée de vie rallongée (le PT15 est donné pour 10000 cycles).
Nota : une petite entaille sur la partie plastique blanche du PT15 indique la position du curseur...
Photo : Le support plexi est fixé sur le dos du moteur avec 4 vis FM4x8. Il maintient le potentiomètre Piher PT15 10k linéaire modifié sans butée. 3 fils sortent du potentiomètre pour les essais électrique. On perçoit le trou dans le potentiomètre qui nous a permis de supprimer la butée.
Nota : L'ensemble fait 38.7mm d'épaisseur ce qui rentre dans notre profilé 45x45 (qui fait donc 41mm intérieur). On pourra peut-être même faire une découpe (en trou de serrure) dans le profilé 45x45 uniquement de la largeur de l'axe moteur (pour mettre l'ensemble en place).
Souder les 3 fils sur le potentiomètre
Vérifier, en alimentant le potentiomètre en 3.3V et en connectant un voltmètre sur sa sortie que quand on fait tourner le moteur (avec une alimentation de 4 ou 5V) la tension suit sur une large partie (~270°) de la rotation.
Relier le moteur sur un pont en H alimenté en 12V (dans le bon sens)
Relier les 2 entrées du pont et le curseur du potentiomètre (3.3V) à un Arduino Nano
Relier la sortie d'un autre potentiomètre (0 et 5V) à une entrée de l'Arduino Nano
Charger l'Arduino Nano avec du code généré par IA (GPT-5.1) : "Propose-moi du code commenté pour piloter mon moteur 12 V DC avec ZK-BM1 et un potentiomètre installé sur l'axe de sortie du moteur 5840-31ZY relié à un Arduino Nano en analogique. Je voudrai une routine du type Mot(45,60) où 45 représente l'angle souhaité en ° et 60 représente 60% de PWM. rampe linéaire accélération et décélération. La position du moteur pilotée par une entrée analogique de l'Arduino Nano. "
Et voilà, il n'y a plus qu'à brancher et tester... le motoréducteur coudé 5840-31ZY doit suivre la position du potentiomètre comme un (gros) servo RC... Si ça ne fonctionne pas, il suffit peut-être de permuter les fils du moteur...
Attention : il faut absolument réussir cette étape-clef avant d'investir et d'acheter le reste du matériel.
Il vaut mieux connecter une résistance, par exemple 220k, entre la sortie du potentiomètre et la masse pour éviter une tension flottante quand le potentiomètre va au-delà de sa course normale... (on pourra l'ajouter dans les adaptateurs plexi...)
Ensuite, nous allons monter 6 moteurs : les 2 cuisses, mollets et pieds sur le boitier avec un ESP32 et tester un "robot-tronc" sans bras ni tête qui doit apprendre à marcher lentement...
Nous avons fabriqué des brides constituées chacune d'un tube acier D10d8 à l'intérieur d'un tube D12d10 soudés à l'arc à 2 rondelles acier D32d10e2 chaque rondelle est percée de 3 trous taraudés M4 à 120° et un trou taraudé M4 dans le tube.
Nous avons besoin de :
4 brides L=46 pour les épaules et les hanches. Profilés 50x50 (46 de large)
2 brides L=41 pour les genoux. Profilés 45x45 (41 de large)
2 brides L=26 pour les coudes. Ces 2 brides ont des méplats pour pouvoir rentrer à l'intérieur du profilé 30x30 (26 de large)
Ces brides sont glissés à l'intérieur des profilés aluminium et maintenues de chaque côté par 3 vis FM4x8 et une vis M4 pour bloquer l'axe du moteur.
Nota : le fait de fixer la bride de chaque côté du profilé renforce les articulations.
Fabrication des pieds provisoires :
A suivre...
Créé le 21/03/2026
A jour le 12/04/2026