Construire un robot de pick-and-place qui sait quand il rate
Un bras qui prend des pièces dans un plateau et les trie en deux bacs, détecte une prise vide, réessaie, et enregistre combien de cycles il a réussis.
Ce que vous construisez
Un bras qui vide un plateau. Les pièces vont dans l’un des deux bacs selon quelque chose que vous pouvez distinguer — taille, couleur, d’où elles viennent — et la machine tourne sans surveillance jusqu’à ce que le plateau soit vide ou que quelque chose tourne mal, auquel cas elle s’arrête et dit dans quel état elle s’est arrêtée.
Le robot n’est pas la partie intéressante. Les kits de bras 4 axes coûtent 40 £ et la cinématique est une page de trigonométrie. La partie intéressante est qu’une machine de pick-and-place est jugée sur un pourcentage, et passer de « ça a marché en vidéo » à « ça en a fait cinquante d’affilée » est un problème d’ingénierie différent de la faire seulement bouger.
Deux choses vous y mènent, et les deux sont dans la pince.
Les deux décisions qui comptent
1. Le doigt ne doit pas être rigide
C’est celle qui surprend, donc elle mérite d’être dite plainement avant d’imprimer quoi que ce soit.
Le bouton de votre pince est une position — un angle servo. Les limites de l’objet sont des forces : un plancher sous lequel il tombe, un plafond au-dessus duquel il est détruit. Le taux de change entre eux est la raideur série k de tout ce qui est entre le palonnier et l’objet, donc la fenêtre réellement visée est
window (mm) = ( min(F_crush, F_servo) − F_slip ) / k
Un doigt imprimé rigide fait environ 25 N/mm. Un servo amateur sur un bras de levier 30 mm résout environ 0,524 mm de course de mors. Faites les nombres pour une fraise et la fenêtre est 0,108 mm — cinq fois plus fine qu’un pas, ce qui signifie qu’aucune commande ne marche et qu’aucun réglage n’en trouve.
| Doigt | k | Fenêtre | Positions servo qui marchent |
|---|---|---|---|
| Imprimé rigide | 25 N/mm | 0,108 mm | 0 |
| Mousse | 4 N/mm | 0,677 mm | 1 |
| Ressort en série | 0,8 N/mm | 3,386 mm | 7 |
| Flexion imprimée | 0,35 N/mm | 7,739 mm | 15 |
Mettez un ressort d’extension à 40p entre le palonnier et le doigt et le problème disparaît. Dimensionnez le vôtre en laboratoire avec votre objet et votre bras de levier avant d’engager du filament, et lisez force, calage et souplesse de pince à servo pour tout l’argument.
2. Il faut une étape de vérification
Le cycle est approche, descente, prise, vérification, levage, transfert, dépose. Sans l’état de vérification, chaque échec est silencieux : la pince se referme sur rien, le bras porte de l’air à travers la table et ouvre sur le bac, et le compteur dit que ça a marché.
Un microrupteur à levier à l’intérieur d’un doigt coûte cinquante centimes et une broche d’entrée, et c’est la pièce à plus haute valeur de ce montage. Lisez-le après un temps de stabilisation de 300–400 ms — un doigt souple sonne après fermeture et échantillonner pendant la sonnerie donne un pile ou face — anti-rebond sur trois lectures consécutives, et donnez à la machine à états un état RECOVER avec une reprise bornée. Le tutoriel de machine à états a tout.
Le montage, dans l’ordre
- Décidez l’effecteur. Si vos pièces sont plates et atteignables par-dessus, chiffrez d’abord une ventouse et une petite pompe — elle battra tout ce que vous imprimez. Sinon, deux doigts. Types de pinces et force de prise.
- Mesurez votre objet. Masse sur une balance de cuisine, force d’écrasement sur la même balance avec quelques pièces sacrifiées, μ avec un peson tracté sur le matériau des patins. Ces trois nombres décident la conception, et ceux trouvés en ligne sont faux pour votre pièce.
- Vérifiez la fermeture de force. Si les faces où atterrissent les patins sont coniques au-delà de
atan(μ), rien en force ne tiendra, et il faut une rainure en V ou un autre point de prise. Frottement et fermeture de force. - Dimensionnez la pince en laboratoire. Bras de levier depuis l’objet le plus large, puis vérifiez la fenêtre contre le pas servo. Le simulateur de pince.
- Imprimez la pince avec une flexion ou un ressort en série, des patins TPU, une butée dure, et un microrupteur. Pince à servomoteur.
- Câblez correctement cinq servos. PCA9685 en I²C, rail servo séparé, découplage. Faites-le avant d’écrire le micrologiciel ou vous passerez une journée à déboguer des resets qui sont un problème d’alimentation.
- Écrivez la machine à états, non bloquante, avec
VERIFYetRECOVER. Machine à états pick-and-place. - Bornez l’accélération avec un profil de mouvement, pour que la prise dimensionnée survive au transfert.
- Roulez cinquante et comptez.
La mesure
Cinquante cycles consécutifs, sans surveillance, avec un compteur et un journal de défauts qui enregistre dans quel état chaque échec est arrivé. C’est le livrable, et c’est bien plus exigeant qu’une vidéo.
| Résultat | Ce que cela signifie |
|---|---|
| Au-dessus de 95 % | Vous avez une machine. Passez à percevoir la pose plutôt que la coder en dur |
| 80–95 % | Généralement la pose d’approche, ou pas assez de stabilisation avant la vérification |
| Sous 80 % | Généralement l’alimentation, ou une prise dimensionnée sans le terme d’accélération |
| Échoue seulement en fin de parcours | Chauffe des servos, ou patins qui se salissent. Les deux sont réels et ressemblent à des fantômes |
Le tableau de pannes dans le tutoriel de machine à états mappe la plupart des symptômes aux causes.
Ce que ce projet n’est pas
Il ne fait pas de vision, et ne planifie pas autour des obstacles. Le plateau est à un endroit connu, les bacs sont à des endroits connus, et le bras va où on lui dit. C’est délibéré — le propos de ce montage est que la prise est un problème séparé, plus dur qu’il n’y paraît, du positionnement, et confondre les deux est pourquoi les premiers montages pick-and-place calent.
Quand vous voulez que le bras trouve la pièce plutôt qu’on lui dise où elle est, c’est calibration de caméra et pose de marqueur, et cela s’assoit au-dessus d’un cycle de prise fonctionnel plutôt que de le remplacer.
Parcours du projet
Le parcours de construction
Suivez l'arbre technologique, des pièces jusqu'à un robot qui fonctionne. Chaque nœud se débloque quand ses prérequis sont terminés, et votre progression est enregistrée sur cet appareil.
0 / 21 terminés
Composants
- Châssis4-DOF Robot Arm KitLe cadre acrylique ou métal qui fait de quatre servomoteurs un manipulateur base-épaule-coude-pince.
- ActionneurServo GripperUn servomoteur, deux doigts, et le seul chiffre que personne sur l'annonce ne donne.
- ActionneurSG90 Servo MotorLe servo neuf grammes derrière la plupart des bras, pinces et directions de robots.
- PilotePCA9685 Servo DriverPilotez 16 servomoteurs sur deux broches I²C — la carte derrière la plupart des bras robotiques et hexapodes.
- ContrôleurArduino UnoLa carte 8 bits indulgente par laquelle la plupart découvrent la robotique.
- CapteurLever MicroswitchLe seul bit de détection qui dit à un robot qu'il a déjà touché quelque chose.
- AlimentationRobot Battery & Power PackLa différence entre un robot qui roule et un qui redémarre sans cesse.
Tutoriels de ce parcours
- Débutant · 30 min de lectureTypes de pinces robotiques et dimensionner le serrageChoisissez le type de pince, puis dimensionnez l'effort avec le terme oublié : l'accélération.
- Intermédiaire · 25 min de lectureFrottement, fermeture de force et le pari des deux contactsPourquoi l'objet gicle quelle que soit la poigne, et ce que dit vraiment le cône de frottement.
- Intermédiaire · 30 min de lectureEffort, blocage et souplesse des pinces à servosLe bouton est une position, les murs sont des efforts, et la raideur est le taux de change entre eux.
- Intermédiaire · 35 min de lectureUne machine à états de prise-dépose qui survit à la panneApproche, saisie, vérification, levage, dépose — et quoi faire quand la vérification dit non.
- Avancé · 22 min de lectureCinématique inverse d'un bras robotique à deux segmentsPourquoi un bras à deux segments a deux solutions, où il peut et ne peut pas atteindre, et ce qu'est vraiment une singularité.
- Intermédiaire · 18 min de lecturePiloter des servomoteurs avec le PCA9685 (pilote PWM I2C)Réglez la fréquence, traduisez l'angle en impulsion, pilotez seize servos sur deux broches I2C, bien alimentés et étalonnés.
- Intermédiaire · 40 min de lectureProfils de mouvement : trapézoïdal et courbe en SRampez un déplacement au lieu de le commander — profils trapézoïdaux, limites d'à-coups, et ce que la courbe en S coûte vraiment.
- Débutant · 17 min de lectureMachines à états finis pour le comportement robotiqueRemplacez les conditionnels robotiques emmêlés par des états, événements, transitions, temporisations et récupération explicites.
- Débutant · 30 min de lecturePourquoi votre robot redémarre quand les moteurs démarrentLe redémarrage qui ressemble à un bogue est presque toujours la batterie. Budgétez le courant, puis mesurez l'affaissement.
- Débutant · 30 min de lecturePourquoi delay() casse les robots : timing avec millis()Un robot assis dans delay() est aveugle. Remplacez-le par millis(), et faites juste la comparaison de bouclage.
Entraînez-vous avant de câbler
Réglez-le dans le simulateur interactif
Le parcours de construction passe par un labo dans le navigateur. Obtenez ici le bon comportement, puis reportez vos réglages sur le vrai robot.
Questions fréquentes
Quelle est la partie la plus dure d'un montage pick-and-place ?
Ni le bras ni la cinématique — c'est que la pince commande une position et que l'objet se soucie d'une force. Avec des doigts imprimés rigides, la fenêtre utilisable entre lâcher une pièce et l'écraser fait environ un dixième de millimètre, alors qu'un pas de servo amateur déplace les mors d'environ un demi-millimètre. Aucune commande ne tombe dans la fenêtre. Le correctif est un ressort ou une flexion en série, qui ouvre la fenêtre en proportion de 1/k, et c'est la décision qui fait ou défait tout le projet. Dimensionnez-la en simulateur de pince avant d'imprimer quoi que ce soit.
Pourquoi mon bras robotique lâche-t-il la pièce en bougeant ?
Parce que vous avez dimensionné la prise pour le poids et que le mouvement exige plus. La force de prise requise est m(g + a)·SF/(μ·n), et sur un bras vif le terme d'accélération dépasse la gravité. Une prise qui tient 58 g à l'arrêt à 1,63 N exige 1,93 N sur un levage de 250 mm en 0,9 s et 2,59 N en 0,35 s — et elle lâche environ 40 ms après le début du mouvement, avant que le bras ait visiblement bougé, et c'est pourquoi cela se lit comme une panne de pince plutôt que de l'arithmétique. Bornez l'accélération avec un profil de mouvement ou serrez plus fort ; généralement le profil est le correctif le moins cher.
Comment savoir si la pince a vraiment pris quelque chose ?
Un microrupteur à levier sur la face intérieure d'un doigt, câblé à une broche d'entrée avec pull-up. Environ cinquante centimes, un fil, et c'est une réponse numérique directe. Mettez-le sur la partie souple du doigt pour qu'il déclenche à force répétable, anti-rebond en logiciel (trois lectures consécutives, pas une), et lisez-le après un temps de stabilisation de 300–400 ms pour ne pas échantillonner la sonnerie du doigt. La mesure de courant marche aussi et attrape en plus un écrasement, mais elle exige un seuil calibré et dérive quand la batterie s'affaisse.
Faut-il la cinématique inverse pour ceci ?
Pas strictement — vous pouvez enseigner les poses à la main et stocker les angles articulaires, et pour un plateau fixe et deux bacs fixes c'est vraiment assez. Il faut la CI dès que vous voulez une approche et un retrait en ligne droite, car ce sont des mouvements cartésiens et des angles enseignés à la main ne vous en donneront pas. Comme plonger en biais sur une pièce la renverse et lever en courbe la traîne, la plupart des montages finissent par vouloir les segments droits, et cela signifie la CI.
Combien de servos et combien de puissance ?
Cinq : base, épaule, coude, poignet et pince. C'est plus de voies qu'un Uno devrait cadencer lui-même, donc utilisez un PCA9685 en I²C. La puissance est la partie sous-estimée — cinq servos amateurs qui bougent ensemble tirent plusieurs ampères d'appel, et le régulateur 5 V de la carte fera une microcoupure et redémarrera le contrôleur en pleine prise. Donnez aux servos leur propre alimentation avec une masse commune et quelques centaines de microfarads près de la carte.
Qu'est-ce qui compte comme terminé ?
Cinquante cycles consécutifs avec un compteur et un journal de défauts, sans surveillance. C'est une cible bien meilleure qu'une vidéo d'une prise réussie, car elle oblige à construire l'étape de vérification, la reprise bornée et l'alimentation qui ne s'affaisse pas — exactement les trois choses qui séparent une démo d'une machine. Sous 95 % il y a toujours une cause spécifique, et le journal dit dans quel état elle a échoué.