Sesiunea Ştiinţifică Studenţească, 13-14 mai 2016

DEZVOLTAREA UNEI APLICAȚII SOFTWARE DE COMANDA ȘI
PROGRAMARE PENTRU ROBOTUL JEL

STAN Laurențiu-Alexandru1, CHERECHEȘ Dragoș2

Conducător ştiinţific: s.l. dr. ing. Mario IVAN

REZUMAT: Scopul acestei teme de cercetare este de a dezvolta și optimiza programe de
comandă la distanță și programare a roboților industriali cu aplicare directă pe robotul JEL
existent în laboratorul de roboți industriali al departamentului MSP. În acestă tema de
cercetare este realizarea programului ControlJEL, cu care se poate realiza comanda la
distanță și programarea robotului JEL prin conexiune Bluetooth cu ajutorul unui
microcontroller Arduino. Tot odată este posibilă simularea offline a cinematicii și
comunicației robotului prin intermediul programului V-REP și ControlJEL.
CUVINTE CHEIE: ControlJEL, Lua, V-REP, Arduino, Love2D

1 INTRODUCERE
Scopul acestei teme de cercetare este de a
dezvolta și optimiza programe de comandă la
distanță și programare a roboților industriali cu
aplicare directă pe robotul JEL existent în laboratorul
de roboți industriali al departamentului MSP.
În acestă tema de cercetare este prezentată
realizarea programului ControlJEL, cu care se poate
realiza comanda la distanță și programarea robotului Figura 1. Schema bloc de comunicație
JEL prin conexiune Bluetooth cu ajutorul unui
microcontroller Arduino. Totodată este posibilă
simularea offline a robotului prin intermediul
programului V-REP și ControlJEL.
2 STADIUL INITIAL
Stadiul initial al sistemului era caracterizat prin
existenta robotului - subsistem mecanic si subsistem
de comanda (controller), insa fara o interfata-
utilizator (teach-pendant) utilizabila. De asemenea,
pentru o comanda eficienta a robotului erau
necesare modelele matematice pentru comanda in
pozitie a punctului caracteristic si pentru orientarea
efectorului. Fig 2. Placa de dezvoltare Arduino Uno
3 RESURSELE ȘI PRINCIPIILE Utilizând tehnologia Bluetooth, am realizat
UTILIZATE comunicatia cu robotul, nu numai de pe PC, dar si
3.1 Introducere în principiile de bază a de pe o tableta sau smartphone via Bluetooth cu
programului ControlJEL aplicatia ControlJEL. Din schemă se poate observa
că cu ajutorul plăcii de dezvoltare Arduino (vezi
3.1.1 Schema bloc de comunicație Figura 2) realizăm comunicarea wireless Bluetooth
În Figura 1 este ilustrată schema bloc a cu robotul prin intermediul convertorului RC232C
comunicatiei cu robotul JEL. în TTL utilizat de Arduino.
1
Specializarea Robotică, Facultatea IMST; În acestă schemă, Arduino este utilizat pe post
de releu, permițând transmiterea informației directe
E-mail: sla.ro@hotmail.com
2
bidirecționale la robot.
Specializarea Robotică, Facultatea IMST;

nu necesită compilare. sunete și input în special pentru jocuri. Avantajele programului ControlJEL: .4 Robotul JEL . Limbaj de programare propiu (numit Point-To- Robotul JEL este un robot industrial cu trei Point) axe comandate numeric. 4. scris în limbajul limitat doar la jocuri. poate fi extins cu mai multe bibloteci. utilizat la controlul robotului JEL. Este realizat pentru arhitectura x86/x64 (Windows. 2005).3 Framework-ul Love2D Love2D este un framework (cadru de standarde) pentru redare de grafica 2D.1. prin acesta se observă posibilitațiile multiple ale acestui 3. 2005). Conectare la V-REP pentru simularea offline a verticala coloanei. este realizat utilizând Love2D touchscreen) 3.1 Introducere framework. Tot odată este gratuit și cu sursă deschisă.1. joc de tip tablă (Figura 3. Redare 3D a robotului JEL cu cele trei axe Un exemplu de joc realizat cu Love2D este comandate numeric jocul Sla’s Games Gallery. Rotația la baza robotului este mai încetă decât limbajele ce se compilează în assembly. 1. ControlJEL comunică cu robotul JEL (Craig. robotul multe aplicații din toate industriile în care este transmite poziționarea curentă a cuplelor. Principalele avantaje ale acestei limbi sunt În Figura 4 se poate observa dispunerea celor portabilitatea ridicată. a fost nevoie de o biblotecă specială numită serial. Totodată se poate utiliza modul offline dar și cel online pentru programarea prin învățare. cea de a doua cu rotația în jurul robotului axei coloanei și cea de a treia cu translația de-a lungul axei mediane a efectorului. Utilizează Lua ca limbaj de programare. Ușor de utilizat (nu necesită cunoștiințe avansate în programare) Figura 3.2. Dezvoltarea unei aplicații software de comanda și programare pentru robotul JEL 3. prima axa de translație pe . de Stan . Robotul primește comenzile de la un calculator Acest limbaj de programare este inclus în aflat la distanță prin Bluetooth. Lua înseamnă ‘Lună’ în de comunicație RC232C. Mac. Lua. Translația pe axa longitudinală a efectorului 3.1. portugheză. Cu toate acestea. tot odată are un dezavantaj. rapiditatea de dezvoltare a trei axe comandate numeric: programului. de exemplu C++. nevoie de programare.dll. framework-ul nu este ControlJEL este un program.2 Programul ControlJEL 3) cu mod de joc offline sau online. Jocul Sla’s Games Gallery. Intefață simplă și acesibilă (optimizată pentru Laurențiu-Alexandru. 3.2 Limbajul Lua rapoartelor de transmitere ce asigură sincronizarea corespunzătoare a miscării celor trei cuple de rotație Lua este o limba de programare dezvoltată de (Nicolescu. Dispune de un controller care Universitatea Pontificală Catolică din Rio de este conectat la Arduino prin intermediul interfeței Janeiro din Brazilia. Pentru a putea comunica cu robotul/Arduino. totodată. Scopul programului este de a conferi o interfață ușor de utilizat cu mouse-ul sau touchscreen pentru controlul robotului JEL și utilizarea sa în aplicații robotizate. ca urmare a 2 . Linux) și arhitectura ARM (Android și iOS). Translația pe Z a coloanei robotului fiind o limbă care nu se compilează în assembly 2. Figura.

pentru acesta. Se poate lucra în modul virtual. Limbajul integrat nu oferă în mod direct schimbă modul curent de lucru (Modul Învățare. Este utilizat pentru realizarea. 3. este un limbaj bazat pe BASIC.2 Modelele geometrice directe și inverse A treia zona este zona de sigurantă.5 Conectarea programului la robot Conectarea programului la robot se realizeză via serial com. este nevoie de alegerea portului de comunicație. interpretatorul verifică instrucțiuniile și stochează poziția GOTO- urilor. Acestea ajută la determinarea exactă a poziției efectorului în sistemul de coordonate cartezian din sistemul de coordonate cilindric utilizat de robotul JEL (Siciliano&Khatib. studentă în primul an de facultatea IMST specializarea robotică. nu sunt în prezent acesta implementate în limbaj.2. cu titlul si comenziile aferente. cu posibilitatea de a încărca sau salva din 3.2. 2008). înregistrearea și stocarea comenziilor în secvență pentru controlul robotului. La încărcarea programului.2. vor fi implementate în următoarele versiuni ale programului. Este un limbaj cu o sintaxa simplă și interpretator în timp real. Modul de învățare prin instruire integrat. implementate (se pot folosi IF/FOR/DO prin intermediul comenzii LUA). Conectarea programului la robot sunt prezente în PTP. A doua zonă este interfața principală a modului curent. prin apăsarea butonului . 13-14 mai 2016 . ele ne fiind Comunicare etc. Vizualizare a modelului 3D și interactivitate cu Sintaxele IF/FOR/etc. Necesită o interfață Bluetooth sau COM Mai jos se află schema dispuneri interfeței . Se poate integra limbajul Lua pentru comenzi care nu Figura 6.3 Limbajul Point-To-Point (PTP) Virtual’’ (înainte de conectarea cu V-REP). sintaxele IF/FOR/DO etc.Mod 3. Sesiunea Ştiinţifică Studenţească. ..2. atractivă. nevoie de modelele geometrice directe și inverse. din ea se .). PTP este realizat special pentru ControlJEL.4 Interfața programului calculator Programul ControlJEL dispune de o interfață Dezavantajele programului ControlJEL: prietenoasă (Figura 5). optimizată pentru utilizarea cu touchscreen-ul și cu un design modern. Programul este citit de sus în jos linie cu linie de către interpretator executând comenziile. Dispunerea interfeței programului Tz – translația pe axa Z a bazei robotului [mm] ControlJEL 3. unele comenzi fiind asemanătoare. . . Exista trei zone importante: timpul procesului Prima zonă este bara laterală. Modelul geometric direct (Figura 5): Te – translația efectorului pe axa longitudinală a efectorului [mm] Rb – rotația la bază a robotului [grade] Figura 5. unde se Pentru a poziționa și afla poziția robotului este află butonul reset în caz de avarie. Programul trebuie să ruleze permanent în programului. Aceste modele au fost realizate de Mihaela Dragu.

Buton rapid de creștere sau scădere a 4. Prin apasarea butonului ‘+’ sau apasă acest buton înainte de utilizarea programului ‘-’. Setarea vitezei de deplasare a robotului nu poate fi acesată în timpul rulării/salvării (exista doar două viteze. 6. Notă: Se apasă în prealabil respectivă (vezi 2) cu viteza stabilită (vezi 1) și cu pe butonul Reîmprospătare pentru a lista porturile un număr de pași ales (vezi 4) .6 Partea de învățare prin instruire a robotului afișa aici ce face robotul în acest moment sau în ce stadiu este modul de învățare. 7. datorită limitărilor programului!) . conexiunea utilizând programul V-REP. Acționarea robotului în sens pozitiv pe axa portul destinat robotului.2. respectiv decrementa cu 10 V-REP. Butonul acesta este activ când există o apasarea odată a butonului + sau . tot odată pornește modul de învățare prin instruire. robotului dacă nu există o conectare precedentă 5. Modulul de invatare prin instruire al programului ControlJEL este ilustrat in Figura 7. în funcție de curent. se poate realiza pași. Se va 3. 8. Dezvoltarea unei aplicații software de comanda și programare pentru robotul JEL Figura 7. Se apasă înainte de a alege portul destinat un număr de pași ales (vezi 4) . Numărul axei comandate numeric (în total se conectează robotul: sunt 3 axe comandate numeric) ce urmează sa fie comandată prin apasarea butoanelor +/. Prin apăsarea acestuia. Pași conectare precedentă la robot de la calculatorul pot fi exprimați în mm sau în grade. Reîmprospătarea listei de porturi COM respectivă (vezi 2) cu viteza stabilită (vezi 1) și cu deschise. (Comandă 1. Selectarea portului COM de comunicare. Bară de starea curentă a robotului.(vezi 3 și 4). Modulul de invatare prin instruire În figura 6 se poate observă modurile prin care 2. portul precedent.de jos. 4 . Numărul de pași ce vor fi urmați prin 3. Crearea unui program nou. deschise! 4. se va conecta la axa comandată. Acționarea robotului în sens negativ pe axa 2. 1. robotului JEL). se va incrementa. Se numărului de pași. După apăsarea butonului. Modul offline de programare a robotului. Se apasă pe săgeată îndreptată în jos și se selectează 3.

Întrerupere sau oprire rulare program. Aceste valori sunt poziția cuplelor de programului. Se poate accesa doar dacă a fost creat un program nou (vezi 8). invers. programul (fără posibilitatea de a continua din punctul rămas). Acest buton este accesibil doar în modul învățare prin Pentru a configura programul ControlJEL. Figura 9 (Avram. Pornirea programului încărcat în memorie robotului în sistemul cartezian prin modelul (vezi 12). 3. din acest fisier se fac toate configurațiile necesare 15.3 Configurația programului programul curent ce urmează a fi salvat. Acest buton poziționează robotul la zona de programelor. transformarea din sistemul cilindric specific Figura 8.8 Interfața cu lista de comenzi 12. comunicatie utilizate (Bluetooth sau serial). Încărcare program. Aceste valori sunt poziția efectorului cu explicațiile necesare modificării parametrilor dacă poziție relativă față de poziția la sol a robotului în este cazul. există un program încărcat în memorie!). 2009). Interfața cu consola de comunicare . 14.2.. Aceste comenzi pot fi utilizate inclusiv pentru realizarea offline a 13.configuratie. Tot din acest fisier se poate modifica translație și rotație în sistemul cilindric atașat bazei structura modelului geometric direct dar și cel robotului. Comenzile ce pot fi trimise sunt listate aici și se pot modifica din fisierul de configurații. Apasarea butonului în timpul învățării prin controller prin intermediul protocoalelor de instruire adaugă comanda HOME în program. O În această intefață se poate observa comenziile singură apasare întrerupe programul (poate fi reluat ce au fost executat și rezultatul acestora. care pot fi transferate apoi catre ‘home’. a doua apasare oprește se pot transmite comenzi noi direct la robot. instruire! trebuie deschis fisierul . 11. 3. Salvare program curent. Tot de aici din punctul în care a ramas). 13-14 mai 2016 9.lua’’. Prin aceast buton se Interfata cu lista de comenzi ce pot fi transmise încarcă program stocat în calculator pentru a fi catre controller-ul robotului JEL este ilustrata in executat (vezi 9). (Comanda se poate accesa doar dacă geometric direct). Fiecare comandă are comentariu aferent cu 16.2. Este recomandat să se facă o copie de sistemul cartezian (aceste valori rezultă prin rezervă înainte de orice modificare adusă fisierului.7 Consola de comunicare 10. Salvează coordonatele carteziene curente în 3. Sesiunea Ştiinţifică Studenţească.

Programul V-REP si modelul virtual utilizat pentru simularea offline a robotului JEL 6 . Interfața cu lista de comenzi Figura 10. Dezvoltarea unei aplicații software de comanda și programare pentru robotul JEL Figura 9.

B. In Figura 10 este ilustrat programul V-REP si [2]. Bartbes. Avram. Modelul 3D utilizat pentru simularea offline nu 7 BIBLIOGRAFIE a fost realizat in cadrul acestui proiect.com/ .2016. 13-14 mai 2016 4 SIMULAREA OFFLINE A ROBOTULUI interfețe prietenoase și moderne adaptate la cele mai JEL noi tehnologii (touchscreen. Pearson Education. Craig. Introduction to Robotics: Mechanics modelul virtual utilizat pentru simularea offline a and Control (Third Edition). teme. 2005. acestă tema de cercetare dezvoltă wafere. 2005. Siciliano. prin preluarea parametrilor de Dragu . programului ControlJEL.03. Accesat la data: ControlJEL poate realiza aplicații robotizate. A. http://www. Arduino. Nicolescu. robotului JEL. 2009 . Prof. cu care să comande robotul JEL de la distanță și simularea sa offline. Handbook of Robotics. 2008. Mario la programul Control JEL. wireless. 15. fie pornit în modul virtual și programul V-REP Enrique García Cota. Sesiunea Ştiinţifică Studenţească. Ing. si Khatib. Tema de cercetare are ca scop dezvoltarea Stanford.jel-robot. fiind deja existent. Robotul JEL se poate simula offline cu ajutorul 6 MULŢUMIRI programului V-REP. Pentru a începe IVAN. Toate comenziile regăsite la robotul Manning. s. Roboti Industriali. Colby Klein.. ISBN: 978-3-540-23957-4. [1]. totodată poate simula offline mișcarea cinematică a [5]. 5 CONCLUZII [3].J. Springer.. ing.. etc). USA. in aplicatii de tip pick-and-place din noi posibilități de interacțiune om-mașină prin industria electronica. [4]. dr. Robot industrial de tip SCARA robotului JEL. proiect de licenta. Vreau să le mulțumesc real se pot utiliza la cel virtual (cu excepția tuturor care mi-au fost alături în realizarea acestei comenziilor de vacuum). EDP.. J. C. Limbajului Lua. UPB.l. echipat cu efector vacuumatic pentru manipulat În concluzie.Ella’’ Mihaela. Slime. Landon conectat la el. este nevoie ca programul ControlJEL să Pițigoi Andrei. simularea.. O. framework-ul Love2D. Facultații IMST.