Obsah:
- Krok 1: Potřebné součásti
- Krok 2: Stavba těla
- Krok 3: Zapojení a kódování
- Krok 4: Raspberry Pi a rozpoznávání obrazu
- Krok 5: LCD a reproduktor
- Krok 6: Poslední kroky
Video: NAIN 1.0 - základní humanoidní robot využívající Arduino: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Nain 1.0 bude mít v zásadě 5 odnímatelných modulů-
1) Rameno - které lze ovládat pomocí serva.
2) Kola - která lze ovládat stejnosměrnými motory.
3) Noha - Nain bude moci přepínat mezi kolečky nebo nohama pro pohyb.
4) Hlava - Jeho hlavu lze ovládat různými kývnutími.
5) Modul kamery- který může být propojen pro přístup k rozpoznávání tváře.
Spolu s tím bude NAIN schopen mluvit a komunikovat s uživateli a může vám ukázat čas pomocí vestavěných hodin. Bude mít bezdrátové ovládání pomocí Wi-fi /Bluetooth.
Krok 1: Potřebné součásti
- Servomotory -4
- Arduino Mega - 1
- Raspberry Pi - 1
- USB kamera -1
- Mluvčí -1
- Stejnosměrné motory -2
- L293D -1
- Sada baterií - 1
- Kola -2
- Kolečka - 2
Spolu s nimi budete potřebovat hliníkové čtvercové pásy k výrobě těla a šrouby a matice, aby je správně zapadly.
Krok 2: Stavba těla
Struktura těla bude vyrobena z lehkých hliníkových čtvercových tyčí, které pomohou při snadné montáži.
Nyní je sestavte, jak je znázorněno na obrázku, a také vyřízněte vhodné prostory pro připevnění servomotorů v ramenech.
Ve spodní části připevněte šestihrannou dřevěnou základnu.
Pod dřevěnou základnu připojte stejnosměrné motory a kola jako u jakéhokoli robota pro sledování linek.
Je zajímavé, že přidáte dvě pojezdová kola- jedno na přední a druhé na zadní část robota.
Krok 3: Zapojení a kódování
Chcete -li zapojit různé moduly, podívejte se na kódy připojené v této části.
Nejprve jsme testovali každý modul pomocí samostatných kódů a poté jsme je všechny spojili do jednoho a pomocí bluetooth modulu jsme ovládali pohyb kol a zbraní.
Krok 4: Raspberry Pi a rozpoznávání obrazu
Rozpoznávání obrazu se provádí pomocí USB kamery a Raspberry Pi.
K tomu budete muset na svůj Pi nainstalovat knihovnu OPEN CV.
Můžete to udělat odtud-https://github.com/jabelone/OpenCV-for-Pi
Poté budete muset provést rozpoznávání obrazu pomocí Haar Cascade.
Můžete to udělat zde -https://thecodacus.com/category/opencv/#. WvsNC4iFPDc
Po prostudování výše uvedeného odkazu a po něm jsem provedl některé změny v konečném kódu, který jsem použil a který vkládám níže -
GENERÁTOR DATASETU:
importcv2
cam = cv2. VideoCapture (0)
detector = cv2. CascadeClassifier ('Classifiers/face.xml')
i = 0
offset = 50
name = raw_input ('zadejte své ID')
zatímco pravda:
ret, im = cam.read ()
šedá = cv2.cvtColor (im, cv2. COLOR_BGR2GREY)
tváře = detector.detectMultiScale (šedá, scaleFactor = 1,2, minNeighbors = 5, minSize = (100, 100), vlajky = cv2. CASCADE_SCALE_IMAGE)
pro (x, y, w, h) v plochách:
i = i+1
cv2.imwrite ("dataSet/face."+name+'.'+str (i)+".jpg", šedý [y-offset: y+h+offset, x-offset: x+w+offset])
cv2.rektangle (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])
if cv2.waitKey (100) & 0xFF == ord ('q'):
přestávka
# break, pokud je číslo vzorku více než 20
elif (i> 20):
přestávka
cam.release ()
cv2.destroyAllWindows ()
Vytvoří datovou sadu vašich fotografií, která bude použita k autentizaci.
TRAINER:
importcv2, os
import numpy jako np
z obrázku importu PIL
rozpoznávání = 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) pro f v os.listdir (cesta)]
# obrázků bude obsahovat obrázky obličeje
obrázky =
# popisků bude obsahovat štítek, který je přiřazen k obrázku
štítky =
pro image_path v image_paths:
# Přečtěte si obrázek a převeďte jej ve stupních šedi
image_pil = Image.open (image_path).convert ('L')
# Převeďte formát obrázku na početné pole
image = np.array (image_pil, 'uint8')
# Získejte štítek obrázku
nbr = int (os.path.split (image_path) [-1].split (".") [1].replace ("face-", "")))
#nbr = int (''. join (str (ord (c)) for c in nbr))
tisk č
# Rozpoznejte tvář na obrázku
Faces = faceCascade.detectMultiScale (obrázek)
# Pokud je detekován obličej, připojte obličej k obrázkům a štítek ke štítkům
pro (x, y, w, h) v plochách:
images.append (obrázek [y: y + h, x: x + w])
labels.append (nbr)
cv2.imshow („Přidávání obličejů do sady přechodů…“, obrázek [y: y + h, x: x + w])
cv2.waitKey (10)
# vrátit seznam obrázků a seznam štítků
vrátit obrázky, štítky
images, labels = get_images_and_labels (cesta)
cv2.imshow ('test', obrázky [0])
cv2.waitKey (1)
rozpoznávání.train (obrázky, np.array (štítky))
rozpoznávač.save ('trenér/trenér.yml')
cv2.destroyAllWindows ()
DETEKTOR
importcv2
import numpy jako np
import os
c = 0
rozpoznávání = cv2.face.createLBPHFaceRecognizer ()
rozpoznávač.load ('trenér/trenér.yml')
cascadePath = "Klasifikátory/face.xml"
faceCascade = cv2. CascadeClassifier (cascadePath);
cam = cv2. VideoCapture (0)
fontface = cv2. FONT_HERSHEY_SIMPLEX
fontscale = 1
fontcolor = (255, 255, 255)
zatímco pravda:
ret, im = cam.read ()
šedá = cv2.cvtColor (im, cv2. COLOR_BGR2GREY)
Faces = faceCascade.detectMultiScale (šedá, 1,2, 5)
pro (x, y, w, h) v plochách:
cv2.rektangle (im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
Id = rozpoznávač.předvídat (šedá [y: y+h, x: x+w])
if (Id <70):
pokud (Id == 1):
Id = "Shashank"
elif (Id == 2):
pokud (c == 0):
Id = "Shivam"
c = c+1
os.system ("espeak 'Welcome Shivam Access Granted'")
jiný:
Id = "Shivam"
jiný:
Id = "Neznámý"
cv2.putText (im, str (Id), (x, y+h), font font, fontscale, fontcolor)
cv2.imshow ('im', im)
if cv2.waitKey (10) & 0xFF == ord ('q'):
přestávka
cam.release ()
cv2.destroyAllWindows ()
Krok 5: LCD a reproduktor
Také jsem použil I2C LED displej a reproduktor.
LED se ovládá přes Arduino Mega a její kód je uveden v konečném kódu.
Pro reproduktor je připojen k Raspberry Pi a používá eSpeak Utility.
Jeho referenci najdete zde-https://www.dexterindustries.com/howto/make-your-raspberry-pi-speak/
Krok 6: Poslední kroky
Shromážděte vše a připravte se na ránu.
Doporučuje:
Robot sledující člověka využívající Arduino Uno pod 20 $: 9 kroků
Robot pro sledování lidí pomocí Arduino Uno Pod 20 $: tak jsem tento robot vyrobil asi před rokem a miloval jsem ho, může vás sledovat kdekoli a všude. toto je nejlepší alternativa pro psa. je to stále se mnou až dosud. Mám také kanál YouTube, kde můžete vidět proces jeho vytváření ve vi
Humanoidní robot Otto DIY: 7 kroků (s obrázky)
Humanoidní robot Otto DIY: Dvounohý robot Otto nyní dostal ruce, aby vypadal podobně jako " člověk " a LED matice pro vyjádření emocí. 3D tisk sami a poté shromážděte součásti, které si můžete sami postavit. Otto je skutečně Opensource; to znamená, že hardware je snadno rozeznatelný, takže
BONES humanoidní robot: 11 kroků (s obrázky)
BONES the Humanoid Robot: Happy Halloween Everybody !!! Na oslavu letošního Halloweenu jsem si řekl, že by bylo skvělé postavit robota vhodného pro tuto příležitost. Tančící humanoidní kostra !!! Vždycky jsem chtěl navrhnout a postavit svého vlastního humanoidního robota, takže tohle byl
ASPIR: 3D-tištěný humanoidní robot v plné velikosti: 80 kroků (s obrázky)
ASPIR: Full-Size 3D-Printed Humanoid Robot: Autonomous Support and Positive Inspiration Robot (ASPIR) is a full-size, 4.3-ft open-source 3D-printed humanoid robot that anyone anyone can build with suitable drive and odhodlání. Rozdělili jsme tento masivní 80stupňový Instructable na 10 e
Humanoidní robot na bázi Arduina využívající servomotory: 7 kroků (s obrázky)
Humanoidní robot na bázi Arduina využívající servomotory: Ahoj všichni, toto je můj první humanoidní robot vyrobený z pěnového plechu z PVC. Je k dispozici v různých tloušťkách. Zde jsem použil 0,5 mm. Nyní tento robot může jen chodit, když jsem zapnul. Nyní pracuji na propojení Arduina a mobilu přes Bluetooth