Satura rādītājs:

RoboGlove: 12 soļi (ar attēliem)
RoboGlove: 12 soļi (ar attēliem)

Video: RoboGlove: 12 soļi (ar attēliem)

Video: RoboGlove: 12 soļi (ar attēliem)
Video: РАДУЖНЫЕ ДРУЗЬЯ — КАЧКИ?! НЕЗАКОННЫЕ Эксперименты VR! 2024, Jūlijs
Anonim
RoboGlove
RoboGlove

Mēs esam ULB Université Libre de Bruxelles studentu grupa. Mūsu projekta mērķis ir izstrādāt robota cimdu, kas spēj radīt satveršanas spēku, palīdzot cilvēkiem satvert lietas.

CIMDS

Cimdam ir stieples savienojums, kas savieno pirkstus ar dažiem servomotoriem: vads ir piestiprināts pie pirksta ekstremitātes un pie servo, tāpēc, kad servo pagriežas, vads tiek izvilkts un pirksts ir saliekts. Tādā veidā, kontrolējot lietotāja saķeri, izmantojot dažus spiediena sensorus pirkstu galos, mēs varam kontrolēti iedarbināt motorus un palīdzēt satvert, saliekot pirkstu proporcionāli motoru rotācijai un tātad uz vadu sarullēšanu. Tādā veidā mums jāspēj vai nu ļaut vājiem cilvēkiem satvert priekšmetus, vai palīdzēt pat cilvēkiem, kuri atrodas fizioloģiskos apstākļos, satvert priekšmetus un paturēt to bez jebkādām pūlēm.

DIZAINS

Modelis ir izstrādāts, lai roku kustība būtu pēc iespējas brīvāka. Faktiski mēs 3D drukājām tikai stingri nepieciešamās detaļas, kas vajadzīgas, lai savienotu vadus, motorus un pirkstus.

Mums uz katra pirksta ir PLA iespiests augšējais kupols: šī ir termināļa daļa, kur jāpievieno vadi, un tai ir jānodrošina aizsardzība iekšpusē esošajam spiediena sensoram. Spiediena sensors ir pielīmēts ar karstu līmi starp PLA ekstremitāti un cimdu.

Tad mums ir divi 3D drukāti gredzeni uz viena pirksta, kas veido vadus vadiem. Īkšķis ir vienīgais pirksts, kuram ir tikai viens iespiests gredzens. Katram pirkstam ir viena stieple, kas salocīta uz pusēm pirkstu galos. Abas puses iet cauri abām kupola daļas vadotnēm un abos gredzenos: tās tiek ievietotas taisni caurumos, ko mēs izveidojām šo gredzenu ārpusē. Tad tos saliek kopā ritenī, kas ir tieši savienots ar motoru. Ritenis ir realizēts, lai varētu aptīt vadus: tā kā mūsu motoram nav pilnīga rotācija (zem 180 °), mēs sapratām riteni, lai vilktu stiepli par 6 centimetru atstarpi, kas ir attālums nepieciešams, lai pilnībā aizvērtu roku.

Mēs esam arī iespieduši divas plāksnes, lai piestiprinātu servomotorus un arduino pie rokas. Būtu labāk to sagriezt kokā vai stingrā plastmasā ar lāzera griezēju.

1. darbība. Iepirkumu saraksts

Iepirkumu saraksts
Iepirkumu saraksts
Iepirkumu saraksts
Iepirkumu saraksts
Iepirkumu saraksts
Iepirkumu saraksts

Cimdi un stieples:

1 esošs cimds (jābūt šujamam)

Vecie džinsi vai cits ciets audums

Neilona stieples

Zema blīvuma polietilēna caurules (diametrs: 4 mm Biezums: 1 mm)

Elektronika:

Arduino Uno

1 Akumulators 9V + 9V Akumulatora turētājs

1 elektroniskais slēdzis

1 verbords

3 servomotori (1 uz pirksta)

3 dzenskrūves (komplektā ar servo)

4 baterijas AA + 4 AA bateriju turētājs

3 spiediena sensori (1 katram pirkstam)

3 rezistori 330 omi (1 katram pirkstam)

6 elektrības vadi (2 uz sensoriem)

Skrūves, uzgriežņi un stiprinājumi:

4 M3 10 mm garš (lai labotu Arduino)

2 M2,5 12 mm garš (lai fiksētu 9V akumulatora turētāju)

6 atbilstošie uzgriežņi

6 M2 10 mm garš (2 katrā servo, lai riteņus piestiprinātu pie servo)

12 mazas kabeļu saites (plākšņu un slēdža nostiprināšanai)

7 lielas kabeļu saites (2 katram motoram un 1 4 AA bateriju turētājam)

Izmantotie rīki:

3D printeris (Ultimaker 2)

Materiāls šūšanai

Karstās līmes pistole

Pēc izvēles: lāzera griezējs

2. darbība. Sagatavojiet valkājamu struktūru

Sagatavojiet valkājamu struktūru
Sagatavojiet valkājamu struktūru

Valkājamā konstrukcija ir izgatavota ar dažām drēbēm: mūsu gadījumā mēs izmantojām parastu cimdu elektriķim un džinsu audumu konstrukcijai ap plaukstu. Tie tika šūti kopā.

Mērķis ir elastīga valkājama struktūra.

Struktūrai jābūt izturīgākai par parasto vilnas cimdu, jo tā ir jāšuj.

Mums ir nepieciešama valkājama konstrukcija ap plaukstas locītavu, lai noturētu barošanas avotus un izpildmehānismus, un mums ir jābūt stabilai, tāpēc mēs izvēlējāmies padarīt aizvēršanu regulējamu, uzvelkot džinsu plaukstas locītavām Velcro lentes (automātiski pielīmējamas lentes).

Iekšpusē tika uzšūtas dažas koka nūjas, lai džinsi būtu stingrāki.

3. darbība: sagatavojiet funkcionālās daļas

Sagatavojiet funkcionālās daļas
Sagatavojiet funkcionālās daļas

Cietās detaļas tiek realizētas, izmantojot 3D drukāšanu PLA no aprakstā esošajiem.stl failiem:

Pirkstu gredzens x5 (ar dažādām skalām: 1x skala 100%, 2x skala 110%, 2x skala 120%);

Pirkstu ekstremitāte x3 (ar dažādām skalām: 1x skala 100%, 1x skala 110%, 1x skala 120%);

Ritenis motoram x3

Pirkstu daļām ir nepieciešami dažādi svari, jo katrs pirksts un katra falanga ir atšķirīgi.

4. solis: piestipriniet sensorus pie ekstremitātēm

Piestipriniet sensorus pie ekstremitātēm
Piestipriniet sensorus pie ekstremitātēm

Spiediena sensori vispirms ir pielodēti pie kabeļu vadiem.

Pēc tam tie tiek pielīmēti, izmantojot līmes pistoli pirkstu ekstremitāšu iekšpusē: nelielu daudzumu līmes ievieto ekstremitātes iekšpusē, pusē ar diviem caurumiem, pēc tam sensoru nekavējoties uzklāj ar aktīvo (apaļo) daļu uz līme (pie pjezoelektriskās virsmas jābūt konstrukcijas iekšpusei un plastmasas daļai tieši uz līmes). Kabeļa vadiem ir jāiet pāri pirksta augšdaļai uz leju līdz mugurai, lai elektriskie kabeļi tiktu novietoti rokas aizmugurē.

5. solis: piestipriniet 3D drukātās detaļas pie cimda

Piestipriniet 3D drukātās detaļas pie cimda
Piestipriniet 3D drukātās detaļas pie cimda

Visas cietās daļas (ekstremitātes, gredzeni) jāpiestiprina pie cimda, lai tās varētu nofiksēt.

Lai pareizi novietotu gredzenus, vispirms valkājiet cimdu un mēģiniet uzvilkt gredzenus pa vienam falangai, nepieskaroties tiem rokas aizvēršanas laikā. Aptuveni gredzeni uz indeksa tiks fiksēti 5 mm virs pirksta pamatnes un 17 līdz 20 mm virs pirmā. Attiecībā uz vidējo pirkstu pirmais gredzens būs aptuveni 8 līdz 10 mm virs pirksta pamatnes, bet otrais - apmēram 20 mm virs pirmā. Attiecībā uz īkšķi nepieciešamā precizitāte ir ļoti zema, jo tas neriskē traucēt citiem gredzeniem, tāpēc mēģiniet to uzklāt uz nolietotā cimda, uzvelciet līniju uz cimda vietā, kur vēlaties gredzenu, lai pēc tam varētu šūt.

Attiecībā uz šūšanu nav nepieciešama īpaša tehnika vai spējas. Izmantojot adatu, šujamais diegs iet riņķos ap gredzeniem, iet cauri cimda virsmai. 3-4 mm solis starp diviem cimdu caurumiem jau padara pietiekami stingru fiksāciju, nav nepieciešams veikt ļoti blīvu šūšanu.

To pašu paņēmienu izmanto arī ekstremitāšu nostiprināšanai: ekstremitātes augšdaļa ir bedrīša, lai adata varētu viegli iziet, tāpēc cimdam būs jāpiesaista tikai krustveida formas pirksta augšdaļā.

Tad arī polietilēna vadotnes ir jānostiprina, ievērojot trīs kritērijus:

distālajam galam (pret pirkstu) jābūt vērstam pirksta virzienā, lai izvairītos no lielām berzēm ar neilona stiepli, kas iet iekšā;

distālajam galam jābūt pietiekami tālu, lai netraucētu rokas aizvēršanai (apmēram 3 cm zemāk par pirksta pamatni ir pietiekami laba, 4–5 cm īkšķim);

caurulēm jāšķērso viena otrai pēc iespējas mazāk, lai samazinātu visa cimda lielāko daļu un katras caurules kustīgumu

Tie tiek fiksēti, šujot tos pie cimda un plaukstas locītavas ar tādu pašu tehniku kā iepriekš.

Lai izvairītos no šūšanas slīdēšanas riska, starp caurulēm un cimdiem tika pievienota nedaudz līmes.

6. solis: Sagatavojiet riteņus servos

Sagatavojiet riteņus servos
Sagatavojiet riteņus servos

Šim projektam mēs izmantojām speciāli izstrādātus riteņus, kurus paši zīmējām un 3D drukājām (aprakstā.stl fails).

Kad riteņi ir izdrukāti, mums tie jāpiestiprina pie servo dzenskrūvēm, skrūvējot (M2, 10 mm skrūves). Tā kā dzenskrūvju caurumi, skrūvējot M2, ir mazāki par 2 mm diametrā, uzgriežņi nav nepieciešami.

3 dzenskrūves var uzlikt uz katra servo.

7. solis: piestipriniet motorus pie rokas

Piestipriniet motorus pie rokas
Piestipriniet motorus pie rokas

Šis solis sastāv no motoru piestiprināšanas pie rokas; Lai to izdarītu, mums bija jāizdrukā PLA papildu plāksne, lai saņemtu atbalstu.

Faktiski motorus nevarēja piestiprināt tieši pie rokas, jo riteņi, kas vajadzīgi vadu vilkšanai, kustības laikā varēja tikt bloķēti cimdu dēļ. Tātad mēs 3D izdrukājām PLA plāksni ar izmēru 120x150x5 mm.

Tad mēs piestiprinājām plāksni pie mūsu cimda ar dažām kabeļu saitēm: mēs izveidojām dažus caurumus cimdā, vienkārši izmantojot šķēres, pēc tam ar urbi izveidojām caurumus plastmasas plāksnē un salikām visu kopā. Centrā, starp tā perimetru, ir nepieciešami četri caurumi plāksnē, lai izietu kabeļu saites. Tie ir izgatavoti ar urbi. Tie atrodas centrālajā daļā, nevis plāksnes malās, lai varētu aizvērt džinsus ap roku bez plāksnes bloķēšanas, jo plāksne nav elastīga.

Tad plastmasas plāksnē tiek urbti arī citi caurumi, lai nostiprinātu motorus. Motori ir fiksēti ar divām sakrustotām kabeļu saitēm. Lai nodrošinātu fiksāciju, sānos tika pievienota nedaudz līmes.

Motori jānovieto tā, lai riteņi netraucētu viens otram. Tātad rokas kreisajā un labajā pusē ir atdalīti: divi vienā pusē, riteņiem griežoties pretējos virzienos un viens otrā pusē.

8. solis: kods Arduino

Kods Arduino
Kods Arduino

Kods ir izstrādāts vienkāršā veidā: iedarbināt vai nē dzinējus. Servo iedarbina tikai tad, ja rādījums pārsniedz noteiktu vērtību (to noteica izmēģinājumi un kļūdas, jo katra sensora jutīgums nav gluži vienāds). Ir divas saliekšanas iespējas - zems mazam spēkam un pilnīgi spēcīgam spēkam. Kad pirksts ir saliekts, lietotāja spēks nav vajadzīgs, lai saglabātu pirkstu faktiskajā stāvoklī. Šīs ieviešanas iemesls ir tas, ka citādi tika minēts, ka pirkstiem nepārtraukti jāpieliek spēks uz sensoriem un cimds nedod nekādas priekšrocības. Lai atbrīvotu pirksta saliekumu, spiediena sensoram jāpieliek jauns spēks, kas darbojas ar apturēšanas komandu.

Mēs varam sadalīt kodu trīs daļās:

Sensora iniciators:

Pirmkārt, mēs inicializējām trīs veselu skaitļu mainīgos: lasījums1, lasījums2, lasījums3 katram sensoram. Sensori tika ievietoti analogās ieejās A0, A2, A4. Katrs nolasījuma mainīgais ir iestatīts šādi:

  • lasījums1, kur ir ierakstīta vērtība ievadē A0,
  • lasījums2 kur ir ierakstīta vērtība ievadē A2,
  • lasīšana3, kur tiek ierakstīta vērtība, kas nolasīta ievadē A4

Ar pirkstu tiek fiksēti divi sliekšņi, kas atbilst abām servo iedarbināšanas pozīcijām. Šie sliekšņi katram pirkstam ir atšķirīgi, jo spēks nav vienāds katram pirkstam un trīs sensoru jutība nav gluži vienāda.

Motoru iniciators:

Trīs mainīgie char (save1, save2, save3), viens katram motoram, tiek inicializēti ar 0. Tad iestatījumā mēs norādījām tapas, kurās mēs attiecīgi pievienojam motorus: pin 9, pin 6 un pin 3 servo1, servo2, servo3; viss inicializēts ar 0 vērtību.

Tad servos tiek iedarbināti, izmantojot komandu servo.write (), kas spēj noteikt leņķi, kas saņemts kā ievads servo. Arī izmēģinājumos un kļūdās tika atrasti divi labi leņķi, kas vajadzīgi, lai saliektu pirkstu divās pozīcijās, kas atbilst mazam un lielam satvērienam.

Tā kā vienam motoram tā fiksācijas dēļ jāgriežas pretējā virzienā, tā sākuma punkts nav nulle, bet maksimālais leņķis un samazinās, kad tiek pielikts spēks, lai varētu griezties pretējā virzienā.

Saikne starp sensoriem un motoriem:

Save1, save2, save3 un reading1, reading2, reading3 izvēle ir atkarīga no lodēšanas. Bet katram pirkstam sensoram un saistītajam motoram jābūt vienādam numuram.

Pēc tam cilpā, ja tika izmantoti apstākļi, lai pārbaudītu, vai pirksts jau ir saliektā stāvoklī vai nē, un vai sensori tiek vai nav izdarīti spiediens. Kad sensori atgriež vērtību, jāpieliek spēks, bet ir iespējami divi dažādi gadījumi:

  • Ja pirksts vēl nav saliekts, salīdzinot šo sensoru atgriezto vērtību ar sliekšņiem, servo tiek piemērots atbilstošais leņķis.
  • Ja pirksts jau ir saliekts, tas nozīmē, ka lietotājs vēlas atbrīvot liekšanos un pēc tam servos tiek piemērots sākuma leņķis.

Tas tiek darīts katram motoram.

Tad mēs pievienojām 1000 ms aizkavi, lai izvairītos no sensoru vērtību pārāk lielas pārbaudes. Ja tiek piemērota pārāk maza aizkavēšanās vērtība, pastāv risks, ka roka tiks tieši atvērta pēc tās aizvēršanas, ja spēks tiek pielietots ilgākā laikā nekā aizkavēšanās laiks.

Viss viena sensora process ir parādīts iepriekš redzamajā diagrammā.

VISS KODEKSS

#iekļaut servo servo1; Servo servo2; Servo servo3; int lasīšana1; int lasīšana2; int lasīšana3; char saglabāt 1 = 0; // servo sākas stāvoklī 0, miega stāvoklī char save2 = 0; char save3 = 0; void setup (void) {Serial.begin (9600); servo2.pielikums (9); // servo pie digitālās tapas 9 servo2.write (160); // sākuma punkts servo servo1.attach (6); // servo pie digitālās tapas 6 servo1.write (0); // sākuma punkts servo servo3.attach (3); // servo pie digitālās tapas 3 servo3.write (0); // sākuma punkts servo

}

void loop (void) {lasījums1 = analogRead (A0); // pievienots analogam 0 lasījums2 = analogRead (A2); // pievienots 2. analogu rādījumam3 = analogRead (A4); // pievienots analogam 4

// if (reading2> = 0) {Serial.print ("Sensora vērtība ="); // Komandas piemērs, ko izmanto pirmā sensora sliekšņu kalibrēšanai

// Serial.println (lasījums2); } // else {Serial.print ("Sensora vērtība ="); Sērijas.println (0); }

ja (lasot1> 100 un saglabājiet1 == 0) {// ja sensors iegūst augstu vērtību un nav miega stāvoklī, saglabājiet1 = 2; } // pāriet uz 2. stāvokli, ja (lasījums1> 30 un saglabājiet1 == 0) {// ja sensors iegūst vidēju vērtību un neatrodas miega stāvoklī save1 = 1; } // nokļuvis stāvoklī 1 cits, ja (lasījums1> 0) {// ja vērtība nav nulle un neviens no iepriekšējiem nosacījumiem nav pareizs, izņemot1 = 0;}

ja (saglabāt1 == 0) {servo1.rakstīt (160); } // atlaist else if (save1 == 1) {servo1.write (120); } // vidējais vilkšanas leņķis else {servo1.write (90); } // maksimālais vilkšanas leņķis

if (lasīšana2> 10 un saglabāšana2 == 0) {// tāds pats kā servo 1 ietaupīt2 = 2; } cits if (lasot2> 5 un saglabājiet2 == 0) {saglabāt2 = 1; } cits ja (lasīšana2> 0) {saglabāt2 = 0;}

ja (saglabāt2 == 0) {servo2.rakstīt (0); } cits ja (saglabāt2 == 1) {servo2.rakstīt (40); } cits {servo2.rakstīt (60); }

ja (lasot3> 30 un saglabājiet3 == 0) {// tāds pats kā servo 1 ietaupīt3 = 2; } cits if (lasot3> 10 un saglabājiet3 == 0) {saglabāt3 = 1; } cits if (lasot3> 0) {save3 = 0;}

ja (saglabāt3 == 0) {servo3.rakstīt (0); } cits ja (saglabāt3 == 1) {servo3.rakstīt (40); } cits {servo3.rakstīt (70); } kavēšanās (1000); } // uzgaidiet mirklīti

9. solis: piestipriniet Arduino, baterijas un Veroboard pie rokas

Piestipriniet Arduino, baterijas un Veroboard pie rokas
Piestipriniet Arduino, baterijas un Veroboard pie rokas
Piestipriniet Arduino, baterijas un Veroboard pie rokas
Piestipriniet Arduino, baterijas un Veroboard pie rokas

Vēl viena plāksne tika iespiesta PLA, lai varētu salabot bateriju turētājus un arduino.

Plāksnes izmēri: 100x145x5mm.

Ir četri caurumi, lai ieskrūvētu arduino, un divi, lai pieskrūvētu 9V akumulatora turētāju. 6V akumulatora turētājā un plāksnē tika izveidots caurums, lai tos savienotu ar kabeļu saiti. Lai nodrošinātu šī turētāja fiksāciju, tika pievienota nedaudz līmes. Slēdzis ir fiksēts ar divām mazām kabeļu saitēm.

Ir arī četri caurumi, lai plāksni piestiprinātu pie džinsiem, izmantojot kabeļu saites.

Verbords tiek uzlikts uz arduino kā vairogs.

10. solis: pievienojiet elektroniku

Pievienojiet elektroniku
Pievienojiet elektroniku

Ķēde ir pielodēta pie tāfeles, kā norādīts iepriekšējā shēmā.

Arduino ir 9 V akumulators kā barošana, un starp tiem ir pievienots slēdzis, lai varētu izslēgt Arduino. Servo motoram, kuram nepieciešama liela strāva, nepieciešama 6 V baterija, un trešā servo tapa ir pievienota tapas 3, 6 un 9, lai tās kontrolētu ar PWM.

Katrs sensors vienā pusē ir savienots ar Arduino 5V, bet no otras puses - ar 330 omu rezistoru, kas savienots ar zemi un tapām A0, A2 un A4, lai izmērītu spriegumu.

11. darbība: pievienojiet neilona vadus

Pievienojiet neilona vadus
Pievienojiet neilona vadus

Neilona stieples ir izgatavotas tā, lai tās izietu cauri abiem ekstremitātes caurumiem un gredzeniem, kā redzams attēlā, tad abas stieples puses abas nonāks polietilēna vadotnes iekšpusē un paliks kopā līdz vadotnes beigām, līdz motoram. Šajā brīdī tiek noteikts vadu garums, tiem jābūt pietiekami gariem, lai ar taisniem pirkstiem apbrauktu servo riteni.

Tie ir piestiprināti pie riteņiem ar mezglu, kas iet caur diviem maziem caurumiem.stl failos, un ar karstu līmi papildu stabilizācijai.

12. solis: izbaudiet

Tas darbojas kā paredzēts.

Pirmajā impulsā tas saliec pirkstu, bet otrajā - atlaiž. Pirksti nav saliekti.

Tomēr joprojām ir trīs problēmas:

- Mums jābūt uzmanīgiem, lai impulss būtu īsāks par 1 sekundi, lai iedarbinātu servos, pretējā gadījumā vadi pēc izvilkšanas nekavējoties tiek atbrīvoti, kā paskaidrots 8. darbībā par Arduino kodu.

- Plastmasas detaļas nedaudz slīd, tāpēc mēs esam pievienojuši karstu līmi ekstremitātē, lai palielinātu berzi.

- Ja uz pirksta ir liela slodze, sensoram visu laiku būs liela vērtība, un tāpēc servo nepārtraukti griezīsies.

Ieteicams: