Table des matières:

Tinku : un robot personnel : 9 étapes (avec photos)
Tinku : un robot personnel : 9 étapes (avec photos)

Vidéo: Tinku : un robot personnel : 9 étapes (avec photos)

Vidéo: Tinku : un robot personnel : 9 étapes (avec photos)
Vidéo: Anthropologie politique "Solidarité et violence" 2016, Cours 3, La guerre rituelle 2024, Juillet
Anonim
Tinku: un robot personnel
Tinku: un robot personnel

Par sw4pSuivez plus par l'auteur:

Surface immatérielle
Surface immatérielle
Surface immatérielle
Surface immatérielle
Instructable supprimé
Instructable supprimé
Instructable supprimé
Instructable supprimé
Piano en carton
Piano en carton
Piano en carton
Piano en carton

Bonjour, Tinku n'est pas qu'un robot; c'est un robot personnel. C'est un tout-en-un. Il peut voir (vision par ordinateur), écouter (traitement de la parole), parler et réagir à la situation. Il peut exprimer des émotions, et la liste des choses qu'il peut faire est longue. je lui ai donné un nom; Je l'appelle Tinku.

Une brève introduction de ce qu'il peut faire est

  1. Vision par ordinateur

    • Détection facial
    • Suivi du visage
    • Prendre des photos et enregistrer une vidéo
    • Reconnaître les marqueurs ArUco
  2. Traitement de la parole

    • Traitement de la parole hors ligne (détection de mots clés)
    • Il peut comprendre ce que vous dites en détectant les mots clés.
  3. Exprimez vos émotions

    • Il bouge sa tête pour les communications non verbales et pour exprimer des sentiments.
    • Il affiche des images et des gifs sur son écran pour soutenir le sentiment actuel.
  4. Se déplacer

    Il peut se déplacer à l'aide de ses roues et identifier les lieux à l'aide de marqueurs ArUco

  5. Évitement d'obstacle

    Il est doté de capteurs sonar, il est donc toujours conscient de son environnement et peut éviter les obstacles

Il peut faire beaucoup plus de choses. Vous pouvez également implémenter les nouvelles fonctionnalités que vous souhaitez.

Assez parlé, faisons.

EDIT: Le corps de Tinku a commencé à craquer, j'ai donc dû le reconcevoir complètement. Voici les nouvelles images, complètement fraîches et meilleures Tinku. Je suis désolé, je n'ai pas les images des étapes de refonte de Tinku.

Étape 1: choses dont vous aurez besoin

Choses dont vous aurez besoin
Choses dont vous aurez besoin
Choses dont vous aurez besoin
Choses dont vous aurez besoin
Choses dont vous aurez besoin
Choses dont vous aurez besoin
Choses dont vous aurez besoin
Choses dont vous aurez besoin

Corps de robot

  1. Feuille acrylique
  2. panneau MDF
  3. Petites pinces en L
  4. Pack écrou et vis

Servos, moteurs et roues

  1. Dynamixel AX-12A (3 pièces)
  2. Jeu de boulons et écrous bioloid
  3. Moteurs (2 pièces)
  4. Pistes (2 paquets)
  5. Roues de piste (4 pièces)
  6. Colliers en L pour moteurs (2 pièces)
  7. Collier en L pour arbre de roue factice (2 pièces)
  8. Arbre de roue factice (2 pièces)
  9. Cadre Bioloid F8
  10. Cadre Bioloid F3 (2 pièces)
  11. Cadre Bioloid F2
  12. Cadre Bioloid F10

Électronique

  1. Arduino
  2. Raspberry Pi ou Udoo Quad
  3. Conducteur de moteur
  4. Logitech webcam-c270 (il a un micro intégré)
  5. Capteurs de distance à ultrasons (6 pièces)
  6. Batterie Lipo (3300 Mah 3S)
  7. Régulateur de tension élévateur (DC-DC)
  8. Régulateur de tension abaisseur (DC-DC)
  9. Écran tactile (7 pouces)
  10. Hub USB (uniquement si vous utilisez Udoo Quad car il n'a que 2 ports USB)
  11. IC inverseur hexagonal 7404
  12. CI 74HC244
  13. Base IC 14 broches
  14. Base IC 20 broches

Connecteurs et câbles

  1. Connecteur de batterie mâle en T
  2. Câble HDMI flexible (uniquement si votre écran a un connecteur HDMI)
  3. Câble micro-USB
  4. Câble relimate à trois broches femelle-femelle (6 pièces)
  5. Prise d'alimentation mâle DC baril (2 pièces)
  6. Connecteurs servo Dynamixel (3 pièces)
  7. Câble USB A vers B (uniquement s'il n'est pas fourni avec Arduino)
  8. Fils de cavalier
  9. Fils de planche à pain
  10. Lanières de Burg

Pour faire des PCB

  1. Stratifié plaqué cuivre
  2. Graveur de PCB (Fecl3)
  3. PCB perforé
  4. foret de 1 mm

Divers

  1. La colle
  2. Tubes dissipateurs
  3. impasses

Remarque: ici, j'utilise la carte Udoo car elle a une meilleure vitesse de calcul que mon raspberry pi 2. J'utilise un Arduino externe plutôt que l'Arduino intégré de la carte Udoo car tous mes capteurs et modules sont compatibles 5v, et l'Arduino en La carte Udoo est compatible 3v.

Étape 2: Corps du robot

Corps du robot
Corps du robot
Corps du robot
Corps du robot
Corps du robot
Corps du robot
Corps du robot
Corps du robot

Pour préparer le corps du robot, j'ai utilisé la feuille acrylique et je l'ai coupée à la taille spécifiée pour faire une structure en forme de boîte. J'ai mentionné la dimension de chaque côté du corps dans l'image.

  1. Coupez la feuille acrylique selon la taille spécifiée.
  2. Percez des trous à des endroits spécifiques pour monter les moteurs, les capteurs, les entretoises et pour joindre chaque plaque ensemble.
  3. Percez un trou plus grand dans la plaque de base et la plaque supérieure pour faire passer les câbles.
  4. Faites une petite encoche sur la partie inférieure des panneaux avant et arrière pour que les fils provenant du capteur à ultrasons puissent passer.

Il est temps de préparer et de monter les moteurs et les chenilles.

  1. Soudez des fils supplémentaires aux broches du moteur afin que le fil puisse atteindre les pilotes du moteur.
  2. Montez les pinces du moteur et les pinces de l'arbre de roue factice sur la plaque de base du robot.
  3. Connectez les moteurs et l'arbre de roue factice aux pinces, puis connectez les roues.
  4. Assemblez les pistes et faites une boucle.
  5. Piste de sangle sur les roues. Gardez à l'esprit que la piste ne se relâche pas et qu'elle est suffisamment tendue.

Maintenant, joignez le panneau avant, arrière et latéral sur le panneau de base à l'aide de petites pinces en L. Ne montez pas le panneau supérieur et un panneau latéral afin que nous ayons suffisamment de place pour monter l'électronique sur le robot.

Étape 3: Tête et visage du robot

Image
Image
Tête et visage du robot
Tête et visage du robot
Tête et visage du robot
Tête et visage du robot
Tête et visage du robot
Tête et visage du robot

Nous avons déjà donné un corps et des roues à notre robot. Il est maintenant temps de lui donner une tête, un cou et un visage.

Cou:

La partie la plus compliquée de la tête du robot est le cou. Nous allons donc le préparer en premier. Les servos Dynamixel sont un peu déroutants à utiliser, mais ils sont fiables et durables. Il existe des tonnes de pinces de montage disponibles pour que vous puissiez les connecter ensemble de n'importe quelle manière.

Regardez cette vidéo pour une meilleure explication sur la façon de connecter les servos dynamixel ensemble.

  1. Insérez des écrous dans les servos dynamixel pour les monter avec des cadres.
  2. Placez le cadre bioloid F8 au centre du panneau supérieur et marquez les trous de perçage et percez-les.
  3. Fixez le cadre bioloid F8 à l'un des servos, puis montez le cadre bioloid F8 sur le panneau supérieur.
  4. Assemblez chaque servo en utilisant différents cadres et préparez le manche.
  5. Connectez les servos les uns aux autres à l'aide de connecteurs de servo dynamixel à trois broches.

Oeil et oreille:

J'utilise la webcam-c270 de Logitech comme œil pour mon robot. C'est un bon appareil photo qui peut prendre des photos et enregistrer des vidéos en 720p. Il a également un microphone intégré, il devient donc aussi une oreille pour mon robot. Après un long remue-méninges, j'ai découvert que le meilleur endroit pour monter la caméra est en haut de l'écran. Mais pour monter la caméra, j'ai besoin d'un support de caméra. Alors faisons-en un.

  1. Retirez les pièces métalliques de la webcam qui sont fournies pour lui donner un peu de poids.
  2. Coupez deux morceaux du panneau MDF, un carré et un triangulaire avec les dimensions indiquées dans l'image.
  3. Percez un trou dans la base de la webcam et sur la pièce carrée en MDF. Faites une encoche sur la pièce carrée pour y insérer le fil de la webcam.
  4. Collez les morceaux de MDF ensemble pour former un T. Le support de caméra est prêt.
  5. Avant de fixer le support de caméra et la caméra ensemble, préparez d'abord la tête.

Diriger:

La tête du robot est connectée aux servos. Il doit être le plus léger possible pour que la tête n'applique pas beaucoup de charge sur les servos. Par conséquent, j'ai utilisé le panneau MDF à la place de la feuille acrylique.

  1. Coupez un morceau de panneau MDF aux dimensions (18 cm x 13 cm) et percez des trous pour monter l'écran.
  2. Placez le cadre bioloid F10 au centre du panneau MDF et marquez les trous de perçage et percez-les.
  3. Placez le cadre bioloid F10 et le cadre bioloid F2 de chaque côté du panneau MDF et assemblez-les à l'aide d'un écrou et d'une vis.
  4. Collez maintenant le support de caméra à l'arrière de la planche.
  5. Rejoignez le cadre bioloid F2 avec la fin de la configuration servo.
  6. Montez l'écran sur le panneau MDF à l'aide d'entretoises.
  7. Fixez la webcam sur le support de caméra.

Maintenant, notre tête et notre visage du robot sont terminés.

Étape 4: PCB personnalisés

PCB personnalisés
PCB personnalisés
PCB personnalisés
PCB personnalisés
PCB personnalisés
PCB personnalisés

Il est maintenant temps de dissoudre du fecl3 et de graver des PCB.

Pourquoi j'ai fait des PCB personnalisés ?

  • Je n'ai pas de servocontrôleur dynamixel, je dois donc en créer un.
  • Je dois connecter beaucoup de capteurs à l'Arduino de manière plus propre, j'ai donc fait un blindage pour Arduino.

Faisons.

  1. Téléchargez les fichiers PCB et imprimez-les sur le stratifié recouvert de cuivre.
  2. Graver le stratifié plaqué de cuivre à l'aide de fecl3
  3. Percez des trous de 1 mm pour le montage des circuits intégrés et de la bande anti-effraction.
  4. Pour que les en-têtes d'empilage du blindage glissent vers le bas des bouchons en plastique de la bande de protection vers l'extrémité des broches.
  5. Soudez les bases IC et la bande burg sur les PCB.
  6. J'ai fourni les schémas à titre de référence.

Remarque - Utilisez le logiciel Express PCB pour ouvrir le.pcb et le logiciel Express SCH pour ouvrir le fichier.sch.

Étape 5: Alimentation

Source de courant
Source de courant
Source de courant
Source de courant

Le maintien d'une puissance constante sur les différents modules électroniques et moteurs du robot est très nécessaire. Si la puissance tombe en dessous de la valeur limite dans un module, cela provoquera un problème et il est très difficile d'en identifier la raison.

La principale source d'énergie de ce robot est une batterie Lipo 3S 2200mAh. Cette batterie a trois cellules et la tension de sortie est de 11,1 volts. La carte Udoo a besoin d'une alimentation 12v et la carte Arduino a besoin d'une alimentation 5v. J'ai donc choisi d'utiliser deux régulateurs de tension, l'un est élévateur et l'autre est abaisseur. L'un maintiendra l'alimentation en courant de tous les modules 12v, et l'autre maintiendra l'alimentation en courant pour tous les modules 5v.

L'image contient des schémas dessinés à la main.

  • Soudez les régulateurs de tension sur les cartes PCB perforées.
  • Soudez le connecteur de batterie mâle en T à l'entrée des deux régulateurs de tension.
  • Connectez la sortie 'Ground' des deux régulateurs.
  • Connectez les prises cylindriques CC à chacune des sorties du régulateur. Gardez la longueur des fils suffisante pour qu'ils puissent atteindre la carte Udoo/Raspberry Pi et Arduino.
  • Soudez la bande de burg à chacune des sorties du régulateur comme puissance de sortie supplémentaire au cas où nous en aurions besoin lors d'une future modification.
  • Avant de connecter l'alimentation à l'un des modules électroniques, calibrez la sortie de chaque régulateur à l'aide du potentiomètre de réglage fourni à exactement 12v et 5v.

Étape 6: Assemblage final

L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final

Il est temps maintenant. Après tant d'étapes, il est temps d'assembler chaque module ensemble. Excité? Et bien je le suis.

  • Coupez un morceau rectangulaire du panneau MDF avec dimension (30 cm x 25 cm). Cette carte est la base pour le montage des modules électroniques. Je ne veux pas percer beaucoup de trous dans la plaque acrylique de base, j'utilise donc du panneau MDF. Cela aide également à cacher les fils en dessous pour donner à notre robot un aspect soigné et propre.
  • Placez les modules sur le panneau MDF et marquez les trous de montage et percez-les. Faites des trous supplémentaires pour faire passer les fils sous le panneau MDF.
  • J'ai attribué des numéros à certains trous, il devient donc facile pour moi de les référencer et pour vous de comprendre les schémas de câblage.

Source de courant:

  • Montez le module d'alimentation sur la carte et passez la prise 12v et 5v à travers le trou numéro 1 et retirez la prise 12v à travers le trou numéro 2 et retirez la prise 5v à travers le trou numéro 3.
  • J'ai laissé la batterie desserrée pour l'instant car je dois parfois la retirer et la charger.

Pilote de moteur:

  • Retirez les fils connectés aux moteurs à travers le trou numéro 4 et connectez-les à la carte de commande du moteur.
  • Les moteurs ont besoin de l'alimentation 12v pour fonctionner correctement, connectez donc les broches 12v et GND du pilote à la sortie du régulateur de tension 12v.
  • Connectez les broches du pilote de moteur à Arduino selon le code.

Arduino:

  • Avant de monter l'Arduino, faites passer les fils des trois capteurs à ultrasons à travers le panneau arrière et faites passer les fils des trois capteurs à ultrasons restants à travers le panneau avant et retirez-les par le trou numéro 3.
  • Montez l'Arduino et fixez le blindage du capteur dessus.
  • J'ai numéroté tous les fils du capteur à ultrasons afin qu'il soit facile à déboguer en cas de bogue. Connectez les broches du capteur au blindage en commençant par les numéros 1 à 6 consécutivement.
  • Connectez la prise d'alimentation 5v à l'Arduino.

Servocontrôleur Dynamixel:

  • Montez le servocontrôleur dynamixel sur la carte.
  • Connectez les broches 12v et GND du servocontrôleur à la sortie du régulateur de tension 12v.
  • Connectez les broches 5v et GND du servocontrôleur à la sortie du régulateur de tension 5v.
  • Connectez les broches du servo-contrôleur et Arduino selon le code.
  • Laissez la broche de sortie du servo débranchée pour le moment. Branchez-le après avoir monté le panneau supérieur du robot.

Udoo / Raspberry Pi:

Remarque: Avant de suivre les étapes ci-dessous, assurez-vous d'avoir déjà installé le système d'exploitation sur la carte MicroSD et de l'avoir placé dans la carte Udoo / Raspberry Pi. Sinon, suivez les liens pour installer Raspbian sur Raspberry Pi ou Udoobuntu sur la carte Udoo.

  • Montez l'Udoo / Raspberry Pi sur la carte et connectez-y la prise d'alimentation.
  • Si vous utilisez Udoo, connectez le concentrateur USB à l'une de ses prises USB.
  • Connectez-y le câble HDMI et le câble micro USB. Ces broches sont utilisées pour fournir des données et de l'alimentation à l'écran.
  • Connectez l'Arduino à Udoo / Raspberry Pi à l'aide d'un câble USB A vers B.

Panneau du haut:

  • Fixez le panneau supérieur aux panneaux latéraux, avant et arrière du robot à l'aide de pinces en L.
  • Connectez le câble HDMI, le câble micro USB à l'écran et la webcam à la carte Udoo / Raspberry Pi.
  • Connectez le connecteur servo à trois broches provenant du servo dynamixel de base avec le servocontrôleur. Veuillez faire attention à quelle broche est DATA, GND et +12v. Référez-vous aux images dans la section « Tête et visage du robot » pour une meilleure référence. Si vous connectez les fils dans l'ordre inverse, cela peut endommager les servos.

Capteurs de distance à ultrasons:

La dernière pièce du puzzle. Après cela, notre assemblée est presque terminée.

  • Coupez six morceaux rectangulaires du panneau MDF/feuille acrylique avec la dimension (6 cm x 5 cm).
  • Percez-les aux endroits requis.
  • Fixez les capteurs à ultrasons à chacune des cartes et fixez toutes les cartes avec le panneau de base du robot.
  • Connectez les capteurs avec des connecteurs.

Enfin, c'est fait. Connectez la batterie et démarrez l'Udoo/Raspberry Pi

Étape 7: Logiciel

Le matériel est complet, mais sans logiciel, ce robot n'est qu'une boîte. La liste des logiciels dont nous avons besoin est

  • TightVNC
  • Python
  • OpenCV
  • Bonhomme de neige
  • Quelques paquets python

    • Pyautogui
    • numpy
    • pysériel
    • pyaudio

TightVNC:

TightVNC est un logiciel de contrôle à distance gratuit. Avec TightVNC, vous pouvez voir le bureau d'une machine distante et le contrôler avec votre souris et votre clavier locaux, comme vous le feriez assis devant cet ordinateur.

Si vous avez un clavier et une souris supplémentaires, c'est bien. Sinon, installez TightVNC sur votre ordinateur portable et suivez ces étapes.

Pour la première fois, connectez le clavier et la souris à l'Udoo / Raspberry Pi. Connectez-vous à un réseau wifi. Ouvrez le Terminal et tapez

$ ifconfig

  • Notez l'adresse IP du robot.
  • Ouvrez TightVNC sur votre ordinateur portable. Entrez l'adresse IP dans le champ requis et appuyez sur Entrée. Voila ! Vous êtes connecté maintenant. Utilisez le pavé tactile et le clavier de votre ordinateur portable pour accéder au robot.

Python:

Python est un langage très populaire et polyvalent, c'est pourquoi je l'utilise comme langage de programmation principal pour ce robot.

Ici, j'utilise python 2.7, mais si vous le souhaitez, vous pouvez également utiliser python 3. Heureusement, Python est préinstallé dans les systèmes d'exploitation Udoobuntu et Raspbian. Nous n'avons donc pas besoin de l'installer.

OpenCV:

OpenCV est une bibliothèque open source principalement destinée à la vision par ordinateur en temps réel. OpenCV avec Python est très facile à utiliser. L'installation d'OpenCV est un peu lourde, mais il existe de nombreux guides très faciles à suivre. Mon préféré est celui-ci. Ce guide est pour Raspberry Pi, mais vous pouvez également l'utiliser pour la carte Udoo.

Snowboy:

Snowboy est une bibliothèque écrite par les gars de Kitt.ai, principalement destinée au traitement de la parole hors ligne/détection de mots clés. Il est très facile à utiliser. Suivez ce lien pour installer snowboy sur le Raspberry Pi. Si vous utilisez la carte Udoo, accédez à ce projet, écrit par mepour installer snowboy dans Udoo.

Paquets Python:

Suivez ces guides faciles à utiliser pour installer certains packages python.

  1. Pyautogui - Pyautogui est un package pour simuler les frappes d'un clavier ou le mouvement de la souris.
  2. Numpy - tapez "pip install numpy" dans le shell Linux et appuyez sur Entrée. C'est aussi simple que cela.
  3. Pyserial - Pyserial est un package destiné à la communication série via python. Nous allons l'utiliser pour communiquer avec l'Arduino.

Étape 8: Coder

La partie hardware est terminée. La partie logicielle est terminée. Il est maintenant temps de donner une âme à ce robot.

Codez.

Le code de ce robot est quelque peu compliqué, et j'y ajoute actuellement plus de fonctionnalités. Par conséquent, j'ai hébergé les codes dans mon référentiel Github. Vous pouvez le vérifier et cloner/télécharger des codes à partir de là.

Maintenant, ce n'est plus seulement un robot; c'est Tinku maintenant.

Étape 9: Démo

Image
Image

Démo. ouais!!

Ce sont quelques-unes des démos de base. Il y en a beaucoup plus intéressants à venir.

Restez à l'écoute pour plus de mises à jour et si vous avez le moindre doute, n'hésitez pas à commenter.

Merci d'avoir lu mon projet. Tu es incroyable.

Si vous aimez ce projet, veuillez le voter au concours Microcontrôleur et robotique

Bonne création;-)

Conseillé: