Sadržaj:

Tinku: lični robot: 9 koraka (sa slikama)
Tinku: lični robot: 9 koraka (sa slikama)

Video: Tinku: lični robot: 9 koraka (sa slikama)

Video: Tinku: lični robot: 9 koraka (sa slikama)
Video: ПАРНЯ Ксюши ПОДМЕНИЛИ на ПУГОВИЧНОГО ПАРНЯ! Пуговичный мир существует! 2024, Juli
Anonim
Tinku: lični robot
Tinku: lični robot

Od sw4pFollow Više od autora:

Nematerijalna površina
Nematerijalna površina
Nematerijalna površina
Nematerijalna površina
Izbrisano Instructable
Izbrisano Instructable
Izbrisano Instructable
Izbrisano Instructable
Kartonski klavir
Kartonski klavir
Kartonski klavir
Kartonski klavir

Zdravo, Tinku nije samo robot; to je lični robot. To je sve u jednom pakovanju. Može vidjeti (kompjuterski vid), slušati (obrada govora), govoriti i reagirati na situaciju. Može izraziti emocije, a lista stvari koje može učiniti se nastavlja. Dao sam mu ime; Ja to zovem Tinku.

Kratak uvod o tome šta može učiniti

  1. Computer Vision

    • Prepoznavanje lica
    • Praćenje lica
    • Snimite fotografije i snimite video zapis
    • Prepoznajte ArUco markere
  2. Obrada govora
    • Obrada govora van mreže (otkrivanje vrućih riječi)
    • Može razumjeti šta govorite otkrivajući Hotwords.
  3. Izrazite emocije

    • Pokreće glavu za neverbalnu komunikaciju i izražavanje osjećaja.
    • Prikazuje slike i gifove na ekranu kako bi podržao trenutna osjećanja.
  4. Kretanje

    Može trčati uokolo koristeći svoje kotače i identificirati mjesta pomoću ArUco markera

  5. Izbjegavanje prepreka

    Ima sonarne senzore pa je uvijek svjestan svog okruženja i može izbjeći prepreke

Može učiniti mnogo više stvari. Također možete implementirati koje nove funkcionalnosti želite.

Dosta priče.

EDIT: Tinkuovo tijelo je počelo pucati pa sam ga morao potpuno redizajnirati. Evo novih slika, potpuno svježi i bolji Tinku. Žao mi je, nemam slike koraka redizajniranja Tinkua.

Korak 1: Stvari koje će vam trebati

Stvari koje će vam trebati
Stvari koje će vam trebati
Stvari koje će vam trebati
Stvari koje će vam trebati
Stvari koje će vam trebati
Stvari koje će vam trebati
Stvari koje će vam trebati
Stvari koje će vam trebati

Robotovo telo

  1. Akrilni lim
  2. MDF ploča
  3. Male L stezaljke
  4. Pakiranje matice i vijka

Servomotori, motori i kotači

  1. Dynamixel AX-12A (3 komada)
  2. Set bioloidnih vijaka i matica
  3. Motori (2 komada)
  4. Gusjenice (2 pakovanja)
  5. Gusjenice (4 komada)
  6. L stezaljke za motore (2 komada)
  7. L stezaljka za lažnu osovinu kotača (2 komada)
  8. Lažna osovina kotača (2 komada)
  9. Bioloidni okvir F8
  10. Bioloidni okvir F3 (2 komada)
  11. Bioloidni okvir F2
  12. Bioloidni okvir F10

Elektronika

  1. Arduino
  2. Raspberry Pi ili Udoo Quad
  3. Vozač motora
  4. Logitech web kamera-c270 (ima ugrađen mikrofon)
  5. Ultrazvučni senzori udaljenosti (6 komada)
  6. Lipo baterija (3300 Mah 3S)
  7. Regulator pojačanog napona (DC-DC)
  8. Regulator napona (DC-DC)
  9. Ekran osetljiv na dodir (7 inča)
  10. USB čvorište (samo ako koristite Udoo Quad jer ima samo 2 USB priključka)
  11. 7404 Inbus pretvarač IC
  12. 74HC244 IC
  13. 14 -polna IC baza
  14. 20 -polna IC baza

Priključci i kabeli

  1. Konektor muške baterije za T-utikač
  2. Fleksibilni HDMI kabel (samo ako vaš ekran ima HDMI priključak)
  3. Mikro USB kabl
  4. Tri igle žensko-ženski klima-kabel (6 komada)
  5. Muški utikač DC cijevi (2 komada)
  6. Dynamixel servo konektori (3 komada)
  7. USB kabel od A do B (samo ako nije isporučen s Arduinom)
  8. Žice za kratkospojnike
  9. Žice za platformu
  10. Burg trake

Za izradu PCB -a

  1. Laminat obložen bakrom
  2. Bacač PCB -a (Fecl3)
  3. Perforirani PCB
  4. Burgija od 1 mm

Ostalo

  1. Ljepilo
  2. Hladnjaci
  3. Standoffs

Napomena: Ovdje koristim Udoo ploču jer ima bolju računalnu brzinu od moje maline pi 2. Koristim vanjski Arduino, a ne ugrađeni Arduino Udoo ploče jer su svi moji senzori i moduli kompatibilni sa 5V, a Arduino u Udoo ploča je kompatibilna sa 3V.

Korak 2: Tijelo robota

Telo robota
Telo robota
Telo robota
Telo robota
Telo robota
Telo robota
Telo robota
Telo robota

Za pripremu tijela robota upotrijebio sam akrilni lim i izrezao ga u određenoj veličini kako bih napravio strukturu poput kutije. Spomenuo sam dimenzije svake strane tijela na slici.

  1. Izrežite akrilni lim prema navedenoj veličini.
  2. Izbušite rupe na određenim mjestima za montiranje motora, senzora, rastojanja i za spajanje svake ploče.
  3. Izbušite veću rupu u osnovnoj ploči i gornjoj ploči za prolaz kabela.
  4. Napravite mali zarez na donjoj strani prednje i stražnje ploče kako bi žice koje dolaze od ultrazvučnog senzora mogle proći.

Vrijeme je za pripremu i montažu motora i gusjenica.

  1. Lemite dodatne žice na iglice motora tako da žica može doprijeti do pokretača motora.
  2. Montirajte stezaljke motora i spone lažnih osovina kotača na osnovnu ploču robota.
  3. Spojite motore i lažnu osovinu kotača sa stezaljkama, a zatim spojite kotače.
  4. Sastavite staze i napravite petlju.
  5. Traka za trake na točkovima. Imajte na umu da staza ne popušta i ima dovoljno napetosti.

Sada spojite prednju, stražnju i jednu bočnu ploču na osnovnoj ploči pomoću malih L stezaljki. Nemojte montirati gornju ploču i jednu bočnu ploču tako da nam ostane dovoljno prostora za postavljanje elektronike na robota.

Korak 3: Glava i lice robota

Image
Image
Glava i lice robota
Glava i lice robota
Glava i lice robota
Glava i lice robota
Glava i lice robota
Glava i lice robota

Robotu smo već dali tijelo i kotače. Sada je vrijeme da mu poklonimo glavu, vrat i lice.

Vrat:

Najkomplikovaniji dio glave robota je vrat. Zato ćemo ga prvo pripremiti. S Dynamixel servo pogonima pomalo je zbunjujući rad, ali su pouzdani i izdržljivi. Za to je na raspolaganju mnoštvo stezaljki za montažu pa ih možete spojiti na bilo koji način.

Pogledajte ovaj video za bolje objašnjenje o tome kako spojiti dinamixel servo sisteme.

  1. Umetnite matice u servo upravljače dinamiksela kako biste ih montirali s okvirima.
  2. Postavite bioloidni okvir F8 u središte gornje ploče i označite rupe za bušenje i izbušite ih.
  3. Pričvrstite okvir bioloida F8 na jedan od servomotora, a zatim postavite okvir bioloida F8 na gornju ploču.
  4. Spojite svaki servo zajedno pomoću različitih okvira i pripremite vrat.
  5. Povežite servo pogone jedan s drugim pomoću dinamičkih tropolnih servo konektora.

Oči i uho:

Koristim Logitech web kameru-c270 kao oko za svog robota. To je dobra kamera koja može snimati fotografije i video zapise u 720p. Takođe ima ugrađen mikrofon, pa postaje uho i za mog robota. Nakon dugog brainstorminga, otkrio sam da je najbolje mjesto za postavljanje kamere na vrhu ekrana. Ali za postavljanje fotoaparata potrebno mi je postolje za kameru. Pa napravimo jedan.

  1. Uklonite metalne dijelove s web kamere koji su priloženi kako biste joj dali težinu.
  2. Izrežite dva komada od MDF ploče, jedan kvadratni i jedan trokutasti dimenzija prikazanih na slici.
  3. Izbušite rupu u podnožju web kamere i na četvrtastom MDF komadu. Napravite zarez na četvrtastom komadu da biste u njega umetnuli žicu web kamere.
  4. Zalijepite komade MDF-a zajedno u obliku slova T. Nosač kamere je spreman.
  5. Prije nego što pričvrstite držač kamere i kameru zajedno, prvo pripremite glavu.

Glava:

Glava robota je povezana sa servo pogonima. Mora biti što svjetliji kako glava ne bi opterećivala servo pogone. Stoga sam umjesto akrilnog lima upotrijebio MDF ploču.

  1. Izrežite komad MDF ploče dimenzija (18 cm x 13 cm) i izbušite rupe za postavljanje paravana.
  2. Postavite bioloidni okvir F10 u središte MDF ploče i označite rupe za bušenje i izbušite ih.
  3. Postavite bioloidni okvir F10 i bioloidni okvir F2 sa svake strane MDF ploče i spojite ih pomoću matice i vijka.
  4. Sada zalijepite držač kamere na stražnju stranu ploče.
  5. Spojite bioloidni okvir F2 s krajem servo konfiguracije.
  6. Montirajte ekran na MDF ploču pomoću rastojanja.
  7. Pričvrstite web kameru na držač kamere.

Sada su naša glava i lice robota potpuni.

Korak 4: Prilagođene PCB -ove

Prilagođene PCB -ove
Prilagođene PCB -ove
Prilagođene PCB -ove
Prilagođene PCB -ove
Prilagođene PCB -ove
Prilagođene PCB -ove

Sada je vrijeme da se rastvori malo fecl3 i nagrize neki PCB.

Zašto sam napravio prilagođene PCB -ove?

  • Nemam dinamixel servo kontroler, pa ga moram napraviti.
  • Moram spojiti puno senzora na Arduino na čistiji način, pa sam napravio štit za Arduino.

Napravimo.

  1. Preuzmite datoteke sa PCB -a i ispišite ih na laminatu obloženom bakrom.
  2. Izvadite laminat obložen bakrom pomoću fecl3
  3. Izbušite rupe od 1 mm za montažu IC -a i trake.
  4. Kako bi zaglavlja za slaganje štita kliznula niz plastične čepove burg trake prema kraju igala.
  5. Lemite IC baze i traku za umetanje na PCB -ove.
  6. Sheme sam dao u referentne svrhe.

Napomena - Pomoću softvera Express PCB otvorite.pcb i Express SCH softver za otvaranje.sch datoteke.

Korak 5: Napajanje

Napajanje
Napajanje
Napajanje
Napajanje

Održavanje konzistentne snage kroz različite elektroničke module i motore robota je vrlo potrebno. Ako snaga padne ispod granične vrijednosti u bilo kojem modulu, to će uzrokovati kvar i vrlo je teško identificirati razlog iza toga.

Primarni izvor energije u ovom robotu je 3S Lipo baterija od 2200mAh. Ova baterija ima tri ćelije, a izlazni napon je 11,1 volti. Udoo ploči treba napajanje od 12V, a Arduino ploči napajanje od 5V. Stoga sam odlučio koristiti dva regulatora napona, jedan je step-up, a drugi step-down. Jedan će održavati trenutno napajanje za sve module od 12 V, a drugi će zadržati struju za sve module 5 V.

Slika sadrži ručno nacrtane sheme.

  • Lemite regulatore napona na perforirane PCB ploče.
  • Lemite konektor muške baterije T-utikača na ulaz oba regulatora napona.
  • Spojite izlaz 'uzemljenja' oba regulatora.
  • Priključite priključke za istosmjernu struju na svaki izlaz regulatora. Neka dužina žica bude dovoljna da dosegne Udoo/Raspberry Pi i Arduino ploču.
  • Lemite burg traku na svaki izlaz regulatora kao dodatnu izlaznu snagu u slučaju da nam zatreba u budućoj modifikaciji.
  • Prije spajanja izvora napajanja na bilo koji od elektroničkih modula, kalibrirajte izlaz svakog regulatora pomoću priloženog potenciometra za podešavanje na točno 12v i 5v.

Korak 6: Završna montaža

Završna skupština
Završna skupština
Završna skupština
Završna skupština
Završna skupština
Završna skupština

Vreme je. Nakon toliko koraka vrijeme je da sastavite svaki modul zajedno. Uzbuđen? Pa jesam.

  • Izrežite pravokutni komad MDF ploče dimenzija (30cm x 25cm). Ova ploča je osnova za ugradnju elektroničkih modula. Ne želim bušiti puno rupa u osnovnoj akrilnoj ploči, pa koristim MDF ploču. Također pomaže pri skrivanju žica ispod njega kako bi naš robot izgledao uredno i čisto.
  • Postavite module na MDF ploču, označite montažne rupe i izbušite ih. Napravite dodatne rupe za prolaz žica ispod MDF ploče.
  • Dodijelio sam brojeve nekim rupama pa mi postaje lako uputiti ih, a vi razumjeti sheme ožičenja.

Napajanje:

  • Montirajte modul napajanja na ploču i provucite utičnicu 12v i 5v kroz rupu broj 1, izvucite utičnicu 12v kroz rupu broj 2 i izvucite utičnicu 5v kroz rupu broj 3.
  • Bateriju sam za sada držao labavu jer je ponekad moram ukloniti i napuniti.

Vozač motora:

  • Izvucite žice spojene na motore kroz rupu broj 4 i spojite ih na ploču upravljačkog programa motora.
  • Motorima je potrebno pravilno napajanje 12v napajanjem, pa spojite 12v i GND pin upravljačkog programa s izlazom regulatora napona od 12v.
  • Spojite pinove upravljačkog programa motora na Arduino prema kodu.

Arduino:

  • Prije montaže Arduina provucite žice tri ultrazvučna senzora kroz stražnju ploču i provucite žice preostala tri ultrazvučna senzora kroz prednju ploču i izvucite ih kroz rupu broj 3.
  • Montirajte Arduino i na njega pričvrstite štitnik senzora.
  • Dao sam brojeve svim žicama ultrazvučnog senzora tako da je lako otkloniti greške u slučaju bilo kakvih grešaka. Igle senzora spojite na štit uzastopno od broja 1 do 6.
  • Priključite utičnicu za napajanje od 5 V na Arduino.

Dynamixel servo kontroler:

  • Montirajte dinamixel servo kontroler na ploču.
  • Spojite 12v i GND pin servo kontrolera na izlaz regulatora napona od 12v.
  • Spojite 5v i GND pin servo kontrolera na izlaz 5v regulatora napona.
  • Spojite pinove servo kontrolera i Arduina prema kodu.
  • Ostavite za sada isključeni pin servo izlaza. Uključite ga nakon postavljanja gornje ploče robota.

Udoo / Raspberry Pi:

Napomena: Prije nego slijedite donje korake, provjerite jeste li već instalirali operativni sistem na MicroSD karticu i smjestili ga na Udoo / Raspberry Pi ploču. Ako ne, slijedite veze za instaliranje Raspbiana na Raspberry Pi ili Udoobuntu na Udoo ploči.

  • Postavite Udoo / Raspberry Pi na ploču i spojite utičnicu za napajanje na nju.
  • Ako koristite Udoo, spojite USB koncentrator na jedan od njegovih USB priključaka.
  • Priključite HDMI kabl i mikro USB kabl na njega. Ovi pinovi se koriste za opskrbu podataka i napajanje ekrana.
  • Spojite Arduino na Udoo / Raspberry Pi pomoću A do B USB kabela.

Gornja ploča:

  • Pričvrstite gornju ploču na bočne, prednje i stražnje ploče robota pomoću L stezaljki.
  • Spojite HDMI kabel, mikro USB kabel na zaslon, a web kameru na ploču Udoo / Raspberry Pi.
  • Spojite tro-pinski servo konektor koji dolazi s osnovnog dinamixel servo-a sa servo kontrolerom. Vodite računa o tome koji je pin DATA, GND i +12v. Za bolje reference pogledajte slike u odjeljku "Glava i lice robota". Ako spojite žice suprotnim redoslijedom, to može oštetiti servo pogone.

Ultrazvučni senzori udaljenosti:

Poslednji deo slagalice. Nakon toga, naša montaža je skoro završena.

  • Izrežite šest pravokutnih komada MDF ploče/akrilnog lima dimenzija (6cm x 5cm).
  • U njima izbušite rupe na potrebnim mjestima.
  • Pričvrstite ultrazvučne senzore na svaku ploču i pričvrstite sve ploče s osnovnom pločom robota.
  • Povežite senzore konektorima.

Konačno, gotovo je. Priključite bateriju i pokrenite Udoo/Raspberry Pi

Korak 7: Softver

Hardver je potpun, ali bez softvera, ovaj robot je samo kutija. Lista potrebnog softvera je

  • TightVNC
  • Python
  • OpenCV
  • Snowboy
  • Neki python paketi

    • Pyautogui
    • numpy
    • pyserial
    • pyaudio

TightVNC:

TightVNC je besplatni softverski paket za daljinsko upravljanje. S TightVNC -om možete vidjeti radnu površinu udaljene mašine i kontrolirati je pomoću lokalnog miša i tastature, baš kao što biste to radili sjedeći ispred računara.

Ako imate dodatnu tastaturu i miša, to je dobro. Ako ne, instalirajte TightVNC na prijenosno računalo i slijedite ove korake.

Po prvi put povežite tastaturu i miša sa Udoo / Raspberry Pi. Povežite se na WiFi mrežu. Otvorite Terminal i upišite

$ ifconfig

  • Zapišite IP adresu robota.
  • Otvorite TightVNC na svom laptopu. Unesite IP adresu u traženo polje i pritisnite Enter. Voila! Sada ste povezani. Za pristup robotu koristite dodirnu ploču i tastaturu prijenosnog računala.

Python:

Python je vrlo popularan i svestran jezik i zato ga koristim kao primarni programski jezik za ovog robota.

Ovdje koristim python 2.7, ali ako želite možete koristiti i python 3. Srećom, Python dolazi unaprijed instaliran u Udoobuntu i Raspbian OS. Dakle, ne moramo ga instalirati.

OpenCV:

OpenCV je biblioteka otvorenog koda uglavnom namijenjena računarskom vidu u stvarnom vremenu. OpenCV s Pythonom je vrlo jednostavan za korištenje. Instaliranje OpenCV -a pomalo je nezgrapno, ali na raspolaganju je mnogo vodiča koji se lako prate. Moj lični favorit je ovaj. Ovaj vodič je za Raspberry Pi, ali ga možete koristiti i za Udoo ploču.

Snježni dječak:

Snowboy je biblioteka koju su napisali Kitt.ai momci, uglavnom usmjerena na offline obradu govora/detekciju hotword -a. Vrlo je jednostavan za korištenje. Slijedite ovu vezu za instaliranje snowboya na Raspberry Pi. Ako koristite Udoo ploču, idite na ovaj projekt, koji je napisao meto da instaliram snowboya u Udoo.

Python paketi:

Slijedite ove jednostavne vodiče za instaliranje nekih python paketa.

  1. Pyautogui - Pyautogui je paket za simulaciju pritiskanja tastature ili pokreta miša.
  2. Numpy - upišite "pip install numpy" u Linux ljusku i pritisnite enter. To je tako jednostavno.
  3. Pyserial - Pyserial je paket namijenjen serijskoj komunikaciji putem pythona. Koristit ćemo ga za komunikaciju s Arduinom.

Korak 8: Kodovi

Hardverski dio je završen. Softverski dio je dovršen. Sada je vrijeme da damo dušu ovom robotu.

Hajde da kodiramo.

Kôd za ovog robota je donekle kompliciran i trenutno mu dodajem još funkcionalnosti. Zbog toga sam ugostio kodove u svom Github spremištu. Možete provjeriti i klonirati/preuzeti kodove odatle.

Sada to nije samo robot; sada je Tinku.

Korak 9: Demo

Image
Image

Demo. yeeeeee !!

Ovo su neki od osnovnih demoa. Predstoji još mnogo zanimljivijih.

Pratite nas za još ažuriranja, a ako imate bilo kakvih nedoumica, slobodno komentirajte.

Hvala vam što ste pročitali moj projekat. Ti si super.

Ako vam se sviđa ovaj projekat, molimo vas da ga glasate na takmičenju Mikrokontroler i robotika

Sretno stvaranje;-)

Preporučuje se: