Table des matières:

Hexapode : 14 étapes (avec photos)
Hexapode : 14 étapes (avec photos)

Vidéo: Hexapode : 14 étapes (avec photos)

Vidéo: Hexapode : 14 étapes (avec photos)
Vidéo: Hexapod Robot With Bluetooth - 3D PRINTED 2024, Juillet
Anonim
Hexapode
Hexapode
Hexapode
Hexapode
Hexapode
Hexapode

Je m'intéresse depuis quelques années à jouer et à créer des robots et je me suis beaucoup inspiré de Zenta, vous trouverez ici sa chaîne Youtube https://www.youtube.com/channel/UCmCZ-oLEnCgmBs_T et son site web

Vous pouvez trouver beaucoup de kits de nombreux vendeurs différents sur Internet, mais ils sont très coûteux, jusqu'à 1.500$+ pour un hexapode 4 DoF, et les kits en provenance de Chine n'ont pas une bonne qualité. J'ai donc décidé de créer en hexapode à ma façon. Inspiré de l'hexapode Phoenix de Zenta, vous le trouverez dans sa chaîne Youtube (et un kit que vous pouvez trouver https://www.lynxmotion.com/c-117-phoenix.aspx, j'ai commencé à créer le mien à partir de zéro.

Pour créer si définir les objectifs/exigences suivants pour les miens:

1.) Amusez-vous beaucoup et apprenez de nouvelles choses.

2.) Conception axée sur les coûts (putain, mon entreprise m'a totalement gâté)

3.) Pièces en contreplaqué (car il est plus facile pour la plupart des gens et aussi pour moi de couper du bois)

4.) Utilisation des outils disponibles gratuitement (logiciels)

Alors, qu'est-ce que j'ai utilisé jusqu'à présent?

a) SketchUp, pour la conception mécanique.

b) Contreplaqué de hêtre 4 mm et 6 mm (1/4 ).

c) Arduino Uno, Mega, IDE.

d) Servos numériques standard (trouvés chez amazon à un bon prix).

e) Dosuki et Scie à ruban, une perceuse, du papier abrasif et une lime.

Étape 1: Construction des pattes et des supports de servomoteurs

Construction de pattes et de supports de servomoteurs
Construction de pattes et de supports de servomoteurs
Construction de pattes et de supports de servomoteurs
Construction de pattes et de supports de servomoteurs
Construction de pattes et de supports de servomoteurs
Construction de pattes et de supports de servomoteurs

J'ai d'abord fait des recherches sur Internet pour savoir comment faire un robot, mais je n'ai pas vraiment réussi à trouver de bonnes informations sur la façon de faire de la conception mécanique. J'ai donc beaucoup lutté et j'ai finalement décidé d'utiliser SketchUp.

Après quelques heures d'apprentissage par la pratique avec SketchUp, j'en ai terminé avec mon premier design des jambes. Le fémur est optimisé pour la taille des palonniers que j'utilise. Comme je l'ai compris, l'original semble avoir un diamètre d'environ 1 , mais mes palonniers de servo ont 21 mm.

Faire une impression avec la bonne échelle ne fonctionnait pas correctement avec SketchUp sur mon ordinateur, donc je l'ai enregistré au format PDF, fait une impression à 100%, fait quelques mesures et finalement imprimé à nouveau avec le bon facteur d'échelle.

Pour le premier essai, je ne créais que des arts pour deux jambes. Pour cela, j'ai empilé deux planches, collé (pour le papier peint) l'impression dessus et découpé les pièces avec une scie à ruban artisanale.

Matériau utilisé: contreplaqué de hêtre 6 mm (1/2 )

Par la suite, j'ai fait quelques expériences, que je n'ai pas documentées, et j'ai fait quelques optimisations. Comme vous pouvez le voir le tibia est un peu surdimensionné ainsi que le fémur.

Pour monter les palonniers à travers le fémur, 2 mm de matériau doivent être coupés. Cela peut se faire de différentes façons. Avec une défonceuse ou avec une perceuse Forstner. Le Forstner n'avait que 200 mm de diamètre, j'ai donc dû faire un peu d'après-guerre à la main avec un ciseau.

Étape 2: Optimisation du fémur et du tibia

Optimisation du fémur et du tibia
Optimisation du fémur et du tibia
Optimisation du fémur et du tibia
Optimisation du fémur et du tibia
Optimisation du fémur et du tibia
Optimisation du fémur et du tibia
Optimisation du fémur et du tibia
Optimisation du fémur et du tibia

J'ai un peu modifié le design.

1.) Tibia s'adapte maintenant beaucoup mieux au servo que j'utilise.

2.) Le fémur est maintenant un peu plus petit (environ 3 d'axe en axe) et s'adapte aux palonniers des servos (21 mm de diamètre).

J'utilisais 6 planches de contreplaqué de 6 mm et je les ai collées avec du ruban adhésif double face. Si ce n'est pas assez solide, vous pouvez percer un trou dans toutes les planches et utiliser une vis pour les fixer ensemble. puis des pièces sont découpées à la fois avec la scie à ruban. Si vous êtes assez fort, vous pouvez également utiliser une scie sauteuse:-)

Étape 3: Conception du support de servo

Conception du support de servo
Conception du support de servo
Conception du support de servo
Conception du support de servo
Conception du support de servo
Conception du support de servo
Conception du support de servo
Conception du support de servo

Il est maintenant temps de concevoir le support de servo. Ceci est fortement conçu en fonction du servo utilisé que j'ai utilisé. Toutes les pièces sont en contreplaqué de hêtre de 6 mm, voir à nouveau l'étape suivante.

Étape 4: Couper et assembler les supports de servomoteurs

Découpe et assemblage de supports de servomoteurs
Découpe et assemblage de supports de servomoteurs
Découpe et assemblage de supports de servomoteurs
Découpe et assemblage de supports de servomoteurs

Encore une fois, j'ai coupé six parties en même temps, toutes sur la scie à ruban. La méthode est la même que précédemment.

1.) En utilisant du ruban adhésif double face, pour coller les planches ensemble.

2.) Vis pour avoir plus de stabilité lors de la coupe (non illustré ici).

Ensuite, j'ai utilisé de la colle pour maquettes pour les coller ensemble et deux vis SPAX (pas encore appliquées sur la photo).

Par rapport à l'hexapode d'origine, je n'utilise pas encore de roulements à billes, mais je n'utilise que des vis de 3 mm, des rondelles et des écrous auto-fixants plus tard pour assembler les pieds avec le corps/le châssis.

Étape 5: Assemblage des pattes et test

Image
Image
Assemblage des pattes et test
Assemblage des pattes et test
Assemblage des pattes et test
Assemblage des pattes et test

Dans les deux premières images, vous voyez la première version d'une jambe. Ensuite, vous voyez une comparaison des pièces anciennes et nouvelles et une comparaison des nouvelles pièces (version deux) avec l'original (photo en arrière-plan).

Enfin, vous ferez un premier test de mouvement.

Étape 6: Construire et assembler le corps

Construire et assembler le corps
Construire et assembler le corps
Construire et assembler le corps
Construire et assembler le corps
Construire et assembler le corps
Construire et assembler le corps

Le corps que j'ai essayé de reconstituer à partir de photos. Comme référence, j'ai utilisé le palonnier de servo, que j'ai supposé avec un diamètre de 1". Ainsi, la face avant devient une largeur de 4,5" et le milieu de 6,5". Pour la longueur, j'ai supposé 7". Plus tard, j'ai acheté le kit carrosserie d'origine et l'ai comparé. Je devenais très proche de l'original. Enfin, j'ai fait une troisième version, qui est une copie 1:1 de l'original.

Le premier kit carrosserie que j'ai fabriqué en contreplaqué de 6 mm, vous voyez ici la deuxième version en contreplaqué de 4 mm, que j'ai trouvé assez solide et rigide. Différent du kit d'origine, je montais le palonnier sur le dessus, resp. à travers le matériau (vous pouvez le voir aussi avec le fémur). La raison en est que je n'ai pas envie d'acheter des klaxons en aluminium coûteux, je souhaite plutôt utiliser les klaxons en plastique déjà livrés. Une autre raison est que je me rapproche du servo, donc les forces de cisaillement sont moindres. Cela rend une connexion plus stable.

Soit dit en passant, il est parfois bon d'avoir Ganesh à bord. Merci à mon ami Tejas:-)

Étape 7: Premiers tests électroniques

Image
Image
Tibia et Coxa EV3
Tibia et Coxa EV3

Tous les arts sont assemblés maintenant. OK, je sais que ce n'est pas très beau, mais en fait j'expérimente beaucoup. Dans la vidéo, vous pouvez voir jouer quelques séquences prédéfinies simples, en fait il n'y a pas de cinématique inverse implémentée. La démarche prédéfinie ne fonctionne pas correctement car elle est conçue pour un 2 DoF.

Dans cet exemple, j'utilise le servocontrôleur SSC-32U de Lynxmotion, vous le trouverez ici:

Il y a quelques jours, j'utilisais également un autre contrôleur PWM (contrôleur PWM Adafruit 16 canaux, https://www.adafruit.com/product/815), mais le SCC a en fait quelques fonctionnalités intéressantes, comme ralentir les servos.

Donc, c'est tout maintenant. Ensuite, je dois découvrir comment faire fonctionner la cinématique inverse (IK), peut-être que je vais programmer une démarche simple comme celle prédéfinie dans le contrôleur SSC. J'ai déjà trouvé un exemple prêt à l'emploi ici https://github.com/KurtE/Arduino_Phoenix_Parts, mais je ne l'ai pas encore exécuté. Je ne sais pas pourquoi, mais j'y travaille.

Alors, voici une courte liste de choses à faire.

1.) Programmez une démarche simple comme celle intégrée dans le SSC.

2.) Programmez une classe/un wrapper de contrôleur PS3 pour l'Arduino Phoenix.

3.) Obtenez le code de KurtE en cours d'exécution ou écrivez mon propre code.

Les servos que j'utilise, j'ai trouvé sur Amazon https://www.amazon.de/dp/B01N68G6UH/ref=pe_3044161_189395811_TE_dp_1. Le prix est assez bon, mais la qualité pourrait être bien meilleure.

Étape 8: Premier test de marche simple

Comme je l'ai mentionné dans la dernière étape, j'ai essayé de programmer ma propre séquence de marche. C'est un jouet très simple, comme un jouet mécanique, et il n'est pas optimisé pour le corps que j'utilise ici. Un corps simple et droit serait bien mieux.

Alors, je vous souhaite beaucoup de plaisir. Je dois apprendre IK maintenant;-)

Remarques: Lorsque vous regardez attentivement les jambes, vous verrez que certains servos se comportent étrangement. Ce que je veux dire, c'est qu'ils ne bougent pas toujours en douceur, je dois peut-être les remplacer par d'autres servos.

Étape 9: Porter la manette PS3

Ce matin, je travaillais sur l'écriture d'un wrapper pour le code Phoenix. Cela m'a pris quelques heures, environ 2-3, pour le faire. le code n'est pas enfin débogué et j'ai ajouté du débogage supplémentaire à la console. Ca marche pour l'instant:-)

Mais au fait, lorsque j'exécutais le code Phoenix, il semble que tous les servos fonctionnent à l'envers (sens opposé).

Lorsque vous voulez essayer par vous-même, vous avez besoin du code de KurtE comme base https://github.com/KurtE/Arduino_Phoenix_Parts. Suivez les instructions pour installer le code. Copiez le dossier Phoenix_Input_PS dans votre dossier de bibliothèque Arduino (généralement un sous-dossier de votre dossier de croquis) et le dossier Phoenix_PS3_SSC32 dans votre dossier de croquis.

Info: Si vous n'êtes pas habitué à Arduino et aux outils et que vous rencontrez des problèmes, veuillez contacter la communauté Arduino (www.arduino.cc). Si vous rencontrez des problèmes avec le code Phoenix de KurtE, veuillez le contacter. Merci.

Attention: comprendre le code n'est à mon avis rien pour les débutants, il faut donc être très familiarisé avec le C/C++, la programmation et l'algorithme. Le code contient également beaucoup de code compilé conditionnel, contrôlé par #defines, ce qui le rend très difficile à lire et à comprendre.

Liste de matériel:

  • Arduino Mega 2560
  • Bouclier hôte USB (pour Arduino)
  • manette PS3
  • Servocontrôleur LynxMotion SSC-32U
  • Batterie 6 V (veuillez lire les exigences de tout votre matériel, sinon vous pourriez l'endommager)
  • IDE Arduino
  • Certains câbles USB, commutateurs et autres petites pièces selon les besoins.

Si vous aimez un contrôleur PS2, vous trouverez de nombreuses informations sur Internet sur la façon de vous connecter à Arduino.

Alors, s'il vous plaît soyez patiemment. Je mettrai à jour cette étape, lorsque le logiciel fonctionnera correctement.

Étape 10: Premier test CI

Image
Image

J'ai trouvé un port différent du code Phoenix qui fonctionne beaucoup mieux (https://github.com/davidhend/Hexapod), j'ai peut-être un problème de configuration avec l'autre code. Le code semble être un peu bogué et les démarches ne semblent pas très fluides, mais pour moi, c'est un grand pas en avant.

Veuillez considérer que le code est en fait expérimental. Je dois nettoyer et corriger beaucoup et publierai une mise à jour les prochains jours. Le port PS3 est basé sur le port PS3 déjà publié, et j'ai supprimé les fichiers PS2 et XBee.

Étape 11: Deuxième test CI

La solution était si facile. J'ai dû corriger certaines valeurs de configuration et inverser tous les angles des servos. Maintenant ça marche:-)

Étape 12: Tibia et Coxa EV3

Tibia et Coxa EV3
Tibia et Coxa EV3
Tibia et Coxa EV3
Tibia et Coxa EV3

Je n'ai pas pu résister, j'ai donc fabriqué de nouveaux tibias et coxa (supports servo). C'est maintenant la troisième version que j'ai faite. Les nouveaux sont de forme plus ronde et ont un look plus organique/bionique.

Donc, le statut réel est. L'hexapode fonctionne, mais a encore quelques problèmes avec certaines choses.

1.) Je n'ai pas découvert pourquoi le BT a un délai de 2,3 secondes.

2.) La qualité des servos est médiocre.

Choses à faire:

* Le câblage des servos doit être amélioré.

* Besoin d'un bon support de batterie.

* Je dois trouver un moyen de monter l'électronique.

* Re-calibrer les servos.

* Ajout de capteurs et d'un moniteur de tension pour la batterie.

Étape 13: Fémur de forme lisse

Fémur de forme lisse
Fémur de forme lisse
Fémur de forme lisse
Fémur de forme lisse
Fémur de forme lisse
Fémur de forme lisse
Fémur de forme lisse
Fémur de forme lisse

Il y a quelques jours j'ai déjà fait un nouveau fémur car je n'étais pas pleinement satisfait du précédent. Dans la première image, vous verrez les différences. Les anciens avaient un diamètre de 21 mm aux extrémités, les nouveaux ont un diamètre de 1 pouce. J'ai fait des trous dans le fémur avec ma fraiseuse avec un simple outil d'aide, comme vous pouvez le voir sur les trois photos suivantes.

Avant de faire les éviers dans le fémur, il est logique de percer tous les trous, sinon cela peut devenir difficile. Le palonnier s'adapte très bien, l'étape suivante, non illustrée ici, consiste à donner aux bords une forme ronde. Pour cela, j'ai utilisé une fraise de toupie d'un rayon de 3 mm.

Sur la dernière photo, vous verrez une comparaison de l'ancien et du nouveau. Je ne sais pas ce que vous en pensez, mais j'aime beaucoup plus le nouveau.

Étape 14: Étapes finales

Image
Image
Étapes finales
Étapes finales
Étapes finales
Étapes finales
Étapes finales
Étapes finales

Je vais finir ce tutoriel maintenant, sinon ça deviendra une histoire sans fin:-).

Dans la vidéo, vous verrez le code Phoenix de KurtE en cours d'exécution avec certaines de mes modifications. Le robot ne bouge pas parfaitement, désolé pour ça, mais les servos bon marché sont de mauvaise qualité. J'ai commandé d'autres servos, je viens d'en tester deux avec de bons résultats, et j'attends toujours la livraison. Donc, désolé, je ne peux pas vous montrer comment fonctionne le robot avec les nouveaux servos.

Vue arrière: Un capteur de courant de 20 ampères, à gauche du pot de 10 k. Lorsque le robot marche, il consommera facilement 5 ampères. À droite du pot de 10 k, vous verrez un pixel OLED 128x64 affichant des informations d'état.

Vue de face: Un simple capteur à ultrasons HC-SR04, pas encore intégré dans SW.

Vue latérale droite: accélérateur MPU6050 et giro (6 axes).

Vue latérale gauche: haut-parleur piézo.

La conception mécanique est maintenant plus ou moins terminée, à l'exception des servos. Ainsi, les prochaines tâches seront d'intégrer des capteurs dans le SW. Pour cela, j'ai créé un compte GitHub avec le logiciel que j'utilise, basé sur un instantané du logiciel Phoenix de KurtE.

OLED:

Mon GitHub:

Conseillé: