Table des matières:

ICBob - un robot bipède inspiré de Bob : 10 étapes (avec photos)
ICBob - un robot bipède inspiré de Bob : 10 étapes (avec photos)

Vidéo: ICBob - un robot bipède inspiré de Bob : 10 étapes (avec photos)

Vidéo: ICBob - un robot bipède inspiré de Bob : 10 étapes (avec photos)
Vidéo: Elle Était Coincée Donc Ce Policier L'aide 2024, Juillet
Anonim
Image
Image
ICBob - un robot bipède inspiré de Bob
ICBob - un robot bipède inspiré de Bob

Nous sommes le Teen Imagineering Club de la bibliothèque publique de Bridgeville Delaware. Nous réalisons des projets sympas tout en apprenant l'électronique, le codage informatique, la conception 3D et l'impression 3D.

Ce projet est notre adaptation de BoB le BiPed un robot basé sur Arduino. Nous avons repensé le corps pour tirer parti de notre source d'alimentation Arduino préférée, la banque d'alimentation pour téléphone Powerbot. Cette source d'alimentation rechargeable de 5 volts peu coûteuse est idéale pour alimenter nos projets Arduino et se recharge avec n'importe quel chargeur mural USB. Nous avons également adapté les pieds à 3 doigts du robot bipède Arduped juste parce qu'ils ont l'air IMPRESSIONNANTS. Nous vous montrerons où obtenir les pièces dont vous avez besoin, comment assembler le robot et même vous donnerons un code Arduino facile pour le faire marcher. Nous avons passé un bon moment à fabriquer nos onze robots ICBob. Continuez à lire si vous voulez apprendre à en créer un pour vous-même.

Étape 1: Pièces et outils dont vous aurez besoin

Pièces et outils dont vous aurez besoin
Pièces et outils dont vous aurez besoin
Pièces et outils dont vous aurez besoin
Pièces et outils dont vous aurez besoin

ICBob est conçu pour l'ensemble de pièces suivant. Bien que des substitutions soient possibles, vous devrez peut-être modifier le corps pour les faire fonctionner. Notre fournisseur préféré est Yourduino.com mais pour certains articles, vous devrez vous rendre sur Amazon ou Ebay.

Mise à jour de la disponibilité du produit - Yourduino ne porte plus le Micro Magician et dit qu'ils sont abandonnés par Dagu. Le site Web de Dagu les a toujours disponibles https://www.dagurobot.com/goods.php?id=137 et s'ils ne sont pas disponibles, le contrôleur S4A EDU est un remplacement et fonctionne à 5 volts.

les pièces

  • 1x- contrôleur MICRO Magicien
  • 4x-servo SG 90
  • 1x- HC-SR04 Capteur à ultrasons
  • 1x- Powerbank Powerbot 2600mAh (le Powerbot 3000mAh a un diamètre plus grand et ne s'adaptera pas)
  • 1x- Carte d'affichage femelle MICRO USB vers DIP 5 broches
  • 1x-20cm 40 broches câble plat extrémités femelles
  • 1x-10k résistance
  • 4x- 2-56 x 3/8 vis autotaraudeuses (colle chaude alternative)

Impressions 3D - Les fichiers stl sont disponibles sur Thingiverse chose: 1313344

  • 1x- corps
  • 1x-coquille
  • 2x-genou
  • 1x- pied gauche
  • 1x- pied droit

Outils

  • ordinateur avec Arduino IDE
  • Arduino ajoute la bibliothèque VarSpeedServo
  • Pilote MICRO Magician (nécessaire pour certains systèmes d'exploitation)
  • Imprimante 3D (ou faites fabriquer les pièces)
  • Outils de nettoyage de pièces 3D
  • Kit de soudure (uniquement pour les broches de l'adaptateur USB)
  • Pistolet à colle chaude
  • Petit tournevis cruciforme
  • chargeur USB

Ce Instructable suppose que vous avez une connaissance de base de l'utilisation d'Arduino. Si vous êtes nouveau sur Arduino, vous pouvez en savoir plus sur

Pour le MICRO Magician, choisissez Board - Arduino Pro ou Pro Mini (3,3 V, 8 MHz) avec ATmega328

Vous aurez besoin de la bibliothèque VarSpeedServo de Korman pour utiliser nos croquis. Vous pouvez en savoir plus sur sa bibliothèque ici, mais utilisez notre téléchargement ci-dessous qui est compatible avec le nouvel IDE. Téléchargez le fichier VarSpeedServo.zip ci-dessous et décompressez-le dans votre dossier arduino/libraries.

Vous devrez peut-être installer le pilote MICRO Magician CP210x si votre système ne reconnaît pas le contrôleur. Ce site peut aider à l'installation du pilote

Étape 2: Commençons à construire - Assemblez les jambes

Commençons à construire - Assemblez les jambes
Commençons à construire - Assemblez les jambes
Commençons à construire - Assemblez les jambes
Commençons à construire - Assemblez les jambes
Commençons à construire - Assemblez les jambes
Commençons à construire - Assemblez les jambes

Pour cette étape, vous aurez besoin de 2 genoux imprimés en 3D et de 4 ensembles de servomoteurs.

Commencez par nettoyer les genoux. Les 2 trous de palonnier de servo doivent s'adapter aux palonniers de servo simple face. Nous les avons nettoyés avec un foret de taille L (.290). Le trou de pivot doit s'adapter au pivot sur le pied. Nous les avons nettoyés avec un foret de taille #2 (.220).

Montez les 4 palonniers des servos dans les genoux. Fixez le klaxon à l'aide de l'une des plus grosses vis fournies avec le servomoteur. Insérez la vis du côté du genou et serrez dans l'un des petits trous du palonnier du servo. Pour la seule vis il faudra serrer avec le tournevis en biais mais c'est faisable. Vous pouvez couper les points de vis qui dépassent avec une pince coupante latérale si vous le souhaitez.

Les 4 servobroches doivent être centrées avant d'être fixées aux genoux. Vous pouvez le faire manuellement en déplaçant doucement la broche tout au long de sa rotation pour trouver le point à mi-chemin. Une meilleure façon est d'attacher un servo à la broche 12. Téléchargez le fichier icbob_servo_center.zip ci-dessous. Décompressez dans votre répertoire Arduino. Ensuite, exécutez cette esquisse Arduino pour chaque servo.

Commencez par assembler les servos de hanche (supérieurs) aux genoux. Sans déplacer la broche, fixez le servo de hanche parallèlement au genou avec les fils faisant face à l'autre palonnier (avant). Fixez avec une petite vis du paquet servo. Répétez l'opération pour l'autre genou.

Maintenant pour les servos de cheville. RAPPELEZ-VOUS que vous allez avoir les chevilles droites et gauches afin que les jambes soient des images miroir l'une de l'autre. Vous devrez écarter légèrement le genou pour assembler le servo de cheville donc orientez le servo comme sur la photo avant de l'enfoncer. N'oubliez pas de ne pas faire tourner la broche. Fixez avec une petite vis. Répétez avec l'autre genou pour terminer avec une jambe droite et une jambe gauche.

Étape 3: Construction - Attachez les jambes au corps

Bâtiment - Attachez les jambes au corps
Bâtiment - Attachez les jambes au corps
Bâtiment - Attachez les jambes au corps
Bâtiment - Attachez les jambes au corps
Bâtiment - Attachez les jambes au corps
Bâtiment - Attachez les jambes au corps

Vous aurez besoin des 2 assemblages de pieds et de la base imprimée en 3D pour cette étape. Vous aurez également besoin de (4) vis autotaraudeuses 2-56x3/8 ou de colle chaude.

L'ensemble de jambe se fixe à la base au moyen des servos de hanche. Acheminez d'abord les 2 câbles de servo vers le haut à travers le bas de la base. Attention aux droites et aux gauches. Comme le montre le dessin, le fil de la cheville se termine dans la découpe en demi-lune, mais vous devez avoir le fil de la cheville avant que le servo ne soit attaché. Vous devez incliner le servo pour que le fil de hanche (où il entre dans le servo) passe d'abord par le trou rectangulaire (vers l'avant). C'est un ajustement serré, mais l'extrémité arrière devrait juste glisser. Maintenant, retournez la base et fixez le servo avec 2 vis ou de la colle chaude devrait fonctionner. Répétez le processus pour l'autre jambe.

Étape 4: Construire - Fixez les pieds

Bâtiment - Attachez les pieds
Bâtiment - Attachez les pieds
Bâtiment - Attachez les pieds
Bâtiment - Attachez les pieds

Pour cette étape, vous aurez besoin d'un pied gauche et d'un pied droit à ajouter à votre assemblage. Ils sont collés à chaud alors allumez le pistolet à colle.

Assurez-vous de bien nettoyer les fentes des pieds. Testez doucement l'ajustement du servo au pied après le nettoyage. Assurez-vous que le trou de pivot dans le genou s'insère dans l'axe de pivot sur le pied. Il est préférable d'utiliser un tournevis fin entre le servo et le pied pour retirer le pied s'il est serré. Après avoir obtenu un bon test d'ajustement, placez une boule de colle chaude de la taille d'un centime sur le pied, puis appuyez sur le servo pour le pied. Évitez de mettre de la colle près de la zone de pivot. Répétez l'opération pour l'autre côté afin que votre bot puisse se tenir debout sur ses deux pieds.

Étape 5: Câblage - Servos et alimentation

Câblage - Servos et puissance
Câblage - Servos et puissance
Câblage - Servos et puissance
Câblage - Servos et puissance
Câblage - Servos et puissance
Câblage - Servos et puissance

Dans cette étape, vous aurez besoin du contrôleur MICRO Magician, de la carte adaptateur micro USB avec des broches d'en-tête, du câble plat et de votre robot debout. Vous allez souder et coller à chaud au cours de cette étape, alors préparez ces outils.

La banque d'alimentation Powerbot est livrée avec un court câble USB vers micro USB. Pour charger la batterie, le micro USB est branché dans la fente de chargement de la batterie et l'USB va au chargeur mural. Vous réutiliserez ce câble pour alimenter l'ICBob. La sortie de la batterie se fait via USB, nous nous connectons donc via la carte adaptateur micro USB pour alimenter le bot.

Commençons par assembler l'adaptateur. Reportez-vous à la photo pour les prochaines étapes. Vous n'utiliserez que les 2 broches extérieures (gnd et V+) pour alimenter le bot. Faites glisser délicatement les 2 broches extérieures dans l'en-tête de sorte que le côté court dépasse d'environ 3/16 po. Avec une pince, pliez les 2 longues broches à environ 60 degrés. Pliez avant de souder car les cartes sont fragiles. Insérez l'en-tête comme indiqué et soudez toutes les broches à l'arrière pour plus de solidité. Coupez toutes les broches inutilisées aussi courtes que possible à l'avant et à l'arrière. Avant de coller l'adaptateur au canon, attachez le câble micro USB de manière à disposer d'un espace suffisant. Mettez une grosse boule de colle chaude au dos de l'adaptateur puis placez-le dans la position indiquée sur le canon. Tenez jusqu'à ce qu'il durcisse.

Fixez ensuite les 4 connecteurs servo au contrôleur. Nous aimons le MICRO Magician car il possède des connecteurs à 3 broches intégrés pour un câblage servo facile. Le fil de couleur plus foncé (marron ?) va vers le bord de la planche. Les croquis Arduino inclus utilisent les broches suivantes.

  • Hanche droite (RH) - broche 9
  • Cheville droite (RA) - broche 10
  • Hanche gauche (LH) - broche 11
  • Cheville gauche (LA) - broche 12

Pour la connexion électrique à la carte, retirez une paire de fils du câble plat. Vous utiliserez plus de ce câble plat pour le câblage du sonar. Connectez une extrémité de la paire à l'adaptateur micro USB. La broche la plus proche de l'avant du bot est rectifiée et l'autre V+. L'autre extrémité se fixe au contrôleur près du commutateur. Le fil V+ se connecte à la broche étiquetée « Battery IN » dans la documentation. Connectez le fil de terre à la broche 'gnd' juste un peu au-dessus de la broche 'Battery IN'.

IMPORTANT! - Il y a un cavalier 'V+ select' juste au-dessus du jeu de broches D1. Ce cavalier doit être sur le jeu de broches INSIDE ou les servos ne fonctionneront pas.

Enfin, nettoyez la fente du contrôleur sur la base afin que le contrôleur soit bien ajusté. Vous pouvez attacher la batterie et allumer le contrôleur pour vous assurer qu'il s'allume.

Étape 6: Programmation - Code d'étalonnage à domicile

Quelques mots sur nos choix de programmation

Lorsque nous avons construit le prototype de ce projet, nous avons utilisé le didacticiel Comment enseigner à votre BoB Biped pour se déplacer à Let's Make Robots. Le logiciel Bob Poser était cool et nous nous sommes amusés à jouer avec. Le problème était que plus de 600 lignes de code dans le croquis de navigation étaient bien au-dessus du niveau de connaissance des adolescents. Pour faire de ce projet une expérience d'apprentissage pour eux, nous avons décidé de glaner quelques idées dans le code Poser, puis de recommencer avec une page blanche. Les adolescents utilisaient déjà la bibliothèque VarSpeedServo tout en découvrant les servos dans nos laboratoires Arduino. Nous avons décidé de voir si VarSpeedServo pouvait gérer les tâches de synchronisation et de vitesse pour les servos afin que nous puissions nous concentrer uniquement sur les positions. Le code résultant fonctionne très bien et l'esquisse complète walk_avoid_turn a moins de 100 lignes de code. Les seuls nouveaux concepts que les adolescents avaient besoin d'apprendre étaient les tableaux à 2 dimensions et comment accéder à ces données avec du code. Prendre plaisir!

Étalonnage à domicile

Vous avez centré les servobroches lorsque vous les avez assemblées. Maintenant, vous verrez à quel point vous vous êtes rapprochés et affinez leurs positions d'origine. Assurez-vous que la bibliothèque VarSpeedServo de l'étape 1 est installée. Téléchargez le fichier icbob_home_calibration.zip ci-dessous et décompressez-le dans votre répertoire Arduino. Ouvrez l'esquisse dans l'IDE Arduino. Alimentez le MICRO Magician avec la batterie. Connectez l'ordinateur à la carte et téléchargez le code. Il y a de fortes chances que les positions d'origine des servos ne soient pas parfaites. Trouvez la section suivante dans le code. Continuez à ajuster et à télécharger jusqu'à ce que vous ayez bien compris.

//…………………………………………………….

// Commence avec les 4 membres du tableau hm réglés à 90 degrés. puis ajustez // ces paramètres pour que les genoux soient droits et les pieds plats int hm[4] = {90, 90, 90, 90}; //tableau pour maintenir la position d'origine pour chaque servo RH, RA, LH, LA //…………………………………………………….

Si l'un de vos nombres est inférieur à 50 ou supérieur à 130, vous devez revenir en arrière et démonter les pieds et rapprocher les axes du centre.

Une fois que vous avez une bonne position d'origine, notez les chiffres. Vous aurez besoin de ces numéros pour le reste des croquis.

Étape 7: Programmation - Déplacer le code du générateur

Programmation - Déplacer le code du générateur
Programmation - Déplacer le code du générateur

Maintenant, pour faire bouger votre bot. Téléchargez le fichier icbob_move_generator.zip ci-dessous et décompressez-le dans votre répertoire Arduino. Ouvrez l'esquisse dans l'IDE Arduino. Trouvez la section de code suivante. Mettez les positions d'origine que vous avez enregistrées pour votre bot dans le croquis.

//définit les membres du tableau hm sur les positions d'origine de votre robot

// ils peuvent être trouvés en utilisant le sketch icbob_home_calibration const int hm[4] = {95, 95, 85, 90}; // tableau pour maintenir la position d'origine pour chaque servo RH, RA, LH, LA

La section de code suivante est l'endroit où les séquences de déplacement sont entrées. Chaque ligne a des positions pour les 4 servos (RH, RA, LH, LA) par rapport à la position d'origine.

//mv données du tableau. Chaque ligne est un "cadre" ou une position définie pour les 4 servos

//Plusieurs lignes créent un groupe de mouvements qui peuvent être bouclés pour //créer des mouvements de marche, de rotation, de danse ou autres const int mvct = 6; //Rendre ce nombre égal au nombre de lignes dans le tableau const int mv[mvct][4] = { {0, -40, 0, -20}, //Ces nombres préchargés devraient donner une marche en avant {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0}, };

C'est le code qui transforme les données du tableau mv en ralentis servo

boucle vide () // la boucle se répète indéfiniment

{ // Déplace la séquence pour (int x=0; x<mvct; x++) { // parcourt le nombre de RH.slowmove (hm[0] + mv[x][0], svsp); //lignes 'frames' dans le tableau RA.slowmove (hm[1] + mv[x][1], svsp); LH.slowmove (hm[2] + mv[x][2], svsp); LA.slowmove (hm[3] + mv[x][3], svsp); délai (délai de trame); } }

Télécharger sur le bot. Le bot ira à la position d'origine pendant 2 secondes, puis commencera une boucle de marche avant. Cela fonctionne mieux si la table n'est pas trop glissante.

Une fois que vous êtes fatigué de le voir marcher, vous pouvez essayer vos propres mouvements. Utilisez « enregistrer sous » pour renommer le croquis. Ensuite, jouez avec les chiffres et voyez ce que vous pouvez faire. Gardez les nombres entre +50 et -50 ou vous risquez de forcer les servos. N'oubliez pas que si vous ajoutez ou soustrayez des lignes, vous devez modifier la valeur mvct pour refléter le changement. S'amuser!

Étape 8: Câblage - Capteur sonar HC-SR04 (yeux)

Câblage - Capteur sonar HC-SR04 (yeux)
Câblage - Capteur sonar HC-SR04 (yeux)
Câblage - Capteur sonar HC-SR04 (yeux)
Câblage - Capteur sonar HC-SR04 (yeux)

Pour cette étape, vous aurez besoin de l'impression 3D icbob_shell, du capteur à ultrasons HC-SR04, du câble plat femelle et d'une résistance de 10k ohm. Cela devrait terminer les pièces de notre liste. Oui!

Nettoyez d'abord les trous du capteur dans la coque pour un ajustement moyen serré. N'exercez pas trop de pression sur le capteur lors du test de montage. Retirer de la coque pour le câblage.

Retirez ensuite 4 brins du câble plat. Branchez les 4 fils dans les broches du capteur HC-SR04.

Le MICRO Magician fonctionne en interne sur 3,3 volts et les broches ne peuvent recevoir qu'un signal de 3,3 volts. Le problème est que le HC-SR04 fonctionne à 5 volts. Il peut utiliser une entrée de 3,3 volts comme signal de «déclenchement», mais lorsqu'il envoie un signal «d'écho», il est de 5 volts et cela endommagera l'entrée du contrôleur s'il est connecté directement. Nous devons mettre une résistance de limitation de courant de 10k ohms sur le fil « écho » pour protéger l'entrée.

MISE À JOUR: Bien que nous n'ayons eu aucun problème avec la résistance 10K en ligne, il a été souligné dans les commentaires que les meilleures pratiques indiquent qu'un circuit diviseur de tension doit être utilisé ici. En plus de la résistance de 10K, une résistance de 15K doit être placée entre « écho » et « terre ».

Coupez les fils de la résistance à 0,5 pouces. La résistance va dans le fil « écho » de votre câble plat. Nous mettons une goutte de super glue sur la connexion pour l'aider à rester en place.

L'esquisse utilise la broche 13 pour le déclencheur et la broche 3 pour l'écho. Utilisez le groupe de broches 13 sur le contrôleur pour le «gnd», «vcc», «trig» dans cet ordre en partant du bord vers le centre. Vous devrez croiser quelques fils ici pour bien faire les choses. Le fil « écho » avec la résistance se branche dans la prise femelle de la broche 3.

Si vous souhaitez vérifier le capteur avant de passer à l'étape suivante, vous pouvez utiliser le premier croquis sur cette page https://arduino-info.wikispaces.com/UltraSonicDistance pour le tester. Vous aurez besoin de la batterie connectée. Vous pouvez voir la lecture de la distance sur le moniteur série. Assurez-vous de définir le 'trigger_pin' sur 13 et le 'echo_pin' sur 3 dans l'esquisse.

La meilleure façon d'installer le capteur dans la coque est d'orienter les broches vers le haut et les fils pliés et acheminés entre les « yeux » du capteur et la coque.

Étape 9: Programmation - Walk_Avoid_Turn Code

Mettre tous ensemble. Toutes les pièces sont assemblées. Nous sommes prêts à charger le code complet, à mettre le shell et à le regarder faire son travail.

Vous connaissez la routine. Téléchargez le fichier icbob_walk_avoid_turn.zip ci-dessous et décompressez-le dans votre répertoire Arduino. Ouvrez l'esquisse dans l'IDE Arduino. Trouvez la section de code suivante. Mettez les positions d'origine que vous avez enregistrées pour votre bot dans le croquis.

//définit les membres du tableau hm sur les positions d'origine de votre robot

// ils peuvent être trouvés en utilisant le sketch icbob_home_calibration const int hm[4] = {95, 95, 85, 90}; // tableau pour maintenir la position d'origine pour chaque servo RH, RA, LH, LA

Cette esquisse ajoute un deuxième tableau de mouvement et un deuxième ensemble de code de mouvement lent pour le mouvement « tournant ».

//transmettre les données du tableau

const int fwdmvct = 6; // Rendre ce nombre égal au nombre de lignes dans le tableau const int fwdmv[fwdmvct][4] = { {0, -40, 0, -20}, // avancer les trames {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0}, }; //tourner les données du tableau const int trnmvct = 5; //Rendre ce nombre égal au nombre de lignes dans le tableau const int trnmv[trnmvct][4] = { {-40, 0, -20, 0}, //turn move frames {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0}, };

Nous avons ajouté un code de détection d'obstacles par sonar ainsi qu'une instruction « if » « else » pour décider si nous allons tout droit ou si nous tournons.

Assemblage final et mise en service

Laissez la batterie débranchée et téléchargez le croquis. Débranchez le cordon de programmation. Assurez-vous que l'interrupteur d'alimentation du contrôleur est en position basse « on ». Faites glisser délicatement la coque sur la base avec le cordon d'alimentation USB passant par le trou supérieur. Mettez la batterie. Branchez-le. Votre ICBob devrait commencer à bouger et à tourner pour éviter les obstacles à moins de 7 pouces.

Étape 10: Conclusion

Nous espérons que vous aurez autant de plaisir à construire votre ICBob que nous en avons eu à construire le nôtre. Faites-nous savoir si vous avez des questions ou des commentaires. Si vous en construisez un, faites-le nous savoir ici ou sur Thingiverse.

Conseillé: