Kazalo:

Tinku: osebni robot: 9 korakov (s slikami)
Tinku: osebni robot: 9 korakov (s slikami)

Video: Tinku: osebni robot: 9 korakov (s slikami)

Video: Tinku: osebni robot: 9 korakov (s slikami)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Tinku: osebni robot
Tinku: osebni robot

Avtor sw4pFollow Več avtorja:

Neoprijemljiva površina
Neoprijemljiva površina
Neoprijemljiva površina
Neoprijemljiva površina
Izbrisano Navodilo
Izbrisano Navodilo
Izbrisano Navodilo
Izbrisano Navodilo
Klavir iz lepenke
Klavir iz lepenke
Klavir iz lepenke
Klavir iz lepenke

Pozdravljeni, Tinku ni samo robot; je osebni robot. To je vse v enem paketu. Lahko vidi (računalniški vid), posluša (obdelava govora), se pogovarja in se odzove na situacijo. Lahko izrazi čustva in seznam stvari, ki jih lahko počne, se nadaljuje. Dal sem mu ime; Imenujem ga Tinku.

Kratek uvod o tem, kaj lahko naredi

  1. Računalniški vid

    • Zaznavanje obrazov
    • Sledenje obrazu
    • Fotografirajte in posnemite video
    • Prepoznajte označevalce ArUco
  2. Obdelava govora
    • Obdelava govora brez povezave (zaznavanje vročih besed)
    • Lahko razume, kaj govorite, tako da zazna Hotwords.
  3. Izražajte čustva
    • Premika glavo za neverbalno komunikacijo in izražanje čustev.
    • Na svojem zaslonu prikazuje slike in gife, ki podpirajo trenutno razpoloženje.
  4. Premikanje naokoli

    Lahko teče naokoli s kolesi in identificira mesta z oznakami ArUco

  5. Izogibanje oviram

    Ima sonarne senzorje, zato se vedno zaveda svojega okolja in se lahko izogne oviram

Lahko naredi veliko več stvari. Izvedete lahko tudi, katere nove funkcionalnosti želite.

Dovolj govora.

EDIT: Tinkovo telo je začelo razpokati, zato sem ga moral popolnoma preoblikovati. Tu so nove slike, popolnoma sveže in boljše Tinku. Žal nimam slik korakov prenove Tinkuja.

Korak: Stvari, ki jih boste potrebovali

Stvari, ki jih boste potrebovali
Stvari, ki jih boste potrebovali
Stvari, ki jih boste potrebovali
Stvari, ki jih boste potrebovali
Stvari, ki jih boste potrebovali
Stvari, ki jih boste potrebovali
Stvari, ki jih boste potrebovali
Stvari, ki jih boste potrebovali

Robotovo telo

  1. Akrilna plošča
  2. MDF plošča
  3. Majhne L sponke
  4. Paket vijakov in matice

Servomotorji, motorji in kolesa

  1. Dynamixel AX-12A (3 kosi)
  2. Komplet vijakov in matic iz bioloida
  3. Motorji (2 kosa)
  4. Skladbe (2 pakiranja)
  5. Gosenična kolesa (4 kosi)
  6. L objemke za motorje (2 kosa)
  7. L objemka za lažno gred kolesa (2 kosa)
  8. Lažna gred kolesa (2 kosa)
  9. Bioloidni okvir F8
  10. Bioloidni okvir F3 (2 kosa)
  11. Bioloidni okvir F2
  12. Bioloidni okvir F10

Elektronika

  1. Arduino
  2. Raspberry Pi ali Udoo Quad
  3. Voznik motorja
  4. Spletna kamera Logitech-c270 (ima vgrajen mikrofon)
  5. Ultrazvočni senzorji razdalje (6 kosov)
  6. Lipo baterija (3300 Mah 3S)
  7. Regulator napetosti (DC-DC)
  8. Nadomestni regulator napetosti (DC-DC)
  9. Zaslon na dotik (7 palcev)
  10. Zvezdišče USB (samo, če uporabljate Udoo Quad, ker ima samo 2 vrata USB)
  11. 7404 šestkotni pretvornik IC
  12. 74HC244 IC
  13. 14 -polna IC osnova
  14. 20 -polna IC osnova

Priključki in kabli

  1. Moški priključek za baterijo T-plug
  2. Prilagodljiv kabel HDMI (samo če ima vaš zaslon priključek HDMI)
  3. Kabel mikro USB
  4. Tri zatiči ženski-ženski klimatski kabel (6 kosov)
  5. Moški vtič DC sodček (2 kosa)
  6. Servo priključki Dynamixel (3 kosi)
  7. Kabel USB A do B (samo če ni priložen Arduinu)
  8. Mostične žice
  9. Žice za ploščice
  10. Burg trakovi

Za izdelavo PCB -jev

  1. Bakren laminat
  2. Jedkalec iz PCB (Fecl3)
  3. Perforirano PCB
  4. 1 mm sveder

Razno

  1. Lepilo
  2. Hladilne cevi
  3. Ostanki

Opomba: Tukaj uporabljam ploščo Udoo, ker ima boljšo računalniško hitrost kot moja malina pi 2. Uporabljam zunanji Arduino in ne vgrajen Arduino plošče Udoo, ker so vsi moji senzorji in moduli združljivi s 5V, Arduino pa v Udoo plošča je združljiva s 3V.

Korak: Telo robota

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

Za pripravo telesa robota sem uporabil akrilno folijo in jo razrezal v določeni velikosti, da sem naredil strukturo, podobno škatli. Na sliki sem omenil dimenzijo vsake strani telesa.

  1. Akrilno pločevino odrežite glede na določeno velikost.
  2. Na določenih mestih izvrtajte luknje za pritrditev motorjev, senzorjev, odmikov in povezovanje vsake plošče skupaj.
  3. V osnovni plošči in zgornji plošči izvrtajte večjo luknjo za prehod kablov.
  4. Na spodnji strani sprednje in zadnje plošče naredite majhno zarezo, tako da lahko preidejo žice, ki prihajajo iz ultrazvočnega senzorja.

Čas je za pripravo in montažo motorjev in gosenic.

  1. Spajate dodatne žice na zatiče motorja, tako da lahko žica doseže gonilnike motorja.
  2. Objemke motorja in spone lažnih kolesnih gredi namestite na osnovno ploščo robota.
  3. Motorje in lažno gred koles povežite s sponkami, nato pa povežite kolesa.
  4. Sestavite skladbe in naredite zanko.
  5. Trak na kolesih. Ne pozabite, da proga ni ohlapna in ima dovolj napetosti.

Zdaj povežite sprednjo, zadnjo in eno stransko ploščo na osnovni plošči z majhnimi sponkami L. Zgornje plošče in ene stranske plošče ne nameščajte tako, da imamo dovolj prostora za namestitev elektronike na robota.

Korak: Glava in obraz robota

Image
Image
Glava in obraz robota
Glava in obraz robota
Glava in obraz robota
Glava in obraz robota
Glava in obraz robota
Glava in obraz robota

Robotu smo že dali telo in kolesa. Zdaj je čas, da mu podarimo glavo, vrat in obraz.

Vrat:

Najbolj zapleten del glave robota je vrat. Zato ga bomo najprej pripravili. Delo s servomotorji Dynamixel je nekoliko zmedeno, vendar so zanesljivi in vzdržljivi. Za to je na voljo veliko pritrdilnih sponk, tako da jih lahko povežete na kakršen koli način.

Oglejte si ta videoposnetek za boljšo razlago, kako povezati servomotorje dynamixel skupaj.

  1. Vstavite matice v servomotorje dynamixel, da jih pritrdite z okvirji.
  2. Okvir bioloida F8 postavite na sredino zgornje plošče in označite vrtalne luknje ter jih izvrtajte.
  3. Okvir bioloida F8 pritrdite na enega od servomotorjev, nato okvir bioloida F8 pritrdite na zgornjo ploščo.
  4. Pridružite se vsakemu servomotorju skupaj z različnimi okvirji in pripravite vrat.
  5. Povežite servomotorje med seboj s pomočjo tri-polnih servo-priključkov dinamixel.

Oči in uho:

Spletno kamero Logitech-c270 uporabljam kot oko za svojega robota. To je dobra kamera, ki lahko fotografira in snema video posnetke v ločljivosti 720p. Vgrajen ima tudi mikrofon, zato postane tudi uho za mojega robota. Po dolgem brainstormingu sem ugotovil, da je fotoaparat najbolje namestiti na vrhu zaslona. Toda za namestitev kamere potrebujem nosilec za kamero. Torej naredimo enega.

  1. S spletne kamere odstranite kovinske kose, ki ji dajejo nekaj teže.
  2. Iz MDF plošče izrežite dva kosa, enega kvadratnega in enega trikotnika z dimenzijami, ki so prikazane na sliki.
  3. Izvrtajte luknjo na dnu spletne kamere in na kvadratnem MDF -ju. Na kvadratnem kosu naredite zarezo, da vanj vstavite žico spletne kamere.
  4. Kose MDF zlepite skupaj, da tvorijo T-obliko. Nosilec kamere je pripravljen.
  5. Preden pritrdite nosilec fotoaparata in fotoaparat skupaj, najprej pripravite glavo.

Vodja:

Glava robota je povezana s servomotorji. Biti mora čim lažji, da glava ne obremenjuje servomotorjev. Zato sem namesto akrilne pločevine uporabil ploščo MDF.

  1. Odrežite kos MDF plošče z dimenzijami (18 cm x 13 cm) in izvrtajte luknje za pritrditev zaslona.
  2. Bioloidni okvir F10 postavite na sredino MDF plošče, označite vrtalne luknje in jih izvrtajte.
  3. Bioloidni okvir F10 in bioloidni okvir F2 postavite na vsako stran MDF plošče in ju združite skupaj z matico in vijakom.
  4. Zdaj prilepite nosilec kamere na zadnjo stran plošče.
  5. Pridružite se bioloidnemu okvirju F2 s koncem servo konfiguracije.
  6. Zaslon na ploščo MDF pritrdite s pomočjo stojal.
  7. Spletno kamero pritrdite na nosilec kamere.

Zdaj sta naša glava in obraz robota popolna.

4. korak: PCB po meri

PCB po meri
PCB po meri
PCB po meri
PCB po meri
PCB po meri
PCB po meri

Zdaj je čas, da raztopimo nekaj fecl3 in jedkamo nekaj PCB.

Zakaj sem izdelal PCB po meri?

  • Nimam servo krmilnika dynamixel, zato ga moram narediti.
  • Na Arduino moram na čistejši način priključiti veliko senzorjev, zato sem za Arduino naredil ščit.

Naredimo.

  1. Prenesite datoteke PCB in jih natisnite na bakreno obložen laminat.
  2. S pomočjo fecl3 odstranite bakreno obložen laminat
  3. Izvrtajte 1 mm luknje za pritrditev IC in trakov.
  4. Če želite, da glave za zlaganje ščitov zdrsnejo po plastičnih zamaških burg traku proti koncu zatičev.
  5. Spajate IC -baze in burg trakove na tiskanih vezjih.
  6. Sheme sem predložil za referenco.

Opomba - S programsko opremo Express PCB odprite datoteko.pcb in Express SCH, da odprete datoteko.sch.

5. korak: Napajanje

Napajanje
Napajanje
Napajanje
Napajanje

Ohranjanje konstantne moči v različnih elektronskih modulih in motorjih robota je zelo potrebno. Če moč v katerem koli modulu pade pod mejno vrednost, bo to povzročilo napako in je zelo težko ugotoviti razlog za to.

Primarni vir energije v tem robotu je 3S Lipo baterija 2200mAh. Ta baterija ima tri celice, izhodna napetost pa je 11,1 volta. Plošča Udoo potrebuje 12v napajanje, plošča Arduino pa 5v. Zato sem se odločil za uporabo dveh regulatorjev napetosti, enega stopnjevalnega, drugega pa stopnjevalnega. Eden bo ohranil trenutno napajanje za vse 12 -voltne module, drugi pa za vse 5 -voltne module.

Slika vsebuje ročno narisane sheme.

  • Spajate regulatorje napetosti na perforiranih PCB ploščah.
  • Spojite priključek moške baterije T-plug na vhod obeh regulatorjev napetosti.
  • Priključite "ozemljitveni" izhod obeh regulatorjev.
  • Na vsak izhod regulatorja priključite enosmerne priključke. Dolžina žic naj bo dovolj dolga, da lahko doseže ploščo Udoo/Raspberry Pi in Arduino.
  • Spajkajte burg trak na vsak izhod regulatorja kot dodatno izhodno moč, če jo v prihodnji spremembi potrebujemo.
  • Preden priključite napajalnik na kateri koli elektronski modul, kalibrirajte izhod vsakega regulatorja s priloženim potenciometrom za nastavitev na natančno 12v in 5v.

6. korak: Končna montaža

Končna sestava
Končna sestava
Končna sestava
Končna sestava
Končna sestava
Končna sestava

Zdaj je čas. Po toliko korakih je čas, da sestavite vsak modul skupaj. Navdušen? No, jaz sem.

  • Izrežite pravokoten kos MDF plošče dimenzij (30 x 25 cm). Ta plošča je osnova za namestitev elektronskih modulov. V osnovni akrilni plošči ne želim izvrtati veliko lukenj, zato uporabljam MDF ploščo. Pomaga tudi pri skrivanju žic pod njim, da bo naš robot videti čist in čist.
  • Položite module na ploščo MDF in označite montažne luknje ter jih izvrtajte. Naredite nekaj dodatnih lukenj za prehod žic pod ploščo MDF.
  • Nekaterim luknjam sem dodelil številke, zato jih lažje napotim in vi razumete sheme ožičenja.

Napajanje:

  • Napajalni modul namestite na ploščo in vtičnico 12v in 5v prenesite skozi luknjo številka 1 in izvlecite vtičnico 12v skozi luknjo številka 2 in izvlecite vtičnico 5v skozi luknjo številka 3.
  • Baterijo sem zaenkrat pustil ohlapno, ker jo moram včasih odstraniti in napolniti.

Voznik motorja:

  • Žice, povezane z motorji, izvlecite skozi luknjo št. 4 in jih povežite z voznikovo ploščo motorja.
  • Motorji za pravilno delovanje potrebujejo 12 -voltni napajalnik, zato povežite 12 -voltni in GND -pin gonilnika z izhodom regulatorja napetosti 12v.
  • Zatiče gonilnika motorja priključite na Arduino v skladu s kodo.

Arduino:

  • Pred namestitvijo Arduina prenesite žice treh ultrazvočnih senzorjev skozi zadnjo ploščo, žice preostalih treh ultrazvočnih senzorjev pa skozi sprednjo ploščo in jih izvlecite skozi luknjo številka 3.
  • Namestite Arduino in nanj pritrdite senzorski ščit.
  • Vsem ultrazvočnim senzorskim žicam sem dal številke, tako da jih je mogoče enostavno odpraviti v primeru kakršne koli napake. Nožice senzorja priključite na ščit zaporedno od številke 1 do 6 zaporedoma.
  • Priključite 5 -voltni vtič na Arduino.

Servo krmilnik Dynamixel:

  • Servo krmilnik dynamixel namestite na ploščo.
  • Povežite 12v in GND pin servo krmilnika z izhodom regulatorja napetosti 12v.
  • Povežite 5v in GND pin servo krmilnika z izhodom regulatorja napetosti 5v.
  • Povežite nožice servo krmilnika in Arduino v skladu s kodo.
  • Izhodni zatič servomotorja zaenkrat pustite izklopljen. Priključite ga po namestitvi zgornje plošče robota.

Udoo / Raspberry Pi:

Opomba: Preden sledite spodnjim korakom, se prepričajte, da ste operacijski sistem že namestili na kartico MicroSD in ga postavili na ploščo Udoo / Raspberry Pi. Če ne, sledite povezavam za namestitev Raspbiana na Raspberry Pi ali Udoobuntu na ploščo Udoo.

  • Na ploščo namestite Udoo / Raspberry Pi in nanjo priključite vtičnico.
  • Če uporabljate Udoo, priključite zvezdišče USB v enega od priključkov USB.
  • Vanj priključite kabel HDMI in kabel mikro USB. Ti zatiči se uporabljajo za dobavo podatkov in napajanje na zaslon.
  • Priključite Arduino na Udoo / Raspberry Pi s kablom USB A do B.

Zgornja plošča:

  • Z uporabo sponk L pritrdite zgornjo ploščo na stransko, sprednjo in zadnjo ploščo robota.
  • Priključite kabel HDMI, kabel mikro USB na zaslon in spletno kamero na ploščo Udoo / Raspberry Pi.
  • Priključite tri-polni servo-konektor, ki prihaja iz osnovnega dinamixel-servo-servo upravljalnika. Pazite, kateri pin je DATA, GND in +12v. Za boljšo referenco si oglejte slike v razdelku "Glava in obraz robota". Če žice priključite v nasprotnem vrstnem redu, lahko poškodujete servomotorje.

Ultrazvočni senzorji razdalje:

Zadnji del sestavljanke. Po tem je naša montaža skoraj končana.

  • Izrežite šest pravokotnih kosov MDF plošče/akrilne pločevine z dimenzijami (6 cm x 5 cm).
  • V njih izvrtajte luknje na zahtevanih mestih.
  • Ultrazvočne senzorje pritrdite na vsako ploščo in pritrdite vse plošče z osnovno ploščo robota.
  • Senzorje povežite s priključki.

Končno je končano. Priključite baterijo in zaženite Udoo/Raspberry Pi

7. korak: Programska oprema

Strojna oprema je popolna, toda brez programske opreme je ta robot le škatla. Seznam programske opreme, ki jo potrebujemo, je

  • TightVNC
  • Python
  • OpenCV
  • Snežni deček
  • Nekaj paketov python

    • Pyautogui
    • numpy
    • pyserial
    • pyaudio

TightVNC:

TightVNC je brezplačen paket programske opreme za daljinsko upravljanje. S programom TightVNC lahko vidite namizje oddaljenega računalnika in ga upravljate z lokalno miško in tipkovnico, tako kot bi to počeli pred računalnikom.

Če imate dodatno tipkovnico in miško, je to dobro. Če ne, namestite TightVNC v prenosni računalnik in sledite tem korakom.

Prvič povežite tipkovnico in miško z Udoo / Raspberry Pi. Povežite se z omrežjem wifi. Odprite terminal in vnesite

$ ifconfig

  • Zapišite si naslov IP robota.
  • Odprite TightVNC v prenosnem računalniku. Vnesite naslov IP v zahtevano polje in pritisnite Enter. Voila! Zdaj ste povezani. Za dostop do robota uporabite sledilno ploščico in tipkovnico prenosnega računalnika.

Python:

Python je zelo priljubljen in vsestranski jezik, zato ga uporabljam kot primarni programski jezik za tega robota.

Tukaj uporabljam python 2.7, če pa želite, lahko uporabite tudi python 3. Na srečo je Python vnaprej nameščen v operacijskem sistemu Udoobuntu in Raspbian. Zato nam ga ni treba namestiti.

OpenCV:

OpenCV je odprtokodna knjižnica, namenjena predvsem računalniškemu vidu v realnem času. OpenCV s Pythonom je zelo enostaven za uporabo. Namestitev programa OpenCV je nekoliko okorna, vendar je na voljo veliko zelo enostavnih navodil. Moj osebni favorit je tale. Ta priročnik je za Raspberry Pi, lahko pa ga uporabite tudi za ploščo Udoo.

Snežni deček:

Snowboy je knjižnica, ki so jo napisali Kitt.ai fantje in je namenjena predvsem obdelavi govora brez povezave/zaznavanju vročih besed. Je zelo enostaven za uporabo. Sledite tej povezavi, da namestite snowboya na Raspberry Pi. Če uporabljate ploščo Udoo, pojdite na ta projekt, ki ga je napisal meto, da namestite snowboya v Udoo.

Paketi Python:

Upoštevajte te preproste priročnike za namestitev nekaterih paketov python.

  1. Pyautogui - Pyautogui je paket za simulacijo pritiskov tipk na tipkovnici ali premiku miške.
  2. Numpy - vnesite "pip install numpy" v lupino Linuxa in pritisnite enter. Tako preprosto je.
  3. Pyserial - Pyserial je paket, namenjen serijski komunikaciji prek pythona. Uporabili ga bomo za komunikacijo z Arduinom.

8. korak: Kode

Strojni del je končan. Del programske opreme je dokončan. Zdaj je čas, da temu robotu podarimo dušo.

Kodirajmo.

Koda za tega robota je nekoliko zapletena in trenutno mu dodajam še več funkcionalnosti. Zato sem kode gostil v svojem skladišču Github. To lahko preverite in od tam klonirate/naložite kode.

Zdaj to ni samo robot; zdaj je Tinku.

9. korak: Demo

Image
Image

Demo. jeeeee !!

To je nekaj osnovnih predstavitev. Prihaja še veliko bolj zanimivih.

Ostanite z nami za več posodobitev in če dvomite, vas prosimo, da komentirate.

Hvala, ker ste prebrali moj projekt. Ti si neverjeten.

Če vam je ta projekt všeč, ga prosim glasujte na natečaju Mikrokontroler in robotika

Veselo ustvarjanje;-)

Priporočena: