Innehållsförteckning:
- Steg 1: Komponenter som behövs
- Steg 2: Kroppsstruktur
- Steg 3: Kabeldragning och kodning
- Steg 4: Raspberry Pi och bildigenkänning
- Steg 5: LCD och högtalare
- Steg 6: Slutsteg
Video: NAIN 1.0 - Basic Humanoid Robot med Arduino: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:37
Nain 1.0 kommer att ha i princip 5 löstagbara moduler-
1) Arm - som kan styras via servon.
2) Hjul - som kan styras med likströmsmotorer.
3) Ben - Nain kommer att kunna växla mellan hjul eller ben för rörelse.
4) Huvud - Huvudet kan styras för olika nick.
5) Kameramodul- som kan anslutas för ansiktsigenkänning.
Tillsammans med detta kommer NAIN att kunna tala och interagera med användare och kan visa dig tiden med sin inbyggda klocka. Den kommer att ha en trådlös kontroll med Wi-fi /Bluetooth.
Steg 1: Komponenter som behövs
- Servomotorer -4
- Arduino Mega - 1
- Hallon Pi - 1
- USB -kamera -1
- Högtalare -1
- DC -motorer -2
- L293D -1
- Batteri - 1
- Hjul -2
- Hjul - 2
Tillsammans med dessa behöver du fyrkantiga aluminiumremsor för att göra kroppen och skruvar och muttrar för att passa dem ordentligt.
Steg 2: Kroppsstruktur
Kroppsstrukturen kommer att vara tillverkad av lätta fyrkantiga stänger av aluminium som hjälper till att enkelt montera den.
Montera dem från och med nu som visas i figuren och klipp ut rätt utrymmen för att servomotorerna ska fästas i armarna.
Fäst en sexkantig träbotten längst ner.
Under träbasen, fäst likströmsmotorer och hjul som vi gör i alla linjeföljare -robotar.
Intressant nog, lägg till två hjul- ett på framsidan och ett på baksidan av roboten.
Steg 3: Kabeldragning och kodning
För att ansluta de olika modulerna, se koder som bifogas i denna del.
Först testade vi varje modul med hjälp av fristående koder och sedan kombinerade vi dem alla i ett och kontrollerade rörelsen av hjul och armar med en bluetooth -modul.
Steg 4: Raspberry Pi och bildigenkänning
Bildigenkänning utförs med en USB -kamera och Raspberry Pi.
För det måste du installera OPEN CV -biblioteket på din Pi.
Du kan göra det härifrån-https://github.com/jabelone/OpenCV-for-Pi
Då måste du utföra bildigenkänning med hjälp av haar cascade.
Du kan göra det härifrån -https://thecodacus.com/category/opencv/#. WvsNC4iFPDc
Efter att ha studerat ovanstående länk och följt det har jag gjort några ändringar i den slutliga koden jag har använt som jag klistrar in nedan -
DATASETGENERATOR:
importcv2
cam = cv2. VideoCapture (0)
detektor = cv2. CascadeClassifier ('Classifiers/face.xml')
jag = 0
förskjutning = 50
name = raw_input ('ange ditt id')
medan det är sant:
ret, im = cam.read ()
grå = cv2.cvtColor (im, cv2. COLOR_BGR2GRAY)
ansikten = detektor.detectMultiScale (grå, scaleFactor = 1,2, minNeighbors = 5, minSize = (100, 100), flaggor = cv2. CASCADE_SCALE_IMAGE)
för (x, y, w, h) i ansikten:
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])
om cv2.waitKey (100) & 0xFF == ord ('q'):
ha sönder
# paus om provnumret är mer än 20
elif (i> 20):
ha sönder
cam.release ()
cv2.destroyAllWindows ()
Det kommer att skapa en datauppsättning av dina foton som ska användas för autentisering.
TRÄNARE:
importcv2, os
importera numpy som np
från PIL importbild
identifierare = cv2.face.createLBPHFaceRecognizer ()
cascadePath = "Klassificerare/face.xml"
faceCascade = cv2. CascadeClassifier (cascadePath);
path = 'dataSet'
def get_images_and_labels (sökväg):
image_paths = [os.path.join (sökväg, f) för f i os.listdir (sökväg)]
# bilder innehåller ansiktsbilder
bilder =
# etiketter innehåller etiketten som tilldelats bilden
etiketter =
för image_path i image_paths:
# Läs bilden och konvertera till gråskala
image_pil = Image.open (image_path).convert ('L')
# Konvertera bildformatet till numpy array
bild = np.array (image_pil, 'uint8')
# Få etiketten på bilden
nbr = int (os.path.split (image_path) [-1].split (".") [1].replace ("face-", "")))
#nbr = int (''. join (str (ord (c)) för c i nbr))
skriva ut nbr
# Upptäck ansiktet i bilden
ansikten = faceCascade.detectMultiScale (bild)
# Om ansikte upptäcks, lägg ansiktet till bilder och etiketten på etiketter
för (x, y, w, h) i ansikten:
images.append (bild [y: y + h, x: x + w])
etiketter. lägg till (nbr)
cv2.imshow ("Lägga till ansikten i traningset …", bild [y: y + h, x: x + w])
cv2.waitKey (10)
# returnera bildlistan och etikettlistan
returnera bilder, etiketter
bilder, etiketter = get_images_and_labels (sökväg)
cv2.imshow ('test', bilder [0])
cv2.waitKey (1)
identifierare.train (bilder, np.array (etiketter))
identifierer.save ('trainer/trainer.yml')
cv2.destroyAllWindows ()
DETEKTOR
importcv2
importera numpy som np
importera os
c = 0
identifierare = cv2.face.createLBPHFaceRecognizer ()
identifierer.load ('trainer/trainer.yml')
cascadePath = "Klassificerare/face.xml"
faceCascade = cv2. CascadeClassifier (cascadePath);
cam = cv2. VideoCapture (0)
fontface = cv2. FONT_HERSHEY_SIMPLEX
fontscale = 1
fontcolor = (255, 255, 255)
medan det är sant:
ret, im = cam.read ()
grå = cv2.cvtColor (im, cv2. COLOR_BGR2GRAY)
ansikten = faceCascade.detectMultiScale (grå, 1,2, 5)
för (x, y, w, h) i ansikten:
cv2.rektangel (im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
Id = identifierare.predikt (grå [y: y+h, x: x+w])
om (Id <70):
om (Id == 1):
Id = "Shashank"
elif (Id == 2):
om (c == 0):
Id = "Shivam"
c = c+1
os.system ("espeak 'Welcome Shivam Access Granted'")
annan:
Id = "Shivam"
annan:
Id = "Okänd"
cv2.putText (im, str (Id), (x, y+h), fontface, fontscale, fontcolor)
cv2.imshow ('im', im)
om cv2.waitKey (10) & 0xFF == ord ('q'):
ha sönder
cam.release ()
cv2.destroyAllWindows ()
Steg 5: LCD och högtalare
Jag har också använt en I2C LED Display och en högtalare.
Lysdioden styrs via Arduino Mega och dess kod anges i den slutliga koden.
För högtalare är den ansluten till Raspberry Pi och använder eSpeak Utility.
Du hittar dess referens här-https://www.dexterindustries.com/howto/make-your-raspberry-pi-speak/
Steg 6: Slutsteg
Sätt ihop allt och gör dig redo för smällen.
Rekommenderad:
Otto DIY Humanoid Robot: 7 steg (med bilder)
Otto DIY Humanoid Robot: Otto bipedal robot fick nu armar för att likna en " Human " och en LED -matris för att uttrycka känslor. 3D -print själv och samla sedan delarna för att bygga själv.Otto är verkligen Opensource; det betyder att hårdvaran lätt kan urskiljas så
BONES Humanoid Robot: 11 steg (med bilder)
BONES the Humanoid Robot: Happy Halloween All !!! För att fira årets Halloween tänkte jag att det skulle vara en bra idé att bygga en robot som passar för tillfället. Ett dansande Humanoid -skelett !!! Jag har alltid velat designa och bygga min egen humanoida robot så det här var
Hur: 17 DOF Humanoid Robot: 7 steg (med bilder)
Så här gör du: 17 DOF Humanoid Robot: Att montera DIY robot-kit är en av mina favorithobbys. Du börjar med en låda full av komponenter organiserade i små plastpåsar och slutar med en monterad struktur och flera reservbultar! I den här självstudien presenterar jag hur du monterar ett kit med 17 degr
ASPIR: 3D-tryckt Humanoid-robot i full storlek: 80 steg (med bilder)
ASPIR: 3D-tryckt Humanoid-robot i full storlek: Autonomt stöd och positiv inspirationsrobot (ASPIR) är en fullstor, 4,3 fot öppen källkod med 3D-tryckt humanoid som alla kan bygga med tillräckligt med driv och beslutsamhet. har delat denna massiva 80-stegs instruktionsbara i 10 e
Arduino -baserad humanoid robot med servomotorer: 7 steg (med bilder)
Arduino -baserad humanoid robot med servomotorer: Hej alla, det här är min första humanoid robot, gjord av PVC -skumplåt. Den finns i olika tjocklekar. Här använde jag 0,5 mm. Nu kan denna robot bara gå när jag slog på. Nu arbetar jag med att ansluta Arduino och Mobile via Bluetooth