Turinys:

Tinku: asmeninis robotas: 9 žingsniai (su nuotraukomis)
Tinku: asmeninis robotas: 9 žingsniai (su nuotraukomis)

Video: Tinku: asmeninis robotas: 9 žingsniai (su nuotraukomis)

Video: Tinku: asmeninis robotas: 9 žingsniai (su nuotraukomis)
Video: Dienoraštis, kuriame yra baisių paslapčių. Perėjimas. Geraldas Durrellas. Mistikas. Siaubas 2024, Liepa
Anonim
Tinku: asmeninis robotas
Tinku: asmeninis robotas

Sekite daugiau autoriaus:

Nematerialus paviršius
Nematerialus paviršius
Nematerialus paviršius
Nematerialus paviršius
Ištrinta „Instructable“
Ištrinta „Instructable“
Ištrinta „Instructable“
Ištrinta „Instructable“
Kartono fortepijonas
Kartono fortepijonas
Kartono fortepijonas
Kartono fortepijonas

Sveiki, Tinku nėra tik robotas; tai asmeninis robotas. Tai viskas vienoje pakuotėje. Jis gali matyti (kompiuterio matymas), klausytis (kalbos apdorojimas), kalbėti ir reaguoti į situaciją. Jis gali išreikšti emocijas, o dalykų, kuriuos ji gali padaryti, sąrašas tęsiasi. Daviau jam vardą; Aš tai vadinu Tinku.

Trumpas įvadas, ką jis gali padaryti

  1. Kompiuterinė vizija
    • Veido atpažinimas
    • Veido stebėjimas
    • Fotografuokite ir filmuokite
    • Atpažinkite „ArUco“žymeklius
  2. Kalbos apdorojimas

    • Kalbos apdorojimas neprisijungus („Hotword“aptikimas)
    • Ji gali suprasti, ką jūs sakote, aptikusi „Hotwords“.
  3. Išreikšti emocijas

    • Tai verčia galvą neverbaliniam bendravimui ir jausmų išreiškimui.
    • Ekrane rodomi vaizdai ir GIF, kad būtų palaikomos dabartinės nuotaikos.
  4. Judėti

    Jis gali bėgti aplink savo ratus ir atpažinti vietas naudodamas „ArUco“žymeklius

  5. Kliūčių vengimas

    Jame yra sonaro jutikliai, todėl jis visada žino apie aplinką ir gali išvengti kliūčių

Tai gali padaryti daug daugiau dalykų. Taip pat galite įgyvendinti, kokių naujų funkcijų norite.

Pakanka kalbėti.

Redaguoti: Tinku kūnas pradėjo skilinėti, todėl turėjau jį visiškai pertvarkyti. Čia yra nauji vaizdai, visiškai švieži ir geresni „Tinku“. Atsiprašau, neturiu Tinku pertvarkymo žingsnių vaizdų.

1 žingsnis: reikalingi dalykai

Dalykai, kurių jums prireiks
Dalykai, kurių jums prireiks
Dalykai, kurių jums prireiks
Dalykai, kurių jums prireiks
Dalykai, kurių jums prireiks
Dalykai, kurių jums prireiks
Dalykai, kurių jums prireiks
Dalykai, kurių jums prireiks

Roboto kūnas

  1. Akrilo lakštas
  2. MDF plokštė
  3. Maži L spaustukai
  4. Pakuotė veržlės ir varžto

Servai, varikliai ir ratai

  1. Dynamixel AX-12A (3 vnt.)
  2. Bioloidinių varžtų ir veržlių rinkinys
  3. Varikliai (2 vnt.)
  4. Takeliai (2 pakeliai)
  5. Vikšriniai ratai (4 vnt.)
  6. L spaustukai varikliams (2 vnt.)
  7. L spaustukas manekeno rato velenui (2 vnt.)
  8. Manekeno rato velenas (2 vnt.)
  9. Bioloidinis rėmas F8
  10. Bioloidinis rėmas F3 (2 vnt.)
  11. Bioloidinis rėmas F2
  12. Bioloidinis rėmas F10

Elektronika

  1. Arduino
  2. Raspberry Pi arba Udoo Quad
  3. Variklio vairuotojas
  4. „Logitech webcam-c270“(jame įmontuotas mikrofonas)
  5. Ultragarsiniai atstumo jutikliai (6 vnt.)
  6. Lipo baterija (3300 Mah 3S)
  7. Padidinkite įtampos reguliatorių (DC-DC)
  8. Sumažėjęs įtampos reguliatorius (DC-DC)
  9. Jutiklinis ekranas (7 coliai)
  10. USB šakotuvas (tik jei naudojate „Udoo Quad“, nes jame yra tik 2 USB prievadai)
  11. 7404 šešiakampis keitiklis IC
  12. 74HC244 IC
  13. 14 kontaktų IC pagrindas
  14. 20 kontaktų IC pagrindas

Kabeliai ir jungtys

  1. T-kištukinė akumuliatoriaus jungtis
  2. Lankstus HDMI kabelis (tik jei jūsų ekrane yra HDMI jungtis)
  3. Mikro USB kabelis
  4. Trys kaiščiai-moterų ir moterų laidas (6 vnt.)
  5. DC statinės lizdo kištukas (2 vnt.)
  6. „Dynamixel“servo jungtys (3 dalys)
  7. USB kabelis nuo A iki B (tik jei jis nebuvo komplektuojamas su „Arduino“)
  8. Jumperio laidai
  9. Duonos lentos laidai
  10. Burg juostelės

PCB gamybai

  1. Variu dengtas laminatas
  2. PCB ėsdiklis (Fecl3)
  3. Perforuotas PCB
  4. 1 mm gręžtuvas

Įvairūs

  1. Klijai
  2. Šildytuvo vamzdžiai
  3. Atsistojimai

Pastaba: čia aš naudoju „Udoo“plokštę, nes ji turi geresnį skaičiavimo greitį nei mano aviečių pi 2. Aš naudoju išorinį „Arduino“, o ne įmontuotą „Udoo“plokštės „Arduino“, nes visi mano jutikliai ir moduliai yra suderinami su 5 V, o „Arduino“„Udoo“plokštė suderinama su 3 V įtampa.

2 žingsnis: Roboto korpusas

Roboto kūnas
Roboto kūnas
Roboto kūnas
Roboto kūnas
Roboto kūnas
Roboto kūnas
Roboto kūnas
Roboto kūnas

Norėdami paruošti roboto kūną, aš panaudojau akrilo lakštą ir supjaustiau jį nurodytu dydžiu, kad sukurtų dėžutės struktūrą. Aš minėjau kiekvienos kūno pusės matmenis paveikslėlyje.

  1. Iškirpkite akrilo lakštą pagal nurodytą dydį.
  2. Gręžkite skyles tam tikrose vietose, kad pritvirtintumėte variklius, jutiklius, atramas ir sujungtumėte kiekvieną plokštę.
  3. Gręžkite didesnę skylę pagrindinėje plokštėje ir viršutinėje plokštėje, kad praeitumėte kabelius.
  4. Apatinėje priekinio ir galinio skydo pusėje padarykite mažą įpjovą, kad pro ultragarso jutiklį patenkantys laidai galėtų praeiti.

Atėjo laikas paruošti ir sumontuoti variklius ir vikšrus.

  1. Lituokite papildomus laidus prie variklio kaiščių, kad viela galėtų pasiekti variklio tvarkykles.
  2. Variklio spaustukus ir manekeno rato veleno spaustukus pritvirtinkite prie roboto pagrindo plokštės.
  3. Prijunkite variklius ir manekeno rato veleną prie spaustukų, tada prijunkite ratus.
  4. Surinkite takelius ir padarykite kilpą.
  5. Dirželis ant ratų. Atminkite, kad takelis nėra laisvas ir turi pakankamai įtampos.

Dabar sujunkite priekinį, galinį ir vieną šoninį skydą prie pagrindo, naudodami mažus L spaustukus. Nemontuokite viršutinio skydo ir vieno šoninio skydo, kad mums liktų pakankamai vietos elektronikai pritvirtinti prie roboto.

3 žingsnis: Roboto galva ir veidas

Image
Image
Roboto galva ir veidas
Roboto galva ir veidas
Roboto galva ir veidas
Roboto galva ir veidas
Roboto galva ir veidas
Roboto galva ir veidas

Savo robotui jau padovanojome kėbulą ir ratus. Dabar atėjo laikas suteikti jai galvą, kaklą ir veidą.

Kaklas:

Sunkiausia roboto galvos dalis yra kaklas. Taigi pirmiausia jį paruošime. „Dynamixel“servos yra šiek tiek painios, tačiau jos yra patikimos ir patvarios. Jame yra daugybė tvirtinimo spaustukų, kad galėtumėte juos bet kokiu būdu sujungti.

Peržiūrėkite šį vaizdo įrašą, kad geriau paaiškintumėte, kaip sujungti „dynamixel“servo sistemas.

  1. Įdėkite veržles į „dynamixel“servos, kad jas pritvirtintumėte su rėmeliais.
  2. Įdėkite bioloidinį rėmą F8 viršutinio skydo centre ir pažymėkite gręžimo skyles bei išgręžkite jas.
  3. Pritvirtinkite bioloidinį rėmą F8 prie vieno iš servo, tada pritvirtinkite bioloido rėmą F8 ant viršutinio skydo.
  4. Sujunkite kiekvieną servo sistemą naudodami skirtingus rėmus ir paruoškite kaklą.
  5. Prijunkite servus vienas prie kito naudodami „Dynamixel“trijų kontaktų servo jungtis.

Akys ir ausys:

Aš naudoju „Logitech“kamerą-c270 kaip savo roboto akį. Tai gera kamera, galinti fotografuoti ir filmuoti 720p. Jame taip pat yra įmontuotas mikrofonas, todėl jis tampa ausimi ir mano robotui. Po ilgų minčių sužinojau, kad geriausia vieta fotoaparatui pritvirtinti yra ekrano viršuje. Bet norint sumontuoti fotoaparatą, man reikia fotoaparato laikiklio. Taigi padarykime vieną.

  1. Pašalinkite metalines dalis iš internetinės kameros, kad jos būtų šiek tiek svertos.
  2. Iškirpkite dvi dalis iš MDF plokštės, vieną kvadratinę ir vieną trikampę, kurių matmenys nurodyti paveikslėlyje.
  3. Išgręžkite skylę kameros pagrinde ir ant kvadratinio MDF gabalo. Padarykite įpjovą ant kvadratinės dalies, kad į ją įterptumėte internetinės kameros laidą.
  4. Klijuokite MDF gabalus, kad suformuotumėte T formą. Fotoaparato laikiklis paruoštas.
  5. Prieš pritvirtindami fotoaparato laikiklį ir fotoaparatą, pirmiausia paruoškite galvutę.

Galva:

Roboto galva prijungta prie servo. Jis turi būti kuo lengvesnis, kad galva neužkrautų servo. Todėl aš naudoju MDF plokštę akrilo lakšto vietoje.

  1. Iškirpkite MDF plokštės gabalėlį (18 cm x 13 cm) ir gręžkite skyles, kad pritvirtintumėte ekraną.
  2. Įdėkite bioloidinį rėmą F10 į MDF plokštės centrą, pažymėkite gręžimo skyles ir išgręžkite jas.
  3. Nustatykite bioloidinį rėmą F10 ir bioloidinį rėmą F2 kiekvienoje MDF plokštės pusėje ir sujunkite juos veržle ir varžtu.
  4. Dabar klijuokite fotoaparato laikiklį galinėje plokštės pusėje.
  5. Prijunkite bioloidinį rėmą F2 prie servo konfigūracijos pabaigos.
  6. Pritvirtinkite ekraną prie MDF plokštės, naudodamiesi atramomis.
  7. Pritvirtinkite internetinę kamerą prie fotoaparato laikiklio.

Dabar mūsų galva ir roboto veidas yra užbaigti.

4 žingsnis: pasirinktiniai PCB

Individualizuotos PCB
Individualizuotos PCB
Individualizuotos PCB
Individualizuotos PCB
Individualizuotos PCB
Individualizuotos PCB

Dabar atėjo laikas ištirpinti fecl3 ir išgraviruoti kai kurias PCB.

Kodėl aš gaminau individualius PCB?

  • Aš neturiu „dynamixel“servo valdiklio, todėl turiu jį sukurti.
  • Turiu prie „Arduino“prijungti daug jutiklių švaresniu būdu, todėl padariau „Arduino“skydą.

Padarykime.

  1. Atsisiųskite PCB failus ir atsispausdinkite juos ant variu dengto laminato.
  2. Variu dengtą laminatą išgraviruokite naudodami fecl3
  3. Gręžkite 1 mm skyles IC ir burg juostos tvirtinimui.
  4. Kad skydo krovimo antraštės slystų žemyn plastikiniais burg juostos kamščiais link kaiščių galo.
  5. Lituokite IC pagrindus ir burg juostą ant PCB.
  6. Aš pateikiau schemas kaip pavyzdį.

Pastaba. Naudokite „Express PCB“programinę įrangą, kad atidarytumėte.pcb, ir „Express SCH“programinę įrangą, kad atidarytumėte.sch failą.

5 žingsnis: maitinimo šaltinis

Maitinimo šaltinis
Maitinimo šaltinis
Maitinimo šaltinis
Maitinimo šaltinis

Labai svarbu išlaikyti pastovią galią įvairiuose roboto elektroniniuose moduliuose ir varikliuose. Jei bet kurio modulio galia nukrenta žemiau ribinės vertės, tai sukels trikdžius ir labai sunku nustatyti jo priežastį.

Pagrindinis šio roboto energijos šaltinis yra 2200 mAh 3S „Lipo“baterija. Ši baterija turi tris elementus, o išėjimo įtampa yra 11,1 volto. „Udoo“plokštei reikia 12 V maitinimo šaltinio, o „Arduino“- 5 V maitinimo šaltinio. Taigi aš pasirenku naudoti du įtampos reguliatorius, vienas yra pakopinis, o kitas-žemesnis. Vienas išlaikys dabartinį visų 12 voltų modulių tiekimą, o kitas - visus 5 voltų modulius.

Nuotraukoje yra rankomis nupieštos schemos.

  • Lituokite įtampos reguliatorius ant perforuotų PCB plokščių.
  • Lituokite T-kištukinį akumuliatoriaus kištuką prie abiejų įtampos reguliatorių įvesties.
  • Prijunkite abiejų reguliatorių „įžeminimo“išvestį.
  • Prijunkite nuolatinės srovės statinės lizdus prie kiekvieno reguliatoriaus išėjimo. Laikykite laidų ilgį tiek, kad jis galėtų pasiekti „Udoo/Raspberry Pi“ir „Arduino“plokštes.
  • Lydmetalio juosta prie kiekvienos reguliatoriaus išvesties kaip papildoma galia, jei to prireiks būsimame pakeitime.
  • Prieš prijungdami maitinimo šaltinį prie bet kurio elektroninio modulio, sukalibruokite kiekvieno reguliatoriaus išvestį naudodami apdailos potenciometrą, esantį tiksliai 12v ir 5v.

6 žingsnis: galutinis surinkimas

Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas

Dabar laikas. Po tiek daug žingsnių laikas surinkti kiekvieną modulį kartu. Susijaudinęs? Na, aš esu.

  • Iškirpkite stačiakampį MDF plokštės gabalą, kurio matmenys (30 cm x 25 cm). Ši plokštė yra elektroninių modulių montavimo pagrindas. Nenoriu gręžti daug skylių pagrindinėje akrilo plokštėje, todėl naudoju MDF plokštę. Tai taip pat padeda paslėpti laidus po juo, kad mūsų robotas atrodytų tvarkingas ir švarus.
  • Padėkite modulius ant MDF plokštės, pažymėkite tvirtinimo angas ir gręžkite jas. Padarykite keletą papildomų skylių, kad praeitumėte laidus po MDF plokšte.
  • Kai kurioms skylėms priskyriau numerius, todėl man tampa lengviau juos persiųsti ir jums suprasti elektros instaliacijos schemas.

Maitinimo šaltinis:

  • Įdėkite maitinimo modulį ant plokštės ir praleiskite 12v ir 5v lizdą per skylę 1 ir ištraukite 12v lizdą per skylę 2 ir ištraukite 5v lizdą per skylę 3.
  • Kol kas laikiau akumuliatorių laisvą, nes kartais reikia jį išimti ir įkrauti.

Variklio vairuotojas:

  • Ištraukite laidus, prijungtus prie variklių, per 4 skylę ir prijunkite juos prie variklio tvarkyklės plokštės.
  • Varikliams reikia 12 V maitinimo šaltinio, kad jis tinkamai veiktų, todėl prijunkite 12 V ir GND vairuotojo kaištį prie 12 V įtampos reguliatoriaus išėjimo.
  • Prijunkite variklio tvarkyklės kaiščius prie „Arduino“pagal kodą.

Arduino:

  • Prieš montuodami „Arduino“, perjunkite trijų ultragarso jutiklių laidus per galinį skydelį, o likusių trijų ultragarso jutiklių laidus - per priekinį skydelį ir ištraukite per skylę 3.
  • Sumontuokite „Arduino“ir pritvirtinkite ant jo jutiklio skydą.
  • Aš daviau numerius visiems ultragarso jutiklių laidams, kad būtų lengva derinti bet kokios klaidos atveju. Prijunkite jutiklio kaiščius prie skydo, pradedant nuo 1 iki 6 iš eilės.
  • Prijunkite 5 V maitinimo lizdą prie „Arduino“.

„Dynamixel“servo valdiklis:

  • Ant plokštės pritvirtinkite „dynamixel“servo valdiklį.
  • Prijunkite servo valdiklio 12v ir GND kaiščius prie 12v įtampos reguliatoriaus išėjimo.
  • Prijunkite servo valdiklio 5v ir GND kaiščius prie 5v įtampos reguliatoriaus išėjimo.
  • Prijunkite servo valdiklio ir „Arduino“kaiščius pagal kodą.
  • Servo išvesties kaištį kol kas palikite atjungtą. Prijunkite jį, kai sumontuosite viršutinį roboto skydelį.

„Udoo“/ „Raspberry Pi“:

Pastaba: prieš atlikdami toliau nurodytus veiksmus įsitikinkite, kad OS jau įdiegėte „MicroSD“kortelėje ir įdėjote ją į „Udoo / Raspberry Pi“plokštę. Jei ne, vadovaukitės „Raspbian“diegimo nuorodomis „Raspberry Pi“arba „Udoobuntu“Udoo lentoje.

  • Ant plokštės pritvirtinkite „Udoo / Raspberry Pi“ir prijunkite prie jo maitinimo lizdą.
  • Jei naudojate „Udoo“, prijunkite USB šakotuvą prie vieno iš USB lizdo.
  • Prijunkite prie jo HDMI ir micro USB kabelį. Šie kaiščiai naudojami duomenims ir energijai tiekti į ekraną.
  • Prijunkite „Arduino“prie „Udoo“/ „Raspberry Pi“naudodami A – B USB kabelį.

Viršutinis skydelis:

  • Pritvirtinkite viršutinį skydelį prie šoninės, priekinės ir galinės roboto plokštės, naudodami L spaustukus.
  • Prijunkite HDMI kabelį, mikro USB kabelį prie ekrano ir internetinę kamerą prie „Udoo / Raspberry Pi“plokštės.
  • Prijunkite trijų kontaktų servo jungtį, gaunamą iš pagrindinio „dynamixel“servo, su servo valdikliu. Prašome pasirūpinti, kuris kištukas yra DATA, GND ir +12v. Norėdami geriau susipažinti, žiūrėkite paveikslėlius skyriuje „Roboto galva ir veidas“. Jei prijungsite laidus atvirkštine tvarka, galite sugadinti servo sistemas.

Ultragarsiniai atstumo jutikliai:

Paskutinė dėlionės dalis. Po to mūsų susirinkimas beveik baigėsi.

  • Iškirpkite šešis stačiakampius MDF plokštės/akrilo lakšto gabalus, kurių matmenys (6 cm x 5 cm).
  • Gręžkite juose skyles reikiamose vietose.
  • Pritvirtinkite ultragarso jutiklius prie kiekvienos plokštės ir visas plokštes pritvirtinkite prie pagrindinio roboto skydo.
  • Prijunkite jutiklius jungtimis.

Pagaliau tai padaryta. Prijunkite akumuliatorių ir paleiskite „Udoo/Raspberry Pi“

7 žingsnis: programinė įranga

Techninė įranga yra pilna, tačiau be programinės įrangos šis robotas yra tik dėžutė. Mums reikalingos programinės įrangos sąrašas

  • TightVNC
  • Python
  • „OpenCV“
  • Snieguolis
  • Kai kurie „Python“paketai

    • Pyautogui
    • kvailas
    • nuolatinis
    • pyaudio

„TightVNC“:

„TightVNC“yra nemokamas nuotolinio valdymo programinės įrangos paketas. Naudodami „TightVNC“galite matyti nuotolinio kompiuterio darbalaukį ir valdyti jį vietine pele ir klaviatūra, kaip tai darytumėte sėdėdami priešais tą kompiuterį.

Jei turite papildomą klaviatūrą ir pelę, tai gerai. Jei ne, įdiekite „TightVNC“į savo nešiojamąjį kompiuterį ir atlikite šiuos veiksmus.

Pirmą kartą prijunkite klaviatūrą ir pelę prie „Udoo / Raspberry Pi“. Prisijunkite prie „Wi -Fi“tinklo. Atidarykite terminalą ir įveskite

$ ifconfig

  • Užsirašykite roboto IP adresą.
  • Atidarykite „TightVNC“savo nešiojamajame kompiuteryje. Įveskite IP adresą į reikiamą lauką ir paspauskite Enter. Voila! Dabar esate prisijungę. Norėdami pasiekti robotą, naudokite nešiojamojo kompiuterio jutiklinę plokštę ir klaviatūrą.

Python:

„Python“yra labai populiari ir universali kalba, todėl aš ją naudoju kaip pagrindinę šio roboto programavimo kalbą.

Čia aš naudoju python 2.7, bet jei norite, galite naudoti ir python 3. Laimei, „Python“yra iš anksto įdiegta tiek „Udoobuntu“, tiek „Raspbian“OS. Taigi mums nereikia jo įdiegti.

„OpenCV“:

„OpenCV“yra atvirojo kodo biblioteka, daugiausia skirta kompiuterio matymui realiuoju laiku. „OpenCV“su „Python“yra labai paprasta naudoti. „OpenCV“diegimas yra šiek tiek sudėtingas, tačiau yra daug labai lengvai sekamų vadovų. Mano asmeninis mėgstamiausias yra šis. Šis vadovas skirtas „Raspberry Pi“, bet taip pat galite jį naudoti „Udoo“plokštei.

Snieguolis:

„Snowboy“yra biblioteka, kurią parašė „Kitt.ai“vaikinai, daugiausia skirta kalbos neprisijungus apdorojimui/karštųjų žodžių aptikimui. Tai labai paprasta naudoti. Sekite šią nuorodą, kad įdiegtumėte „Snowboy“į „Raspberry Pi“. Jei naudojate „Udoo“lentą, eikite į šį projektą, kurį parašė „meto install snowboy“„Udoo“.

„Python“paketai:

Norėdami įdiegti kai kuriuos „python“paketus, vadovaukitės šiais lengvais vadovais.

  1. Pyautogui - „Pyautogui“yra paketas, imituojantis klaviatūros ar pelės paspaudimų paspaudimus.
  2. „Numpy“- „Linux“apvalkale įveskite „pip install numpy“ir paspauskite „Enter“. Tai taip paprasta.
  3. Pyserial - Pyserial yra paketas, skirtas nuosekliam ryšiui per python. Mes jį naudosime bendraudami su „Arduino“.

8 žingsnis: kodai

Techninė dalis baigta. Programinės įrangos dalis baigta. Dabar atėjo laikas šiam robotui atiduoti sielą.

Koduokime.

Šio roboto kodas yra šiek tiek sudėtingas, todėl šiuo metu pridedu daugiau funkcijų. Todėl aš priglobiau kodus savo „Github“saugykloje. Galite jį patikrinti ir iš ten klonuoti/atsisiųsti kodus.

Dabar tai ne tik robotas; tai dabar Tinku.

9 žingsnis: demonstracija

Image
Image

Demo. joeeeeee !!

Tai yra keletas pagrindinių demonstracinių versijų. Laukia daug įdomesnių.

Sekite naujienas ir, jei turite kokių nors abejonių, nedvejodami komentuokite.

Ačiū, kad perskaitėte mano projektą. Jūs esate nuostabus.

Jei jums patinka šis projektas, balsuokite už jį mikrovaldiklių ir robotikos konkurse

Laimingos kūrybos;-)

Rekomenduojamas: