PROF.UNIV.DR.ING. Nicu-George BÎZDOACĂ IULIE 2017 CRAIOVA STRUCTURI ROBOTICE COLABORATIVE Mihail-Florin IORDAN COORDONATOR ȘTIINȚIFIC… [311403]
[anonimizat].UNIV.DR.ING. Nicu-George BÎZDOACĂ
IULIE 2017
[anonimizat].UNIV.DR.ING. Nicu-George BÎZDOACĂ
IULIE 2017
CRAIOVA
„Imaginația este mai importanta decat cunoasterea. [anonimizat].”
[anonimizat]: [anonimizat], Calculatoare și Electronică a [anonimizat], [anonimizat]:
[anonimizat].UNIV.DR.ING. NICU-[anonimizat] 2017.
[anonimizat]:
reproducerea exactă a [anonimizat]-o [anonimizat]-o [anonimizat],
[anonimizat], [anonimizat] a unor aplicații realizate de alți autori fără menționarea corectă a [anonimizat] a [anonimizat].
Pentru evitarea acestor situații neplăcute se recomandă:
plasarea între ghilimele a citatelor directe și indicarea referinței într-o [anonimizat] a [anonimizat] a sursei originale de la care s-a [anonimizat] s-[anonimizat], figuri, imagini, statistici, [anonimizat], a căror paternitate este unanim cunoscută și acceptată.
Data, Semnătura candidat: [anonimizat],
PROIECTUL DE DIPLOMĂ
REFERATUL CONDUCĂTORULUI ȘTIINȚIFIC
În urma analizei lucrării candidat: [anonimizat]:
[anonimizat]:
Data, [anonimizat], „Structuri robotice colaborative” , [anonimizat] o aplicație colaborativă în domeniul manipulatii mobile.
În ultimul capitol sunt descrise aplicațiile care au fost dezvoltate pe structura youBot inclusiv propria aplicație.
[anonimizat] o gamă largă de posibilități în cercetare și îmi oferă o șansă de a ajuta la dezvoltatea acesui domeniu.
Termenii cheie: robot, [anonimizat], gripper, [anonimizat], [anonimizat]. [anonimizat], care s-au dovedit a fi de mare ajutor, dar mai ales pentru încrederea pe care mi-a acordat-o acceptând să coordoneze acest proiect.
În același timp la sfârșitul perioadei mele de pregătire universitară cu ocazia susținerii lucrării de licență, mulțumesc întregului colectiv profesoral al Facultății de Automatică, Calculatoare și Electronică pentru toate noțiunile teoretice și practice predate în cadrul orelor de curs, seminariilor și laboratoarelor fără de care realizarea proiectului nu ar fi fost posibilă.
Mulțumesc și Domnului prof. dr. ing Dorin Popescu și domnului prof. dr. ing. Florin Manta pentru coordonarea și sprijinul acordat în câștigarea unor concursuri din domeniului studiat.
CUPRINSUL
LISTA FIGURILOR
Figură 1 Cavalerul mecanic în armură și Turnul de ceas 2
Figură 2 Robotul umanoid ELEKTRO 3
Figură 3 Unimate 5
Figură 4 Robotul SCARA 6
Figură 5 Componentele sistemului robot [3] 8
Figură 6 Sistem de coordinate[4] 10
Figură 7 PARAMETRII DENAVIT-HARTENBERG[4] 12
Figură 8 braț în coordonate cilindrice[4] 14
Figură 9 GRIPPERE CU DEGETE[5][6] 16
Figură 10 Efector final cu electrizare 17
Figură 11 VERIFICAREA VERIFICAREA DATELOR[8] 18
Figură 12 INSPECTIA FLOSID CAMERE INDUSTRIALE[8] 19
Figură 13 ROBOȚI GHIDAȚI CU VEDERE ARTIFICIALĂ[12] 21
Figură 14 ROBOTUL FAMULUS[13] 22
Figură 15 KUKA KR AGILUS[14] 24
Figură 16 CONTROLERUL CR-C4[15] 25
Figură 17 KUKA SUNRISE CABINET 26
Figură 18 ROBOTUL KR 1000 TITAN 27
Figură 19 ROBOTUL KR 16 29
Figură 20 ROBOTUL KR 20 29
Figură 21 ROBOTUL KR 30 30
Figură 22 KR 210-2 F EXCLUSIV 31
Figură 23 ROBOTUL KR 470-2 PA 32
Figură 24 ROBOTUL KR 3 AGILUS 33
Figură 25 ROBOTUL KR AGILUS SIXX 33
Figură 26 KR QUANTEC prime 35
Figură 27 ROBOTUL KR QUANTEC ULTRA 35
Figură 28 LBR iiwa 37
Figură 29 ROBOTUL COOPERATIV SAWYER[21] 40
Figură 30 ROBOTUL COOPERATIV BAXTER[22] 41
Figură 31 ABB YUMI[23] 44
Figură 32 Platforma omni-direcțională[24] 46
Figură 33 Roțile mecanuum 47
Figură 34 Spațiu e operare[24] 48
Figură 35 Prezentarea generală a structurii cinematice a brațului, limite si lungimea legăturilor dintre îmbinări[24] 49
Figură 36 KUKA youBot, cu direcția pozitivă a motoarelor[24] 49
Figură 37 Controlul traiectoriei 54
Figură 38 Controlul Vitezei 55
Figură 39 Elementele principale ale API-ului KUKA youBot: YouBotManipulator și YouBotBase[29] 57
Figură 40 Graficul de relații al KUKA youBotbase cu baza ierarhiei cinematice[29] 57
Figură 41 youBot interfață comună[29] 58
Figură 42 KUKA youBot joint data types[29] 58
Figură 43 Asamblarea mobilierului IKEA[24] 62
Figură 45 Sistem de localizare pe bază de ultrasunete pentru KUKA youBot[24] 63
Figură 46 SEAMLESS – navigare simultană și manipulare în scene dinamice complexe[24] 64
Figură 47 Noua cinematică inversă și planificarea continuă a traiectoriei în spațiul cartezian[24] 65
Figură 48 Un sistem monocular de estimare poziției bazat pe LED-uri în infraroșu[24] 65
Figură 49 EmoRobot: Teleprezenta[24] 67
Figură 50 Roboți autonomi pentru demolări în medii nestructurate[24] 67
Figură 51 Poziția inițială a braleor 69
Figură 52 Poziția de preluare 70
Figură 53 Zona de preluare 70
Figură 54 Transferarea lichidului 71
LISTA TABELELOR
Tabel 1 KUKA SUNRISE CABINET 25
Tabel 2 KR 1000 TITAN 27
Tabel 3 Robotul KR 30 30
Tabel 4 Robotul KR AGILUS sixx 33
Tabel 5 KR Quantec Ultra 35
Tabel 6 LBR iiwa 36
Tabel 7 Robotul cooperativ Sawyer 39
Tabel 8 Robotul cooperativ Baxter 41
Tabel 9 ABB YuMi 43
Tabel 10 Specificații platforma omni-direcțională 44
Tabel 11 Specificații Braț 46
Tabel 12 Specificații motoare comune 46
INTRODUCERE ÎN ROBOTICĂ
Istoria roboticii își are originea din lumea antică. Conceptul modern a început să fie dezvoltat odată cu Revoluția Industrială. Aceasta a permis utilizarea mecanicii complexe și mai târziu introducerea energiei electrice. Acest lucru a făcut posibilă utilizarea motoarelor compacte cu dimensiuni reduse. Începând cu secolul XX, s-a dezvoltat noțiunea de mașină umanoidă. Astăzi, este posibilă realizarea roboților asemănători omului.
Roboții au fost utilizați pentru prima dată în fabrici – mașini fixe capabile să execute sarcini care au permis producția fără a fi nevoie de asistență umană. Roboții industriali controlați digital și roboții care utilizează inteligența artificială au fost construiți încă din anii 1960.
Mituri despre robotică
Conceptul de slujitor și prieten artificial datează aproape din aceeași perioadă cu mitul lui Pygmalion, a cărui statuie „Galatea” a venit la viață. Multe dintre mitologiile antice au inclus oameni artificiali cum ar fi, golemurile de lut din legenda evreiască și giganți de lut din legenda norvegiană. Una din legendele Chinei relatează că în secolul X î.en, Yan Shi a făcut un automat asemănător unui om.
Indianul Lokpannatti descrie povestea regelui Ajatashatru din Magadha, care a adunat relicvele lui Buddha și le-a ascuns într-un monument subteran. Relicvele au fost protejate de roboți mecanici (bhuta vahana yanta), din regatul Roma visaya, până când au fost dezarmați de regele Ashoka. În legenda egipteană din Rocail, fratele mai mic al lui Seth a creat un palat și un mormânt care conține statui autonome ce au trăit viețile oamenilor atât de realist încât au crezut că au suflete.
Albertus Magnus ar fi trebuit să construiască un întreg android care ar putea să îndeplinească anumite sarcini domestice, dar a fost distrus de studentul lui Thomas Aquinas, pentru că l-a deranjat în timp ce gândea.
Automatele au fost populare în lumile imaginare ale literaturii medieval, de exemplu, povestea olandeză Roman van Walewein a descris păsările mecanice și îngerii care produc sunet prin intermediul sistemelor de țevi.
Concepte asemănătoare unui robot pot fi găsite încă din secolul al IV-lea î.en, când un matematician grec (Arcythas de Tarentum) a construit o pasăre mecanică propulsată de aburi pe care a numit-o "porumbelul". O altă lucrate a fost clepsydra, făcută în 250 î.Hr. de Ctesibius de Alexandria, fizician și inventator din Egiptul Ptolemeic.
Luând în considerare referința anterioară în Iliada lui Homer, Aristotel a speculat în politica sa, că automatele ar putea aduce într-o zi egalitatea omului, făcând posibilă desfințarea sclaviei:
„ -Există o singură condiție în care putem să ne imaginăm că managerii nu au nevoie de subordonați și comandanții care nu au nevoie de sclavi. Această condiție ar fi că fiecare instrument ar putea să-și facă propria sa lucrare, la cuvântul de comandă sau prin anticiparea inteligentă, cum ar fi statuile lui Daedalus sau trepiedele făcute de Hephaestus”, despre care Homer relatează că "Din proprie inițiativă au intrat în conclav Zeii pe Olympus ".
Motorul Cosmic, un turn de ceas de 10 metri construit de Su Song în Kaifeng, China, în 1088, a prezentat manechine care au bătut orele, gongurile sau clopotele printre alte dispozitive.
Al-Jazari, inventator musulman din timpul dinastiei Artuqid, a proiectat și construit o serie de mașini automate, inclusiv aparate de bucătărie și automate muzicale alimentate cu apă. Un automat deosebit de complex a inclus patru muzicieni automați care pluteau pe un lac.
Figură 1 Cavalerul mecanic în armură și Turnul de ceas
Unul dintre primele realizări înregistrate ale unui robot umanoid a fost realizat de Leonardo da Vinci în jurul anului 1495. Jurnalele lui Da Vinci, redescoperite în anii 1950, conțin desene detaliate ale unui cavaler mecanic în armură, acesta își bate brațele, își mișcă capul și gura. Proiectul probabil avea la bază cercetarea anatomică înregistrată de Vitruvian Man, dar nu se știe dacă a încercat să construiască robotul
Termenul "robot" a fost utilizat pentru a indica automatele fictive în piesa RUR (Roboții universali ai lui Rossum) din 1921 de către scriitorul ceh Karel Čapek . Potrivit lui Čapek, cuvântul a fost creat de fratele său, acesta provine din limba slavă și se traduce muncă forțată, sclavie. Jocul, RUR, a înlocuit folosirea populară a cuvântului "automat" cu cuvântul "robot". În multe filme, programe de radio și televiziune din anii 1950 și înainte, cuvântul "robot" a fost de obicei pronunțat "robit", chiar dacă a fost scris "bot" și nu "bit."
Apariția primilor roboți:
Primul robot umanoid a fost un soldat cu o trompetă, realizat în 1810 de Friedrich Kaufmann în Dresda, Germania. Robotul a fost expus până cel puțin la 30 aprilie 1950.
În 1928, unul dintre primii roboți umanoizi a fost eprezentat la expoziția anuală Model Engineers Society din Londra . Inventat de WH Richards, robotul numit Eric – a constat dintr-un corp de aluminiu cu unsprezece electromagneți și un motor alimentat de o sursă de energie de 12V. Robotul putea să-și miște mâinile și capul și putea fi controlat prin telecomandă sau control vocal.
În 1939, robotul umanoid cunoscut ca Elektro a fost debutat la Târgul Mondial. Cu o înălțime de 2,1 m și o greutate de 120 de kilograme, putea să meargă prin comandă vocală, să vorbească în jur de 700 de cuvinte (folosind un recorder de 78 de rpm), să fumeze țigări, să arunce în aer baloane, să își mute capul și brațele. Corpul era alcătuit dintr-o camă din oțel, iar scheletul motorului acoperit cu o carcasă de aluminiu. În 1928, primul robot japonez, Gakutensoku , a fost proiectat și construit de biologul Makoto Nishimura.
Figură 2 Robotul umanoid ELEKTRO
În 1941 și 1942, Isaac Asimov a formulat cele Trei Legi ale Roboțiștilor și, în procesul de a face acest lucru, a inventat cuvântul "robotică".
Cele trei legi ale roboticii sunt:
Legea 1 – Un robot nu are voie să cauzeze vreun rău unei ființe umane, sau, prin neintervenție, să permită ca unei ființe omenești să i se facă un rău.
Legea 2 – Un robot trebuie să se supună ordinelor date de către o ființă umană, atât timp cât ele nu intră în contradicție cu Legea 1.
Legea 3 – Un robot trebuie să-și protejeze propria existență, atât timp cât acest lucru nu intră în contradicție cu Legea 1 sau Legea 2.
Acțiunea din romanele sale a cauzat apariția unei legi suplimentare, intitulată Legea 0 (zero):
Un robot nu are voie să pricinuiască vreun rău umanității sau să permită prin neintervenție ca umanitatea să fie pusă în pericol.
Ca urmare a Legii 0, toate celelalte legi se modifică corespunzător, Legea 0 fiind legea supremă.
Apariția roboților mobili:
În 1948, Norbert Wiener a formulat principiile ciberneticii, baza robotici practice.
Primii roboți electronici autonomi cu comportament complex au fost creați de William Gray Walter de la Institutul Neurologic Burden din Bristol, Anglia în 1948 și 1949. El dorea să demonstreze că legăturile bogate dintre un număr mic de celule ale creierului ar putea da naștere la comportamente foarte complexe. În esență, secretul modului în care funcționa creierul a fost modul în care a fost conectat. Primii săi roboți, numiți Elmer și Elsie, au fost construiți între anii 1948 și 1949 ei au fost adesea descriși ca broaște țestoase datorită formei lor și ritmului lent de mișcare. Roboții broască țestoasă cu trei roți au fost capabili să-și găsească drumul spre o stație de reîncărcare atunci când aveau puterea bateriei scăzută.
Walter a subliniat importanța utilizării electronicii pur analogice pentru a simula procesele cerebrale într-un moment în care contemporanii săi, cum ar fi Alan Turing și John von Neumann, se îndreptau spre o vedere a proceselor mentale în termeni de calcul digital. Lucrarea sa a inspirat generațiile următoare de cercetători în robotică, cum ar fi Rodney Brooks, Hans Moravec și Mark Tilden. Reâncarnările moderne ale țestoaselor lui Walter pot fi găsite sub forma de robotica BEAM.
BEAM – Biology, Electronics, Aesthetics and Mechanics (Biologie, Electronică, Estetică și Mecanică)
În 1970 s-a construit primul robot mobil (Shakey) capabil să reflecteze împrejurimile sale. Shakey a combinat mai multe intrări de senzori, inclusiv camere TV, aparate de măsurat distanțe laser și "senzori bombați " pentru a naviga.
În 1986, Honda și-a început programul de cercetare și dezvoltare umanoidă pentru a crea roboți capabili să interacționeze cu oamenii. În 1986, MIT a dezvoltat un robot hexapod numit Genghis. Robotul a fost faimos pentru că a fost făcut rapid și ieftin datorită metodelor de construcție; Genghis a folosit 4 microprocesoare, 22 senzori și 12 servomotoare.
Apariția roboților industriali:
Istoria roboților este legată de dezvoltarea inteligenței artificiale.
Primul robot digital operabil și programabil a fost inventat de George Devol în 1954 și a fost în cele din urmă numit Unimate. Acest lucru a pus bazele industriei moderne de robotică. Devol a vândut primul model Unimate companiei General Motors și a fost instalat în 1961 într-o fabrică din New Jersey pentru a ridica bucăți de fier dintr-o mașină de turnat și a le paletiza. Brevetul lui Devol pentru primul braț robotizabil programabil, operat digital, reprezintă fundamentul industriei moderne de robotică.
Figură 3 Unimate
Mai târziu în 1968, Marvin Minsky a creat brațul Tentacle; Brațul a fost controlat de calculator, iar cele 12 articulații ale sale au fost alimentate cu ajutorul sistemelor hidraulice.
Studentul în inginerie mecanică Victor Scheinman a creat brațul Stanford în 1969, un robot articulat electri. Acest lucru ia permis să urmeze cu acuratețe căile în spațiu și a lărgit potențialul de utilizare a robotului în aplicații mai complexe, cum ar fi asamblarea și sudarea. Scheinman a proiectat apoi un al doilea braț pentru laboratorul MIT AI, numit "brațul MIT".
Freddy și Freddy II erau roboți construiți de către Pat Ambler, Robin Popplestone , Austin Tate și Donald Mitchie fiind capabili să asambleze blocuri de lemn într-o perioadă de câteva ore.
Robotica industrială a început să avanseze destul de repede în Europa, atât cu ABB Robotics , cât și cu KUKA Robotics, care au avut roboți pe piață în 1973. ABB Robotics (fostă ASEA) a introdus IRB 6, printre primii roboți din lume controlat cu microprocesoare electrice. Primi doi roboți IRB 6 au fost vânduți către Magnusson în Suedia pentru șlefuirea și lustruirea cotururilor de țevi și au fost instalați în producție în ianuarie 1974. De asemenea, tot în 1973 KUKA Robotics a construit primul său robot, cunoscut sub numele de FAMULUS. Prima generație de roboți cu șase articulații acționate electromecanic. În 1974, David Silver a proiectat Brațul de Argint, acest braț era capabil de mișcări fine care se asemănau mâinilor omului. Informațiile au fost furnizate de senzori de atingere și presiune și analizate de un calculator.
Ansamblul robot de asamblare selectivă „SCARA”, a fost creat în 1978 ca un braț robotizat eficient cu 4 axe. Cel mai bine folosit pentru preluarea pieselor și plasarea acestora într-o altă locație, SCARA a fost introdus în linii de asamblare în 1981.
Figură 4 Robotul SCARA
Structuri robotice industriale
Un robot industrial este un sistem robot utilizat pentru fabricare.
Roboții industriali includ aplicații de sudare, vopsire, asamblare, operații pick and place pentru plăcile cu circuite imprimate, ambalare și etichetare, paletizare, depaletizare, inspecția și testara produselor; Toate realizate cu înaltă rezistență, viteză și precizie. Ei pot ajuta la manipularea materialelor și pot oferi interfețe.
Cele mai utilizate configurații robot sunt roboții articulați, roboți SCARA, roboți delta și roboți cartezieni. În contextul roboticii generale, cele mai multe tipuri de roboți ar intra în categoria brațelor robotice (manipulatoare). Roboții prezintă grade diferite de autonomie.
Uni roboți sunt programați să efectueze cu fidelitate acțiuni repetitiv fără variație și cu un grad înalt de precizie. Aceste acțiuni sunt determinate de rutine programate care specifică direcția, accelerația, viteza, decelerația și distanța unei serii de mișcări coordonate.
Alți roboți sunt mult mai flexibili în ceea ce privește orientarea obiectului pe care îl acționează sau chiar sarcina care trebuie efectuată asupra obiectului însuși, pe care robotul poate chiar să-l identifice. De exemplu, pentru o orientare mai precisă, roboții conțin adesea subsisteme de vedere mecanică care acționează ca senzori vizuali, legați de calculatoare sau controlere puternice, în alte cazuri se folosesc sisteme de vedere artificială.
Componentele fundamentale ale sistemului robot:
Privit în toată complexitatea sa, un sistem robotic cuprinde următoarele componente:
spațiul de operare;
sursa de energie
sursa de informație
robotul
Spațiul de operare al unui robot este strâns legat de domeniul de lucru al acestuia, de gama aplicațiilor la care participă. Acest spațiu este definit direct de parametrii arhitecturii mecanice a robotului și este restricționat pe de o parte de anumite caracteristici ale elementelor interne, mecanice, și pe de altă parte de caracteristicile obiectelor implicate în procesul tehnologic.
Sursa de energie constituie suportul energetic necesar pentru punerea în mișcare atât a elementelor mobile ale robotului cât și pentru asigurarea alimentării electrice a sistemului de acționare și a celui de conducere.
Sursa de informație definește modul de operare al robotului, caracteristicile de bază ale funcționării acestuia, structura algoritmilor de conducere în funcție de specificul operației, de modul de prelucrare a informației de bază (în timp real sau nu) și de relația robot – operator existentă în procesul de operare. Această relație poate determina funcționarea automată, independentă, a robotului sau în asociere cu operatorul (de exemplu sistemele de teleoperare).
Robotul, componenta de bază a acestui sistem, este format din două părți: unitatea de prelucrare a informației și unitatea operațională.
Unitatea de prelucrare a informației este un complex hardware-software ce primește date privind instrucțiunile ce definesc operațiile executate, măsurători privind starea unității operaționale, observații asupra spațiului de operare al robotului, date pe baza cărora determină în conformitate cu algoritmii de conducere stabiliți, deciziile privind modalitatea de acționare a unității operaționale etc.
Unitatea operațională corespunde robotului propriu-zis cuprinzând structura mecanică a acestuia și sistemul de acționare asociat. Această unitate acționează asupra spațiului de operare utilizând și transformând energia furnizată de sursă și reacționând adecvat la semnalele primite din exterior. În componența robotului distingem: elementele care interacționează direct cu spațiul de operare (elementele efectoare, gripere sau mâini), componente de structură (articulații, segmente), modulatoare de energie (amplificatoare), convertoare de energie (motoare), sisteme de transmisie a energiei mecanice și senzori interni.[3]
Figură 5 Componentele sistemului robot [3]
Arhitecturi cinematice
Sistemul mecanic al unui robot este format dintr-o configurație de corpuri rigide, elementele sistemului, legate între ele succesiv prin articulații de rotație sau translație. Pozițiile relative ale acestor elemente determină poziția pe ansamblu a brațului mecanic, această poziție reprezentând de fapt una din condițiile funcționale ale robotului.
Cele mai cunoscute versiuni de articulații mecanice întâlnite în sistemele robotice sunt reprezentate prin lanțuri cinematice deschise în care poziția, viteza și accelerația unui element pot fi obținute recursiv din parametrii elementului precedent. În general, fiecare element conține un singur grad de libertate în raport cu elementul precedent astfel încât relațiile de transformare între elemente conțin un singur parametru variabil. Legarea în cascadă a tuturor transformărilor asociate fiecărui element permite determinarea parametrilor mișcării întregii configurații mecanice și, în general, a elementului terminal.
Sisteme de coordonate
Operațiile de manipulare specifice unui robot cer, în primul rând, o poziționare corespunzătoare a sistemului mecanic (atingerea unui punct din spațiul de lucru) și în al doilea rând impun o anumită orientare a elementului terminal.
Un punct A, într-un sistem de coordonate S1, poate fi reprezentat prin vectorul ce unește originea sistemului de coordonate și punctul respectiv,
(1)
unde sunt versorii axelor X,Y,Z, respective. O altă modalitate de scriere este,
(2)
unde indicele superior 1 precizează sistemul de coordinate S1.
În afară de aceasta, direcția vectorului de poziție se poate exprima prin cosinușii de direcție,
; ; (3)
Dacă acum, originea sistemului de coordonate O1 se exprimă în raport cu un sistem S2 prin coordonatele:
(4)
atunci punctul A se va exprima în raport cu sistemul S2 prin,
Figură 6 Sistem de coordinate[4]
(5)
Relația (5) corespunde unei reprezentări între două sisteme afectate de
operații de translație. Dacă sistemele de coordonate sunt supuse unor mișcări de rotație, poziția unui punct în diferite sisteme se poate obține printr-o transformare corespunzătoare.
(6)
În foarte multe situații este de preferat să se utilizeze o transformare globală care să comaseze atât efectul de translație cât și pe cel de rotație. O astfel de transformare se numește omogenă. Această transformare poate fi definită ca rezultatul concatenării a două matrici, de orientare (4 χ 3) și de poziție, un vector (4×1).
(7)
De exemplu, translația specificată în figura 2 b corespunde transformării omogene definită prin
(8)
unde simbolul Trans este asociat funcției de translație. Calculul coordonatelor punctului A în sistemul S2 definit prin componentele (2.2) în sistemul Sj se obține imediat prin simpla aplicare a operatorului de translație asupra vectorului jj coordonatelor în S1
(9)
deci aceleași rezultate ca cele date în relația (5).
În mod similar, se pot defini operatori de rotație, corespunzători unei rotații cu unghiul θ, în jurul fiecărei axe de coordonate,
(10)
(11)
(12)
Aplicarea succesivă a acestor operatori permite calculul coordonatelor pentru orice modificare a sistemului de coordonate.
Trebuie subliniată necesitatea respectării ordinei operațiilor efectuate. Evident,[4]
(14)
Modele cinematice
După cum s-a mai arătat, sistemul mecanic al robotului este realizat prin legarea succesivă a unor articulații simple de rotație și translație, poziția fiecărui element putînd fi definită în raport cu elementul precedent printr-o singură variabilă de rotație (unghi) sau de translație (deplasare).Dacă se notează cu matricea transformării ce descrie translația și rotația relativă între sistemul de coordonate al elementului i și al elementului i-1, atunci transformarea asociată mâinii robotului se poate scrie ca,
=… (15)
unde „n” reprezintă numărul de elemente al brațului.
Pentru calcularea matricei cea mai simpla metoda este Denavit-Hartenberg datorită avantajelor privind posibilitățile mari de generalizare pe care le oferă.
Figură 7 PARAMETRII DENAVIT-HARTENBERG[4]
În figura 8 sunt reprezentați parametrii Denavit-Hartenberg pentru o articulație de formă generală. În practică, configurația geometrică a unei articulații este reprezentată printr-o serie de parametri constanți, lungimea și unghiul parametrii variabili fiind unghiul la o articulație de rotație sau lungimea la o articulație de translație.
Deci, matricea transformării omogene între articulația i și i-1 va fi,
(16)
Utilizând formulele stabilite (8), (10) – (12) și substituind în (16) rezultă,
sau
(17)
Structurile mecanice uzuale întîlnite la cele mai cunoscute familii de roboți industriali se grupează, după coordonatele ce descriu pozițiile brațului, în: roboți de coordonate carteziene, cilindrice, sferice, de rezoluție etc. Indiferent de tipul utilizat, calculul cinematic se realizează după metoda expusă, determinînd parametrii D.H. ai fiecărei articulații și formînd cu aceștia matricele de transformare.[4]
Modele dinamice
Modelele geometrice și cinematice discutate pornesc de la premiza că pentru orice configurație obținută de robot este atinsă o stare de echilibru. Este evident că aceste modele devin puțin reprezentative la viteze și accelerații mari când forțele de inerție, centrifugale și de cuplaj capătă mărimi semnificative. La aceste regimuri de lucru se impune luarea în considerare a unui nou model, modelul dinamic asociat sistemului mecanic.
Modelul dinamic al unei structuri mecanice este reprezentat analitic printr-un sistem de ecuații diferențiale ce definesc legăturile ce apar între coordonatele generalizate qi sau derivatele lor și forțele, atât disipative, cât și nedisipative J-1(q), ce acționează asupra fiecărui element al configurației mecanice. Metodele și procedurile pentru determinarea ecuațiilor diferențiale asociate dinamicii unui braț mecanic sunt numeroase. Metodele Lagrange – Euler, Newton – Euler, principiul generalizat al lui d’Alembert sunt câteva din procedurile clasice de calcul ale modelului dinamic.
În continuare, modelul dinamic al unui robot va fi determinat utilizând metoda lui Lagrange care are avantajul unei abordări simple, sistematice și permite elaborarea unor algoritmi eficienți în calculul numeric.
Funcția Lagrange L este definită ca diferența între energia cinetică Ecin și energia potențială Epot a sistemului.
(18)
Ecuațiile sistemului dinamic, în funcție de Lagrange vor fi
, i=1,2,…,n (19)
unde „n” sunt gradele de libertate ale sistemului, qi sunt coordonatele generalizate în care energiile cinetică și potențială sunt exprimate, q sunt vitezele generalizate, iar Fi sunt forțele generalizate corespunzătoare, definite în sensul următor: dacă articulația este de translație, deci variabila qi asociată este o deplasare, atunci Fi este forța din articulație ce determină dinamica dorită, iar dacă articulația este de rotație și qi reprezintă, deci, o mărime unghiulară, atunci Fi este momentul aplicat articulației.
Pe baza formulelor (18), (19), procedura de calcul se poate sistematiza în următoarele faze:
se determină energia potențială în funcție de coordonatele generalizate;
se determină energia cinetică în raport cu aceiași parametri;
se formează funcția Lagrange;
se calculează modelul dinamic folosind formula (19).
Figură 8 braț în coordonate cilindrice[4]
Pentru exemplificare, etapele de mai sus vor fi dezvoltate pe o structură mecanică.
Se va considera brațul în coordonate cilindrice din figura 9. Coordonatele generalizate ale mișcării vor fi rotația 1 și cele două translații d2 și d3.
Energia potențială a întregului sistem, se poate raporta la referința bazei sub forma,
(20)
unde m’ este masa totală echivalentă în articulația 3. Energia cinetică a masei este determinată de: o componentă produsă de translația masei (d3) și o componentă datorită rotației (1) deci,
(21)
Analog, energia cinetică a masei m3 va fi determinată de rotația brațului m3 prin momentul de inerție,
(22)
și de translația acestuia prin viteza de translație, deci,
(23)
De asemenea, celelalte articulații determină o energie
(24)
Din (21) – (24) se obține energia cinetică a sistemului mecanic
(25)
Funcția Lagrangian va fi,
(26)
Pentru obținerea modelului dinamic este necesară determinarea derivatelor parțiale ale lui „L” în raport cu parametrii mișcării 1, d2, d3 și derivatele acestora , , ,
(27)
Substituind rezultatele de mai sus în formula (19) se obține,
(28)
Separând părțile liniare în relațiile (28) și (29) rezultă,
(29)
(30)
Separând părțile liniare în relațiile (28) și (29) rezultă,
(31)
(32)
Ecuațiile (28) – (30) definesc modelul snipp sau componente de forțe de frecare.
Modelul analogic obținut definește numai coordonatele 1, d2, d3 prin integrarea succesivă a integratelor lor de ordin doi, obținute, la rândul lor prin operatori liniari și neliniari corespunzători. Trebuie remarcată decuplarea componentei d2 (independența acesteia de celelalte variabile) precum și puternica intercondiționare a parametrilor 1 și d3.[4]
Sisteme de grippere
În robotică, un gripper este dispozitivul de la capătul unui braț robotic, proiectat să interacționeze cu mediul. Natura exactă a acestui dispozitiv depinde de aplicarea robotului.
În definiția, care provine de la manipulatorii robotici, efectorul final înseamnă ultima legătură a robotului. Un efector final poate fi văzut ca o parte a unui robot care interacționează cu mediul de lucru. Acest lucru nu se referă la roțile unui robot mobil sau la picioarele unui robot umanoid care, de asemenea, nu sunt efecte de capăt – fac parte din mobilitatea robotului.
Efectorul final poate consta dintr-un clește sau o unealtă. Când se face referire la prehensiunea robotică, există patru categorii generale de efectuare finale de roboți, acestea fiind:
Impact – fălci sau gheare care se apucă fizic prin impact direct asupra obiectului.[]
Figură 9 GRIPPERE CU DEGETE[5][6]
Ingression – pini, ace sau hackles care pătrund fizic pe suprafața obiectului (utilizate în manipularea fibrelor textile, carbon și fibre de sticlă).
Forțele aspirație – aspirație aplicate pe suprafața obiectelor (fie prin vacuum, fie prin electrizare).
Figură 10 Efector final cu electrizare
Contigutiv – care necesită un contact direct pentru a avea loc aderența (cum ar fi lipici, tensiunea superficială sau înghețarea).
Ele se bazează pe efecte fizice diferite folosite pentru a garanta o apucare stabilă între un dispozitiv de prindere și obiectul care trebuie capturat. Ventuzele și electromagneții domină domeniul auto și, în special, la manipularea foilor metalice. Dispozitivul de prindere Bernoulli exploatează fluxul de aer dintre dispozitivul de prindere și piesa care determină o forță de ridicare, care aduce clapeta și piesa se apropie reciproc. Dispozitivele de prindere Bernoulli sunt un tip de clești fără contact, adică obiectul rămâne limitat în câmpul de forță generat de dispozitivul de prindere fără a intra în contact direct cu acesta. Dispozitivele de prindere Bernoulli au fost adoptate în manipularea celulelor fotovoltaice, manipularea plăcilor de siliciu, precum și în industria textilă și cea din piele. Alte principii sunt mai puțin utilizate la scară macro (dimensiunea piesei> 5mm), dar în ultimii zece ani au demonstrat aplicații interesante în micro-manipulare. Unii dintre ei sunt gata să-și răspândească câmpul original. Celelalte principii adoptate sunt: clești electrostatici și agățătoare van der Waals bazate pe încărcături electrostatice, și clești criogeni, pe bază de lichid, dispozitive de prindere cu ultrasunete și dispozitive de prindere cu laser, două principii de prindere fără contact. Dispozitivele de prindere electrostatice se bazează pe diferența de încărcare dintre clește și piesă adesea activată de dispozitivul de prindere, în timp ce cleștile van der Waals se bazează pe forța redusă datorită atracției atomice dintre moleculele Gripper-ului și cele ale obiectului. Clemele criogenice îngheață o cantitate mică de lichid, iar gheața rezultantă garantează forța necesară ridicării și manipulării obiectului (acest principiu se utilizează și în manipularea alimentelor și în prinderea textilă). Chiar mai complexe sunt dispozitivele de prindere pe bază de ultrasunete, unde undele de presiune sunt utilizate pentru a ridica o parte și pentru a o prinde la un anumit nivel (exemplu de levitație sunt atât la nivelul micro, cât și la manipularea șuruburilor și a garniturilor, și la scară macro, celulele solare sau manipularea plachetelor din siliciu) și sursa laser care produce o presiune capabilă să prindă și să deplaseze micro-componente într-un mediu lichid (în principal celule). Dispozitivul de prindere cu laser este cunoscut și ca pensete cu laser.
O categorie specială de prindere cu frecare este dispozitivul de prindere a acului: se numește dispozitiv de prindere intruziv și exploatează în același timp frictiunea și închiderea formei ca prinderi mecanice standard.
Cel mai cunoscut dispozitiv de prindere mecanică poate fi de două, trei sau chiar cinci degete.
Efectuatorii finali care pot fi folosiți ca unelte servesc unor scopuri diverse, cum ar fi sudarea în puncte într-un ansamblu, vopsirea prin pulverizare în cazul în care este necesară o uniformitate a vopsirii și în alte scopuri în care condițiile de lucru sunt periculoase pentru ființele umane. Roboții chirurgicali au efecte de capăt special fabricate în acest scop.
Sisteme de vedere artificiala pentru medii industrial
Vederea Industriala
Sistemele de vedere industrială introduc automatizarea procesului de producție la mai multe nivele diferite, de la accelerarea procesului de inspecție la o parte integrantă a unui sistem de control al procesului statistic, care poate identifica când un proces de fabricație se deplasează din specificație, astfel încât pot fi luate măsuri înainte de fabricarea unui produs defect. Sistemele de vedere sunt acum considerate a fi o parte esențială a multor procese industriale, deoarece pot oferi capacități de inspecție rapide, exacte și reproductibile.[7]
Figură 11 VERIFICAREA VERIFICAREA DATELOR[8]
Vederea Mașinilor
Sistemele de vedere a mașinilor se bazează pe senzori digitali protejați în camere industriale cu optică specializată pentru a obține imagini, astfel încât hardware-ul și software-ul calculatorului să poată procesa, analiza și măsura diferitele caracteristici pentru luarea deciziilor. Vederea mașinii cuprinde toate tehnologiile care permit unei mașini să vadă, denumită și procesare de imagini. Cu toate acestea, termenul de vedere mecanică a devenit legat de vederea industrială, în care o cameră și un procesor iau o decizie cu privire la ceea ce vede și retransmite informații către sistemul de manipulare. Spre deosebire de alte forme de captare a imaginii, vederea mașinii necesită anumite capabilități, cum ar fi declanșarea asincronă și scanarea progresivă. Aceste capabilități asigură o imagine clară, de înaltă calitate, capturată exact la momentul potrivit fără distorsiuni și, în general, nu se găsește în camerele utilizate pentru difuzare, securitate și multimedia. Aceste caracteristici se regăsesc în toate camerele dezvoltate pentru vederea artificială a mașinilor. Un sistem bun de vedere include, de asemenea, algoritmi robuști pentru a măsura și a identifica elementele din imagine și apoi a transmite datele într-un format compatibil înapoi la PLC-ul de control.
Vederea pentru mașini este tehnologia care înlocuiește sau completează inspecțiile și măsurătorile manuale cu camere digitale și procesarea imaginilor. Tehnologia este utilizată într-o varietate de industrii diferite pentru automatizarea producției, pentru a crește viteza de producție, randamentul și pentru a îmbunătăți calitatea produselor. Aplicațiile vizuale ale mașinilor includ inspecția automată a produselor, citirea codurilor și roboți ghidați de vedere.[9]
Figură 12 INSPECTIA FLOSID CAMERE INDUSTRIALE[8]
Procesarea de imagini
Termenul "software de procesare a imaginilor" are o varietate foarte mare, deoarece poate fi aplicat în pachetele de manipulare a fotografiilor disponibile comercial, așa cum sunt folosite de fotografi. Utilizând software-ul de procesare a imaginilor, de exemplu: fotografiile și alte tipuri de imagini pot fi manipulate pentru a îmbunătăți o imagine sau pentru a elimina componente sau obiecte nedorite.
În contextul vederii meașinilor, procesarea imaginilor este utilizată pentru a îmbunătăți, filtra, masca și analiza imaginile. Pachetele cunoscute de vedere pentru mașină precum Common Vision Blox, Scorpion Vision Software, Halcon, Matrox Imaging Library sau Cognex VisionPro sunt aplicații care rulează pe Microsoft Windows și sunt folosite pentru a crea un software de automatizare avansat și puternic care va prelua o imagine de intrare și de ieșire pe baza conținutului imaginii. În cele din urmă, în vederea mașinii comerciale, procesarea imaginilor este folosită pentru a clasifica, a citi caracterele, a recunoaște forme sau a măsura.[10]
O camera industrială este o cameră care a fost proiectată la înalte standarde cu performanțe repetate și robustă pentru a rezista cerințelor unor medii industriale dure. Acestea sunt denumite în mod obișnuit camere de supraveghere a mașinii, deoarece acestea sunt utilizate în procesele de producție pentru inspecție / controlul calității.
Există două tipuri principale de camere; Scanarea pe zonă și scanarea liniilor.
Scanarea pe zonă – camera de scanare pe zonă este un senzor CCD / CMOS într-o matrice de pixeli 2D. Aceasta are ca rezultat o imagine formată din pixeli în direcțiile X și Y. Zona industrială de scanare a camerei rulează de la 10 la 100 de cadre pe secundă.
Cu o cameră de scanare liniară, senzorul CCD / CMOS conține de obicei doar un singur rând de pixeli. Aceasta înseamnă că obiectul care trebuie capturat trebuie mutat sub camera de scanare a liniei pentru a "construi" o imagine matrice 2D. Camerele cu scanare liniară care rulează de la 100 la 1000 de imagini pe secundă sunt ideale pentru aplicațiile "web" în care producția este în mod continuu, cum ar fi hârtia și textilele și / sau unde produsele sunt de dimensiuni mari.[11]
Sisteme robotizate ghidate cu vedere artificială:
Un sistem robot ghidat cu vedere (VGR) este în esență un robot echipat cu unul sau mai multe camere de luat vederi folosite ca senzori pentru a furniza un semnal de feedback secundar la controlerul robot pentru a trece mai precis la o poziție țintă variabilă. VGR transformă rapid procesele de producție, permițând roboților să fie foarte adaptabili și mai ușor de implementat, reducând în mod drastic costul și complexitatea uneltelor fixe asociate anterior cu proiectarea și configurarea celulelor robotului, atât pentru manipularea materialelor, asamblare automată, aplicații agricole și multe altele.[12]
Figură 13 ROBOȚI GHIDAȚI CU VEDERE ARTIFICIALĂ[12]
Într-un exemplu clasic de VGR utilizat pentru fabricarea industrială, sistemul de vedere (aparat de fotografiat și software) determină poziția produselor puse aleator pe un transportor de reciclare. Sistemul de vedere furnizează coordonatele exacte ale componentelor robotului, care sunt împărțite la întâmplare sub câmpul vizual al camerei, permițând robotului să poziționeze efectul de prindere atașat la componenta selectată pentru a alege din banda transportoare. Transportorul se poate opri sub cameră pentru a permite determinarea poziției piesei sau dacă durata ciclului este suficientă, este posibilă alegerea unei componente fără oprirea transportorului folosind o schemă de control care urmărește componenta în mișcare prin intermediul software-ului de vizualizare, de obicei prin montarea unui codificator pe transportor și prin utilizarea acestui semnal de reacție pentru actualizarea și sincronizarea buclelor de vizibilitate și de control al mișcării.[12]
Roboții industriali KUKA
Prezentare
KUKA Robotics este unul dintre cei mai importanți producători de roboți industriali. Cu o gamă largă de roboți, KUKA acoperă practic toate domeniile de sarcină utilă și tipurile de roboți și stabilește standarde în domeniul colaborării dintre robot și om (HRC).
KUKA produce roboți industriali de peste 40 de ani. Piatra de temelie pentru industria de astăzi 4.0 a fost pusă încă din anii 1970: cu primul robot industrial FAMULUS. În 1996, KUKA Robotics a făcut un salt important în dezvoltarea roboților industriali: în acel an a fost lansat primul controler bazat pe calculator, dezvoltat de KUKA. Acesta a fost începutul pentru epoca mecatronică "reală", caracterizată prin interacțiunea precisă a software-ului, a controlorului și a sistemelor mecanice.[13]
Figură 14 ROBOTUL FAMULUS[13]
În prezent, KUKA Robotics oferă o gamă largă de produse pentru diverse industrii și soluții de automatizare personalizate. Împreună cu o rețea vastă de integratori și parteneri de sistem, se concentrează pe planificarea și proiectarea roboților industriali.
Viziunea KUKA Robotics, este de a stabili robotul industrial ca și asistent inteligent pentru oameni în timpul procesului de fabricație: oamenii și roboții lucrează mână în mână, în mod ideal complementându-se reciproc cu abilitățile lor respective. Acest lucru permite, de asemenea, companiilor mici și mijlocii să utilizeze roboți în mod rentabil.[13]
Evenimente isotice:
1971 – Prima linie de sudare din Europa construită pentru Daimler-Benz.
1973 – Primul robot industrial din lume cu șase articulații electromecanice, cunoscut sub numele de FAMULUS.
1976 – IR 6/60 – Un robot complet nou, cu șase articulații acționate electromecanic și o încheietură echilibrată.
1989 – O nouă generație de roboți industriali este dezvoltată – motoare cu acționare fără perii pentru o întreținere redusă și o disponibilitate tehnică mai mare.
2007 – KUKA Titan – la momentul respectiv, cel mai mare și mai puternic robot industrial cu șase articulații, a intrat în Cartea Recordurilor Mondiale Guiness.
2010 – Apare primul robot din familia cu seria KR QUANTEC care acoperă complet gama de sarcină de la 90 până la 300 kg, cu o întindere de până la 3100 mm.
2012 – Este lansată noua serie de roboți mici KR AGILUS.
2014 – În data de 9 februarie, compania KUKA a încărcat un videoclip pe canalul official de YouTube KukaRobotGroup, tachinând publicul cu noul robot KUKA specializat în tenis de masa, adversarul lui fiind Timo Boll, o legendă în tenis de masă . Acest nou robot este descris ca cel mai rapid robot din lume. Videoclipul a fost vizionat de peste 6 milioane de ori pe YouTube și a câștigat numeroase premii.
Figură 15 KUKA KR AGILUS[14]
Descriere
Informații despre sistem:
Software-ul de operare al sistemului KUKA este inima întregului control. Aici sunt stocate toate funcțiile de bază necesare pentru implementarea sistemului robot.
Roboții au un panou de control care are o rezoluție a afișajului de 640 x 480 pixeli și un mouse 6D integrat, care ajuta la mișcarea manipulatorului, salvează pozițiile (TouchUp) sau modifică modulele, funcțiile, listele de date etc.. Pentru a controla manual axele, comutatorul de activare de pe partea din spate a panoului de comandă (KCP sau KUKAControlPanel) trebuie activat. Conectarea la controler este o interfață VGA și o magistrală CAN.
Un calculator robust amplasat în cutia de comandă comunică cu sistemul robot printr-o cartelă MFC. Semnalele de control între manipulator și comenzi sunt transferate utilizând așa-numita conexiune DSE-RDW. Cardul DSE se află în cutia de comandă, cardul RDW în soclul robotului.
Controlerele pentru tipurile vechi KRC1 au folosit Windows 95 pentru a rula software-ul bazat pe VxWorks. Echipamentul periferic include un CD-ROM și o unitate disc; Sunt disponibile, de asemenea, prize Ethernet , Profibus , Interbus , Devicenet și ASI. În schimb controlerele pentru noul tip KRC2 utilizează sistemul de operare Windows XP . Sistemele conțin o unitate CD-ROM și porturi USB, conexiune Ethernet și opțional conexiuni pentru Profibus , Interbus , DeviceNet și Profinet.
Controlerul C4 este un pionier pentru automatizarea zilelor noastre. Reduce costurile de integrare, întreținere și de service. În același timp, datorită standardelor comune deschise pentru industrie, eficiența și flexibilitatea pe termen lung ale sistemelor sunt sporite .
Arhitectura software-ului KR C4 integrează controlul robotului, controlul PLC, controlul mișcării și controlul de siguranță. Toți controlorii împart o bază de date și o infrastructură. Acest lucru face ca automatizarea să fie mai simplă și mai puternică.[15]
Figură 16 CONTROLERUL CR-C4[15]
Controlerul KUKA Sunrise Cabinet oferă înaltă performanță și fiabilitate tehnologiei KUKA într-un design compact. Configurația flexibilă și capacitatea de extindere care rezultă din aceasta fac un adevărat întreg. Numărul componentelor hardware, cablurilor și conectorilor a fost redus semnificativ și înlocuite cu soluții bazate pe software. Controlerul robust, de înaltă calitate, este proiectat pentru o întreținere redusă.
Controlerul oferă flexibilitate maximă, performanță și deschidere în spațiul minim pentru toate variantele de roboți. Dimensiunile controlerului garantează, de asemenea, flexibilitate, deoarece acesta poate fi instalat într-un spațiu de 19 ". Este ușor de utilizat și are o interfață de utilizare simplă pentru operare și diagnostic prin intermediul unui smartpad KUKA cu funcția de control tactil.
Figură 17 KUKA SUNRISE CABINET
Informații despre KUKA Sunrise Cabinet:
Tabel 1 KUKA SUNRISE CABINET
Domenii de utilizare:
Roboții industriali sunt utilizați în mai multe domenii de aplicare, cum ar fi manipularea materialelor, încărcarea și descărcarea mașinilor, paletizarea și depaletizarea, sudarea cu arc și în puncte. Acestea sunt utilizate într-o serie de companii mari, predominant în industria automobilelor, dar și în alte industrii, cum ar fi industria aerospațială. Aplicațiile specifice includ:
Industria de transport: pentru transportul încărcăturilor grele, unde se utilizează capacitatea lor de încărcare și poziționarea liberă.
Industria alimentară și a băuturilor: pentru sarcini precum încărcarea și descărcarea mașinilor de ambalat, tăierea cărnii, stivuirea și controlul calității.
Industria construcțiilor: de exemplu, pentru asigurarea unui flux uniform de material.
Industria sticlei: utilizați, de exemplu, în tratarea termică a sticlei și operațiile de îndoire și formare.
Industria de turnătorie și forjare: rezistența la căldură și la murdărie a roboților le permite să fie utilizate direct în mașinile de turnare. Ei pot fi folosiți și pentru operațiuni precum debavurarea , șlefuirea sau forarea și pentru controlul calității.
Industria lemnului: pentru șlefuirea, frezarea , găurirea, tăierea , paletizarea sau sortarea.
Prelucrarea metalelor: pentru operații precum forarea, frezarea, tăierea sau îndoirea și forfecarea. Roboții industriali sunt utilizați în procesele de sudare, asamblare, încărcare și descărcare.
Performanțe
Performanțele roboților industriali KUKA:
KR 1000 titan
KR 1000 titan este un robot puternic, potrivit pentru sarcini grele. Robotul cu șase articulații deplasează precis și în siguranță părți și componente foarte grele, chiar și pe distanțe lungi. KR 1000 este primul robot cu șase articulații, cu un sistem cinematic deschis și o capacitate de încărcare neegalată. Acesta stăpânește manipularea încărcăturilor grele exact și rapid la distanțe de până la 6,5 metri, asigurând timpi optimi de ciclu. KR 1000 titan are opțiuni de aplicare versatilă, iar combinat cu articulații liniare se poate mări flexibilitatea. Acesta poate fi integrat cu ușurință în sistemele existente și fără necesitatea adaptării fundațiilor. Încărcăturile cum ar fi: blocuri de motor, pietre, sticlă, grinzi de oțel, componente pentru nave și aeronave, blocuri de marmură, piese prefabricate din beton.
Figură 18 ROBOTUL KR 1000 TITAN
Tabel 2 KR 1000 TITAN
KR 16
KR 16 este unul dintre cei mai versatili și flexibili roboți industriali cu șase articulații. Acesta este disponibil în diverse combinații și poate fi extins cu ușurință. Sistemul cinematic al brațului articulat îl face partenerul perfect pentru toate sarcinile controlate de la punct la punct și continuu, în categoria de sarcină mică. Diferitele poziții de instalare (podea, tavan, perete) deschid o gamă largă de aplicații diferite. Robotul a fost fabricat în patru variante. Se pot combina în mod individual diferitele variante și caracteristici, făcând astfel perfectă adaptarea sa.
Cele patru variante ale robotului KR 16 sunt:
KR 16 ca robot montat pe raft
KR 16 ca variantă de turnătorie
Varianta Clean Room 16
Varianta cu extensia brațului
KR 16 oferă securitate absolută în planificare, calitate consistentă și disponibilitate foarte mare. Robustețea sa îl protejează împotriva îmbătrânirii. Datorită perturbațiilor sale mici și a designului său raționalizat, compact, acesta convinge cu accesibilitate ridicată chiar și în spații închise. El atinge un echilibru perfect între cerințele spațiului, impactul, greutatea, viteza și consumul de energie.
Figură 19 ROBOTUL KR 16
KR 20
KR 20 este un robotul industrial flexibil de sarcina mica (20 kg), care ridică încărcăturile utile la cel mai înalt nivel al gamei de sarcină, cu o rază de acțiune de 1.611 milimetri. Aceasta deschide opțiuni de aplicații versatile care sunt căutate în multe ramuri ale industriei, de la încărcarea și descărcarea automată a unei mașini-unelte din industria automobilelor până la soluții de automatizare din industria materialelor plastice.
Designul robotului este optimizat în funcție de spațiu. KR 20 permite accesibilitatea maximă datorită dimensiunilor sale reduse. Designul raționalizat al încheieturii asigură o accesibilitate optimă chiar și în spații închise. KR 20 oferă cel mai bun raport între cerințele de spațiu, capacitatea de încărcare, sarcina utilă, viteza și consumul de energie. Numeroasele variante de sarcini specifice permit o gamă variată de aplicații.
Figură 20 ROBOTUL KR 20
KR 30
KR 30 produce o calitate superioară în cele mai scurte perioade de ciclu cu o repetabilitate fără egal. Acest lucru face ca robotul cu șase articulații să se potrivească perfect aplicațiilor cum ar fi manipularea componentelor, măsurarea sau aplicațiile laser.
Manipularea, sudarea, lipirea adezivă, lucrarea de turnătorie sau chiar procesele automate de cusut – nu există practic nici o aplicație pe care KR 30 nu o poate stăpâni. Robotul este un adevărat profesionist în domeniul automatizării având o încărcătură utilă de 30 de kilograme, cu o rază de acțiune de până la 3,102 milimetri și o poziție de montare flexibilă (podea, tavan, perete sau în poziție înclinată). KR 30 a fost proiectat sistematic pentru durabilitate, acesta poate funcționa fiabil pe perioade lungi chiar și în condiții extreme. Datorită structurii optimizate FEM, KR 30 este extrem de rigid, compensând astfel orice forțe de proces generate. Acest lucru oferă cea mai mare precizie și timp de ciclu scurt. Motoarele și angrenajele sunt optimizate pentru a asigura un nivel ridicat de performanță. Sistemul KR 30 poate fi, de asemenea, programat offline foarte ușor și precis.
Figură 21 ROBOTUL KR 30
Tabel 3 Robotul KR 30
KR 210-2 F exclusiv
KR 210-2, în varianta exclusivă, permite concepte de celule eficiente pentru turnătorii. KR 210-2 F oferă o performanță absolută și excelență chiar și în condiții extreme. Robotul robust cu șase articulații nu are nevoie de costume de protecție suplimentare – atunci când lucrează în celulele de spălare a componentelor, periaj și debavurând celulele, precum și toate zonele umede și aplicațiile supuse unui grad foarte ridicat de zgâriere. Datorită utilizării sistemelor de etanșare a aerului și a designului robust, KR 210-2 exclusiv este total dezagreabil chiar și în condiții extreme de mediu. Jeturile de apă, umiditatea permanentă a aerului și particulele de murdărie nu sunt o problemă datorită suprafeței tratate special.
Cu capacitatea ridicată a motoarelor și angrenajele cu cuplu mare în toate articulațiile, acesta este extrem de puternic. KR 210-2 F este echipat cu tehnologie de ultimă oră, angrenajele sale având cel mai mare cuplu din clasa lor și permițând o durată lungă de funcționare continuă. Sistemul mecanic precis asigură o repetabilitate maximă, o calitate mai bună a producției, mai puține respingeri și, astfel, o eficiență mai mare pentru producție.
Figură 22 KR 210-2 F EXCLUSIV
KR 470-2 PA
KR 470-2 PA aparține din categoria de sarcini grele având un design compact, greutate redusă și viteză mare. Este optim pentru manipularea sarcinilor cu încărcături utile de până la 470 de kilograme. Paletizatorul poate fi adaptat flexibil la sarcina sa specifică prin intermediul unor rame de diferite înălțimi. Datorită designului său compact și greutății reduse, aceasta reduce timpul masiv și oferă o eficiență maximă a procesului.
KR 470-2 PA permite mutarea protejată prin încheietura mâinii și schimbarea rapidă a tuturor sistemelor de alimentare cu energie utilizate în mod obișnuit. Designul pentru încheietura mâinii are o deschidere cu un diametru de 60 milimetri. Din cauza razei de acțiune de până la 3150 milimetri, sistemul KR 470-2 PA poate accesa chiar și cele mai îndepărtate unghiuri și colțuri, utilizează în mod optim spațiul disponibil și lucrează cu cea mai mare precizie.
Figură 23 ROBOTUL KR 470-2 PA
KR 3 AGILUS
KR 3 AGILUS, stabilește noi standarde pentru roboți din clasa de 3 kilograme. Acest robot ușor produce cele mai mici componente (de numai 600 x 600 mm) din fabricarea celulelor într-un mod agil și rentabil cu o precizie de top.
KR 3 AGILUS este potrivit atunci când este vorba de asamblarea în spații reduse a componentelor și produselor mici. Asamblarea componentelor mici, manipularea, fixarea prin șuruburi, lipirea adezivă, ambalarea și inspecția sunt aplicații ce pot fi utilizate ori de câte ori sunt necesare cicluri scurte de producți. Datorită dimensiunii sale compacte, KR 3 AGILUS oferă productivitate maximă pe metru pătrat, această combinație face ca robotul să fie deosebit de atrăgător pentru industria electronică.
Datorită designului său, acesta este optimizat din punct de vedere al costurilor deoarece necesită o întreținere minimă și este foarte fiabil, acest lucru permite o disponibilitate maximă.
Pentru că are o viteză foarte ridicată, acesta permite durate de ciclu extrem de scurte, crescând astfel randamentul și rentabilitatea investiției.
Figură 24 ROBOTUL KR 3 AGILUS
KR AGILUS sixx
KR AGILUS sixx este un robotul compact cu șase articulații, proiectat pentru viteze de lucru deosebit de ridicate.
KR AGILUS sixx se distinge datorită versatilității sale care permite atingerea unor noi domenii de aplicare. Indiferent de poziția de instalare (fie pe podea, tavan, fie pe perete), acesta obține o precizie maximă în spațiile închise datorită sistemului său integrat de alimentare cu energie și a controlerului compact KR C4. KR AGILUS sixx atinge performanțe de top, indiferent cât de murdar, umed sau steril este mediul de producție.
Datorită designului său robust, KR AGILUS sixx atinge o repetabilitate maximă și precizie continuă cu viteza extremă acesta reduce timpul de ciclu și mărește calitatea producției, fără a ieși din pas.
Figură 25 ROBOTUL KR AGILUS SIXX
Tabel 4 Robotul KR AGILUS sixx
KR QUANTEC prime
Robotul KR QUANTEC prime este practic imbatabil atunci când vine vorba de robustețe. Are o rază maximă de acțiune de 2.500 milimetri, cu o sarcină utilă de 240 de kilograme. Roboții prime reprezintă noua referință de performanță pentu aplicațiile de sudură în puncte. Variantele de turnătorie oferă o soluție pentru aplicații care implică medii cu praf, umede și temperaturi ridicate.
Produsul KR QUANTEC se remarcă datorită designului său robust, dar este extrem de ușor, acesta este optimizat pentru a obține timpi de cicluri rapizi prin intermediul ratelor ridicate de accelerare.
Figură 26 KR QUANTEC prime
KR QUANTEC ultra
KR QUANTEC ultra este robotul cel mai puternic, rigid și precis din seria KR QUANTEC. Oferă putere maximă în fiecare poziție și este la fel de dinamic, raționalizat și eficient ca ceilalți membri ai familiei. Modelul KR QUANTEC ultra este, de asemenea, cel mai bun dintre roboții de înaltă performanță pe rafturi.
Cu capacitatea sa utilă de 300 de kilograme și o înălțime maximă de 3.100 de milimetri, KR QUANTEC ultra este robotul industrial cel mai puternic și cel mai compact. Ca atare, KR QUANTEC ultra are cea mai mare densitate de putere disponibilă în prezent în intervalul de încărcături mari pentru industria prelucrătoare. Timpul de utilizare a ciclului KR QUANTEC ultra este cu 25% mai mic decât în cazul modelelor comparabile, de asemenea, funcționează fiabil în condiții extreme cu cerințe minime de întreținere.
Figură 27 ROBOTUL KR QUANTEC ULTRA
Tabel 5 KR Quantec Ultra
LBR iiwa
LBR iiwa este primul robot sensibil din lume. LBR reprezintă "Leichtbauroboter" (robotul ușor), iar iiwa vine de la "asistentul industrial inteligent". Acesa indică începutul unei noi ere în robotica industrială, sensibilă și pune bazele unor procese de producție inovatoare și durabile. Pentru prima dată, oamenii și roboții pot lucra împreună la sarcini extrem de sensibile, în strânsă cooperare. Robotul colaborativ și sensibil LBR iiwa este disponibil în două versiuni cu capacități utile de 7 și 14 kilograme. Cu ajutorul senzorilor de cuplu, poate detecta contactul imediat și reduce instantaneu forța și viteza. Acesta stabilește poziția corectă de montare și montează componentele Srapid și cu cea mai mare precizie, de ± 2% din cuplul maxim. LBR iiwa poate găsi, de asemenea, componente mici, delicate în cel mai scurt timp fără ajutor.
Figură 28 LBR iiwa
Tabel 6 LBR iiwa
Structuri robotice cooperative
Roboții colaborativi sunt mașini complexe care lucrează mână în mână cu un operator uman, pentru a realiza, împreună și în același timp cu operatorul, o sarcină definită anterior. Această sarcină colaborativă poate avea beneficii ergonomice pentru operator, cum ar fi încărcături de lucru reduse, postura îmbunătățită a corpului sau mai puține mișcări repetitive.
Pe partea mai tehnică a lucrurilor, ceea ce face un robot "colaborativ" este faptul că poate detecta activitatea anormală în mediul lui prin limitarea forței sau monitorizare. Acești senzori permit cooperarea între oameni și roboți fără separare fizică. Cel mai important, un robot colaborativ răspunde la criteriul 4 de colaborare sigură, care este limitarea forței și a puterii . De fapt, toți roboții colaborativi au senzori de forță în articulații, care opresc mișcarea lor în caz de impact. Acest lucru permite rularea robotul la viteză maximă și să nu există porbleme cu privire la pericolul potențial al energiei cinetice care este transportată de acest braț robot.
Astăzi, oamenii pot lucra cu roboții colaborativi fără a necesita garduri de siguranță sau carantină și marcaje pe podeaua din fabrică. Aceasta este o parte inerentă a naturii lor "colaborative", dar nu este întreaga imagine.
Aplicarea roboților colaborativi permite oamenilor și roboților să lucreze în condiții eficiente și de siguranță împreună într-un mediu neacoperit, fără nici un risc de răniri / daune. Roboții colaborativi au fost proiectați cu mai mulți senzori avansați, software și EOAT (End Of Arm Tooling) care îi ajută să detecteze rapid și ușor și să se adapteze la orice fel de intruziune în spațiul său de lucru.
Producătorii de roboți, inclusiv ABB, Roboții universali, KUKA, FANUC și Motoman, continuă să creeze roboți strălucitori și receptivi pe piața colaborativă. Acești roboți au în mod obișnuit o formă rotundă fără puncte de prindere.
Ei au, de asemenea, capacitatea de a detecta orice forță anormală aplicată articulațiilor în timp ce se află în mișcare. Acești roboți pot fi programați să reacționeze imediat prin oprirea sau inversarea pozițiilor atunci când intră în contact cu un om. În plus, programarea și integrarea sunt simplificate deoarece pot fi ghidați manual. Aceasta înseamnă că un lucrător poate afișa pozițiile / căile dorite și robotul va repeta imediat.
ABB a creat un robot YuMi uimitor de îndemânatic care se oprește să facă orice mișcare în decurs de milisecund la primul semn al atingerii umane. Dispozitivele de siguranță ale lui YuMi sunt construite în robot; Brațele sale duble combinate cu tehnologii pentru detectarea forței, garantează siguranța completă a colegilor săi.
Universal Robots are o întreagă familie de roboți colaborativi, cu o amprentă de 1 mp. Cerințele lor de programare sunt minime, deoarece acești roboți colaborativi au toți un set de instrumente ușor de instalat și intuitiv. Ei au, de asemenea, diverse soluții de montare pentru a asigura un spațiu flexibil de lucru.
KUKA a produs o serie inteligentă LBR iiwa care conține senzori și au marginile moi pentru a fi sigur să colaboreze cu oamenii. Toți roboții iiwa LBR au capacitatea de a detecta mișcarea.
FANUC strălucește cu mândrie în dezvoltarea familiei lor de roboți colaboratori. Acești roboți au senzori de siguranță integrați care le permit să se oprească instantaneu dacă simt atingerea și au carcase moi care îl fac confortabil să atingă și protejează împotriva oricărui punct de prindere.
Motoman este mândru să prezinte HC10. Acesta a fost conceput pentru a evita punctele de prindere și marginile ascuțite periculoase, el are costumul de piele albastră din cauciuc pentru a proteja în continuare oamenii. Dispune de o tehnologie specială „Puterea și Forța Limită” pentru a monitoriza forța în fiecare articulație și a se adapta corespunzător. Dacă se detectează orice contact cu un operator, robotul se poate opri imediat. În plus, programarea robotului este simplificată prin HUB Smart HUB Smart Teaching. Acest software permite poziționarea brațelor robotului și funcționarea gripperului să fie ghidat de un operator și înregistrat.
În ansamblu, mișcarea de colaborare în robotică poate îmbunătăți funcționalitatea aplicațiilor, reducând totodată și spațiul necesar pentru o unitate robotică. Această tehnologie colaborativă oferă avantaje imense întreprinderilor, liniilor de producție și lucrătorilor.[20]
Sisteme industriale colaborative:
Sawyer
Sawyer este robotul colaborativ revoluționar conceput pentru a executa sarcini care nu au putut fi automatizate cu robotii industriali tradiționali. Sawyer oferă producătorilor automatizarea de înaltă performanță de care au nevoie, menținând în același timp flexibilitatea, siguranța și accesibilitatea, sinonime cu marca Rethink.
Sawyer dispune de un braț robot cu 7 grade de libertate cu o acoperire de 1260 mm care se manevrează în spații strâmte și operează în celule de lucru destinate omului. Capacitățile de detectare a forței încorporate îi permit să ia decizii de adaptare pe măsură ce sarcinile funcționează, permițândui lui Sawyer să lucreze cu precizie (+/- 0,1 mm), în timp ce operează în siguranță lângă oameni.[21]
Figură 29 ROBOTUL COOPERATIV SAWYER[21]
Tabel 7 Robotul cooperativ Sawyer[21]
Aplicații:
CNC de prelucrare
Capacitatea lor de a se integra cu mașinile CNC îi face o soluție excelentă pentru coordonarea cu diferitele cicluri de timp, încărcarea și descărcarea pieselor, susținerea operațiilor de finisare și alte interacțiuni ale mașinilor.
Manipularea PCB și TIC
Manipularea PCB-utilor și tehnologiile informatice și de comunicații au fost din punct de vedere istoric dificil de automatizat, datorită naturii delicate a pieselor și a frecvenței schimbărilor liniei. Sawyer, robotul de colaborare, a fost conceput special pentru a face față acestor tipuri de sarcini. Cu capacitățile sale de repetare a sarcinilor de 0,1 mm și capacități rapide de redistribuire, Sawyer poate fi adaptat în mediul existent, fără a fi nevoie de reconfigurarea în mod semnificativ a infrastructurii.
Prelucrarea metalelor
Lucrul cu mașinile de formare și ștanțare a metalelor poate fi o muncă murdară, plictisitoare și periculoasă și în multe procese încă fiind necesară "atingerea umană". Dar Sawyer iubește această muncă și se poate adapta la configurațiile de linie în continuă schimbare.
Testarea și inspecția
Sistemele de testare au fost găsite în trecut numai pe liniile de producție cu volum mare. Acum, robotul Sawyer livrează pachetul complet care include inspecția în mai multe puncte utilizând o singură cameră.
Baxter
Timp de decenii, producătorii au avut foarte puține opțiuni rentabile pentru locurile de muncă cu un volum redus și cu un mix ridicat de producție. Baxter este alternativa sigură, flexibilă și accesibilă la automatizarea fixă. Companiile globale au integrat Baxter în forța lor de muncă și au câștigat un avantaj competitiv.
Baxter este o soluție de automatizare industrială pentru o gamă largă de sarcini – de la încărcarea în linie și testarea mașinilor, până la ambalarea și manipularea materialelor.[22]
Figură 30 ROBOTUL COOPERATIV BAXTER[22]
Tabel 8 Robotul cooperativ Baxter[22]
Aplicații:
Aranjare
Indiferent dacă este vorba de ambalarea unor componente variate în configurații specifice, executarea comenzilor sau pregătirea pachetelor pentru afișare sau expediere, roboții sunt vrăjitori în aranjare. Astăzi, aceștia se află la locul de muncă în fabricile de producție și 3PL din SUA, integrând cu scanerele de coduri de bare pachete la comandă, așezate pe liniile de asamblare pentru a apuca componentele și a le plasa în containere de expediere sau în afișe în magazin și multe altele.
Ambalare
Roboții inteligenți și de colaborare sunt potriviți pentru o gamă largă de aplicații de ambalare. De la cerințele repetitive de ambalare a cazurilor de variabilitate ridicată, roboții se află la locul de ambalare a materiilor prime, a produselor finite și a pachetelor multipack pentru multe tipuri diferite de produse și containere.
Încarcă – descarcă
Aproape fiecare fabrică din lume operează o anumită formă de încărcare și descărcare pe linie. Roboții de colaborare oferă o soluție excelentă pentru lucrările monotone, dar extrem de importante, de deplasare a pieselor către / de la mese, transportoare și fixare.
Manipularea materialului
Manipularea materialelor este o slujbă bine definită și este perfectă pentru soluții bine adaptate. Roboții cooperativi lucrează astăzi la mutarea materiilor prime, a pieselor și a ansamblurilor terminate pe linie, iar capacitatea lor de a ține piesele în loc este ideală pentru susținerea inspecțiilor vizuale, scanărilor de coduri de bare și multe altele.[22]
ABB YuMi
ABB a dezvoltat un braț de colaborare, dublă, care include mâini flexibile, piese de sisteme, o parte de localizare bazată pe aparat de fotografiat și o tehnologie de ultimă oră de control al robotului. Yumi este o viziune a viitorului. Yumi va schimba modul în care ne gândim la automatizarea de asamblare. Yumi este „tu și cu mine“, care lucrează împreună pentru a crea posibilități infinite. ABB YuMi au viziune precisă, gripper precis, feedback-ul sensibil de control al forței, software-ul flexibil și caracteristici încorporate în siguranță care să permită în mod colectiv programarea prin predare.
În esența sa, Yumi are ADN-ul de siguranță. La fel ca un braț de om are un schelet acoperit cu mușchi, care oferă umplutură, Yumi are un schelet ușor, dar rigid de magneziu acoperit cu o carcasa plutitoare din plastic învelit în umplutură moale. Acest aranjament absoarbe forța din impacturile neașteptate într-un grad foarte ridicat. La fel ca și brațul uman, Yumi nu are puncte de strângere astfel încât piese auxiliare sensibile nu pot fi strivite între două suprafețe. ABB Yumi este un robot de laborator, care este compatibil cu o camera curata si poate fi utilizat pentru a efectua diverse operații de manipulare a materialelor într-un laborator. Avantajul aplicării unui robot de colaborare cu doua brațe în aceste aplicații este avantajul prin programare unde Yumi poate fi usor programat pentru a îndeplini o funcție și apoi sa fie mutat într-o alta și să fie reprogramat.
Yumi este, de asemenea, un robot foarte precis, cu o precizie de 0.02mm, atunci când plasarea precisă este necesară YuMi poate furniza repetabilitate și să fie utilizat în zonele critice în care manipularea ușoară necesită o repetabilitate. Obiectivul este de a face automatizare din punct de vedere tehnic și din punct de vedere economic.
Soluția trebuie să fie, de asemenea, potrivită pentru pre-procesare, asamblarea și ambalarea tuturor produselor 3C și alte mici dispozitive, de ex: camere digitale, jucării, ceasuri.
Celulele automate vor coexista cu asamblarea manuală
Celulele și interacțiunea dintre celule manuale și automate trebuie să fie netedă și în condiții de siguranță.
Automatizarea robotului ar trebui, în principiu sa fie la fel de performanta ca lucrarea uni muncitor de asamblare calificat.
Automatizarea robotului trebuie să fie ușor de adaptat pentru noi condiții și sarcini.
Beneficii:
Poate funcționa la fel de eficient prin partea laterală sau față în față cu colegii umani.
grippere Servo („mâinile“) includ opțiuni pentru construit în camere
Căptușeala protejează colaboratorii în zonele cu risc ridicat de forța de contact în cazul în care se face.
În cazul în care robotul întâlnește un obiect neașteptat – chiar și unul ușor în contact cu un coleg de serviciu – se poate întrerupe în câteva milisecunde, iar mișcarea poate fi repornită din nou la fel de ușor.
Puncte de strângere au fost eliminate sau reduse la minimum la nivel acceptabil între părțile în mișcare și între piesele în mișcare și staționare.[23]
Figură 31 ABB YUMI[23]
Tabel 9 ABB YuMi[23]
KUKA youBot
YouBot este un robot mobil omnidirecțional de la KUKA destinat pentru cercetare și educație. KUKA bine cunoscut ca fiind unul dintre producător de frunte ai roboților industriali din lume a proiectat o platformă bogată.
Cerințe pentru utilizare:
Linux
Windows XP / Vista / Windows 7/ Alte versiuni de Windows ar putea funcționa la fel de bine, dar nu au fost testate până în prezent.
Visual Studio / Visual C ++
CMake, versiunea 2.8 sau mai sus:
Boost, versiunea 1.48 sau mai sus:
WinPcap, versiunea 4.1.2 sau mai sus:
Această bibliotecă oferă acces la adaptorul de cel mai jos nivel de rețea necesare pentru master EtherCAT.
WinPcap dezvoltator de pachet, versiunea 4.1.2 sau mai sus
KUKA youBot constă dintr-un șasiu, care poate fi mutat omnidirecțional, cu una sau două brațe robotizate montate pe șasiu. Un calculator industrial și o baterie au fost integrate în șasiu. Prin intermediul EtherCAT, PC-ul industrial comunica în timp real (ciclu de 1 ms) cu cele nouă unități, care pot fi operate cu controlul curent, controlul vitezei și controlul poziției. Platforma și brațul robotizat pot fi de asemenea utilizate independent una de cealaltă. Șasiul youBot are numai 53 cm lungime, 36 cm lățime și aproximativ 11 cm înălțime și se mișcă cu patru roți mecanuum. Aceste roți speciale au rulouri montate în jurul circumferinței la un unghi de 45 ° față de planul roții și permit combinrea mișcările de translație și de rotație. Acest lucru face posibilă mișcarea omnidirecțională, inclusiv mișcarea laterală și diagonală. [24]
Tabel 10 Specificații platforma omni-direcțională[24]
Figură 32 Platforma omni-direcțională[24]
Figură 33 Roțile mecanuum
KUKA youBot are o placă pentru a potrivi senzori. Fiecare KUKA youBot are o placă Mini-ITX ca și calculator de bord. Principalele caracteristici sunt : Processory Intel AtomTM Dual Core D510 (1M Cache, 2 x 1.66 GHz) Memorie de 2 GB single-channel DDR2 667MHz Grafica Embedded Gen3.5 + GFX Core, 400 MHz face frecvență de ceas, până la 224 MB de memorie partajată, unitate SSD de 32 GB Harddrive. [24]
Bratul robotului are o lungime de aproximativ 66 cm și este montat pe platformă. Un dispozitiv de prindere cu două degete la capătul brațului permite robotului să deplaseze obiecte de până la 70 mm în lungime și cu o greutate de până la 500 g. Brațul robotic este alcătuit din cinci articulații – fiecare fiind acționat de sistemele de acționare maxon.[24]
Tabel 11 Specificații Braț[24]
Tabel 12 Specificații motoare commune[24]
Figură 34 Spațiu e operare[24]
Figură 35 Prezentarea generală a structurii cinematice a brațului, limite si lungimea legăturilor dintre îmbinări[24]
Figură 36 KUKA youBot, cu direcția pozitivă a motoarelor[24]
Gripper
Tip: detasabil, 2 degete
Cursa Gripper: 20 mm
Gama Gripper: 70 mm
TMCM-KR-842 este placa cu clește de prindere pentru KUKA youBot, braț plasat în interiorul dispozitivului de prindere de la capătul superior al brațului. Scopul principal al acestui ansamblu este de a controla cele două motoare pas cu pas liniare (conectate separat la placa) în interiorul dispozitivului de prindere. Aceste motoare mută cele două degete de prindere. Gripper-ul KUKA youBot este proiectat pentru obiecte mici, cum ar fi cuburi sau bare. Acesta are o prindere de 20 mm, iar designul degetelor este optimizat pentru aceste tipuri de obiecte. Pentru prinderea obiectelor rotunde, degetele standard sunt prea scurte și rigide.
Programarea structurii youBot
Sistemul de operare UBUNTU:
Ubuntu este un sistem de operare bazat pe Linux pentru calculatoarele personale, servere și netbook-uri. Rudă apropiată a sistemului de operare Debian GNU/Linux, Ubuntu este ușor de instalat și folosit, des actualizat și neîngrădit de restricții legale.
Ubuntu folosește mediul de lucru Unity, al cărui scop este să ofere o interfață gratuită, simplă și intuitivă, dar în același timp și o gamă de aplicații și programe moderne. Suita de birou Libre Office, navigatorul web Mozilla Firefox și editorul grafic Gimp sunt câteva din programele distribuite implicit.
După instalarea sistemului de operare, utilizatorul este întâmpinat de un spațiu de lucru fără pictograme, în care culorile portocaliu și maro sunt predominante. Programele de uz general sunt instalate în meniul „Aplicații”. Locațiile importante și cele mai des frecventate sunt grupate în meniul „Places”. Modificarea parametrilor de funcționare se poate face cu ușurință din meniul „System”. Ferestrele deschise pot fi vizualizate în bara din josul ecranului.
Ubuntu este localizat în peste 40 de limbi, inclusiv limba română. Utilizatorii se pot folosi de unealta de traducere Rosetta pentru a contribui corecturi și/sau traduceri noi.
Din dorința de a-l face mai ușor de folosit, dezvoltatorii au pus accent pe folosirea comenzii „sudo.” Această comandă permite utilizatorilor să îndeplinească sarcini administrative fără a iniția o sesiune cu drepturi administrative.[25]
După ce se instalează UBUNTU este necerară instalarea unei distributii ROS.
Sistem de operare Robot (ROS)
ROS este un mediu care facilitează dezvoltarea aplicațiilor robotice.
Acesta include biblioteci și instrumente pentru a oferi abstracție hardware, drivere de dispozitiv, vizualizatori, transmiterea mesajelor și așa mai departe. Un avantaj este că ROS este foarte transparent. Programele sunt construite ca noduri ROS, care se conectează la un singur master ROS. Fiecare nod conectat la acest master poate asculta toate mesajele furnizate de alte noduri prin simpla abonare la subiectele corespunzătoare. Pe lângă mesaje, parametrii și serviciile pot fi puse la dispoziție pentru toate nodurile conectate la comandă în același mod. Utilizatorul poate interacționa cu comandantul printr-o serie de comenzi simple. În acest fel, utilizatorul poate publica mesaje sau poate apela manual servicii. Există o componentă ROS existentă pentru KUKA youBot, care construiește o interfață de comunicare între ROS și driverul youBot care accesează direct hardware-ul. Acest lucru oferă componentele youBot care gestionează mesajele pentru a comanda poziții sau viteze comune. De asemenea, publică informații despre starea curentă în care vă aflați. ROS este încă în curs de dezvoltare activă și versiuni noi sunt eliberate în mod regulat.[26]
Instalarea versiuni ROS Hydro se face astfel:
Cofigurarea listei de surse
sudo sh-c ‘echo “deb http://packges.ros.org/ros/ubuntu precise mail”>/etc/apt/sources.list/ros-latest.list’
Prima dată se descarcă pachetul:
http://packages.ros.org/ros-shadow-fixed/ubuntu
Configurarea cheilor
wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O – | sudo apt-key add –
Instalare
sudo apt-get update
Desktop-Instalare completă
sudo apt-get install ros-hydro-desktop-full
Se instalează rosdep
sudo rosdep init
rosdep update
geit ~/.bashrc
Dupa ce se deschide fișierul .bashrc la finalul acestuia se adauga sursa:
Source /opt/ros/hydro/setup.bash
Configurarea mediului
echo "source /opt/ros/hydro/setup.bash" >> ~/.bashrc
source ~/.bashrc
Obținerea instalării
sudo apt-get install python-rosinstall
Crearea spațiului de lucru catkin
Spațiul de lucru se creează astfel:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ~/catkin_ws/
$ catkin_make
$ gedit ~/.bashrc
Se adauga sursa la finalul fisierului .bashrc
Source ~/catkin_ws/devel/setup.bash
După aceea se salvează fișierul și se închide.
$ source devel/setup.bash
$ echo $ROS_PACKAGE_PATH
/home/youruser/catkin_ws/src:/opt/ros/kinetic/share
Instalarea API-ului youBot
Există două moduri diferite de a instala API-ul KUKA youBot. În timp ce descărcarea fișierelor sursă este tot timpul aceeași, poate fi compilată folosind fie rosmake, fie CMake. Ambele metode sunt descrise în cele ce urmează. În acest proces sunt instalate și driverele EtherCAT necesare, oferind stiva completă.
Descărcarea fișierelor sursă
Mai întâi trebuie obținute fișierele sursă pentru API-ul KUKA youBot care includ și driverele EtherCAT:
$ cd /home/youbot
$ git clone https://github.com/youbot/youbot_driver.git
Compilarea cu rosmake
$ rosmake youbot_driver
Compilarea cu CMake
$ cd youbot_driver
$ mkdir build
$ cd build
$ cmake ..
$ make
Dacă nu apare nici o eroare, driverul este gata de utilizare. Pentru a permite altor aplicații să le găsească, trebuie adăugată o variabilă de mediu YOUBOTDIR care indică directorul driverului:
$ gedit ~/.bashrc
Se adaugă linia la finalul fișierului
export YOUBOTDIR=/home/youbot/youbot_driver
$ source ~/.bashrc
Controlul traiectoriei:
Pentru platforma de testare, KUKA youBot, metodele de poziționare și de control al vitezei oferă rezultate nesatisfăcătoare pentru anumite sarcini, cum ar fi apucarea obiectelor.
Presupunând că cel mai bun mod de a prinde o cutie este poziționarea efectorului de capăt direct deasupra obiectului și apoi coborârea acestuia direct în jos.
În figura 37, se arată că atunci când coborâți efectorul de capăt comandând direct noile poziții ale articulațiilor, acesta nu se mișcă deloc în linie dreaptă.
O astfel de traiectorie este foarte incomodă în încearcarea de a prinde un obiect, deoarece este aproape sigur că obiectul va fi mutat. Când se comandă coborârea în trepte de 1 mm, traiectoria este mult mai aproape de linia dreaptă. Cu toate acestea, sarcina durează de până la 10 ori mai mult decât orice altă metodă.[27]
Figură 37 Controlul traiectoriei
Pe lângă lungimea de timp necesară, efectorul de capăt este, de asemenea, oscilant printr-o măsură mică care este incomodă. Figura 38 prezintă traiectoria în cazul în care coborârea este comandată în modul de control al vitezei. Fără feedback-ul poziției în comun pentru a corecta viteza, poziția ajunge la dimensiuni foarte mari din poziția dorită.[27]
Figură 38 Controlul Vitezei
Chiar și cu o poziție de feedback, manipulatorul nu se mișcă în linie dreaptă. Pe scurt, niciuna dintre schemele de control existente nu este capabilă să urmărească cu acuratețe și rapid traiectoria dorită. De aceea s-a implementat un regulator de cuplu bazat pe un model dinamic al brațului KUKA youBot.
Controlul cuplului este capabil să urmărească o traiectorie carteziană cu efecte cu o eroare de poziție scăzută, rămânând în același timp rapid. Se folosește cu succes pentru apucarea autonomă a obiectelor în timp ce în Figura 38(a) este coborârea efectorului de capăt în modul de viteză fără feedback, iar in Figura 38(b) coborârea efectorului de capăt în modul de viteză cu feedback. Ambele traiectorii sunt comparate cu traiectoria ideală sub forma unei linii drepte.[27]
Obținerea obiectelor necesită detectarea obiectelor simple în scenă. Pentru aceasta, youBot se poate echipa cu un sistem de camere Kinect. Un sistem Kinect este echipat cu o cameră de culoare, precum și o cameră cu infraroșu, care permite capturarea unei imagini cu o hartă de adâncime corespunzătoare. Aceste două imagini pot fi apoi combinate pentru a forma un nor de culoare. S-a dezvoltat un algoritm pentru detectarea și extragerea obiectelor, poziția și orientarea lor în norul de puncte. După aceea, robotul se mișcă independent în poziția respectivă și preia obiectele folosind controlerul de cuplu.[28]
Controlul cuplului
Mișcarea, pe care o articulație a brațului o va efectua când se aplică un anumit cuplu, depinde de dinamica robotului. Pentru ca manipulatorul să urmeze îndeaproape o traiectorie specifică, este necesar un model complet și precis al dinamicii robotului. Cu acest model se pot calcula momentele de cuplare necesare pentru pozițiile articulate, viteze și accelerații date.[28]
Introducere în API
API-ul KUKA youBot este interfața de programare prin care dezvoltatorul poate accesa și controla hardware-ul KUKA youBot. KUKA youBot API este o prescurtare a termenului KUKA youBot OODL API, OODL înseamnă Layer Devices Oriented Devices și subliniază designul orientat pe obiect al software-ului din spatele API-ului. Acest software, care este open source, poate fi privit ca un driver de nivel înalt pentru robot. Se compune dintr-un set de subsisteme funcționale decuplate.
În KUKA youBot API, brațul robotului este reprezentat ca lanț cinematic 5DOF, iar platforma mobilă omnidirecțională este tratată ca o colecție de articulații revolute, fiecare articulație fiind formată dintr-un motor și o cutie de viteze. API-ul KUKA youBot utilizează următoarele trei clase principale:
Clasa YouBotManipulator reprezintă brațul KUKA youBot ca o agregare a unei serii de îmbinări și un clește (vezi Figura 39).
Clasa YouBotBase reprezintă platforma omnidirecțională KUKA youBot (vezi Figurile 39, 40).
Clasa YouBotJoint reprezintă o articulație a brațului sau a platformei (vezi Figura 41).
Accesul la proprietățile fiecărui subsistem este organizat ierarhic. Pentru fiecare entitate (sistem, subsistem) reprezentată în API există un set de clase de configurare. Aceste clase de configurare permit obținerea sau configurarea anumitor configurații pentru acea entitate. Aceasta se realizează prin metodele getConfiguration () și setConfiguration (). De exemplu, pentru îmbinări, ar putea arăta așa cum este prezentat în figura 42.[29]
Figură 39 Elementele principale ale API-ului KUKA youBot: YouBotManipulator și YouBotBase[29]
Figură 40 Graficul de relații al KUKA youBotbase cu baza ierarhiei cinematice[29]
Figură 41 youBot interfață comună[29]
Figură 42 KUKA youBot joint data types[29]
Comenzi pentru programarea structurii youbot:
Definirea vitezei:
double translationalVelocity = 0.05; //metri_per_secundă
double rotationalVelocity = 0.2; //radian_per_secundă
Liniile următoare instanțează platforma și brațul cu valorile de configurare corespunzătoare din fișierele .cfg
YouBotBase myYouBotBase("youbot-base");
YouBotManipulator myYouBotManipulator("youbot-manipulator");
Aici se utilizează "unități de amplificare" pentru a seta valorile în OODL, ceea ce înseamnă că trebuie setată o valoare și o unitate.
quantity longitudinalVelocity = 0 * metri_per_secundă;
quantity transversalVelocity = 0 * metri_per_secundă;
quantity angularVelocity = 0 * radian_per_secundă;
Deplasarea platformei în față:
longitudinalVelocity = translationalVelocity * metri_per_secundă;
transversalVelocity = 0 * metri_per_secundă;
myYouBotBase.setBaseVelocity(longitudinalVelocity, transversalVelocity, angularVelocity);
SLEEP_MILLISEC(2000);
La executarea acestor linii de comandă robotul se va deplasa în fața timp de doua secunde cu o viteza de 0,05 metri pe secundă. Deplasarea în celelalte direcții se face urmând același principiu.
Deplasarea în spate:
longitudinalVelocity = -translationalVelocity * metri_per_secundă;
transversalVelocity = 0 * metri_per_secundă;
myYouBotBase.setBaseVelocity(longitudinalVelocity, transversalVelocity, angularVelocity);
SLEEP_MILLISEC(2000);
Deplasarea la stânga:
longitudinalVelocity = 0 * metri_per_secundă;
transversalVelocity = translationalVelocity * metri_per_secundă;
angularVelocity = 0 * radian_per_secundă;
myYouBotBase.setBaseVelocity(longitudinalVelocity, transversalVelocity, angularVelocity);
SLEEP_MILLISEC(2000);
Deplasarea la dreapta:
longitudinalVelocity = 0 * metri_per_secundă;
transversalVelocity = -translationalVelocity * metri_per_secundă;
angularVelocity = 0 * radian_per_secundă;
myYouBotBase.setBaseVelocity(longitudinalVelocity, transversalVelocity, angularVelocity);
SLEEP_MILLISEC(2000);
Oprira platformei se face astfel:
longitudinalVelocity = 0 * metri_per_secundă;
transversalVelocity = 0 * metri_per_secundă;
angularVelocity = 0 * radian_per_secundă;
myYouBotBase.setBaseVelocity(longitudinalVelocity, transversalVelocity, angularVelocity);
După terminarea unei deplasări și trecerea la manipularea brațului platforma trebuie oprită deoarece aceasta va citi în continuare în program timpii de așteptare și nu se va opri din deplasare.
Aducerea manipulatoru-lui într-o anumita poziție se face astfel:
desiredJointAngle.angle = 2.56244 * radian;
myYouBotManipulator.getArmJoint(1).setData(desiredJointAngle);
desiredJointAngle.angle = 1.04883 * radian;
myYouBotManipulator.getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = -2.43523 * radian;
myYouBotManipulator.getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = 1.73184 * radian;
myYouBotManipulator.getArmJoint(4).setData(desiredJointAngle);
SLEEP_MILLISEC(4000);
Afișarea unui mesaj:
LOG(info) << "fold arm";
Aplicații
În funcțe de domeniul de utilizare și senzori, Kuka youBot poate fi utilizat pentru o gama foarte larga de aplicații:
Urmărire și prindere de obiecte
Aranjarea obiectelor în funcție de culori
Asamblarea pieselor
Colectare automată
Scriere
Datorita dimensiuni lui Kuka youBot este potrivit pentru dezvoltarea si testarea unor proiecte din diferite domenii:
Tipurile de aplicații dezvoltate pe KUKA youBot
Asamblarea mobilierului IKEA
Asamblarea automată a fost una dintre primele aplicații de robotică. Robotii de asamblare convenționali funcționează atașați de podeaua fabricii, într-un mediu în care incertitudinea este gestionată și proiectată departe de un design uman. În generația viitoare sisteme agile de asamblare vor deveni, din ce în ce mai adaptibile la schimbarea circumstanțelor prin încorporarea roboților manipulatori mobili.
O soluție optimă este un sistem robot cooperativ capabil să asambleze kituri simple. Descriem aici un întreg sistem de planificare și asamblare, începând cu piesele prime și terminând cu o piesă asamblată. Roboții realizează geometric și simbolic planificarea, asumarea de roluri diferite și coordonarea acțiunilor completând ansamblul.
Roboții manipulatori mobili cu efectoare de capăt simple sunt capabili să localizeze părți în spațiul de lucru și să efectueze operații de înșurubare pentru conectarea pieselor. Pentru că efectoarele de capăt ale robotului nu sunt capabile să execute o manevră naturală de înșurubare, se poare dezvoltat un instrument nou care poate oferi o mișcare de rotație continuă. Multe operații de asamblare de exemplu înșurubarea unui picior de masă pe o masă, necesită cooperarea între roboți pentru plasarea și ținerea unei părți și pentru aplicarea sculei de înșurubat pentru executarea ansamblului.
Scopul acestui proiect este de a permite unei echipe de youBot să asambleze autonom mobilierul IKEA. YouBots ar trebui să poată deschide cutii, să scoată mobilierul și să asambleze complet setul de mobilier. Abilitățile necesare pentru asamblarea mobilierului nu se limitează la un set de acasă. Aplicațiile tehnologiilor folosite sunt testate și pentru setările din fabrică.[24]
Figură 43 Asamblarea mobilierului IKEA[24]
Dezvoltarea de strategii de control pentru poziționarea exactă a unui robot KUKA youBot
Ideea din spatele proiectului este problema de marcare a punctelor pe terenul halelor mari din fabrici. Aceste marcări sunt necesare pentru a permite o poziționare foarte precisă, pentru a face găurile și instalarea liniilor de producție întregi cu numeroasele componente. În prezent, această sarcină este realizată manual și este atât consumatoare de timp, cât și costisitoare. Rezultatele proiectului, indică faptul că atunci când se utilizează un KUKA youBot, procedura nu poate fi efectuată numai cu precizie comparabilă sau îmbunătățită, dar poate fi de asemenea complet automatizată și terminată într-un interval de timp mai scurt, reducând astfel costurile.[24]
Sistem de localizare pe bază de ultrasunete pentru KUKA youBot
Universitatea Sapientia din Ungaria a dezvoltat un sistem de localizare pe bază de ultrasunete pentru KUKA youBot. Mai mult, ei au lucrat la dezvoltarea unei metode de fuziune a senzorilor, cum ar fi roboții omnidirecționali. Combină măsurătorile timpului de mers cu ultrasunete cu măsurătorile IMU pentru controlul rapid și precis al robotului.
Figură 44 Sistem de localizare pe bază de ultrasunete pentru KUKA youBot[24]
Integrarea youBot și BCI
Laboratorul PERCRO se axează pe mediile virtuale. În acest context, ei lucrează la integrarea manipulatorilor robotici cu interfețe creier-calculator. Scopul cercetării este de a susține subiecții cu deficiențe severe și blocați, care și-au pierdut controlul motor asupra corpurilor lor. Prin utilizarea sistemelor BCI, pacienții pot controla roboții asistați prin activitatea mentală.[24]
SEAMLESS – navigare simultană și manipulare în scene dinamice complexe
Manipulatoarele robotice actuale operează, în general, într-o manieră predefinită, în medii controlate și protejate, care necesită o conștientizare minimă a situației. Dezvoltarea unor noi metodologii care să permită roboților să fie conștienți de mediul lor dinamic, să reacționeze într-o manieră rapidă, sigură și previzibilă este esențială pentru a exploata numeroasele scenarii robotice în care oamenii și roboții trebuie să lucreze împreună.
DRM paralel (PDRM), dezvoltat în proiectul strategic SEAMLESS la SINTEF ICT, este un nou algoritm global de planificare a mișcării. PDRM oferă planuri de mișcare în timp real în jurul obstacolelor dinamice bazate pe intrarea senzorului 3D. Performanța se realizează în principal prin două caracteristici de proiectare, pre-procesare și paralelizare. PDRM exploatează o procesare extensivă offline pentru a minimiza necesitatea verificării online a coliziunilor. Mai mult, algoritmul este foarte paralelizat și exploatează utilizarea unei GPU pentru majoritatea sarcinilor de calcul.[24]
Figură 45 SEAMLESS – navigare simultană și manipulare în scene dinamice complexe[24]
Cinematica inversă și planificarea continuă a traiectoriei în spațiul cartezian
Cinematica are o importanță fundamentală pentru planificarea traiectoriei, controlul mișcării, analiza spațiului de lucru etc. Cu toate acestea, există soluții multiple pentru manipulatorii seriali, iar soluțiile dorite sau optime trebuie să utilizeze algoritmi suplimentari pentru a selecta și potrivi din soluțiile multiple cum, ar fi cea mai apropiată soluție, economie de energie etc .; Pentru planificarea continuă a traiectoriei în spațiul cartezian, există mai multe metode, cum ar fi interpolarea formulelor din carne și Frenet-Serret, metodele axe-unghiuri, cu toate acestea, ele pot întâmpina probleme grave pentru manipulatorii 5-dof (de exemplu, KUKA youBot), etc.
În proiectul de cercetare se propune o metodă de rezervare pentru a soluționa cinematica inversă a manipulatorilor de serie industriali (5-dof și 6-dof), deci soluția dorită și optimă poate fi obținută direct fără selectarea și potrivirea de la mai multe soluții; Între timp, se propune orientarea dinamică de referință sau orientarea statică de referință pentru a planifica orientarea continuă care variază în funcție de timp, astfel încât planificarea continuă a traiectoriei este realizată direct în spațiul cartezian utilizând cinematica inversă menționată mai sus fără interpolarea în spațiul comun, iar aceasta din urmă are forma imprevizibilă și complicată a efectorului final.[24]
Figură 46 Noua cinematică inversă și planificarea continuă a traiectoriei în spațiul cartezian[24]
Un sistem monocular de estimare a poziției bazat pe LED-uri în infraroșu
Pentru a putea efectua misiuni multi-robot, localizarea reciprocă este o componentă fundamentală. Sistemul de estimare monocular permite o estimare precisă, eficientă și robustă a poziției relative a doi roboți. Sistemul este alcătuit din mai multe LED-uri în infraroșu și o cameră cu un filtru infraroșu. LED-urile sunt montate pe robotul care urmează să fie urmărit, în acest caz, quadcopter. Robotul observator, youBot pe teren, este echipat cu camera.[24]
Figură 47 Un sistem monocular de estimare poziției bazat pe LED-uri în infraroșu[24]
Controlul în siguranță al roboților mobili pentru operații industriale productive
Scopul principal al proiectului SCORPION este de a dezvolta un cadru de planificare, control și percepție care să permită executarea eficientă a operațiilor productive cu un manipulator mobil, păstrând în același timp un nivel de siguranță prescris în ceea ce privește obstacolele neplanificate, inclusiv ființele umane. Interacțiunea om-robot este de fapt o piatră de temelie a proiectului.
Se face referire la un cadru industrial, însă principiile sunt suficient de generale pentru a fi aplicate în alte medii (de ex. Interne).
Sistemul are mai multe caracteristici distinctive:
Exploatarea deplină a redundanței manipulatorului mobil pentru a determina configurația robotului în timpul unei anumite sarcini;
Percepția mediului înconjurător prin intermediul senzorilor suplimentari de distanțe LED montați la bordul robotului;
Interacțiune atât cu oamenii (percepuți prin intermediul unui Microsoft Kinect montat la bord), cât și cu mediul (perceput datorită unei camere video în braț);
Evaluarea continuă a pericolului unui robotul în mișcare aflat în mișcare, prin conceptul recent introdus în domeniul periculos;
Re-planificarea online a traiectoriei optime a robotului (de exemplu, în cazul apariției unor obstacole sau a unei modificări a sarcinii dorite), care exploatează redundanța manipulatorului mobil în raport cu sarcina.[24]
EmoRobot: Teleprezenta
YouBot este utilizat în prezent ca dispozitiv de teleprezență în proiectul german de cercetare EmoRobot. Proiectul investighează utilizarea sistemelor de asistență robotică ca dispozitiv de susținere a persoanelor cu demență și se axează pe aptitudinea sistemelor tehnice de sprijinirea bunăstării, independenței și autonomiei.[24]
Figură 48 EmoRobot: Teleprezenta[24]
Roboți autonomi pentru demolări în medii nestructurate
Acesta este un proiect-pilot care are ca scop stabilirea bazelor pentru dezvoltarea de roboți mobili autonomi și semi-autonomi pentru sarcinile legate de construcții în medii nestructurate. Sarcina constă în demolarea unui zid: robotul este capabil să se apropie în mod autonom de țintă, să planifice și să execute misiunea. Are capabilități perceptuale îmbunătățite, permițându-i să identifice și să evite obstacolele, precum și să reconstruiască cu precizie starea peretelui, estimând astfel progresul actual. Aceiași algoritmi au fost testați in scenarii mai complexe si au fost folosiți pentru a reconstrui si estima precis volumul excavat. De asemenea, este prezentată o paradigmă HRI simplă bazată pe denumirea cu laser.[24]
Figură 49 Roboți autonomi pentru demolări în medii nestructurate[24]
Funcționarea inerțială a mișcării prin mișcarea telecomenzii unui robot mobil
Obiectivul principal al proiectului este de a dezvolta un cadru de teleoperare bazat pe captură inerțială (Xsens MVN) bazat pe manipularea robotului mobil, intuitiv, eficient și ușor de utilizat. În mod specific, centrul corpului de masă și datele cinematice drepte ale utilizatorului sunt folosite pentru a genera referințe de poziție și orientare pentru baza KUKA youBot și, respectiv, pentru manipulator. Brațul stâng este folosit pentru a oferi comenzile de nivel înalt ale utilizatorilor, cum ar fi "Manipulator On / Off", "Base On / Off" și "Manipulator Pause / Resume". Analiza principală a componentelor și analiza liniară discriminatorie sunt utilizate în timp real pentru a extrage intenția utilizatorului pentru aceste comenzi. [24]
HRI pentru predarea sarcinilor de manipulare mobilă
Această lucrare prezintă o interfață om-robot (HRI) pentru controlul atât a brațului cât și a bazei unui robot youBot. Este conceput ca un instrument pentru predarea robotului, printr-o combinație de imitații și demonstarații. Baza mobilă este tele-operată. Ca o diferență, în învățarea imitației este necesară o înregistrare specifică a acțiunilor profesorului și o mapare ulterioară între execuția înregistrată și capacitățile de învățare ale robotului. În sistemul HRI, maparea concretizării constă în antropomorfism direct, utilizând o rețea de senzori inerțiali localizați direct pe brațul profesor uman. Un senzor inerțial independent este folosit ca joystick pentru mișcarea directă a platformei YouBot. Sistemul ne permite să înregistrăm mișcările umane în scopul predării robotului, dar și să mutăm robotul în timp real, cu brațul care acționează ca o interfață antropomorfă. Un operator uman poartă pe brat trei unități separate de măsurare inerțială. Sistemul înregistrează starea brațului său și îl transferă la YouBot pentru a imita starea extremității umane. Unitățile de măsură inerțiale utilizate pentru acest sistem sunt patru Xsens MTx atașate la un Master Xbus. MTx-urile sunt mici și precise 3DOF de urmărire a orientării inerțiale care oferă o orientare 3D, precum și date cinematice: accelerația 3D, rata 3D de rotire și câmpul magnetic al păntului. Toate programele create pentru acest proiect au fost implementate folosind cadrul ROS (Robot Operating System).[24]
Aplicația dezvoltată în cadrul lucrării
Aplicația dezvoltată în cadrul acestei lucrări demonstrează posibilitatea robotului de activare în diverse domenii nu doar cele industriale. Datorita structurii youBot am putut să îmbunătățesc aplicația de bază adăugând la domeniul de roboți colaborativi pe cel de manipulare mobilă.
A fost nevoie de foarte multe ore de muncă și multă atenție pentru a dezvolta aplicația astfel încât să elimin și să previn coliziunea între brațe.
Aplicația este concepută pentru a transfera lichidul dintr-un recipient (în cazul de fațaă o sticlă) înrt-un alt recipient (un pahar). Țin să precizez că pentru realizarea aplicației nu au fost folosiți decât senzorii incluși în structura youBot, ca urmare robotul nu știe poziția exacta a recipientelor și nici cantitatea de lichid turnată.
Aplicația rulează astfel:
Aduce brațele în poziția de preluare dupa care robotul începe deschiderea grippere-lor în timp ce se deplasează in locul de preluare. Odată ajuns in locul de preluare acesta închide gripperele, ridica recipientele din zona de preluare si apoi începe deplasarea în poziția inițială. Odată ajuns aduce recipientele la valoarea precizată și începe transferarea lichidului, odată terminat transferul robotul reia procedura în sens invers.
Țin să precizez ca toare unghiurile pentru fiecare articulație si timpi de asteptare au fost calculați și nu s-a folosit nici o aplicație grafică.
Figură 50 Poziția inițială a braleor
Figură 51 Poziția de preluare
Figură 52 Zona de preluare
Figură 53 Transferarea lichidului
Concluzii
Am ales acest proiect deoarece robotica îndustrială s-a dezvoltat destul de mult pâna în prezent, găsindu-și locul în foarte multe domenii, însă robotii industiali obișnuiți nu pot aplica în toate dmeniile, în unele din ele încă fiind necesar ca robotul sa lucreze împreuna cu omul sau alături de un alt partener robot. Este foarte important ca în anumite sarcini un robot pe langă capacitatea de a colabora să poată se se și deplaseze în condiții de sguranță pentru el însuși dar si pentru partenerii săi de lucru.
Încă de la începutul acestui proiect am fost convins că pentru realizarea acestuia va fi nevoie de foarte multe ore de muncă, cercetare în domeniu și de foarte multe încercări pentru finalizarea acestei sarcini. Deși a fost primul meu contact cu această structură robotică după foarte mule încercări am reușit să fac o aplicație funcțională.
Prin realizarea acestui proiect am avut foarte multe de învățat deoarece aici a fost primul meu contact cu sistemul de operarte Linux și a fost nevoie să învăț de la comenzile de bază, până la modul de instalare al aplicațiilor Linux. Fiind prima pornire a acestei structuri au aparut si mici probleme neașteptate cum ar fi lipsa informațiilor complete despre instalarea sistemului de operare în manual.
În realizarea aplicației există și puncte minus cum ar fi faptul că am realizat doar mișcarile efective prin calcularea unghiurilor fiecărei articulații, dar nu am reusit încă să controlez cuplul, sau faptul ca robotul nu știe exact ude are obiectele pe care trebuie să le prindă, pentru acest lucru ar fi nevoie de instalarea unei camere și crearea unei aplicații de recunoaștere a formelor.
Mai sunt și îmbunătățiri de adus la aplicație cum ar fi adaugarea unor senzorilor în grippere pentru a ajuta robotul să recunoască dacă are un obiect in gripper sau dacă nu are nimic, să îl ajute sa știe dacă a terminat de transferat lichidul dintrun recipient în celălalt.
În încheiere, vreau să adaug că proiectul a adus cu el plăcerea de a lucra și studia pentru finalizarea obiectivului propus, precum și încrederea că pe viitor mă pot gândi și la alte proiecte chiar cu un grad de complexitate mai ridicat.
Bibliografie
Mircea Ivănescu, Sisteme avansate de conducere în robotică, Editura Scrisul Românesc, Craiova, 1994
Ivănescu, M. – Roboți industriali, Ed. Universitaria Craiova, 1994
Ivănescu, M. – Sisteme de conducere a roboților, Ed. Scrisul Românesc,Craiova, 2007.
Nițulescu, M., Sisteme robotice educaționale, Ed. Sitech, 1999.
Nițulescu, M., Sisteme robotice cu capacitate de navigație, Ed.Universitaria, 2002.
Mair, M. G., Industrial robotics, Ed. Prentice Hall International Inc., 1988.
Groover, M., Automation, Production systems and Computer Integrated Manufacturing, Ed. Prentice-Hall, 1987
Vukobratovic, M.; Kircanski, N., Real-Time Dynamics of Manipulation Robots, Springer Verlag, 1985.
Asimov, Isaac; Frenkel, Karen (1985). Robots: Machines in Man’s Image. New York: Harmony Books. p. 13.
Taylor, Griffith P. (1995). Robin Johnson, ed. Robotul Gargantua . Gargantua: constructor trimestrial.
Fantoni, G.; Santochi, M.; Dini, G.; Tracht, K.; Scholz-Reiter, B.; Fleischer, J.; Lien, T.K.; Seliger, G.; Reinhart, G.; Franke, J.; Hansen, H.N.; Verl, A. (2014). "Grasping devices and methods in automated production processes". CIRP Annals – Manufacturing Technology. 63 (2): 679–701
Monkman, G. J.; Hesse, S.; Steinmann, R.; Schunk, H. (2007). Robot Grippers. Wiley-VCH
Renaud, M., Geometric and Kinematic Modeles of a Robot Manipulator, 11th I.S.I.R., Tokyo, Japan, 7-9 oct., 1981.
Megahed, S., New Lagrangian formulation of manipulator dynamics, 11th I.S.I.R., 7-9 oct., Tokyo, Japan, 1981.
Drimer. D.; Dorin.A., ș.a., Roboți industriali și manipulatoare, Ed.Tehnică, București, 1985.
Referințe web
http://robotics.megagiant.com/history.html
http://www.robotshop.com/media/files/PDF/timeline.pdf
http://www.scritub.com/tehnica-mecanica/Roboti-Industriali-MODELE-GEOM82126.php
http://www.robotiksistem.com/robotics_history.html
https://www.servocity.com/parallel-gripper-kit-a
http://www.ukiva.org/vision-systems/industrial-vision-systems.html
https://www.automation.com/library/articles-white-papers/vision-sensors-systems/packagers-choose-machine-vision-quality-inspection-to-reduce-waste-and-boost-roi
http://www.ukiva.org/machine-vision.html
http://www.ukiva.org/image-processing-software.html
http://www.ukiva.org/industrial-cameras.html
https://www.robotics.org/content-detail.cfm?content_id=3992
https://www.kuka.com/en-us/about-kuka
https://www.klonblog.com/2015/03/25/the-revenge-roboter-agilus-vs-timo-boll-geht-in-die-zweite-runde/
https://www.kuka.com/en-in/products/robotics-systems/robot-controllers
https://www.kuka.com/en-us/products/robotics-systems/industrial-robots/
https://prezi.com/de2y1vkwn03f/robotul-definitie-structura/
https://www.iso.org/obp/ui/#iso:std:iso:8373:ed-2:v1:en
https://ifr.org/uploads/media/History_of_Industrial_Robots_online_brochure_by_IFR_2012.pdf
https://oshwiki.eu/wiki/Collaborating_robots
http://www.rethinkrobotics.com/sawyer/
http://www.rethinkrobotics.com/baxter/
http://new.abb.com/products/robotics/industrial-robots/yumi
http://www.youbot-store.com
http://ubuntu.ro
http://wiki.ros.org
http://rpg.ifi.uzh.ch/docs/theses/Benjamin_Keiser_Torque_Control_2013.pdf
https://web.wpi.edu/Pubs/E-project/Available/E-project-031113-133138/unrestricted/Mobile_Manipulation_for_the_KUKA_youBot_Platform.pdf
ftp://ftp.youbot-store.com/manuals/KUKA-youBot_UserManual.pdf
http://coro.etsmtl.ca/blog/?p=107
http://www.techbriefs.com/privacy-footer-69/10531&usg=ALkJrhigyp0Nb-hyPJuGqfxZgwelpv_QLw
http://www.rasfoiesc.com/inginerie/tehnica-mecanica/CINEMATICA-ROBOTILOR-INDUSTRIA74.php
http://journals.sagepub.com/doi/abs/10.1177/0278364915583880
http://www.southampton.ac.uk/~rmc1/robotics/arkinematics.htm
https://www.universal-robots.com
http://www.scritub.com/tehnica-mecanica/Roboti-Industriali-MODELE-GEOM82126.php
http://www.generationrobots.com/img/Kuka-YouBot-Technical-Specs.pdf
http://wiki.ros.org/ROS/Tutorials
http://wiki.ros.org/catkin/Tutorials/create_a_workspace
http://www.youbot-store.com/developers/projects?p=2
http://www.extremetech.com/extreme/155274-mit-creates-autonomous-flat-pack-furniture-assembling-ikeabot
https://www.sintef.no/en/latest-news/a-friendly-robot/
http://www.computerhistory.org/atchm/squee-the-robot-squirrel/
https://www.klonblog.com/2015/03/25/the-revenge-roboter-agilus-vs-timo-boll-geht-in-die-zweite-runde/
https://www.kuka.com/en-us/products/robotics-systems/industrial-robots/
https://github.com/youbot/youbot_applications/blob/master/hello_world_demo/src/main.cpp
Codul sursă
#include "youbot/YouBotBase.hpp"
#include "youbot/YouBotManipulator.hpp"
#include "youbot/YouBotGripper.hpp"
#include "generic-joint/JointData.hpp"
#include "youbot/DataTrace.hpp"
using namespace youbot;
int main() {
/* configuration flags for different system configuration (e.g. base without arm)*/
bool youBotHasBase = false;
bool youBotHasArm = false;
/* define velocities */
double translationalVelocity = 0.05; //meter_per_second
double rotationalVelocity = 0.2; //radian_per_second
/* create handles for youBot base and manipulator (if available) */
YouBotBase* myYouBotBase = 0;
YouBotManipulator* myYouBotManipulator = 0;
YouBotManipulator* myYouBotManipulator2 = 0;
try {
myYouBotBase = new YouBotBase("youbot-base", YOUBOT_CONFIGURATIONS_DIR);
myYouBotBase->doJointCommutation();
youBotHasBase = true;
} catch (std::exception& e) {
LOG(warning) << e.what();
youBotHasBase = false;
}
try {
myYouBotManipulator = new YouBotManipulator("youbot-manipulator", YOUBOT_CONFIGURATIONS_DIR);
myYouBotManipulator2 = new YouBotManipulator("youbot-manipulator2", YOUBOT_CONFIGURATIONS_DIR);
myYouBotManipulator->doJointCommutation();
myYouBotManipulator->calibrateManipulator();
myYouBotManipulator2->doJointCommutation();
myYouBotManipulator2->calibrateManipulator();
myYouBotManipulator2->calibrateGripper();
myYouBotManipulator->calibrateGripper();
youBotHasArm = true;
} catch (std::exception& e) {
LOG(warning) << e.what();
youBotHasArm = false;
}
/*
* Variable for the base.
* Here "boost units" is used to set values in OODL, that means you have to set a value and a unit.
*/
quantity<si::velocity> longitudinalVelocity = 0 * meter_per_second;
quantity<si::velocity> transversalVelocity = 0 * meter_per_second;
quantity<si::angular_velocity> angularVelocity = 0 * radian_per_second;
/* Variable for the arm. */
JointAngleSetpoint desiredJointAngle;
try {
if (youBotHasArm) {
/* unfold arm*/
desiredJointAngle.angle = 2.56244 * radian;
myYouBotManipulator->getArmJoint(1).setData(desiredJointAngle);
desiredJointAngle.angle = 2.56244 * radian;
myYouBotManipulator2->getArmJoint(1).setData(desiredJointAngle);
desiredJointAngle.angle = 1.04883 * radian;
myYouBotManipulator->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = 1.04883 * radian;
myYouBotManipulator2->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = -2.43523 * radian;
myYouBotManipulator->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = -2.43523 * radian;
myYouBotManipulator2->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = 1.73184 * radian;
myYouBotManipulator->getArmJoint(4).setData(desiredJointAngle);
desiredJointAngle.angle = 1.73184 * radian;
myYouBotManipulator2->getArmJoint(4).setData(desiredJointAngle);
LOG(info) << "unfold arm";
SLEEP_MILLISEC(2000);
/*Pozitionare perpendicular pe baza*/
desiredJointAngle.angle = 2.95 * radian;
myYouBotManipulator->getArmJoint(5).setData(desiredJointAngle);
desiredJointAngle.angle = 2.95 * radian;
myYouBotManipulator2->getArmJoint(5).setData(desiredJointAngle);
desiredJointAngle.angle = 0.11 * radian;
myYouBotManipulator->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = 0.11 * radian;
myYouBotManipulator2->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = -0.11 * radian;
myYouBotManipulator->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = -0.11 * radian;
myYouBotManipulator2->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = 0.11 * radian;
myYouBotManipulator->getArmJoint(4).setData(desiredJointAngle);
desiredJointAngle.angle = 0.11 * radian;
myYouBotManipulator2->getArmJoint(4).setData(desiredJointAngle);
SLEEP_MILLISEC(3000);
desiredJointAngle.angle = 1.4 * radian;
myYouBotManipulator->getArmJoint(1).setData(desiredJointAngle);
desiredJointAngle.angle = 4.55 * radian;
myYouBotManipulator2->getArmJoint(1).setData(desiredJointAngle);
SLEEP_MILLISEC(2000);
/* intindere brat*/
desiredJointAngle.angle = 2.356 * radian;
myYouBotManipulator->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = 2.156 * radian;
myYouBotManipulator2->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = -0.75 * radian;
myYouBotManipulator->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = -0.7 * radian;
myYouBotManipulator2->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = 0.35 * radian;
myYouBotManipulator->getArmJoint(4).setData(desiredJointAngle);
desiredJointAngle.angle = 0.465 * radian;
myYouBotManipulator2->getArmJoint(4).setData(desiredJointAngle);
SLEEP_MILLISEC(1000);
myYouBotManipulator->getArmGripper().open();
myYouBotManipulator2->getArmGripper().open();
SLEEP_MILLISEC(2000);
/* left */
longitudinalVelocity = 0 * meter_per_second;
transversalVelocity = translationalVelocity * meter_per_second;
angularVelocity = 0 * radian_per_second;
myYouBotBase->setBaseVelocity(longitudinalVelocity, transversalVelocity, angularVelocity);
LOG(info) << "drive left";
SLEEP_MILLISEC(4000);
/* stop base */
longitudinalVelocity = 0 * meter_per_second;
transversalVelocity = 0 * meter_per_second;
angularVelocity = 0 * radian_per_second;
myYouBotBase->setBaseVelocity(longitudinalVelocity, transversalVelocity, angularVelocity);
/* Ridicare pahar*/
SLEEP_MILLISEC(1000);
myYouBotManipulator->getArmGripper().close();
myYouBotManipulator2->getArmGripper().close();
SLEEP_MILLISEC(3000);
desiredJointAngle.angle = 2.156 * radian;
myYouBotManipulator->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = 1.956 * radian;
myYouBotManipulator2->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = -0.7 * radian;
myYouBotManipulator->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = -0.65 * radian;
myYouBotManipulator2->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = 0.5 * radian;
myYouBotManipulator->getArmJoint(4).setData(desiredJointAngle);
desiredJointAngle.angle = 0.60 * radian;
myYouBotManipulator2->getArmJoint(4).setData(desiredJointAngle);
SLEEP_MILLISEC(2000);
/* right */
longitudinalVelocity = 0 * meter_per_second;
transversalVelocity = -translationalVelocity * meter_per_second;
angularVelocity = 0 * radian_per_second;
myYouBotBase->setBaseVelocity(longitudinalVelocity, transversalVelocity, angularVelocity);
LOG(info) << "drive right";
SLEEP_MILLISEC(4000);
/* stop base */
longitudinalVelocity = 0 * meter_per_second;
transversalVelocity = 0 * meter_per_second;
angularVelocity = 0 * radian_per_second;
myYouBotBase->setBaseVelocity(longitudinalVelocity, transversalVelocity, angularVelocity);
/*aducere pahar la umplere*/
desiredJointAngle.angle = -2.0 * radian;
myYouBotManipulator->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = -2.0 * radian;
myYouBotManipulator2->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = 2 * radian;
myYouBotManipulator->getArmJoint(4).setData(desiredJointAngle);
desiredJointAngle.angle = 2.55 * radian;
myYouBotManipulator2->getArmJoint(4).setData(desiredJointAngle);
desiredJointAngle.angle = 1.2 * radian;
myYouBotManipulator->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = 1.5 * radian;
myYouBotManipulator2->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = -1.3 * radian;
myYouBotManipulator->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = -2.2 * radian;
myYouBotManipulator2->getArmJoint(3).setData(desiredJointAngle);
/*umplere*/
SLEEP_MILLISEC(1000);
desiredJointAngle.angle = 1.08 * radian;
myYouBotManipulator->getArmJoint(1).setData(desiredJointAngle);
desiredJointAngle.angle = 4.77 * radian;
myYouBotManipulator2->getArmJoint(1).setData(desiredJointAngle);
SLEEP_MILLISEC(1000);
desiredJointAngle.angle = 3.5 * radian;
myYouBotManipulator->getArmJoint(5).setData(desiredJointAngle);
SLEEP_MILLISEC(2000);
desiredJointAngle.angle = 1.6 * radian;
myYouBotManipulator2->getArmJoint(5).setData(desiredJointAngle);
SLEEP_MILLISEC(1000);
desiredJointAngle.angle = 1.5 * radian;
myYouBotManipulator2->getArmJoint(5).setData(desiredJointAngle);
SLEEP_MILLISEC(1000);
desiredJointAngle.angle = 1.4 * radian;
myYouBotManipulator2->getArmJoint(5).setData(desiredJointAngle);
SLEEP_MILLISEC(1000);
desiredJointAngle.angle = 1.3 * radian;
myYouBotManipulator2->getArmJoint(5).setData(desiredJointAngle);
SLEEP_MILLISEC(1000);
desiredJointAngle.angle = 1.2 * radian;
myYouBotManipulator2->getArmJoint(5).setData(desiredJointAngle);
SLEEP_MILLISEC(1000);
desiredJointAngle.angle = 1.1 * radian;
myYouBotManipulator2->getArmJoint(5).setData(desiredJointAngle);
SLEEP_MILLISEC(1000);
desiredJointAngle.angle = 1 * radian;
myYouBotManipulator2->getArmJoint(5).setData(desiredJointAngle);
SLEEP_MILLISEC(2000);
desiredJointAngle.angle = 2.95 * radian;
myYouBotManipulator2->getArmJoint(5).setData(desiredJointAngle);
SLEEP_MILLISEC(1500);
desiredJointAngle.angle = 2.95 * radian;
myYouBotManipulator->getArmJoint(5).setData(desiredJointAngle);
SLEEP_MILLISEC(2000);
desiredJointAngle.angle = 1.4 * radian;
myYouBotManipulator->getArmJoint(1).setData(desiredJointAngle);
desiredJointAngle.angle = 4.55 * radian;
myYouBotManipulator2->getArmJoint(1).setData(desiredJointAngle);
SLEEP_MILLISEC(2000);
/*coborare pahar */
desiredJointAngle.angle = 2.156 * radian;
myYouBotManipulator->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = 1.956 * radian;
myYouBotManipulator2->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = -0.7 * radian;
myYouBotManipulator->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = -0.65 * radian;
myYouBotManipulator2->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = 0.5 * radian;
myYouBotManipulator->getArmJoint(4).setData(desiredJointAngle);
desiredJointAngle.angle = 0.60 * radian;
myYouBotManipulator2->getArmJoint(4).setData(desiredJointAngle);
SLEEP_MILLISEC(2000);
/* left */
longitudinalVelocity = 0 * meter_per_second;
transversalVelocity = translationalVelocity * meter_per_second;
angularVelocity = 0 * radian_per_second;
myYouBotBase->setBaseVelocity(longitudinalVelocity, transversalVelocity, angularVelocity);
LOG(info) << "drive left";
SLEEP_MILLISEC(4000);
/* stop base */
longitudinalVelocity = 0 * meter_per_second;
transversalVelocity = 0 * meter_per_second;
angularVelocity = 0 * radian_per_second;
myYouBotBase->setBaseVelocity(longitudinalVelocity, transversalVelocity, angularVelocity);
SLEEP_MILLISEC(2000);
/*eliberare pahar*/
desiredJointAngle.angle = 2.356 * radian;
myYouBotManipulator->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = 2.156 * radian;
myYouBotManipulator2->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = -0.75 * radian;
myYouBotManipulator->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = -0.7 * radian;
myYouBotManipulator2->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = 0.35 * radian;
myYouBotManipulator->getArmJoint(4).setData(desiredJointAngle);
desiredJointAngle.angle = 0.465 * radian;
myYouBotManipulator2->getArmJoint(4).setData(desiredJointAngle);
SLEEP_MILLISEC(2000);
myYouBotManipulator->getArmGripper().open();
myYouBotManipulator2->getArmGripper().open();
SLEEP_MILLISEC(5000);
/* right */
longitudinalVelocity = 0 * meter_per_second;
transversalVelocity = -translationalVelocity * meter_per_second;
angularVelocity = 0 * radian_per_second;
myYouBotBase->setBaseVelocity(longitudinalVelocity, transversalVelocity, angularVelocity);
LOG(info) << "drive right";
SLEEP_MILLISEC(4000);
/* stop base */
longitudinalVelocity = 0 * meter_per_second;
transversalVelocity = 0 * meter_per_second;
angularVelocity = 0 * radian_per_second;
myYouBotBase->setBaseVelocity(longitudinalVelocity, transversalVelocity, angularVelocity);
/* fold arm (approx. home position) using empirically determined values for the positions */
desiredJointAngle.angle = 0.11 * radian;
myYouBotManipulator->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = 0.11 * radian;
myYouBotManipulator2->getArmJoint(2).setData(desiredJointAngle);
desiredJointAngle.angle = -0.11 * radian;
myYouBotManipulator->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = -0.11 * radian;
myYouBotManipulator2->getArmJoint(3).setData(desiredJointAngle);
desiredJointAngle.angle = 0.11 * radian;
myYouBotManipulator->getArmJoint(4).setData(desiredJointAngle);
desiredJointAngle.angle = 0.11 * radian;
myYouBotManipulator2->getArmJoint(4).setData(desiredJointAngle);
desiredJointAngle.angle = 0.13 * radian;
myYouBotManipulator->getArmJoint(5).setData(desiredJointAngle);
desiredJointAngle.angle = 0.13 * radian;
myYouBotManipulator2->getArmJoint(5).setData(desiredJointAngle);
myYouBotManipulator->getArmGripper().close();
myYouBotManipulator2->getArmGripper().close();
SLEEP_MILLISEC(4000);
desiredJointAngle.angle = 0.11 * radian;
myYouBotManipulator->getArmJoint(1).setData(desiredJointAngle);
desiredJointAngle.angle = 0.11 * radian;
myYouBotManipulator2->getArmJoint(1).setData(desiredJointAngle);
LOG(info) << "fold arm";
SLEEP_MILLISEC(4000);
}
} catch (std::exception& e) {
std::cout << e.what() << std::endl;
std::cout << "unhandled exception" << std::endl;
}
/* clean up */
if (myYouBotBase) {
delete myYouBotBase;
myYouBotBase = 0;
}
if (myYouBotManipulator) {
delete myYouBotManipulator;
myYouBotManipulator = 0;
}
LOG(info) << "Done.";
return 0;
CD / DVD
Autorul atașează în această anexă obligatorie, versiunea electronică a aplicației, a acestei lucrări, precum și prezentarea finală a tezei.
Index
B
Bibliografie 9
C
CUPRINSUL xi
D
Dimensiuni 3
F
Figuri 4
Formulele matematice 4
I
Ilustrațiile 4
L
Legenda 6
LISTA FIGURILOR xii
LISTA TABELELOR xiii
R
Referințe web 10
S
Structura documentului 2
T
Tabele 5
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: PROF.UNIV.DR.ING. Nicu-George BÎZDOACĂ IULIE 2017 CRAIOVA STRUCTURI ROBOTICE COLABORATIVE Mihail-Florin IORDAN COORDONATOR ȘTIINȚIFIC… [311403] (ID: 311403)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
