Innholdsfortegnelse:
- Trinn 1: Komponenter som trengs
- Trinn 2: Kroppsstruktur
- Trinn 3: Kabling og koding
- Trinn 4: Raspberry Pi og bildegjenkjenning
- Trinn 5: LCD og høyttaler
- Trinn 6: Siste trinn
Video: NAIN 1.0 - Basic Humanoid Robot Using Arduino: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Nain 1.0 vil ha i utgangspunktet 5 avtakbare moduler-
1) Arm - som kan styres via servoer.
2) Hjul - som kan styres med likestrømsmotorer.
3) Ben - Nain vil kunne veksle mellom hjul eller ben for bevegelse.
4) Hode - Hodet kan kontrolleres for forskjellige nikk.
5) Kameramodul- som kan grensesnitt for ansiktsgjenkjenningstilgang.
Sammen med dette vil NAIN kunne snakke og samhandle med brukere og kan vise deg tiden med den innebygde klokken. Den vil ha en trådløs kontroll ved hjelp av Wi-fi /Bluetooth.
Trinn 1: Komponenter som trengs
- Servomotorer -4
- Arduino Mega - 1
- Bringebær Pi - 1
- Usb -kamera -1
- Høyttaler -1
- DC -motorer -2
- L293D -1
- Batteripakke - 1
- Hjul -2
- Hjul - 2
Sammen med disse trenger du firkantede aluminiumslister for å lage kroppen og skruer og muttere for å passe dem riktig.
Trinn 2: Kroppsstruktur
Karosseristrukturen vil være laget av lette firkantede aluminiumsstenger i aluminium som hjelper deg med å montere den enkelt.
Monter dem nå som vist på figuren, og kutt ut riktige mellomrom for at servomotorene skal festes i armene.
Fest en sekskantet trebunn nederst.
Under trebasen fester du likestrømsmotorer og hjul som vi gjør i en hvilken som helst linjefølgerrobot.
Interessant nok, legg til to hjul- ett på forsiden og et annet på baksiden av roboten.
Trinn 3: Kabling og koding
For å koble til de forskjellige modulene, se kodene som er vedlagt i denne delen.
Først testet vi hver modul ved hjelp av frittstående koder, og deretter kombinerte vi dem alle i ett og kontrollerte bevegelsen av hjul og armer ved hjelp av en bluetooth -modul.
Trinn 4: Raspberry Pi og bildegjenkjenning
Bildegjenkjenning utføres ved hjelp av et USB -kamera og Raspberry Pi.
For det må du installere OPEN CV -biblioteket på Pi.
Du kan gjøre det herfra-https://github.com/jabelone/OpenCV-for-Pi
Da må du utføre bildegjenkjenning ved hjelp av haar cascade.
Du kan gjøre det herfra -https://thecodacus.com/category/opencv/#. WvsNC4iFPDc
Etter å ha studert lenken ovenfor og fulgt det, har jeg gjort noen endringer i den endelige koden jeg har brukt som jeg limer inn nedenfor -
DATASETGENERATOR:
importcv2
cam = cv2. VideoCapture (0)
detektor = cv2. CascadeClassifier ('Classifiers/face.xml')
jeg = 0
forskyvning = 50
name = raw_input ('skriv inn din ID')
mens det er sant:
ret, im = cam.read ()
grå = cv2.cvtColor (im, cv2. COLOR_BGR2GRAY)
ansikter = detektor.detectMultiScale (grå, scaleFactor = 1,2, minNeighbors = 5, minSize = (100, 100), flagg = cv2. CASCADE_SCALE_IMAGE)
for (x, y, w, h) i ansikter:
i = i+1
cv2.imwrite ("dataSet/face."+name+'.'+str (i)+".jpg", grå [y-offset: y+h+offset, x-offset: x+w+offset])
cv2.rektangel (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])
hvis cv2.waitKey (100) og 0xFF == ord ('q'):
gå i stykker
# pause hvis prøvetallet er mer enn 20
elif (i> 20):
gå i stykker
cam.release ()
cv2.destroyAllWindows ()
Det vil opprette et datasett for bildene dine som skal brukes til autentisering.
TRENER:
importcv2, os
importer numpy som np
fra PIL importbilde
gjenkjenner = cv2.face.createLBPHFaceRecognizer ()
cascadePath = "Klassifiserer/face.xml"
faceCascade = cv2. CascadeClassifier (cascadePath);
path = 'dataSet'
def get_images_and_labels (bane):
image_paths = [os.path.join (bane, f) for f i os.listdir (bane)]
# bilder inneholder ansiktsbilder
bilder =
# etiketter inneholder etiketten som er tilordnet bildet
etiketter =
for image_path i image_paths:
# Les bildet og konverter til gråtoner
image_pil = Image.open (image_path).convert ('L')
# Konverter bildeformatet til numpy array
image = np.array (image_pil, 'uint8')
# Få etiketten til bildet
nbr = int (os.path.split (image_path) [-1].split (".") [1].replace ("face-", "")))
#nbr = int (''. join (str (ord (c)) for c i nbr))
print nbr
# Finn ansiktet i bildet
ansikter = faceCascade.detectMultiScale (bilde)
# Hvis ansikt blir oppdaget, legg ansiktet til bilder og etiketten til etiketter
for (x, y, w, h) i ansikter:
images.append (bilde [y: y + h, x: x + w])
labels.append (nbr)
cv2.imshow ("Legger til ansikter i traningsett …", bilde [y: y + h, x: x + w])
cv2.waitKey (10)
# returner bildelisten og etikettlisten
returnere bilder, etiketter
bilder, etiketter = get_images_and_labels (bane)
cv2.imshow ('test', bilder [0])
cv2.waitKey (1)
anerkjenner.trening (bilder, np.array (etiketter))
anerkjenner.save ('trainer/trainer.yml')
cv2.destroyAllWindows ()
DETEKTOR
importcv2
importer numpy som np
import os
c = 0
gjenkjenner = cv2.face.createLBPHFaceRecognizer ()
anerkjenner.load ('trainer/trainer.yml')
cascadePath = "Klassifiserer/face.xml"
faceCascade = cv2. CascadeClassifier (cascadePath);
cam = cv2. VideoCapture (0)
fontface = cv2. FONT_HERSHEY_SIMPLEX
fontscale = 1
fontcolor = (255, 255, 255)
mens det er sant:
ret, im = cam.read ()
grå = cv2.cvtColor (im, cv2. COLOR_BGR2GRAY)
ansikter = faceCascade.detectMultiScale (grå, 1,2, 5)
for (x, y, w, h) i ansikter:
cv2.rektangel (im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
Id = gjenkjenner.predikt (grå [y: y+h, x: x+w])
hvis (Id <70):
hvis (Id == 1):
Id = "Shashank"
elif (Id == 2):
hvis (c == 0):
Id = "Shivam"
c = c+1
os.system ("espeak 'Welcome Shivam Access Granted'")
ellers:
Id = "Shivam"
ellers:
Id = "Ukjent"
cv2.putText (im, str (Id), (x, y+h), fontface, fontscale, fontcolor)
cv2.imshow ('im', im)
hvis cv2.waitKey (10) & 0xFF == ord ('q'):
gå i stykker
cam.release ()
cv2.destroyAllWindows ()
Trinn 5: LCD og høyttaler
Jeg har også brukt en I2C LED -skjerm og en høyttaler.
Lysdioden styres via Arduino Mega og koden er gitt i den endelige koden.
For høyttaler er den koblet til Raspberry Pi og bruker eSpeak Utility.
Du finner referansen her-https://www.dexterindustries.com/howto/make-your-raspberry-pi-speak/
Trinn 6: Siste trinn
Sett sammen alt og gjør deg klar for smellet.
Anbefalt:
Lag en kompatibel Humanoid -robot: 11 trinn
Lag en kompatibel Humanoid -robot: Oppdater & Side: 17.01.2021 Head, Face, Etc. - webcam addedTendons & Muskler - PTFE -tillegg Nerver og amp; Hudledende gummiresultater "Hva er det som er på bildet?" Det er en del av en robotkropp - spesielt en prototype
Hvordan lage en humanoid robot: 8 trinn
Hvordan lage en humanoid robot: Hei folkens! Jeg håper du allerede likte min tidligere instruerbare " Online Weather Station (NodeMCU) " og du er klar for en ny, Etter at SMARS modellroboten som vi monterte sist, handler dagens prosjekt også om robotlæring og
Otto DIY Humanoid Robot: 7 trinn (med bilder)
Otto DIY Humanoid Robot: Otto bipedal robot fikk nå armer til å ligne en "Human" og en LED -matrise for å uttrykke følelser. 3D -utskrift av deg selv og deretter samle delene for å bygge selv. Otto er virkelig Opensource; det betyr at maskinvaren er lett å se
MIA-1 åpen kildekode avansert håndlaget humanoid robot !: 4 trinn
MIA-1 Open Source Advanced Hand Made Humanoid Robot !: Hei alle sammen, i dag skal jeg vise hvordan jeg laget roboten MIA-1, som ikke bare er avansert og unik, men også åpen kildekode og kan lages uten 3D-utskrift! Ja, du har det, denne roboten er helt håndlaget. Og åpen kildekode betyr - du får
Arduino -basert humanoid robot ved bruk av servomotorer: 7 trinn (med bilder)
Arduino -basert humanoid robot ved bruk av servomotorer: Hei alle sammen, Dette er min første humanoide robot, laget av PVC -skumplate. Den er tilgjengelig i forskjellige tykkelser. Her brukte jeg 0,5 mm. For øyeblikket kan denne roboten gå når jeg slo PÅ. Nå jobber jeg med å koble Arduino og Mobile via Bluetooth