Obsah:
- Krok 1: Potrebné súčasti
- Krok 2: Stavba tela
- Krok 3: Zapojenie a kódovanie
- Krok 4: Raspberry Pi a rozpoznávanie obrázkov
- Krok 5: LCD a reproduktor
- Krok 6: Posledné kroky
Video: NAIN 1.0 - základný humanoidný robot využívajúci Arduino: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
Nain 1.0 bude mať v zásade 5 odnímateľných modulov-
1) Rameno - ktoré je možné ovládať pomocou serva.
2) Kolesá - ktoré je možné ovládať jednosmernými motormi.
3) Noha - Nain bude môcť prepínať medzi kolesami alebo nohami a pohybovať sa.
4) Hlava - Hlavu je možné ovládať rôznymi prikývnutiami.
5) Modul kamery- ktorý môže byť prepojený s prístupom k rozpoznaniu tváre.
Spolu s tým bude NAIN schopný hovoriť a komunikovať s používateľmi a môže vám ukazovať čas pomocou vstavaných hodín. Bude mať bezdrôtové ovládanie pomocou Wi-Fi /Bluetooth.
Krok 1: Potrebné súčasti
- Servomotory -4
- Arduino Mega - 1
- Raspberry Pi - 1
- USB kamera -1
- Reproduktor -1
- Jednosmerné motory -2
- L293D -1
- Batéria - 1
- Kolesá -2
- Kolieska - 2
Spolu s nimi budete potrebovať hliníkové štvorcové pásy na výrobu tela a skrutky a matice, aby ich správne zmestili.
Krok 2: Stavba tela
Konštrukcia tela bude vyrobená z ľahkých hliníkových štvorcových tyčí, ktoré pomôžu pri jednoduchej montáži.
Teraz ich zostavte, ako je znázornené na obrázku, a tiež vyrežte vhodné priestory na pripevnenie servomotorov k ramenám.
V spodnej časti pripevnite šesťhrannú drevenú základňu.
Pod drevenú základňu pripevnite jednosmerné motory a kolesá tak, ako to robíme v akomkoľvek robote sledovača.
Je zaujímavé, že pridajte dve kolieska- jedno vpredu a druhé na zadnej strane robota.
Krok 3: Zapojenie a kódovanie
Zapojenie rôznych modulov nájdete v kódoch pripojených v tejto časti.
Najprv sme testovali každý modul pomocou samostatných kódov a potom sme ich všetky skombinovali do jedného a pomocou bluetooth modulu sme ovládali pohyb kolies a zbraní.
Krok 4: Raspberry Pi a rozpoznávanie obrázkov
Rozpoznávanie obrazu sa vykonáva pomocou USB kamery a Raspberry Pi.
Na to budete musieť do svojho Pi nainštalovať knižnicu OPEN CV.
Môžete to urobiť odtiaľto-https://github.com/jabelone/OpenCV-for-Pi
Potom budete musieť vykonať rozpoznávanie obrazu pomocou Haar Cascade.
Môžete to urobiť tu -https://thecodacus.com/category/opencv/#. WvsNC4iFPDc
Po preštudovaní vyššie uvedeného odkazu a po ňom som urobil niekoľko zmien v konečnom kóde, ktorý som použil a ktorý vkladám nižšie -
GENERÁTOR DATASETU:
importcv2
cam = cv2. VideoCapture (0)
detector = cv2. CascadeClassifier ('Classifiers/face.xml')
i = 0
ofset = 50
name = raw_input ('zadajte svoje ID')
kým je pravda:
ret, im = cam.read ()
šedá = cv2.cvtColor (im, cv2. COLOR_BGR2GREY)
tváre = detector.detectMultiScale (sivá, scaleFactor = 1,2, minSusedia = 5, minSize = (100, 100), vlajky = cv2. CASCADE_SCALE_IMAGE)
pre (x, y, w, h) v tvárach:
i = i+1
cv2.imwrite ("sada údajov/tvár."+názov+'.'+str (i)+".jpg", sivý [y-offset: y+h+offset, x-offset: x+w+offset])
cv2. obdĺžnik (im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
cv2.imshow ('im', im [y-offset: y+h+offset, x-offset: x+w+offset])
ak cv2.waitKey (100) & 0xFF == ord ('q'):
prestávka
# break, ak je číslo vzorky viac ako 20
elif (i> 20):
prestávka
cam.release ()
cv2.destroyAllWindows ()
Vytvorí sa množina údajov vašich fotografií, ktorá sa použije na autentifikáciu.
TRÉNER:
importcv2, os
import numpy ako np
z obrázku importu PIL
rozpoznávač = cv2.face.createLBPHFaceRecognizer ()
cascadePath = "Klasifikátory/face.xml"
faceCascade = cv2. CascadeClassifier (cascadePath);
path = 'dataSet'
def get_images_and_labels (cesta):
image_paths = [os.path.join (cesta, f) pre f v os.listdir (cesta)]
# images bude obsahovať obrázky tváre
obrázky =
# štítky bude obsahovať štítok, ktorý je priradený k obrázku
štítky =
pre cestu_na_obrázok v_cestách_obrázkov:
# Prečítajte si obrázok a preveďte ho na stupne šedej
image_pil = Image.open (cesta_na_obrázok).convert ('L')
# Previesť formát obrázku na počet polí
image = np.array (image_pil, 'uint8')
# Získajte štítok obrázku
nbr = int (os.path.split (image_path) [-1].split (".") [1].replace ("face-", "")))
#nbr = int (''. join (str (ord (c)) for c in nbr))
tlač č
# Rozpoznajte tvár na obrázku
Faces = faceCascade.detectMultiScale (obrázok)
# Ak je rozpoznaná tvár, pripojte tvár k obrázkom a štítok k menovkám
pre (x, y, w, h) v tvárach:
images.append (obrázok [y: y + h, x: x + w])
labels.append (nbr)
cv2.imshow („Pridávanie tvárí do množiny prechodov…“, obrázok [y: y + h, x: x + w])
cv2.waitKey (10)
# vrátiť zoznam obrázkov a zoznam štítkov
vrátiť obrázky, štítky
images, labels = get_images_and_labels (cesta)
cv2.imshow ('test', obrázky [0])
cv2.waitKey (1)
rozpoznávač.train (obrázky, np.array (štítky))
recognitionnizer.save ('trainer/trainer.yml')
cv2.destroyAllWindows ()
DETEKTOR
importcv2
import numpy ako np
import os
c = 0
rozpoznávač = cv2.face.createLBPHFaceRecognizer ()
rozpoznávač.load ('trainer/trainer.yml')
cascadePath = "Klasifikátory/face.xml"
faceCascade = cv2. CascadeClassifier (cascadePath);
cam = cv2. VideoCapture (0)
fontface = cv2. FONT_HERSHEY_SIMPLEX
stupnica písma = 1
fontcolor = (255, 255, 255)
kým je pravda:
ret, im = cam.read ()
šedá = cv2.cvtColor (im, cv2. COLOR_BGR2GREY)
Faces = faceCascade.detectMultiScale (sivá, 1,2, 5)
pre (x, y, w, h) v tvárach:
cv2. obdĺžnik (im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
Id = recognitionnizer.predict (sivá [y: y+h, x: x+w])
ak (Id <70):
ak (Id == 1):
Id = "Shashank"
elif (Id == 2):
ak (c == 0):
Id = "Shivam"
c = c+1
os.system ("espeak 'Welcome Shivam Access Granted'")
inak:
Id = "Shivam"
inak:
Id = "Neznámy"
cv2.putText (im, str (Id), (x, y+h), písmo, škála písma, farba písma)
cv2.imshow ('im', im)
ak cv2.waitKey (10) & 0xFF == ord ('q'):
prestávka
cam.release ()
cv2.destroyAllWindows ()
Krok 5: LCD a reproduktor
Použil som tiež LED displej I2C a reproduktor.
LED dióda sa ovláda prostredníctvom Arduino Mega a jej kód je uvedený v konečnom kóde.
V prípade reproduktora je spojený s Raspberry Pi a používa eSpeak Utility.
Jeho referenciu nájdete tu-https://www.dexterindustries.com/howto/make-your-raspberry-pi-speak/
Krok 6: Posledné kroky
Zostavte všetko a pripravte sa na tresk.
Odporúča:
Humanoidný robot Otto DIY: 7 krokov (s obrázkami)
Humanoidný robot Otto DIY: Dvojnohý robot Otto teraz dostal ruky, aby vyzeral podobne ako „človek“a matica LED na vyjadrenie emócií. 3D tlač si urobte sami a potom zozbierajte diely, ktoré môžete postaviť sami. Otto je skutočne otvorený zdroj; znamená to, že hardvér je ľahko rozpoznateľný, takže
Bezdrôtový Bluetooth robot využívajúci Arduino a Bluetooth: 6 krokov
Bezdrôtový Bluetooth robot pomocou Arduina a Bluetooth: V tomto návode sa naučíme, ako vytvoriť bezdrôtového Bluetooth robota pomocou modulu Arduino a Bluetooth hc-05 a ovládať ho pomocou smartfónu
Mobilný robot Bluetooth využívajúci Arduino Uno a Android: 5 krokov
Mobilný robot Bluetooth využívajúci Arduino Uno a Android: Každý miluje mobilného robota :) Toto je súprava mobilného robota založená na programe Maker UNO (kompatibilná s Arduino UNO). Môžete sa naučiť elektroniku, senzory, mikrokontrolér a kódovanie naraz, aby ste nezabudli ani na zábavu! Súprava sa dodáva vo voľných častiach, takže
ASPIR: 3D tlačený humanoidný robot v plnej veľkosti: 80 krokov (s obrázkami)
ASPIR: Humanoidný robot s 3D tlačou v plnej veľkosti: Robot s autonómnou podporou a pozitívnou inšpiráciou (ASPIR) je humanoidný robot s 3D tlačou s otvoreným zdrojovým kódom a veľkosťou 4,3 stôp, ktorý môže ktokoľvek postaviť s dostatočným nasadením a odhodlaním. Tento masívny 80-stupňový inštruktážny program sme rozdelili na 10 e
Humanoidný robot na báze Arduino využívajúci servomotory: 7 krokov (s obrázkami)
Humanoidný robot na báze Arduino využívajúci servomotory: Ahoj všetci, toto je môj prvý humanoidný robot vyrobený z penovej fólie PVC. Je k dispozícii v rôznych hrúbkach. Tu som použil 0,5 mm. Teraz tento robot môže len chodiť, keď som zapol. Teraz pracujem na prepojení Arduina a mobilu cez Bluetooth