Sadržaj:

Tinku: osobni robot: 9 koraka (sa slikama)
Tinku: osobni robot: 9 koraka (sa slikama)

Video: Tinku: osobni robot: 9 koraka (sa slikama)

Video: Tinku: osobni robot: 9 koraka (sa slikama)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Srpanj
Anonim
Tinku: osobni robot
Tinku: osobni robot

Autor sw4pFollow Više od autora:

Nematerijalna površina
Nematerijalna površina
Nematerijalna površina
Nematerijalna površina
Obrisano Instructable
Obrisano Instructable
Obrisano Instructable
Obrisano Instructable
Klavir od kartona
Klavir od kartona
Klavir od kartona
Klavir od kartona

Pozdrav, Tinku nije samo robot; to je osobni robot. To je sve u jednom paketu. Može vidjeti (računalni vid), slušati (obrada govora), govoriti i reagirati na situaciju. Može izraziti emocije, a popis stvari koje može učiniti se nastavlja. Dao sam mu ime; Zovem ga Tinku.

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

  1. Računalni vid

    • Prepoznavanje lica
    • Praćenje lica
    • Snimite fotografije i snimite video zapis
    • Prepoznajte ArUco markere
  2. Obrada govora
    • Izvanmrežna obrada govora (otkrivanje Hotword -a)
    • Može razumjeti što 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 trenutni osjećaj.
  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: Tijelo Tinkua počelo je pucati pa sam ga morala 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 tijelo

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

Servo, motori i kotači

  1. Dynamixel AX-12A (3 komada)
  2. Bioloidni set vijaka i matica
  3. Motori (2 komada)
  4. Gusjenice (2 pakiranja)
  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 padajućeg napona (DC-DC)
  9. Zaslon osjetljiv na dodir (7 inča)
  10. USB čvorište (samo ako koristite Udoo Quad jer ima samo 2 USB priključka)
  11. 7404 IC šesterokutni pretvarač
  12. 74HC244 IC
  13. 14 -polna IC baza
  14. 20 -polna IC baza

Priključci i kabeli

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

Za izradu PCB -a

  1. Laminat obložen bakrom
  2. Bacač PCB -a (Fecl3)
  3. Perforirana PCB
  4. Svrdlo 1 mm

Razno

  1. Ljepilo
  2. Cijevi hladnjaka
  3. Zastoji

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 s 5 V, a Arduino u Udoo ploča je kompatibilna s 3v.

Korak 2: Tijelo robota

Tijelo robota
Tijelo robota
Tijelo robota
Tijelo robota
Tijelo robota
Tijelo robota
Tijelo robota
Tijelo 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. Lemiti dodatne žice na iglice motora tako da žica može doći do pokretača motora.
  2. Montirajte stezaljke motora i lažne stezaljke 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 kotačima. 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. Ne montirajte gornju ploču i jednu bočnu ploču tako da imamo 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 damo glavu, vrat i lice.

Vrat:

Najkompliciraniji dio glave robota je vrat. Zato ćemo ga prvo pripremiti. S poslužiteljima Dynamixela pomalo je zbunjujući rad, ali pouzdani su i izdržljivi. Za to je na raspolaganju mnogo pričvrsnih stezaljki 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 okvir bioloida F8 u središte gornje ploče te 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. Spojite servo pogone međusobno pomoću dinamičkih tropolnih servo konektora.

Oko 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đer 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 zaslona. No, za postavljanje kamere potreban mi je držač za kameru. Pa napravimo jedan.

  1. Uklonite metalne dijelove s web kamere koji su priloženi kako bi joj dali određenu težinu.
  2. Izrežite dva komada s 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č fotoaparata i fotoaparat, prvo pripremite glavu.

Glava:

Glava robota povezana je 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 zaslona.
  2. Postavite bioloidni okvir F10 u središte MDF ploče, označite rupe za bušenje i izbušite ih.
  3. Postavite okvir bioloida F10 i okvir bioloida 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 okvir bioloida F2 s krajem servo konfiguracije.
  6. Montirajte zaslon na MDF ploču pomoću odstojnika.
  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 otopi malo fecl3 i nagrize neki PCB.

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

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

Idemo napraviti.

  1. Preuzmite datoteke 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 dosljedne snage kroz različite elektroničke module i motore robota vrlo je 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 trenutnu opskrbu za sve 12v module, a drugi će zadržati trenutnu opskrbu za sve 5v module.

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 'Uzemljenje' oba regulatora.
  • Priključite priključnice istosmjerne cijevi na svaki izlaz regulatora. Zadržite duljinu žica dovoljno da može doći do ploče Udoo/Raspberry Pi i Arduino.
  • Lemite burg traku na svaki izlaz regulatora kao dodatnu izlaznu snagu u slučaju da nam zatreba u budućoj izmjeni.
  • Prije spajanja 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

Sad je vrijeme. Nakon toliko koraka vrijeme je za sastavljanje svakog modula 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 izbuš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 izvaditi 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 pogreške u slučaju bilo kakvih grešaka. Igle senzora spojite na štit počevši od broja 1 do 6 uzastopno.
  • Spojite 5v utičnicu za napajanje na Arduino.

Servo kontroler Dynamixel:

  • Montirajte dinamixel servo upravljač 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 izlazni pin servo zasad isključen. Uključite ga nakon postavljanja gornje ploče robota.

Udoo / Raspberry Pi:

Napomena: Prije nego slijedite donje korake, provjerite jeste li već instalirali OS na MicroSD karticu i stavili ga na ploču Udoo / Raspberry Pi. 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.
  • Spojite HDMI kabel i mikro USB kabel na njega. Ove pinove koriste za opskrbu podataka i napajanje zaslona.
  • Spojite Arduino na Udoo / Raspberry Pi pomoću A do B USB kabela.

Gornja ploča:

  • Pričvrstite gornju ploču na bočnu, prednju i stražnju ploču robota pomoću L stezaljki.
  • Spojite HDMI kabel, mikro USB kabel na zaslon, a web kameru na ploču Udoo / Raspberry Pi.
  • Spojite tropolni servo konektor koji dolazi s osnovnog dinamiksela servo upravljača sa servo kontrolerom. Molimo 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 servomotore.

Ultrazvučni senzori udaljenosti:

Zadnji dio slagalice. Nakon ovoga naša je skupština gotovo gotova.

  • 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.
  • Spojite senzore konektorima.

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

Korak 7: Softver

Hardver je potpun, ali bez softvera ovaj je robot samo kutija. Popis softvera koji nam je potreban je

  • TightVNC
  • Piton
  • OpenCV
  • Snježni dječak
  • Neki python paketi

    • Pyautogui
    • numpy
    • pyserial
    • pyaudio

TightVNC:

TightVNC je besplatni programski paket za daljinsko upravljanje. S TightVNC -om možete vidjeti radnu površinu udaljenog stroja i upravljati njome lokalnim mišem i tipkovnicom, baš kao što biste to učinili sjedeći ispred tog računala.

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

Prvi put spojite tipkovnicu i miša na Udoo / Raspberry Pi. Povežite se na WiFi mrežu. Otvorite Terminal i upišite

$ ifconfig

  • Zapišite IP adresu robota.
  • Otvorite TightVNC na prijenosnom računalu. Unesite IP adresu u traženo polje i pritisnite Enter. Voila! Sada ste povezani. Pristupite robotu pomoću dodirne podloge i tipkovnice prijenosnog računala.

Piton:

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 namijenjena računalnom vidu u stvarnom vremenu. OpenCV s Pythonom vrlo je jednostavan za korištenje. Instaliranje OpenCV -a pomalo je nezgodno, ali na raspolaganju je mnogo vodiča koji se vrlo lako mogu slijediti. Moj osobni 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 namijenjena offline obradi govora/otkrivanju vrućih riječi. 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 instalirati snowboya u Udoo.

Python paketi:

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

  1. Pyautogui - Pyautogui je paket za simulaciju pritiska tipki tipkovnice 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 dovršen. Softverski dio je dovršen. Sada je vrijeme da damo dušu ovom robotu.

Kodirajmo.

Kôd za ovog robota je donekle kompliciran i trenutno mu dodajem još funkcionalnosti. Stoga sam kodirao u svom Github spremištu. To možete provjeriti i klonirati/preuzeti kodove od tamo.

Sada to nije samo robot; sad 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 nedoumica, slobodno komentirajte.

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

Ako vam se sviđa ovaj projekt, molimo vas da ga glasate na natječaju Mikrokontroler i robotika

Sretno stvaranje;-)

Preporučeni: