Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

MIA-1 open source geavanceerde handgemaakte humanoïde robot!

Componenten en benodigdheden

Arduino Mega 2560
× 1
LDX227 servomotor
× 8
UTSOURCE elektronische onderdelen
× 1

Apps en online services

Arduino IDE

Over dit project

Hallo allemaal, vandaag laat ik zien hoe ik de robot MIA-1 heb gemaakt, die niet alleen geavanceerd en uniek is, maar ook open source en kan worden gemaakt zonder 3D-printen! Ja, je snapt het, deze robot is volledig met de hand gemaakt. En open source betekent - u krijgt de codes en alle details gratis , ook jij kunt deze robot maken als je wilt.

Hier zien we alleen haar toespraak, maar er zijn nog veel meer dingen die ze kan doen!

Dit zijn de dingen die ze kan doen:

  • Kan naar je luisteren en tegen je praten
  • Kan je zien en herkennen met de camera van haar linkeroog
  • Kan beweging detecteren en een foto maken
  • Heeft een GUI met LCD-aanraakscherm om haar te bevelen
  • Toont afbeeldingen op haar lcd
  • Download afbeeldingen en shows op haar scherm
  • Kan dingen richten met een laserpointer aan haar rechterhand
  • Beweegt handen tijdens het praten
  • Staat op haar voeten zonder enige hulp van anderen
  • Ze kan ook buigen (bekijk de video)
  • En nog veel meer!

Benodigdheden:

Om deze robot te maken, heb ik alle dingen gebruikt die verkrijgbaar zijn in onze plaatselijke winkel.

Microcontrollers + computers (het brein):

  • Arduino Mega (voor het aansturen van de servomotoren)
  • Een volledige computer (je kunt Raspberry Pi gebruiken, maar in eerste instantie gebruik ik mijn laptop als haar brein)

Servomotoren:

MIA-1 heeft 13 vrijheidsgraden.

  • LDX227 tweeassige servomotoren 8x
  • MG996r / MG996 servomotoren 3x
  • Voor figers heb ik microservo sg90 gebruikt

Merk op dat ik een robotklauw heb toegevoegd en deze gebruikt een andere MG996r-servomotor.

En jumperdraden en etc

Visie:

Voor beeldverwerking, zoals het maken van foto's en het detecteren van gezichten enz. Ik heb een USB-camera . gebruikt .

Stap 1:Carrosserie- en motorlay-out

Het lichaam is gemaakt met behulp van PVC-plaat, verschillende stukken zijn bevestigd met Hot Glue en schroeven (zie foto). Ik heb de pvc-plaat gesneden met een snijmes (wees heel voorzichtig! knip in plaats daarvan niet in uw vingers!!). Op foto één en twee kun je de servo-lay-out zien. Toen ik een meisjesrobot aan het maken was, heb ik hem een ​​vrouwelijke lichaamsvorm en figuur gegeven.

De servoconnectoren zijn gemaakt van dunne pvc-platen omdat ze goed buigen.

Het hoofd is gemaakt met behulp van een ballon, blies lucht in de ballon (zie foto), voegde kleine natte stukjes papier toe en droogde het vervolgens. Na 8 lagen is het sterk en duurzaam geworden.

Kleur het dan gewoon wit (hele lichaam) met spuitverf.

Het bleek dat het ontwerp zo verbazingwekkend uitgebalanceerd is en dat ze (MIA-1) precies op twee voeten van haar staat!!

De weergave toevoegen:

Daarna gewoon wat schroeven en lijm gebruikt om het lcd-scherm op haar borst te monteren (laatste foto).

Stap 2:Schakelschema

Het schakelschema ziet er ingewikkeld uit, maar is het niet. Ik heb het circuit getekend als de motorlay-out op het lichaam, zodat je het gemakkelijker kunt begrijpen. Zorg ervoor dat de grond gemeenschappelijk is. De arduino haalt de stroom van de computer via de usb-kabel. Er is een laserdiode waarmee mia zich op dingen kan richten en die stroom krijgt van pin 13 (led-pin) van arduino.

Zoals je kunt zien, bevinden alle motoren en de Arduino zelf zich aan de achterkant van het lichaam. Ik heb ook alle kabels van achteren gelegd. Een verlengde USB-kabel gekocht zodat deze op de computer kan worden aangesloten.

Stap 3:De CODE

Zoals je weet heb ik een arduino mega gebruikt. De arduino mega stuurt de servomotoren aan, de motoren zijn voorgeprogrammeerd. Haal de motorcode hier vandaan. Let op de standaard servoposities, houd deze tijdens het bouwen van de robot aan. Voed gewoon de motoren met Arduino zonder het lichaam te maken en de servomotoren zullen de standaardpositie bereiken (standaardpositie hieronder)

/*default/standby positie van servo's*/
komor.write(4); #waist servo
left1.write(120);
rFinger.write(0);
servo1.write(55);

clawOpen();
rightStandBy();
leftStandBy();

headTilt.write(134);
headPan.write(90);

De motorbesturingscode bestaat uit meer dan 750 regels (wees voorzichtig tijdens het bewerken).

De belangrijkste verwerking wordt gedaan met behulp van een python3-script.

Python heeft een pySerial-bibliotheek die via serieel met de Arduino communiceert. Let op de 'COM-POORT'.

#Verbind met mia-motorbesturingskaart via seriële communicatie
probeer:
mia =serial.Serial("COM28", 9600)
behalve:
pass

Je moet deze bibliotheken ook pip installeren

"""importeer benodigde bibliotheken"""
#import requests #for making post/get-verzoeken
import pyttsx3 #offline text to speech
import speech_recognition as sr #Speech to tekst (vereist internet om te functioneren)
importtijd
uit willekeurige import randint #random integer picking-bibliotheek
import tkinter #tkinter gui-bibliotheek
uit tkinter import Tk, Button, Label, Tk #importeer noodzakelijke dingen
importeer seriële #seriële bibliotheek voor seriële communicatie via USB
van PIL importeer afbeelding #fro die afbeelding toont
import cv2 #Computer Vision-bibliotheek
import wikipedia #om gegevens op te halen rechtstreeks van wikipedia

Alles is eenvoudig met pip install. Voor opencv typ in de opdrachtprompt:

pip install opencv-contrib-python 

De GUI (Graphical User Interface) die u ziet, is ontwikkeld met tkinter. Voor deze en alle andere bibliotheken die u kunt installeren met dit commando:

pip install bibliotheeknaam 

dan wordt het geïnstalleerd.

Kijk ook of je een webcam gebruikt, de kans is groter dat de camera wordt aangeduid als 1

cap =cv2.VideoCapture(1) #camera 

En als je meer wilt weten over hoe deze robot daadwerkelijk terug praat, lees dan deze tutorials.

De code van MIA-1 is slechts een uitgebreide versie hiervan.

Vanaf het bevelen van de Arduino stuurt de computer een beet, de Arduino onderneemt acties op basis van de beten die hij ontvangt, dus het lijkt erop dat Mia's beweging en praten asynchroon is.

mia.write(b'p') #command to head up and down
count_down(3)
respond("Smile please", 100)

Ga nu naar de onderstaande link om de code te krijgen.

Download hier de code van MIA-1.

Stap 4:Kracht en afwerking

Ik heb de robot van stroom voorzien met een 7,4 V lipo-batterij. De LDX227-servo's hebben veel stroom nodig (maar zijn van goede kwaliteit), dus zorg ervoor dat ze op elk moment ten minste 7,3 V krijgen. Aan de andere kant zijn de MG996r-servomotoren goedkoop en kunnen ze gemakkelijk worden beschadigd, zorg ervoor dat ze niet meer dan 7,8V krijgen. Dus de hoogste voeding voor deze robot moet tussen 7,4 en 7,8 volt zijn.

Veel plezier met maken! Als je deze robot leuk vindt, zorg er dan voor dat je hem steunt door je op het kanaal te abonneren voor meer geweldige projecten.

Code

Download de volledige code gratis
ashraf-minhaj/MIA-1-Open-Source-Humanoid-Robothttps://github.com/ashraf-minhaj/MIA-1-Open-Source-Humanoid-Robot

Schema's

MIA-1-circuit
https://github.com/ashraf-minhaj/MIA-1-Open-Source-Humanoid-Robot

Productieproces

  1. Inleiding tot open source-terminologie
  2. Geavanceerde servomotoren transformeren 3D-metaalprinten
  3. Een projectlogboek voor FirePick Delta, de Open Source MicroFactory
  4. Artikel:Maak kennis met OAP — een open robotreferentieontwerpproject
  5. Intellisaurus – Dinosaur Robot Kit
  6. Open CV Robot
  7. Simple Pi Robot
  8. AT&T, Tech Mahindra werken samen aan nieuw open source AI-platform
  9. Softwarerisico's:Open source beveiligen in IoT
  10. Open source IoT-ontwikkeltools versus door leveranciers ondersteunde tools
  11. MassRobotics publiceert 's werelds eerste' open source autonome mobiele robot interoperabiliteitsnormen