Projet en cours · Robotique
Robotic
Nous construisons un bras robotique, des moteurs des articulations jusqu’à la main.
- le rapport du réducteur
- 40:1
- la portée
- 520 mm
- la charge de conception
- 2 kg
- le couple au coude, estimé
- 13,9 N·m
Pour celles et ceux qui viennent de ingénierie robotique et mécatronique, informatique
Le bras
A.R.M. est un bras à trois degrés de liberté : une base qui tourne autour de l’axe vertical, une épaule et un coude. Bras et avant-bras mesurent 260 mm chacun, donc la pointe atteint 520 mm depuis l’épaule. L’objectif est de déplacer 2 kg.
Chaque articulation a le même schéma : un moteur brushless de drone, un réducteur cycloïdal de 40 pour 1, un encodeur magnétique et un driver qui contrôle le courant. Les actionneurs précis dans le commerce coûtent cher : nous les construisons nous-mêmes, et ainsi nous comprenons chaque pièce.
| Degrés de liberté | 3 | base, épaule, coude |
|---|---|---|
| Bras | 260 mm | de l’épaule au coude |
| Avant-bras | 260 mm | du coude à la pointe |
| Portée | 520 mm | |
| Charge de conception | 2 kg | sur la pointe |
| Rotation de la base | de −180° à +180° | |
| Rotation de l’épaule | de 0° à 90° | |
| Rotation du coude | de −90° à +90° | |
| Moteurs | Tarot 4008 et 4114 | le 4114, plus grand, sur l’épaule |
| Structure | PAHT-CF imprimé en 3D | profilés creux de 20 × 20 mm, paroi 2,5 mm |
Le réducteur cycloïdal
Un moteur brushless tourne vite mais a peu de couple. Le réducteur fait le contraire : il ralentit 40 fois et multiplie la force, dans un disque large de 60 mm.
Au centre, il y a une came, décalée d’un demi-millimètre par rapport à l’axe. En tournant, elle fait osciller deux disques à 39 lobes dans une couronne à 40 dents. Les disques ne tournent pas, parce que huit goupilles fixes passent dans leurs trous. C’est la couronne qui avance, d’une dent à chaque tour de la came : 40 tours du moteur pour un tour du coude.
Les deux disques travaillent à 180 degrés l’un de l’autre, ainsi les forces s’équilibrent. De nombreux lobes touchent les dents au même moment : c’est pourquoi un réducteur cycloïdal a très peu de jeu et résiste bien aux chocs.
| Dents de la couronne | 40 | demi-cercles de 2 mm sur un cercle de 52 mm |
|---|---|---|
| Lobes des disques | 39 | diamètre de 49 à 51 mm |
| Excentricité | 0,5 mm | |
| Disques | 2, épais de 5 mm | à 180 degrés |
| Trous des disques | 8 de 7,08 mm | avec 2 roulements chacun |
| Goupilles | 3 mm de diamètre | le jeu dans le trou est de 1 mm, le double de l’excentricité |
| Roulements | 37 | 2 de 52 mm, 2 de 24, 1 de 18, 32 de 7 |
| Encombrement de l’articulation | 60 × 74 mm | diamètre sur longueur |
N = 40 dents de la couronne
R = 26 mm rayon du cercle des dents
r = 1 mm rayon des dents
e = 0,5 mm excentricité
ψ(t) = atan2( sin((1 − N)·t), R/(e·N) − cos((1 − N)·t) )
x(t) = R·cos t − r·cos(t + ψ) − e·cos(N·t)
y(t) = −R·sin t + r·sin(t + ψ) + e·sin(N·t) avec t de 0 à 2π
Quelle force est nécessaire
Avec 2 kg sur la pointe et le bras tendu, le poids fait levier. Plus on s’éloigne de la pointe, plus le moment que le moteur doit supporter augmente : 5,2 N·m au coude, 11,4 N·m à l’épaule.
Le couple disponible est celui du moteur multiplié par 40 et par le rendement du réducteur, estimé à 85%. Au coude, il y a une marge de 2,7 fois la charge, à l’épaule de 1,3 : c’est pourquoi le moteur le plus grand est sur l’épaule.
- Coude 5,2 N·m
- Épaule 11,4 N·m
Les chiffres du graphique
| Distance depuis la pointe (mm) | Moment (N·m) |
|---|---|
| 0 | 0 |
| 65 | 1,28 |
| 130 | 2,55 |
| 195 | 3,88 |
| 260 | 5,2 |
| 325 | 6,71 |
| 390 | 8,22 |
| 455 | 9,8 |
| 520 | 11,39 |
Les chiffres du graphique
| Articulation | Couple |
|---|---|
| Coude (Tarot 4008) | 5,2 su 13,9 N·m |
| Épaule (Tarot 4114) | 11,4 su 15 N·m |
La commande
La commande est en couches, chacune plus rapide que celle du dessus. La plus interne régule le courant dans le moteur, c’est-à-dire le couple : c’est la commande à orientation de champ, FOC, et elle tourne dans le driver. Au-dessus, il y a la boucle de vitesse et celle de position.
La règle est de garder chaque boucle de 5 à 10 fois plus lente que celle du dessous. Dans le projet sous Matlab, la boucle de courant a une bande de 3 kHz, celle de vitesse de 50 Hz.
Plus haut, un Teensy 4.1 calcule la cinématique inverse 200 fois par seconde : à partir de la position voulue de la pointe, il obtient les angles de base, épaule et coude, avec une formule fermée, sans itérations. Un ESP32 reçoit les commandes via Wi-Fi.
- 01
Encodeur
AS5048A magnétique à 14 bits : 16.384 pas par tour. Il lit un aimant sur l’arbre, à un millimètre de distance.
- 02
Driver
ODESC 3.6, deux moteurs par carte, firmware ODrive open source. Il exécute le FOC et les limites de courant.
- 03
Teensy 4.1
Processeur à 600 MHz : cinématique inverse à 200 Hz, trajectoires, limites de l’espace de travail. Il communique avec les drivers via CAN.
- 04
ESP32-S3
Le superviseur : commandes via Wi-Fi, enregistrement des données, liaison avec le Teensy à 3 Mbaud.
- Pic à 16,1% au-dessus de la valeur voulue après 0,167 ms
- Dans les 2% de la valeur voulue après 0,30 ms
Les chiffres du graphique
| Temps (ms) | Courant sur la valeur voulue |
|---|---|
| 0 | 0 |
| 0,025 | 0,324 |
| 0,05 | 0,616 |
| 0,075 | 0,849 |
| 0,1 | 1,012 |
| 0,125 | 1,11 |
| 0,15 | 1,154 |
| 0,167 | 1,161 |
| 0,2 | 1,141 |
| 0,25 | 1,075 |
| 0,3 | 1,018 |
| 0,35 | 0,989 |
| 0,4 | 0,983 |
| 0,45 | 0,988 |
| 0,5 | 0,995 |
| 0,6 | 1,002 |
| 0,8 | 1 |
| 1 | 1 |
- Pic à 27,6% au-dessus de la valeur voulue après 10 ms
- Dans les 2% de la valeur voulue après 30,8 ms
Les chiffres du graphique
| Temps (ms) | Vitesse sur la valeur voulue |
|---|---|
| 0 | 0 |
| 1 | 0,25 |
| 2 | 0,481 |
| 3 | 0,686 |
| 4 | 0,859 |
| 5 | 1 |
| 6 | 1,109 |
| 8 | 1,24 |
| 9,99 | 1,276 |
| 12 | 1,25 |
| 15 | 1,156 |
| 20 | 1,012 |
| 25 | 0,964 |
| 30 | 0,976 |
| 35 | 0,997 |
| 40 | 1,005 |
| 50 | 1,001 |
| 70 | 1 |
Le guider à la main
Un bras qui travaille aux côtés des personnes doit aussi se laisser guider. En simulation, le coude estime le couple qui vient de l’extérieur, sans capteur de force, seulement à partir du courant et du mouvement. Ensuite il change de comportement : il suit la trajectoire, il cède quand quelqu’un le pousse, il apprend la nouvelle position et la garde.
Dans l’essai, le coude monte de 0 à 45 degrés en 2 secondes, avec une erreur maximale d’un centième de degré. Puis une personne le pousse jusqu’à 15 N·m : le bras cède jusqu’à 157 degrés, et quand la main lâche, il apprend la position à 101 degrés. Il la garde avec 4,33 N·m.
À 13 secondes, un choc le déplace de 25 degrés : en 1,3 seconde, il est de nouveau à sa place, à moins d’un demi-degré près. La simulation utilise le modèle de la première phase du projet, avec un réducteur de 30 pour 1 et deux moteurs sur l’articulation.
- Suit la trajectoire de 0 à 45 degrés en 2 secondes
- Cède à la poussée la personne pousse jusqu’à 15 N·m
- Apprend la position 101 degrés
- La garde 4,33 N·m, 3,31 A par moteur
- Un choc revient à moins d’un demi-degré en 1,3 seconde
Les chiffres du graphique
| Temps (s) | Angle (°) | Référence (°) |
|---|---|---|
| 0 | 0 | 0 |
| 0,5 | 4,65 | 4,66 |
| 1 | 22,5 | 22,5 |
| 1,5 | 40,35 | 40,34 |
| 2 | 45,01 | 45 |
| 2,5 | 45 | 45 |
| 3 | 45 | 45 |
| 3,5 | 45 | 45 |
| 4 | 75,16 | 45 |
| 4,5 | 128,02 | 45 |
| 5 | 155,09 | 45 |
| 5,5 | 152,91 | 45 |
| 6 | 138,5 | 45 |
| 6,5 | 128,14 | 45 |
| 7 | 120,74 | 45 |
| 7,5 | 113,65 | 45 |
| 8 | 97,41 | 97,42 |
| 8,5 | 100,98 | 100,99 |
| 9 | 100,98 | 100,99 |
| 9,5 | 100,98 | 100,99 |
| 10 | 100,98 | 100,99 |
| 10,5 | 100,98 | 100,99 |
| 11 | 100,99 | 100,99 |
| 11,5 | 100,99 | 100,99 |
| 12 | 100,99 | 100,99 |
| 12,5 | 100,99 | 100,99 |
| 13 | 100,99 | 100,99 |
| 13,5 | 75,38 | 100,99 |
| 14 | 91,3 | 91,29 |
| 14,5 | 101 | 100,99 |
| 15 | 101 | 100,99 |
| 15,5 | 100,99 | 100,99 |
| 15,99 | 100,99 | 100,99 |
Les chiffres du graphique
| Temps (s) | Poussée (N·m) | Estimation (N·m) |
|---|---|---|
| 3 | 0 | 0 |
| 3,2 | 0 | 0 |
| 3,4 | 0 | 0 |
| 3,6 | 0,4 | -0,03 |
| 3,8 | 11,53 | 8,58 |
| 4 | 14,96 | 14,58 |
| 4,2 | 15 | 14,72 |
| 4,4 | 15 | 14,72 |
| 4,6 | 13,95 | 14,02 |
| 4,8 | 11,85 | 11,94 |
| 5 | 9,75 | 9,84 |
| 5,2 | 7,65 | 7,75 |
| 5,4 | 5,55 | 6,18 |
| 5,6 | 4 | 4,31 |
| 5,8 | 4 | 4,27 |
| 6 | 4 | 4,27 |
| 6,2 | 4 | 4,27 |
| 6,4 | 4 | 4,27 |
| 6,6 | 4 | 4,27 |
| 6,8 | 4 | 4,27 |
| 7 | 3,99 | 4,27 |
| 7,2 | 3,89 | 4,2 |
| 7,4 | 3,07 | 3,58 |
| 7,6 | 0,93 | 1,54 |
| 7,8 | 0,11 | 0,45 |
| 8 | 0 | 0,21 |
| 8,2 | 0 | -0,27 |
| 8,4 | 0 | -0,04 |
| 8,6 | 0 | 0,01 |
| 8,8 | 0 | 0 |
| 9 | 0 | -0,01 |
Le modèle de l’actionneur
Avant de construire, l’équipe a écrit le modèle mathématique complet de l’actionneur : la partie électrique, la magnétique, la mécanique, la transmission et la température. Ce sont environ 90 paramètres, 55 du premier ordre et 35 du second.
Le plan d’essai mesure d’abord les paramètres qui comptent le plus : résistance, inductance, constante de couple, inertie, frottement. Les autres s’ajoutent seulement si besoin. Ce sont environ 16 heures d’essais, avec moins de 200 euros d’instruments.
Les trajectoires sont des polynômes du cinquième degré, à jerk minimal : le bras part de n’importe quelle vitesse et arrive à l’arrêt, sans à-coups.
τ = (t − t0) / T
q(τ) = c0 + c1·τ + c2·τ² + c3·τ³ + c4·τ⁴ + c5·τ⁵
c0 = q0 c1 = v0·T c2 = a0·T²/2
Δq = qf − c0 − c1 − c2 Δv = −c1 − 2·c2 Δa = −2·c2
c3 = 10·Δq − 4·Δv + 0,5·Δa
c4 = −15·Δq + 7·Δv − Δa
c5 = 6·Δq − 3·Δv + 0,5·Δa
Les chiffres de cette page viennent du projet et des simulations. Les mesures sur les moteurs réels sont la prochaine étape.
Où nous en sommes
- Première phaseNous avons écrit le modèle mathématique complet de l’actionneur, avec environ 90 paramètres.
- Avril 2026Nous avons présenté le premier modèle 3D du bras, avec une main à cinq doigts.
- Mai 2026Dans le CAD, l’articulation du coude est prête, deuxième version : moteur Tarot 4008, réducteur cycloïdal de 40 pour 1, encodeur magnétique. En simulation, la commande du coude se laisse guider à la main.
- Prochaine étapeDeux bras humanoïdes qui accomplissent des tâches complexes seuls et travaillent aux côtés des personnes.
Photos
Sources
- Mathematical Modeling and Parameter Reference, version 1.0, janvier 2026.
- Hardware Characterization, version 1.0, janvier 2026.
- Analyse du bras à 3 degrés de liberté, révision 3, mars 2026.
- Guide des paramètres FOC et procédures de mesure du Tarot 4008, avril 2026.
- Conception des gains sous Matlab et simulation du coude en Python, mai 2026.
- CAD de l’articulation du coude, version 2, 16 mai 2026.
- Présentation du Deep-Tech Showcase, Palazzo della Borsa, 21 avril 2026.
Tu veux y travailler ?
Il ne faut ni expérience ni CV. Écris-nous : nous t’invitons à la prochaine rencontre, où tu fais connaissance avec l’équipe.