Table des matières:
- Étape 1: Processus de conception
- Étape 2: Le rôle de l'Arduino
- Étape 3: Matériel nécessaire
- Étape 4: Pièces imprimées en 3D
- Étape 5: Préparation des supports de servomoteurs
- Étape 6: fabrication des pièces de liaison
- Étape 7: Assemblage des pieds
- Étape 8: PCB et câblage personnalisés
- Étape 9: Assemblage du corps
- Étape 10: Configuration initiale
- Étape 11: un peu sur la cinématique
- Étape 12: Programmation de l'Arduino
- Étape 13: Résultats finaux: il est temps d'expérimenter
Vidéo: Bipède robotique contrôlé par Arduino : 13 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Projets Fusion 360 »
J'ai toujours été intrigué par les robots, en particulier ceux qui tentent d'imiter les actions humaines. Cet intérêt m'a amené à essayer de concevoir et de développer un bipède robotique qui pourrait imiter la marche et la course humaines. Dans ce Instructable, je vais vous montrer la conception et l'assemblage du robot bipède.
L'objectif principal lors de la construction de ce projet était de rendre le système aussi robuste que possible, de sorte qu'en expérimentant diverses allures de marche et de course, je n'aurais pas à m'inquiéter constamment des défaillances matérielles. Cela m'a permis de pousser le matériel à sa limite. Un objectif secondaire était de rendre le bipède relativement peu coûteux en utilisant des pièces de loisirs facilement disponibles et l'impression 3D, laissant la place à d'autres mises à niveau et extensions. Ces deux objectifs combinés fournissent une base solide pour effectuer diverses expériences, permettant de développer le bipède selon des exigences plus spécifiques.
Continuez pour créer votre propre robot bipède contrôlé par Arduino et votez dans le "Concours Arduino" si vous avez aimé le projet.
Étape 1: Processus de conception
Les jambes humanoïdes ont été conçues dans le logiciel de modélisation 3D gratuit Fusion 360 d'Autodesk. J'ai commencé par importer les servomoteurs dans la conception et j'ai construit les pieds autour d'eux. J'ai conçu des supports pour le servomoteur qui fournissent un deuxième point de pivot diamétralement opposé à l'arbre du servomoteur. Le fait d'avoir des arbres doubles à chaque extrémité du moteur confère une stabilité structurelle à la conception et élimine toute inclinaison pouvant se produire lorsque les pieds sont conçus pour supporter une certaine charge. Les maillons ont été conçus pour contenir un roulement tandis que les supports utilisaient un boulon pour l'arbre. Une fois les maillons montés sur les arbres à l'aide d'un écrou, le roulement fournirait un point de pivot lisse et robuste sur le côté opposé de l'arbre du servomoteur.
Un autre objectif lors de la conception du bipède était de garder le modèle aussi compact que possible pour utiliser au maximum le couple fourni par les servomoteurs. Les dimensions des maillons ont été conçues pour obtenir une grande amplitude de mouvement tout en minimisant la longueur totale. Les rendre trop courts provoquerait la collision des supports, réduisant l'amplitude de mouvement, et les rendre trop longs exercerait un couple inutile sur les actionneurs. Enfin, j'ai conçu le corps du robot sur lequel l'Arduino et d'autres composants électroniques seraient montés.
Remarque: Les pièces sont incluses dans l'une des étapes suivantes.
Étape 2: Le rôle de l'Arduino
Un Arduino Uno a été utilisé dans ce projet. L'Arduino était chargé de calculer les trajectoires de mouvement des différentes allures testées et a demandé aux actionneurs de se déplacer à des angles précis à des vitesses précises pour créer un mouvement de marche fluide. Un Arduino est un excellent choix pour développer des projets en raison de sa polyvalence. Il fournit un tas de broches IO et fournit également des interfaces telles que série, I2C et SPI pour communiquer avec d'autres microcontrôleurs et capteurs. L'Arduino fournit également une excellente plate-forme pour le prototypage et les tests rapides et donne également aux développeurs une marge d'amélioration et d'évolutivité. Dans ce projet, d'autres versions incluront une unité de mesure inertielle pour le traitement des mouvements tels que la détection de chute et la locomotion dynamique en terrain accidenté et un capteur de mesure de distance pour éviter les obstacles.
L'IDE Arduino a été utilisé pour ce projet. (Arduino fournit également un IDE basé sur le Web)
Remarque: Les programmes du robot peuvent être téléchargés à partir de l'une des étapes suivantes.
Étape 3: Matériel nécessaire
Voici la liste de tous les composants et pièces nécessaires pour fabriquer votre propre robot bipède alimenté par Arduino. Toutes les pièces doivent être couramment disponibles et faciles à trouver.
ÉLECTRONIQUE:
Arduino Uno x 1
Servomoteur Towerpro MG995 x 6
Perfboard (taille similaire à l'Arduino)
Broches d'en-tête mâles et femelles (environ 20 de chaque)
Fils de cavalier (10 pièces)
IMU MPU6050 (en option)
Capteur à ultrasons (en option)
MATÉRIEL:
Roulement de planche à roulettes (8x19x7mm)
écrous et boulons M4
Filament d'imprimante 3D (si vous ne possédez pas d'imprimante 3D, il devrait y avoir une imprimante 3D dans un espace de travail local ou les impressions peuvent être effectuées en ligne pour un prix assez bas)
En excluant l'Arduino et l'imprimante 3D, le coût total de ce projet est de 20$.
Étape 4: Pièces imprimées en 3D
Les pièces requises pour ce projet devaient être conçues sur mesure, une imprimante 3D a donc été utilisée pour les imprimer. Les impressions ont été réalisées à 40% de remplissage, 2 périmètres, une buse de 0,4 mm et une hauteur de couche de 0,1 mm avec du PLA, couleur de votre choix. Vous trouverez ci-dessous la liste complète des pièces et les STL pour imprimer votre propre version.
Remarque: À partir de là, les pièces seront référencées en utilisant les noms de la liste.
- support de servo de pied x 1
- miroir de support de servo de pied x 1
- support de servo de genou x 1
- miroir de support de servo de genou x 1
- support de servo de pied x 1
- miroir de support de servo de pied x 1
- lien de roulement x 2
- lien de klaxon d'asservissement x 2
- lien de pied x 2
- pont x 1
- support électronique x 1
- entretoise électronique x 8 (en option)
- espace de palonnier x 12 (facultatif)
Au total, hors entretoises, il y a 14 pièces. Le temps d'impression total est d'environ 20 heures.
Étape 5: Préparation des supports de servomoteurs
Une fois toutes les pièces imprimées, vous pouvez commencer par configurer les servos et les supports de servo. Enfoncez d'abord un roulement dans le support du servo de genou. L'ajustement doit être bien ajusté, mais je recommanderais de poncer un peu la surface intérieure du trou au lieu de forcer le roulement, ce qui pourrait risquer de casser la pièce. Passez ensuite un boulon M4 dans le trou et serrez-le à l'aide d'un écrou. Ensuite, saisissez le lien de pied et fixez-y un palonnier circulaire à l'aide des vis fournies. Fixez la liaison du pied au support du servo de genou à l'aide des vis que vous utiliserez pour fixer également le servomoteur. Assurez-vous d'aligner le moteur de sorte que l'arbre soit du même côté que le boulon que vous avez fixé plus tôt. Enfin, fixez le servo avec le reste des écrous et boulons.
Faites de même avec le support de servo de hanche et le support de servo de pied. Avec cela, vous devriez avoir trois servomoteurs et leurs supports correspondants.
Remarque: je fournis des instructions pour construire une jambe, l'autre est simplement en miroir.
Étape 6: fabrication des pièces de liaison
Une fois les supports assemblés, commencez à faire les liens. Pour réaliser le lien de roulement, poncez à nouveau légèrement la surface intérieure des trous pour le roulement puis poussez le roulement dans le trou des deux côtés. Assurez-vous de pousser le roulement jusqu'à ce qu'un côté soit au même niveau. Pour construire la liaison du palonnier de servo, saisissez deux palonniers de servo circulaires et les vis fournies. Placez les cornes sur l'impression 3D et alignez les trous, puis vissez la corne sur l'impression 3D en fixant la vis du côté de l'impression 3D. Je recommande d'utiliser une entretoise de palonnier imprimé en 3D pour ces vis. Une fois les liens construits, vous pouvez commencer à assembler la jambe.
Étape 7: Assemblage des pieds
Une fois les liens et les supports assemblés, vous pouvez les combiner pour construire la jambe du robot. Tout d'abord, utilisez le lien de servocommande pour attacher ensemble le support de servo de hanche et le support de servo de genou. Remarque: ne vissez pas encore le klaxon au servo car il y a une étape de configuration dans l'étape suivante et ce serait un inconvénient si le klaxon était vissé sur le servomoteur.
Sur le côté opposé, montez la biellette de roulement sur les boulons saillants à l'aide d'écrous. Enfin, fixez le support de servo de pied en insérant le boulon saillant à travers le roulement sur le support de servo de genou. Et fixez l'arbre du servo au palonnier connecté au support du servo de genou de l'autre côté. Cela peut être une tâche délicate et je recommanderais une deuxième paire de mains pour cela.
Répétez les étapes pour l'autre jambe. Utilisez les images jointes à chaque étape comme référence.
Étape 8: PCB et câblage personnalisés
Ceci est une étape optionnelle. Pour rendre le câblage plus soigné, j'ai décidé de créer un PCB personnalisé en utilisant une carte de perforation et des broches d'en-tête. Le PCB contient des ports pour connecter directement les fils du servomoteur. De plus, j'ai également laissé des ports supplémentaires au cas où je souhaiterais étendre et ajouter d'autres capteurs tels que des unités de mesure inertielle ou des capteurs de distance à ultrasons. Il contient également un port pour la source d'alimentation externe requise pour alimenter les servomoteurs. Une connexion par cavalier est utilisée pour basculer entre l'alimentation USB et externe pour l'Arduino. Montez l'Arduino et le PCB de chaque côté du support électronique à l'aide de vis et des entretoises imprimées en 3D.
Remarque: assurez-vous de débrancher le cavalier avant de connecter l'Arduino à votre ordinateur via USB. Ne pas le faire peut endommager l'Arduino.
Si vous décidez de ne pas utiliser le PCB et d'utiliser à la place une maquette, voici les connexions servo:
- Hanche gauche >> broche 9
- Hanche droite >> broche 8
- Genou gauche >> broche 7
- Genou droit >> broche 6
- Pied gauche >> broche 5
- Pied droit >> broche 4
Si vous décidez de faire en sorte que le PCB suive le même ordre que ci-dessus en utilisant les ports du PCB de droite à gauche avec le port IMU vers le haut. Et utilisez des cavaliers mâles à femelles réguliers pour connecter le PCB à l'Arduino en utilisant les numéros de broche ci-dessus. Assurez-vous de connecter également la broche de terre et de créer le même potentiel de terre et la même broche Vin lorsque vous décidez de l'exécuter sans alimentation USB.
Étape 9: Assemblage du corps
Une fois les deux jambes et l'électronique assemblés, combinez-les pour construire le corps du robot. Utilisez la pièce de pont pour relier les deux jambes ensemble. Utilisez les mêmes trous de montage sur le support de servo de hanche et les écrous et boulons qui maintiennent le servomoteur. Enfin, connectez le support électronique au pont. Alignez les trous sur le pont et le support électronique et utilisez des écrous et des boulons M4 pour faire le joint.
Reportez-vous aux images ci-jointes pour obtenir de l'aide. Avec cela, vous avez terminé la construction matérielle du robot. Ensuite, passons au logiciel et donnons vie au robot.
Étape 10: Configuration initiale
Ce que j'ai remarqué lors de la construction de ce projet, c'est que les servomoteurs et les cornes n'ont pas besoin de s'aligner parfaitement pour rester relativement parallèles. C'est pourquoi la "position centrale" de chaque servomoteur doit être ajustée manuellement pour s'aligner avec les jambes. Pour ce faire, retirez les palonniers de chaque servo et exécutez le croquis initial_setup.ino. Une fois les moteurs installés dans leur position centrale, rattachez les cornes de manière à ce que les jambes soient parfaitement droites et le pied parfaitement parallèle au sol. Si tel est le cas, vous avez de la chance. Sinon, ouvrez le fichier constants.h présent dans l'onglet adjacent et modifiez les valeurs de décalage du servo (lignes 1-6) jusqu'à ce que les jambes soient parfaitement alignées et le pied plat. Jouez avec les valeurs et vous aurez une idée de ce qui est nécessaire dans votre cas.
Une fois les constantes définies, notez ces valeurs car elles seront nécessaires plus tard.
Référez-vous aux images pour obtenir de l'aide.
Étape 11: un peu sur la cinématique
Pour que le bipède exécute des actions utiles telles que la course et la marche, les différentes allures doivent être programmées sous la forme de trajectoires de mouvement. Les trajectoires de mouvement sont des trajectoires le long desquelles l'effecteur final (les pieds dans ce cas) se déplace. Il y a deux façons d'y parvenir:
- Une approche serait d'alimenter les angles d'articulation des différents moteurs d'une manière brutale. Cette approche peut être chronophage, fastidieuse, et également remplie d'erreurs puisque le jugement est purement visuel. Au lieu de cela, il existe un moyen plus intelligent d'obtenir les résultats souhaités.
- La deuxième approche consiste à fournir les coordonnées de l'effecteur final au lieu de tous les angles articulaires. C'est ce qu'on appelle la cinématique inverse. L'utilisateur saisit les coordonnées et les angles d'articulation s'ajustent pour positionner l'effecteur final aux coordonnées spécifiées. Cette méthode peut être considérée comme une boîte noire qui prend en entrée une coordonnée et sort les angles des articulations. Pour ceux qui s'intéressent à la façon dont les équations trigonométriques de cette boîte noire ont été développées, peuvent regarder le diagramme ci-dessus. Pour ceux qui ne sont pas intéressés, les équations sont déjà programmées et peuvent être utilisées à l'aide de la fonction pos qui prend en entrée x, z et sort trois angles correspondant aux moteurs.
Le programme contenant ces fonctions se trouve à l'étape suivante.
Étape 12: Programmation de l'Arduino
Avant de programmer l'Arduino, de légères modifications doivent être apportées au fichier. Vous vous souvenez des constantes que je vous avais demandé de noter ? Modifiez les mêmes constantes aux valeurs que vous avez définies dans le fichier constants.h.
Remarque: si vous avez utilisé les conceptions fournies dans ce Instructable, vous n'avez rien à changer. Au cas où certains d'entre vous ont créé leurs propres conceptions, vous devrez modifier quelques valeurs supplémentaires en plus des décalages. La constante l1 mesure la distance entre le pivot de hanche et le pivot de genou. La constante l2 mesure la distance entre le pivot du genou et le pivot de la cheville. Donc, si vous avez conçu votre propre modèle, mesurez ces longueurs et modifiez les constantes. Les deux dernières constantes sont utilisées pour les allures. La constante stepClearance mesure à quelle hauteur le pied se lèvera en avançant après un pas et la constante stepHeight mesure la hauteur du sol à la hanche pendant qu'il fait des pas.
Une fois toutes les constantes modifiées selon vos besoins, vous pouvez télécharger le programme principal. Le programme principal initialise simplement le robot dans une position de marche et commence à avancer. Les fonctions peuvent être modifiées selon vos besoins pour explorer les différentes allures, vitesses et longueurs de pas pour voir ce qui fonctionne le mieux.
Étape 13: Résultats finaux: il est temps d'expérimenter
Le bipède peut faire des pas de 10 à 2 cm de long sans basculer. La vitesse peut également être modifiée tout en gardant la démarche équilibrée. Ce bipède combiné à la puissance de l'Arduino fournit une plate-forme robuste pour expérimenter diverses autres allures et d'autres objectifs tels que sauter ou se balancer tout en frappant un ballon. Je vous recommanderais d'essayer de modifier les trajectoires de mouvement des jambes pour créer vos propres allures et découvrir comment diverses allures affectent les performances du robot. Des capteurs tels qu'un IMU et un capteur de distance peuvent être ajoutés au système pour augmenter ses fonctionnalités tandis que des capteurs de force peuvent être ajoutés aux jambes pour expérimenter la locomotion dynamique sur des surfaces inégales.
J'espère que vous avez apprécié ce Instructable et qu'il est assez d'inspiration pour créer le vôtre. Si vous avez aimé le projet, soutenez-le en votant dans le "Concours Arduino".
Bonne fabrication !
Premier prix au concours Arduino 2020
Conseillé:
Un bras robotique simple contrôlé par le mouvement réel de la main : 7 étapes (avec photos)
Un bras robotique simple contrôlé par le mouvement réel de la main : il s'agit d'un bras robotique DOF très simple pour les débutants. Le bras est contrôlé par Arduino. Il est connecté à un capteur qui est fixé sur la main de l'opérateur. Par conséquent, l'opérateur peut contrôler le coude du bras en pliant son propre mouvement de coude
Bras robotique contrôlé par Arduino avec 6 degrés de liberté : 5 étapes (avec photos)
Bras robotique contrôlé par Arduino avec 6 degrés de liberté : je suis membre d'un groupe de robotique et chaque année, notre groupe participe à une Mini-Maker Faire annuelle. Début 2014, j'ai décidé de construire un nouveau projet pour l'événement de chaque année. A l'époque, j'avais environ un mois avant l'événement pour mettre quelque chose ensemble
Bras robotique contrôlé par Nunchuk (avec Arduino): 14 étapes (avec photos)
Bras robotique contrôlé par Nunchuk (avec Arduino) : les bras robotiques sont géniaux ! Les usines du monde entier en ont, où elles peignent, soudent et transportent des objets avec précision. Ils peuvent également être trouvés dans l'exploration spatiale, les véhicules télécommandés sous-marins et même dans les applications médicales ! Et maintenant, vous pouvez
Bras robotique contrôlé par un gant : 6 étapes (avec photos)
Bras robotique contrôlé par un gant : Objectif : acquérir de l'expérience et des compétences en résolution de problèmes en créant un projet à compléter. Chacune des articulations sur le bras imprimé en 3D a un servo qui co
Fauteuil roulant contrôlé par vision par ordinateur avec mannequin : 6 étapes (avec photos)
Fauteuil roulant contrôlé par vision par ordinateur avec mannequin : projet de AJ Sapala, Fanyun Peng, Kuldeep Gohel, Ray LC.Instructable par AJ Sapala, Fanyun Peng, Ray LC.Nous avons créé un fauteuil roulant avec des roues contrôlées par une carte Arduino, qui est à son tour contrôlée par un raspberry pi exécutant openCV via Processing