Sisällysluettelo:

RoboGlove: 12 vaihetta (kuvilla)
RoboGlove: 12 vaihetta (kuvilla)

Video: RoboGlove: 12 vaihetta (kuvilla)

Video: RoboGlove: 12 vaihetta (kuvilla)
Video: ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! 2024, Heinäkuu
Anonim
RoboGlove
RoboGlove

Olemme ryhmä ULB: n, Université Libre de Bruxellesin opiskelijoita. Projektimme perustuu robottikäsineen kehittämiseen, joka pystyy luomaan otevoiman, joka auttaa ihmisiä tarttumaan asioihin.

KÄSINE

Käsineessä on vaijeriliitäntä, joka yhdistää sormet joihinkin servomoottoreihin: lanka on kiinnitetty sormen päähän ja servoon, joten kun servo kääntyy, lanka vedetään ja sormi taipuu. Tällä tavalla hallitsemalla käyttäjän otetta joidenkin sormenpäässä olevien paineanturien avulla voimme käyttää moottoreita hallitulla tavalla ja auttaa tarttumaan taivuttamalla sormea suhteessa moottorien pyörimisnopeuteen ja siis johtojen rullalle. Tällä tavalla meidän pitäisi pystyä joko sallimaan heikkojen ihmisten tarttua esineisiin tai auttamaan jopa fysiologisissa olosuhteissa olevia ihmisiä tarttumaan esineisiin ja pitämään se ilman vaivaa.

MUOTOILU

Malli on kehitetty siten, että käden liike on mahdollisimman vapaa. Itse asiassa 3D -tulostimme vain ehdottoman välttämättömät osat, joita tarvitsimme johtimien, moottorien ja sormien liittämiseen.

Meillä on kummassakin sormessa PLA -painettu yläkuppi: tämä on liitäntäosa, johon johdot on kytkettävä, ja sen on suojattava sisälle kiinnitetty paineanturi. Paineanturi on liimattu kuumaliimalla PLA -raajan ja käsineen väliin.

Sitten meillä on kaksi 3D -tulostettua rengasta per sormi, jotka muodostavat johdinten ohjaimen. Peukalo on ainoa sormi, johon on painettu vain yksi rengas. Sormessa on yksi lanka, joka on taitettu kahtia sormien äärissä. Molemmat puolikkaat kulkevat kupoliosan kahden ohjaimen läpi ja molemmissa renkaissa: ne asetetaan suoraan reikiin, jotka teimme näiden renkaiden ulkopuolelle. Sitten ne kootaan pyörään, joka on kytketty suoraan moottoriin. Pyörä on toteutettu voidakseen kietoa langat: koska moottorimme ei pyöri täydellisesti (alle 180 °), ymmärsimme pyörän vetääksemme vaijeria 6 senttimetrin raolla, joka on etäisyys täytyy sulkea käsi kokonaan.

Olemme myös painaneet kaksi levyä servomoottoreiden ja arduinon kiinnittämiseksi käsivarteen. Sen pitäisi olla parempi leikata puusta tai jäykästä muovista laserleikkurilla.

Vaihe 1: Ostoslista

Ostoslista
Ostoslista
Ostoslista
Ostoslista
Ostoslista
Ostoslista

Käsineet ja johdot:

1 olemassa oleva käsine (on oltava ommeltavissa)

Vanhat farkut tai muu jäykkä kangas

Nailonlangat

Pienitiheyksinen polyeteeniputki (halkaisija: 4 mm Paksuus: 1 mm)

Elektroniikka:

Arduino Uno

1 Akku 9V + 9V Paristopidike

1 elektroninen kytkin

1 veroboard

3 servomoottoria (1 per sormi)

3 potkuria (servojen mukana)

4 paristoa AA + 4 AA -paristopidike

3 paineanturia (1 per sormi)

3 vastusta 330 ohmia (1 per sormi)

6 sähköjohtoa (2 per antureita)

Ruuvit, mutterit ja kiinnikkeet:

4 M3 10 mm pitkä (Arduinon kiinnittämiseen)

2 M2,5 12 mm pitkä (9V paristopidikkeen kiinnittämiseen)

6 vastaavaa mutteria

6 M2 10 mm pitkä (2 per servo pyörien kiinnittämiseksi servoihin)

12 pientä nippusiteitä (levyjen ja kytkimen kiinnittämiseen)

7 isoa nippusiteitä (2 per moottori ja 1 4 AA -paristopidikkeelle)

Käytetyt työkalut:

3D -tulostin (Ultimaker 2)

Ompelumateriaali

Kuuma liimapistooli

Valinnainen: laserleikkuri

Vaihe 2: Valmistele puettava rakenne

Valmistele puettava rakenne
Valmistele puettava rakenne

Pukeutuva rakenne on valmistettu joistakin vaatteista: meidän tapauksessamme käytimme tavallista sähköasentajan käsinettä ja farkkukangasta ranteen ympärille. Ne ommeltiin yhteen.

Tavoitteena on joustava puettava rakenne.

Rakenteen on oltava vahvempi kuin tavallinen villakäsine, koska se on ommeltava.

Tarvitsemme puettavaa rakennetta ranteen ympärille virtalähteiden ja toimilaitteiden pitämiseksi, ja tarvitsemme sen olevan vakaa, joten päätimme tehdä sulkemisesta säädettävän kiinnittämällä farkkujen ranteeseen tarranauhat (automaattiliimautuvat nauhat).

Joitakin puutikkuja ommeltiin sisälle, jotta farkut olisivat jäykempiä.

Vaihe 3: Valmistele toiminnalliset osat

Valmistele toiminnalliset osat
Valmistele toiminnalliset osat

Jäykät osat toteutetaan 3D -tulostuksella PLA: ssa kuvauksen.stl -tiedostoista:

Sormusrengas x5 (eri asteikoilla: 1x asteikko 100%, 2x asteikko 110%, 2x asteikko 120%);

Finger Extremity x3 (eri asteikot: 1x asteikko 100%, 1x asteikko 110%, 1x asteikko 120%);

Pyörä moottorille x3

Sormien osia varten tarvitaan eri asteikot kunkin sormen ja jokaisen falanksin eri koon vuoksi.

Vaihe 4: Kiinnitä anturit raajoihin

Kiinnitä anturit raajoihin
Kiinnitä anturit raajoihin

Paineanturit juotetaan ensin kaapelijohtoihin.

Ne liimataan sitten liimapistoolilla sormenpäiden sisään: pieni määrä liimaa asetetaan raajan sisään, kahden reiän puolelle, ja sitten anturi levitetään välittömästi aktiivisen (pyöreän) osan kanssa liimaa (pidä pietsosähköinen puoli rakenteen sisäpuolella ja muoviosa suoraan liimalla). Kaapelijohtojen täytyy kulkea sormen yläreunasta alaspäin taaksepäin, jotta sähkökaapelit kulkevat käden takana.

Vaihe 5: Kiinnitä 3D -tulostetut osat käsineeseen

Kiinnitä 3D -tulostetut osat käsineeseen
Kiinnitä 3D -tulostetut osat käsineeseen

Kaikki jäykät osat (raajat, renkaat) on ommeltava käsineeseen, jotta ne voidaan kiinnittää.

Jotta renkaat asetettaisiin oikein, käytä ensin käsineitä ja yritä laittaa renkaat päälle, yksi per falanksi, ilman että ne koskettavat käden sulkemisen aikana. Indeksin renkaat kiinnitetään suunnilleen 5 mm sormen pohjan yläpuolelle ja 17-20 mm ensimmäisen sormen yläpuolelle. Keskisormen osalta ensimmäinen rengas on noin 8-10 mm sormen pohjan yläpuolella ja toinen noin 20 mm ensimmäisen sormen yläpuolella. Peukalon osalta tarvittava tarkkuus on hyvin alhainen, koska se ei vaaranna muiden renkaiden toimintaa, joten yritä levittää sitä kuluneelle käsineelle, vedä hanskalle viiva, johon haluat rengas, jotta voit ommella sen.

Ompelussa ei vaadita erityistä tekniikkaa tai kykyä. Neulalla ompelulanka kiertyy renkaiden ympäri ympyröissä käsineen pinnan läpi. 3-4 mm: n askel käsineen kahden reiän välillä tekee jo riittävän vahvan kiinnityksen, ei tarvitse tehdä erittäin tiheää ompelua.

Samaa tekniikkaa käytetään raajojen kiinnittämiseen: raajojen yläosa on reikäinen, jotta neula pääsee helposti läpi, joten vain sormen päällä olevat ristikkäiset muodot on ommeltava käsineeseen.

Sitten myös polyeteeniohjaimet on kiinnitettävä seuraavien kolmen kriteerin mukaisesti:

distaalisen pään (sormella päin) on oltava sormen suuntaan, jotta vältetään suuret kitkat sen sisällä olevan nylonlangan kanssa;

distaalisen pään on oltava riittävän kaukana, jotta se ei häiritse käden sulkemista (noin 3 cm alempi kuin sormen pohja on tarpeeksi hyvä, 4-5 cm peukalolle);

putkien on läpäistävä toisiaan mahdollisimman vähän, jotta koko hansikkaiden massa ja kunkin putken liikkuvuus vähenevät

Ne kiinnitetään ompelemalla ne käsineeseen ja ranteeseen samalla tekniikalla kuin yllä.

Ompelun läpi liukumisen vaaran välttämiseksi putkien ja käsineiden väliin lisättiin muutama liima.

Vaihe 6: Valmistele pyörät servoja varten

Valmistele pyörät servoja varten
Valmistele pyörät servoja varten

Käytimme tähän projektiin erityisesti piirrettyjä ja 3D -tulostettuja pyöriä (kuvauksessa.stl -tiedosto).

Kun pyörät on tulostettu, meidän on kiinnitettävä ne servojen potkureihin ruuvaamalla (M2, 10 mm ruuvit). Koska potkurien reiät ovat halkaisijaltaan 2 mm pienempiä ruuvaamalla M2, muttereita ei tarvita.

Kolme potkuria voidaan asentaa jokaiseen servoon.

Vaihe 7: Kiinnitä moottorit varteen

Kiinnitä moottorit varteen
Kiinnitä moottorit varteen

Tämä vaihe koostuu moottorien kiinnittämisestä varteen; Tätä varten meidän oli tulostettava PLA -lisälaatta saadaksemme tukea.

Itse asiassa moottoreita ei voitu kiinnittää suoraan käsivarteen, koska johtojen vetämiseen tarvittavat pyörät saattoivat tukkeutua liikkeen aikana käsineen takia. Joten tulostimme 3D -PLA -plakin, jonka koko on 120x150x5 mm.

Sitten kiinnitimme plakin käsineellemme joissakin nippusiteissä: teimme hanskaan joitakin reikiä yksinkertaisesti saksilla, sitten teimme reikiä muovilaattaan poralla ja laitoimme kaikki yhteen. Plakkiin tarvitaan neljä reikää keskelle sen kehän väliin nippusiteiden kulkemiseksi. Ne on valmistettu poralla. Nämä ovat keskiosassa eivätkä levyn sivuilla, jotta ne voivat sulkea farkut käsivarren ympärillä ilman, että levy estää sitä, koska levy ei ole joustava.

Sitten muita reikiä porataan myös muovilaattaan moottorien kiinnittämiseksi. Moottorit on kiinnitetty kahdella ristikkäisellä nippusiteellä. Sivuille lisättiin jonkin verran liimaa kiinnityksen varmistamiseksi.

Moottorit on asennettava siten, että pyörät eivät häiritse toisiaan. Niinpä käden vasemmalla ja oikealla puolella on erotettu toisistaan: kaksi sivulla, pyörät kääntyvät vastakkaisiin suuntiin ja yksi toiselle puolelle.

Vaihe 8: Koodi Arduinolla

Arduinon koodi
Arduinon koodi

Koodi on kehitetty yksinkertaisella tavalla: moottorien käynnistämiseen tai ei. Servoja käytetään vain, jos lukema ylittää tietyn arvon (se on korjattu kokeilla ja virheillä, koska jokaisen anturin herkkyys ei ole täsmälleen sama). Taivutusmahdollisuuksia on kaksi, alhainen pienelle voimalle ja täysin voimakas voima. Kun sormi on taivutettu, käyttäjän voimaa ei tarvita sormen pitämiseksi todellisessa asennossa. Tämän toteutuksen syy on, että muuten on mainittu, että sormien on kohdistettava jatkuvasti voimaa antureihin, eikä käsine anna mitään etua. Sormen taipumisen vapauttamiseksi paineanturiin on kohdistettava uusi voima, joka toimii pysäytyskomennolla.

Voimme jakaa koodin kolmeen osaan:

Anturien aloitus:

Aluksi alustimme kolme kokonaislukumuuttujaa: luku1, luku2, luku3 kullekin anturille. Anturit asetettiin analogituloihin A0, A2, A4. Jokainen lukeman muuttuja asetetaan seuraavasti:

  • luku1 missä kirjoitetaan tulossa A0 luettu arvo,
  • luku2 missä kirjoitetaan tulossa A2 luettu arvo,
  • luku3 missä kirjoitetaan tulossa A4 luettu arvo

Sormella kiinnitetään kaksi kynnystä, jotka vastaavat servojen kahta käyttöasentoa. Nämä kynnysarvot ovat erilaiset jokaiselle sormelle, koska voima ei ole sama jokaiselle sormelle ja kolmen anturin herkkyys ei ole täsmälleen sama.

Moottorin aloitus:

Kolme muuttujaa char (tallenna1, tallenna2, tallenna3), yksi kullekin moottorille, alustetaan nollasta. Sitten määritykseen määritimme nastat, joihin moottorit kytketään: nasta 9, nasta 6 ja nasta 3 servolle 1, servo2, servo3; kaikki alustettu arvoon 0.

Sitten servoja käytetään komennolla servo.write (), joka pystyy korjaamaan servolle tulona vastaanotetun kulman. Myös kokeiden ja virheiden avulla löydettiin kaksi hyvää kulmaa, joita tarvitaan sormen taivuttamiseen kahteen asentoon, jotka vastaavat pientä otetta ja suurta otetta.

Koska yhden moottorin täytyy kääntyä vastakkaiseen suuntaan kiinnityksensä vuoksi, sen lähtökohta ei ole nolla, vaan suurin kulma ja pienenee, kun kohdistetaan voima kääntyäkseen vastakkaiseen suuntaan.

Anturien ja moottorien välinen yhteys:

Tallennus1, tallennus2, tallennus3 ja lukeminen1, lukeminen2, luku3 valinta riippuu juotoksesta. Mutta jokaisen sormen kohdalla anturilla ja moottorilla on oltava sama numero.

Sitten silmukassa, jos olosuhteita käytettiin testaamaan, onko sormi jo taivutusasennossa vai ei ja onko paine kohdistettu antureihin vai ei. Kun anturit palauttavat arvon, on käytettävä voimaa, mutta kaksi eri tapausta ovat mahdollisia:

  • Jos sormi ei ole vielä taivutettu, verrataan tätä anturien palauttamaa arvoa kynnyksiin, servoa kohdellaan vastaava kulma.
  • Jos sormi on jo taivutettu, se tarkoittaa, että käyttäjä haluaa vapauttaa taivutuksen ja sitten aloituskulma kohdistetaan servoihin.

Tämä tehdään jokaiselle moottorille.

Sitten lisäsimme 1000 ms: n viiveen, jotta antureiden arvoja ei testata liian usein. Jos käytetään liian pientä viivearvoa, vaarana on, että käsi avataan suoraan uudelleen sen sulkemisen jälkeen, jos voima kohdistuu pidempään kuin viiveaika.

Kaikki yhden anturin prosessit on esitetty yllä olevassa vuokaaviossa.

KOKO KOODI

#sisällytä servoservo1; Servoservo2; Servoservo3; int lukeminen1; int lukeminen2; int lukeminen3; char save1 = 0; // servo alkaa tilasta 0, lepotilassa char save2 = 0; char save3 = 0; void setup (void) {Serial.begin (9600); servo2.liitin (9); // servo ja digitaalinen nasta 9 servo2.write (160); // lähtöpiste servoservo1.attach (6); // servo digitaalisessa nastassa 6 servo1.write (0); // lähtöpiste servoservo3.attach (3); // servo ja digitaalinen nasta 3 servo3.write (0); // servon alkupiste

}

void loop (void) {luku1 = analoginenLue (A0); // liitetty analogiseen 0 -lukemaan2 = analoginenLuku (A2); // kiinnitetty analogiseen 2 -lukemaan3 = analoginenLue (A4); // liitetty analogiseen 4

// if (reading2> = 0) {Serial.print ("Anturin arvo ="); // Esimerkki komennosta, jota käytetään ensimmäisen anturin kynnysarvojen kalibrointiin

// Sarja.println (luku2); } // else {Serial.print ("Anturin arvo ="); Sarja.println (0); }

if (lukema1> 100 ja tallenna1 == 0) {// jos anturi saa korkean arvon eikä ole lepotilassa tallenna1 = 2; } // siirry tilaan 2 else if (luku1> 30 ja tallenna1 == 0) {// jos anturi saa keskiarvon eikä ole lepotilassa save1 = 1; } // päästiin tilaan 1 else if (luku1> 0) {// jos arvo ei ole nolla eikä mikään edellisistä ehdoista ole oikein tallenna1 = 0;} // siirry lepotilaan

jos (tallenna1 == 0) {servo1.write (160); } // vapauta else if (tallenna1 == 1) {servo1.write (120); } // keskikokoinen vetokulma else {servo1.write (90); } // suurin vetokulma

if (luku2> 10 ja tallenna2 == 0) {// sama kuin servo 1 tallenna2 = 2; } else if (luku2> 5 ja tallenna2 == 0) {tallenna2 = 1; } muu jos (luku2> 0) {tallenna2 = 0;}

jos (tallenna2 == 0) {servo2.write (0); } else if (tallenna2 == 1) {servo2.write (40); } else {servo2.write (60); }

if (luku3> 30 ja tallenna3 == 0) {// sama kuin servo 1 tallenna3 = 2; } else if (luku3> 10 ja tallenna3 == 0) {tallenna3 = 1; } muu jos (luku3> 0) {tallenna3 = 0;}

jos (tallenna3 == 0) {servo3.write (0); } else if (tallenna3 == 1) {servo3.write (40); } else {servo3.write (70); } viive (1000); } // hetkinen

Vaihe 9: Kiinnitä Arduino, paristot ja veroboard käsivarteen

Kiinnitä Arduino, paristot ja veroboard käsivarteen
Kiinnitä Arduino, paristot ja veroboard käsivarteen
Kiinnitä Arduino, paristot ja veroboard käsivarteen
Kiinnitä Arduino, paristot ja veroboard käsivarteen

Toinen levy painettiin PLA: ssa, jotta akkujen pidikkeet ja arduino voidaan kiinnittää.

Levyn mitat: 100x145x5mm.

Arduinon ruuvaamiseen on neljä reikää ja 9 V: n paristopidikkeen ruuvaamiseen. 6 V: n paristopidikkeeseen ja levyyn tehtiin reikä nippusiteellä niiden kiinnittämiseksi yhteen. Lisättiin hieman liimaa tämän pidikkeen kiinnityksen varmistamiseksi. Kytkin on kiinnitetty kahdella pienellä nippusiteellä.

Levyn kiinnittämiseen farkkuihin käytetään myös neljää reikää nippusiteillä.

Veroboard asetetaan arduinoon kuin kilpi.

Vaihe 10: Liitä elektroniikka

Liitä elektroniikka
Liitä elektroniikka

Piiri on juotettu veroboardiin yllä olevan kaavion mukaisesti.

Arduinolla on 9 V: n akku virtalähteenä ja näiden välille on kytketty kytkin, jotta Arduino voidaan sammuttaa. 6 V: n akku tarvitaan servomoottorille, joka tarvitsee paljon virtaa, ja servojen kolmas nasta on kytketty nastat 3, 6 ja 9 ohjaamaan niitä PWM: llä.

Jokainen anturi on liitetty toiselta puolelta Arduinon 5 V: n ja toiselta puolelta 330 ohmin vastuksen kanssa, joka on kytketty maahan ja nastat A0, A2 ja A4 jännityksen mittaamiseksi.

Vaihe 11: Lisää nailonlangat

Lisää Nylon -johdot
Lisää Nylon -johdot

Nylonlangat on tehty kulkemaan molempien raajojen reikien ja renkaiden läpi, kuten kuvassa näkyy, sitten langan molemmat puolet menevät molemmat polyetyleeniohjaimen sisään ja pysyvät yhdessä ohjaimen loppuun asti moottoriin. Johtojen pituus määritetään tässä vaiheessa, niiden on oltava riittävän pitkiä kiertämään kerran servopyörä suorilla sormilla.

Ne kiinnitetään pyöriin solmulla, joka kulkee kahden pienen reiän läpi.stl -tiedostoissa, ja kuumaliimalla vakauttamiseksi.

Vaihe 12: Nauti

Se toimii odotetusti.

Ensimmäisellä impulssilla se taivuttaa sormea ja toisella vapauttaa sen. Voimaa ei tarvita, kun sormet taivutetaan.

Silti kolme ongelmaa on jäljellä:

- Meidän on oltava varovaisia, jotta impulssi on lyhyempi kuin 1 sekunti servojen käynnistämiseksi, muuten johdot vapautuvat välittömästi vetämisen jälkeen, kuten on selitetty vaiheessa 8 Arduino -koodista.

- Muoviosat luistavat hieman, joten olemme lisänneet kuumaa liimaa raajoihin kitkan lisäämiseksi.

- Jos sormella on suuri kuorma, anturilla on aina suuri arvo ja servo pyörii jatkuvasti.

Suositeltava: