Documente Academic
Documente Profesional
Documente Cultură
BR Ind PDF
BR Ind PDF
Gacsádi Alexandru
BAZELE ROBOTICII
Îndrumător de laborator
I. Barabás, Tiberiu
II. Gacsadi, Alexandru
621.865.8(075.8)
2
Prefaţă
Oradea Autorii
20.12.2006
3
Cuprins
Bibliografie ...................................................................................... 90
5
Lucrarea nr. 1
1. Scopul lucrării
În lucrare se prezintă componentele principale şi modul de funcţionare a
mini-sistemului de fabricaţie integrat informaţional CIM (Computer Integrated
Manufactury).
2. Consideraţii teoretice
7
Comenzi Calculator central
Stări
PC ST - 2000
port
port
CAMERĂ PC
VIDEO
port
CIM-2000
CONVEIOR
port
PC
Robot
PN-2800 PC
pneumatic
8
Fiecare staţie din componenţa acestuia este comandată de către un
calculator (PC). Staţiile ce compun acest sistem sunt:
- Staţia de control central (CIM-2000);
- Staţia pneumatică de alimentare cu semifabricate (PN-2800);
- Staţia de prelucrare flexibilă (FMS-2101);
- Staţia de control dimensional (VI-2000);
- Staţia de asamblare (HYD-2800);
- Staţia de înmagazinare automată (ST-2000).
Pe lângă aceste staţii, ansamblul CIM are: un sistem de transport în buclă
închisă (conveior), sisteme de identificare cu senzori şi un sistem de
comunicare a datelor. Pe conveior se află vagoneţi care se pot deplasa de la o
staţie la alta. Numărul maxim de vagoneţi care pot fi în acelaşi timp pe
conveior este 32.
Sistemul CIM este dotat cu un robot industrial de tip RV-M1 montat pe
un sistem de transport local (Slide) şi este utilizat pentru deservirea staţiei de
prelucrare flexibilă FMS-2101 şi a staţiei de inspecţie vizuală VI-2000.
Staţia de control central CIM-2000
Staţia CIM-2000 supervizează şi controlează funcţionarea tuturor staţiilor
din componenţa mini-sistemului de fabricaţie CIM.
Staţia pneumatică PN-2800
Staţia pneumatică PN-2800 este o staţie utilizată pentru alimentarea
sistemului cu semifabricate. Staţia este comandată de un automat programabil,
care comunică cu calculatorul ataşat staţiei. Prin intermediul calculatorului se
poate iniţializa staţia, se pot selecta modurile de lucru (manual, semiautomat
sau automat), respectiv se poate modifica dacă este necesar, programul de
lucru al automatului.
Manipulatoarele pneumatice din cadrul staţiei, încarcă semifabricatele pe
palete-suport care la rândul lor sunt puse pe vagoneţi. Semifabricatele ajung la
staţia care le-a solicitat, prin intermediul vagoneţilor care sunt transportaţi de
către conveior.
Dispozitivul de prehensiune al manipulatorului (gripper-ul), care încarcă
cu semifabricate cilindrice, este prevăzut cu un traductor Hall, prin intermediul
căruia se realizează controlul gradului de închidere/deschidere al gripper-ului
şi în acest fel sunt verificate diametrele semifabricatelor cilindrice.
9
Acele semifabricate care nu se încadrează din punct de vedere
dimensional între anumite limite prescrise (rebuturi) sunt eliminate prin
depozitarea lor într-un container special.
Staţia pneumatică PN-2800 cuprinde:
- Magazie de palete de tip vertical echipată cu un manipulator de
încărcare cu acţionare pneumatică;
- Două magazii pentru semifabricate cilindrice cu capacitatea de 10
cilindri fiecare, cu un manipulator, dispozitive de sens şi numărător pentru
cilindrii din stoc;
- Robot pneumatic utilizat pentru a încărca sistemul cu palete,
semifabricate cilindrice şi paralelipipedice;
- Container pentru depozitarea semifabricatelor cilindrice rebut;
- Calculator împreună cu un automat programabil care comunică cu
sistemul central CIM-2000.
Procesul de alimentare cu piese poate fi cerut de la oricare staţie locală
sau de către staţia de control central CIM-2000. Prin ordinul de fabricaţie se
defineşte ce cantitate din fiecare material este necesară. Staţia alimentează cu o
paletă goală, o încarcă cu materialul dorit, şi o pune apoi într-un vagonet care
staţionează în port. Sunt situaţii în care se cere o paletă goală, necesară uneori
într-o altă staţie a sistemului de fabricaţie, sau se cere descărcarea unei palete
goale de pe un vagonet.
Staţia de prelucrare flexibilă FMS-2101
Staţia FMS-2101 este practic un sistem flexibil de fabricaţie care
înglobează: staţia de prelucrare prin strunjire NCL-2000, staţia de asamblare
pneumatică, staţia de inspecţie vizuală VI-2000 şi robotul electric RV-M1.
Sistemul CIM-2000 utilizează trei tipuri de semifabricate:
- cilindric cu diametrul de 26 mm;
- cilindric cu diametrul de 20 mm;
- paralelipipedic, prevăzut cu o gaură cu diametrul de 18 mm (în vederea
asamblării cu cilindrul prelucrat).
Semifabricatele sunt transportate pe câte o paletă. Paleta este concepută
astfel încât gripper-ul robotului de la oricare staţie să o poată apuca, pentru
operaţii de încărcare/descărcare.
10
În cadrul staţiei FMS sunt executate prelucrări cu ajutorul strungului.
Toate cele trei tipuri de semifabricate, menţionate mai sus, pot fi prelucrate în
cadrul staţiei FMS. Selectarea unui anumit ordin de fabricaţie poate fi realizată
de către operatorul local, dacă staţia lucrează în modul de operare manual, sau
de către operatorul staţiei CIM-2000, dacă staţia este integrată în sistemul
global de fabricaţie CIM.
Staţia de control dimensional VI-2000
Staţia VI-2000 realizează inspecţia vizuală a semifabricatelor în scopul
verificării acestora din punct de vedere dimensional. Aceasta dispune de
următoarele componente:
- Cameră video, utilizată pentru captarea imaginii semifabricatelor
cilindrice în urma prelucrării acestora. Procesul de inspecţie vizuală este
controlat de către calculatorul ataşat staţiei care va lua decizia dacă piesa
cilindrică este bună sau este rebut prin comparaţie cu imaginea unei piese de
dimensiuni standard memorate pe calculator;
- Robotul electric RV-M1, utilizat pentru încărcarea şi descărcarea
semifabricatelor cilindrice şi a produselor asamblate pe şi de pe vagoneţi
precum şi pentru transportul semifabricatelor între staţia de inspecţie vizuală şi
presa pneumatică.
11
Staţia de înmagazinare este constituită din următoarele componente:
- Magazia de stocare, care conţine 32 de celule de stocare aranjate sub
forma unei matrice cu patru linii şi opt coloane;
- Un manipulator de înmagazinare utilizat pentru deplasarea paletelor de
la şi către celulele de stocare;
- Un manipulator care realizează împingerea paletelor între standul
robotului şi manipulatorul de înmagazinare;
- Calculatorul şi automatul programabil care supervizează înmagazinarea
pieselor şi sunt ataşate în acelaşi timp reţelei de comunicaţie din sistemul CIM.
Dacă staţia de control central CIM cere un anumit material, ea va emite
codul ordinului de fabricaţie iar controlerul staţiei de înmagazinare va decide
dacă acest material este disponibil în magazie. Dacă materialul este disponibil,
manipulatorul staţiei de stocare ia materialul (încărcat pe o paletă), şi îl pune
pe un vagonet aflat în portul staţiei.
Dacă materialul nu este disponibil, CIM-2000 este înştiinţată să
alimenteze cu semifabricate noi de la staţia pneumatică. Când un vagonet
încărcat ajunge în portul staţiei şi se cere stocarea, paleta este descărcată din
vagonet şi depozitată într-o celulă liberă a staţiei. Controlerul staţiei ST-2000
utilizează diverşi algoritmi pentru a selecta celula cea mai eficientă pentru
paletă.
Transportul semifabricatelor pe conveior
Transportul semifabricatelor pe conveior se realizează prin intermediul
vagoneţilor care sunt plasaţi pe conveior. Identificarea vagoneţilor şi implicit a
încărcăturii lor (tipul de semifabricat) este o etapă importantă în cadrul
operaţiilor realizate de către sistemul CIM. Fiecare staţie este prevăzută cu un
port în care se poate realiza procedura de încărcare sau descărcare a paletelor
pe şi de pe vagonet.
Semifabricatele neprelucrate sau prelucrate şi produsele finite se
deplasează secvenţial pe conveior, care trece prin faţa diferitelor staţii şi al
staţiei de înmagazinare automată. Când un vagonet (gol sau încărcat) ajunge în
portul unei staţii, este identificat printr-un sistem de senzori care transmite
numărul de identificare la staţia de control central. Aceasta lansează o
comandă către staţia respectivă fie cu ordinul de prelucrare dorit, fie să permită
vagonetului să se deplaseze mai departe pe conveior.
12
Dacă staţia trebuie să descarce vagonetul, va lua paleta cu semifabricatul
de pe vagonet, utilizând robotul de încărcare-descărcare de care dispune,
lăsând vagonetul disponibil pentru o nouă sarcină.
Vagonetul are două modalităţi de identificare:
- Un senzor de proximitate binar - anunţă staţia de control central CIM-
2000 când un vagonet a ajuns sau a plecat din portul staţiei. Staţia centrală
decide dacă vagonetul va opri în acea staţie sau dacă se va deplasa spre staţia
următoare.
- Un sistem de senzori utilizând un cod binar - fiecare vagonet are un
număr individual de identificare pe cinci biţi în cod binar natural, de la 1 la 32.
În fiecare port există 5 senzori care identifică acest număr iar informaţia este
transmisă către staţia de control central CIM-2000 utilizând o reţea de
comunicaţie multiplexată. În acest mod, staţia de control central este informată
despre dispunerea şi starea vagoneţilor de pe conveior.
3. Desfăşurarea lucrării
3.1. Se vor identifica şi localiza principalele staţii din cadrul mini-
sistemului de fabricaţie integrat informaţional CIM-2000.
3.2. Se va identifica sistemul de fabricaţie flexibil FMS-2101.
3.3. Se vor identifica tipurile de semifabricate utilizate şi senzorii utilizaţi
în cadrul: staţiei PN-2800, staţiei ST-2000 şi al conveiorului.
3.4. Se va însuşi modul de punere în funcţiune a mini-sistemului CIM-
2000.
13
Lucrarea nr. 2
1. Scopul lucrării
În această lucrare se prezintă studenţilor sistemul micro-robot RV-Ml din
laboratorul CIM. În cadrul lucrării se identifică părţile componente ale
sistemului, respectiv se prezintă principalele caracteristici ale robotului.
2. Consideraţii teoretice
Implementarea sistemelor flexibile de fabricaţie (FMS) presupune
utilizarea manipulatoarelor şi roboţilor industriali. În principiu, ambele sunt
produse mecatronice, combinând tehnologiile: mecanica, electronica şi cea a
informaţiei .
În general, roboţii industriali au următoarele caracteristici:
- sunt realizaţi pentru a executa în principal operaţii de manipulare,
deplasare şi transport, care necesită viteză şi exactitate, dar pentru forţe
limitate;
- posedă mai multe grade de libertate (26) astfel încât să poată executa
operaţii complexe;
- sunt autonomi, sau relativi autonomi;
- sunt dotaţi cu o memorie reprogramabilă capabilă să acumuleze date
necesare executării operaţiilor;
- sunt dotaţi cu capacitate logică, în general redusă, astfel încât pot lua
decizii între diverse alternative.
În figura 2.1 se prezintă schema bloc de principiu a unui robot industrial.
14
Sursă de Transmisie şi Element Mediul
Motor
energie frână cuplă cinem. de lucru
Sistemul mecanic
Circuite electronice
de putere Senzori Senzori externi
interni
Sistemul Controler
de (Regulator
acţionare local)
automată
Interfaţă
de
Teaching Box Calculator
intrare
(Panou de (Sistem numeric de
programare) comandă)
15
Figura 2.2. Structura sistemului micro-robot RV-M1.
16
Figura 2.3. Cuplele cinematice respectiv gradele de mobilitate
ale robotului industrial RV-M1.
17
Figura 2.4. Situarea punctului caracteristic al robotului.
18
POWER
MOVEMASTEREX
EMG. STOP
ERROR
EXECUTE
START
STOP
RESET
MITSUBISHI
19
Calculatorul personal de tip PC
Calculatorul este utilizat în scopuri de programare. Programul scris pe
calculator este transferat în memoria RAM a unităţii de comandă, care este
susţinută prin intermediul unei baterii-acumulator, urmând a fi rulat. Pentru
transfer de programe şi comenzi se utilizează comunicaţia serială, după
standardul RS232C.
20
- Numărul treptelor de viteze.................................10;
- Viteza maximă de deplasare a punctului caracteristic..1000 [mm/sec];
- Greutatea maximă a corpului manipulat............600 [g];
- Precizia de repetabilitate a poziţionării...............0,3 [mm];
- Puterea servomotoarelor:
- pentru axele Jl, J2, şi J3....................30 [W];
- pentru axele J4 şi J5..........................11 [W];
- Numărul maxim de poziţii memorate..................629.
3. Desfăşurarea lucrării:
3.1. Se identifică componentele sistemului micro-robot RV-M1 din
laboratorul CIM.
3.2. Se va realiza sincronizarea robotului cu ajutorul cutiei de instruire.
3.3. Se vor identifica şi acţiona, prin intermediul cutiei de instruire,
cuplele cinematice ale robotului.
21
Lucrarea nr. 3
1. Scopul lucrării
Lucrarea are drept obiectiv familiarizarea studenţilor cu comanda
manuală a robotului RV-M1, prin intermediul cutiei de instruire, în vederea
manipulării unor obiecte aflate în spaţiul său de lucru.
2. Consideraţii teoretice
Comanda manuală a unui robot se realizează de regulă cu ajutorul unei
cutii de instruire (Teaching Box), prin intermediul căreia operatorul uman
transmite către unitatea de comandă a robotului, comenzi de deplasare
respectiv de memorare a poziţiilor. De asemenea, cutia de instruire, denumit
uneori şi panou de programare, se utilizează pentru sincronizarea robotului şi
pentru comanda stării (închisă sau deschisă) a gripper-ului.
În figura 3.l se prezintă panoul cutiei de instruire, folosită pentru
comanda robotului RV-M1. Aceasta comunică cu unitatea de comandă a
robotului printr-un cablu cu lungimea de 3 metri, pentru a exista posibilitatea
efectuării de comenzi de la o distanţă optimă de robot şi de obiectul manipulat.
Activarea cutiei de instruire, respectiv a tastelor de pe ea se realizează
prin punerea în poziţia ON a comutatorului din partea superioară a cutiei.
Lângă acest comutator se află un buton pentru STOP general imediat
(Emergency Stop) care se apasă în caz de avarie sau în cazul prevenirii unei
posibile ciocniri cu unele obiecte din mediu, situaţie ce poate apărea în cazul
unei programări sau comenzi eronate. Acest buton poate fi acţionat indiferent
de poziţia comutatorului de activare a cutiei şi opreşte pe loc robotul.
22
Figura 3.l. Panoul cutiei de instruire a robotului RV-M1.
23
Figura 3.2. Sensurile axelor de rotaţie ale robotului RV-M1.
24
Originea sistemului de referinţă cartezian este fixată la baza robotului.
Poziţia de referinţă corespunde cu poziţia "0" a robotului faţă de care sunt
calculate coordonatele carteziene ale poziţiilor punctului caracteristic. Fixarea
acestei poziţii este realizată la punerea în funcţiune a sistemului micro-robot de
către producător la cererea şi indicaţiile beneficiarului, luând în considerare şi
lungimea sculei (TL = 107 mm). În figura 3.3 este prezentată configuraţia
robotului când acesta se află în poziţia de referinţă a sistemului cartezian. Se
observă că axele de rotaţie J2, J3, J4, J5 se găsesc pe o dreaptă paralelă cu baza
robotului respectiv cu axa Y a sistemului de referinţă cartezian.
25
Figura 3.4. Sistemul de coordonate cartezian şi punctul
caracteristic al robotului.
26
Alte comenzi utilizate pentru comanda manuală a robotului RV-M1 sunt:
27
MOV+număr+ENT Comandă pentru deplasarea robotului, respectiv a
punctului caracteristic într-o poziţie specificată. Mişcarea
are loc doar dacă poziţia specificată a fost memorată
anterior.
STEP+număr+ENT Comandă pentru execuţia programului în regim pas cu
pas începând cu linia indicată prin "număr".
3. Desfăşurarea lucrării
3.1. Se activează cutia de instruire a robotului prin punerea comutatorului
pe ON.
3.2. Se realizează sincronizarea robotului.
3.3. Se studiază cu ajutorul cutiei de instruire mişcarea robotului în:
- Sistemul de coordonate al robotului;
- Sistemul de coordonate cartezian;
- Sistemul de coordonate legat de sculă (gripper).
3.4. Se vor efectua manipulări ale diferitelor piese cilindrice şi prismatice
utilizând cutia de instruire a robotului. În acest scop se vor memora diverse
poziţii prin care trece punctul caracteristic al robotului.
28
Lucrarea nr. 4
1. Scopul lucrării
Lucrarea urmăreşte familiarizarea studenţilor cu modul de realizare a
comenzii punct cu punct (P.T.P. - Point To Point), în cazul unui robot
industrial, utilizând metoda învăţării (teaching). În cadrul lucrării, studenţii vor
realiza un program aplicaţie de tip punct cu punct pentru efectuarea unei
operaţii de manipulare, şi vor verifica funcţionarea corectă a programului
respectiv a operaţiei de manipulare dorite.
2. Consideraţii teoretice
Comanda automată a roboţilor industriali presupune executarea de către
aceştia de operaţii, a căror caracteristici şi succesiune au fost stabilite sub
forma unui program.
Programul este compus dintr-o succesiune de macroinstrucţiuni cu
privire la operaţiile ce trebuie executate de către robot. Prin aceste linii de
program sunt transmise succesiv comenzi către robot, prin intermediul unităţii
de comandă cu privire la: poziţiile unde trebuie să se deplaseze robotul,
temporizări, salturi la anumite subrutine, comenzi pentru starea gripper-ului
etc. După modul de lucru al robotului, programul poate fi: comandă punct cu
punct, comandă multipunct sau comandă pe o traiectorie continuă.
Stabilirea traiectoriei descrisă de punctul caracteristic, în cazul comenzii
de tip punct cu punct, se realizează prin definirea punctului de start, punctului
"ţintă", şi a unui număr minim de puncte intermediare prin care trebuie să
treacă acest punct, pentru evitarea coliziunilor cu diverse obiecte ce se pot găsi
în mediul de lucru al robotului. Singura condiţie impusă în cazul comenzii de
tip punct cu punct este ca traiectoria să fie una fără coliziuni.
29
Deoarece mişcările robotului încep, se desfăşoară şi se termină simultan
pe fiecare axă, între două puncte consecutive, traiectoria nu este controlată,
astfel că, punctul caracteristic nu se deplasează de-a lungul dreptei definite de
cele două puncte. Această traiectorie depinde de sistemul de conducere al
robotului care caută să aleagă, de regulă, drumul cel mai scurt.
În cazul metodei programării prin învăţare, punctul caracteristic al
robotului este deplasat prin comandă manuală în poziţia dorită, iar
coordonatele poziţiei respective sunt memorate indicând numărul de ordine
dorit pentru acea poziţie. În acest caz, la realizarea programului aplicaţie se va
folosi doar numărul de ordine al poziţiei memorate, fără a se specifica
coordonatele carteziene corespunzătoare acestei poziţii.
30
caracteristic într-o poziţie în care gripper-ul a fost memorat cu starea închisă
(deschisă), atunci odată cu începerea deplasării în acea poziţie are loc şi
închiderea (deschiderea) gripper-ului dacă anterior era în stare deschisă
(închisă).
31
aceste poziţii. Dacă ele au fost corect memorate, respectiv în timpul mişcărilor
nu apar coliziuni, se trece la realizarea programului, în caz contrar se repetă
memorarea poziţiilor care nu aparţin traiectoriei prestabilite.
Realizarea programului
Programul aplicaţie se scrie cu ajutorul calculatorului utilizând editorul
din Qbasic. Programul conţine o succesiune de instrucţiuni prin care sunt
transmise: comenzi de deplasare, temporizări, salturi, comenzi pentru starea
gripper-ului, etc. Succesiunea mişcărilor şi operaţiilor ce vor fi executate de
către robot sunt date de succesiunea acestor instrucţiuni. În cadrul programului
fiecare linie este numerotată, ceea ce permite utilizarea instrucţiunilor de tip
salt condiţionat şi de tip salt necondiţionat. Dacă în program nu sunt
instrucţiuni de tip salt condiţionat sau salt necondiţionat, executarea
instrucţiunilor se face în succesiunea în care apar în cadrul programului. În
cazul utilizării instrucţiunilor de salt condiţionat sau salt necondiţionat,
succesiunea operaţiilor depinde şi de execuţia acestor instrucţiuni.
Este recomandabil ca numerotarea liniilor din program să se facă din 5 în
5 sau din 10 în l0, pentru a exista posibilitatea intercalării ulterioare de noi linii
în program, între două linii consecutive existente.
Transferul programului în memoria unităţii de comandă
Transferul programului din memoria calculatorului în memoria unităţii
de comandă se realizează frază cu frază cu ajutorul instrucţiunii PRINT din
limbajul Qbasic. De exemplu:
32
de date: 7; numărul biţilor de stop: 2. În linia 20 cu ajutorul instrucţiunii
PRINT este transmisă linia 10 din programul robotului. În memoria unităţii de
comandă vor fi înmagazinate liniile de program 10, 15, . , 80. Ultima
instrucţiune este cea de sfârşit de program "robot" ED. Programul aplicaţie
"Qbasic" se termină cu instrucţiunea END din linia 120.
În timpul transferului, programul este verificat de unitatea de comandă
din punct de vedere sintactic iar eventualele greşeli de sintaxă sunt semnalizate
cu aprinderea ledului ERROR de pe panoul frontal al unităţii de comandă,
respectiv prin intermediul unui semnal sonor. După corectarea erorilor din
program, transferul trebuie repetat deoarece în acest caz programul nu rămâne
memorat.
Verificarea programului în regim pas cu pas
Înaintea lansării în execuţie, programul se verifică în regim pas cu pas
(linie cu linie), adică se lansează şi se verifică execuţia separată a fiecărei linii
din program, utilizând în acest scop cutia de instruire.
Se apasă tasta STEP, după care se tastează numărul primei linii din
program (10) şi se confirmă cu tasta ENT. După execuţia liniei tastate, pe
afişajul cutiei de instruire apare numărul de ordine al liniei următoare din
program (în cazul programului de mai sus, 15). Astfel, pentru lansarea în
execuţie a liniei următoare este suficient apăsarea succesivă a tastelor STEP şi
ENT. După execuţia ultimei linii din program, pe afişajul cutiei de instruire va
apărea numărul "0" ce indică sfârşitul programului. În regimul pas cu pas nu se
pot însă verifica, temporizările din cadrul programului.
Lansarea programului în regim automat
Lansarea în execuţie a programului se face prin transferul de la calculator
către unitatea de comandă a unei instrucţiuni de start "RN linie", (în cazul
nostru RN 10). Având în vedere că această instrucţiune nu este precedată de un
număr (care se utilizează pentru numerotarea liniilor din program), este
considerată ca şi o instrucţiune de comandă şi este executată imediat. Exemplu
de program:
33
După lansarea programului în regim automat se urmăreşte realizarea
tuturor mişcărilor şi operaţiilor programate. Se verifică şi durata corectă a
temporizărilor introduse şi la nevoie se corectează programul.
Formatul instrucţiunii: NT
unde: 1 număr poziţie 629, iar stare gripper = O (Open - deschis) sau
C (Close - închis).
Această instrucţiune este executată numai dacă poziţia specificată în
instrucţiune a fost memorată anterior. În caz contrar apare eroare şi
instrucţiunea, respectiv programul nu vor fi executate.
DP (Decrement Position) - Este comanda pentru deplasarea punctului
caracteristic al robotului într-o poziţie memorată având numărul de ordine mai
mic şi în acelaşi timp cel mai apropiat de cel al poziţiei curente.
Formatul instrucţiunii: DP
34
IP (Increment Position) - Reprezintă comanda pentru mişcarea
robotului într-o poziţie memorată, având numărul de ordine mai mare şi în
acelaşi timp cel mai apropiat de cel al poziţiei curente.
Formatul instrucţiunii: IP
Formatul instrucţiunii: GC
35
unde 1 număr linie 2048.
Instrucţiunea va fi executată doar dacă linia specificată în instrucţiune
există. În caz contrar instrucţiunea, respectiv programul nu vor fi executate.
3. Desfăşurarea lucrării
3.1. Se vor identifica etapele de realizare ale programului de tip punct cu
punct conform subcapitolului 2.2.
3.2. Se va realiza un program de tip punct cu punct pentru luarea unei
piese cilindrice de pe vagonetul "A" şi aşezarea ei pe vagonetul "B" conform
schiţei din figura 4.1 În timpul manipulării, punctul caracteristic al robotului,
respectiv piesa se va deplasa din poziţia 3 în poziţia 6 prin poziţiile
intermediare 2, 4 şi 5. Aceste poziţii intermediare sunt necesare în vederea
evitării coliziunilor cu obiectul "C" şi cu marginile vagonetului. După
sincronizare, gripper-ul va fi deplasat în poziţia 1, care reprezintă poziţia de
start.
poz. 4
Poziţia de
sincronizare
poz. 7
poz. 1
poz. 2 poz. 5
poz. 3 poz. 6
A C B
36
marginile vagonetului "B"şi cu obiectul "C".
Programul va fi realizat parcurgând toate etapele prezentate în
subcapitolul 2.2. utilizând macroinstrucţiunile necesare ce sunt prezentate la
subcapitolul 2.3.
3.3. Se va studia pentru început funcţionarea programului în regim pas cu
pas, utilizând cutia de instruire, apoi funcţionarea lui în regim automat prin
lansarea acestuia de la calculator.
37
Lucrarea nr. 5
1. Scopul lucrării
În lucrare se prezintă studenţilor modul de integrare a robotului RV-Ml
în mini-sistemul flexibil FMS-2101 din laboratorul CIM. De asemenea, se
studiază şi principalele macrocomenzi de tip automat programabil, prin care se
realizează comenzi de la şi către echipamentele periferice ale unităţii de
comandă a robotului.
2. Consideraţii teoretice
38
Figura 5.1. Structura sistemului flexibil de fabricaţie FMS-2101.
39
Alimentarea cu semifabricate se realizează prin intermediul vagoneţilor
(15), care se deplasează pe sistemul de transport numit conveior (12). Sistemul
de transport face parte dintr-o mini-secţie automatizată de tip CIM (Computer
Integrated Manufactury). Încărcarea respectiv descărcarea vagoneţilor au loc
în staţiile de oprire vagonet (porturi).
Staţia de prelucrare prin strunjire (3) este formată dintr-un strung CNC.
Semifabricatele ce urmează a fi prelucrate sunt fixate între vârfurile (4) şi (5),
vârful din păpuşa strungului fiind mobil şi e acţionat de un cilindru pneumatic,
în timp ce vârful din universal este fix. Selectarea unui program de prelucrare
dintre cele memorate în echipamentul cu comandă numerică, poate fi realizat
de către operator la punerea în funcţiune a sistemului sau în mod automat prin
recepţionarea tipului de program de la unitatea de comandă a sistemului micro-
robot. După terminarea unei operaţii de prelucrare are loc curăţirea piesei de
şpan cu ajutorul unui jet de aer comprimat. Toate operaţiile de prelucrare şi
curăţire a piesei au loc cu uşa strungului închisă.
Staţia de control dimensional (6) este echipată cu o cameră video care
preia imaginea piesei prelucrate şi o transferă calculatorului ataşat staţiei.
Acesta face o comparare numerică a imaginii achiziţionate cu imaginea
memorată a unei piese de referinţă. În urma procesului de comparare se va lua
decizia dacă piesa este bună sau rebut şi informaţia respectivă va fi transmisă
unităţii de comandă a robotului prin interfaţa I/O. Robotul RV-M1 aşează
piesele sub camera video, iar controlul dimensional al piesei respective începe
automat în momentul în care staţia primeşte o cerere de control dimensional.
Staţia de asamblare pneumatică (9) este constituită dintr-o presă
pneumatică care se utilizează pentru realizarea operaţiilor de asamblare prin
presare. În configuraţia actuală din laborator, staţia de asamblare este utilizată
pentru realizarea unui produs finit prin asamblarea unei piese prismatice cu o
piesă cilindrică prelucrată.
Sistemul micro-robot RV-M1 realizează deservirea tuturor staţiilor din
structura sistemului flexibil FMS-2101 precum şi descărcarea şi încărcarea
vagoneţilor sosiţi în portul staţiei. Transportul pieselor între staţiile: (3), (6),
(9) şi portul (16) se realizează prin deplasarea robotului pe sistemul de
transport local numit Slide. În cazul unei operaţii complete de strunjire şi
verificare dimensională, trebuie în prealabil, ca poziţiile de pe Slide din faţa
staţiilor să fie memorate.
40
2.2. Comunicarea dintre unitatea de comandă şi echipamentele
periferice
Unitatea de comandă a sistemului micro-robot comunică cu sistemele de
conducere nemijlocită a staţiilor din cadrul sistemului CIM prin intermediul
unor semnale logice (0 sau 1) (figura 5.2).
robot ready
0
cim ready
0
vagonet încărcat în staţie
1
vagonet gol în staţie
2 reţinere vagonet în staţie AUTOMATUL
2 cerere de vagonet gol
1 PROGRAMABIL
cerere semifabricat cilindric
7
sosire semifabricat cilindric
6 CIM-CONTROL
bitul "0" al programului de prelucrare
8 bitul "1" al programului de prelucrare
9
bitul "2" al programului de prelucrare
10
UNITATEA error
15
vision ready
4 cerere de control dimensional INTERFAŢA I/O
5
piesă bună A STAŢIEI
12 VISION-2000
piesă rebut
15
41
Astfel, unitatea de comandă, pe lângă conducerea sistemului micro-robot,
coordonează şi supervizează succesiunea operaţiilor din cadrul mini-sistemului
FMS-2101. În cadrul FMS, unitatea de comandă constituie deci, nivelul
ierarhic superior, trimiţând comenzi şi confirmări spre şi din exteriorul mini-
sistemului flexibil. Comenzile date de unitatea de comandă către staţia de
prelucrare se referă la fixarea semifabricatului între vârfurile de la strung şi la
începerea prelucrării.
Nivelul de conducere al întregului sistem automatizat din laborator este
deţinut de către automatul programabil CIM-control care controlează fluxul de
piese şi de vagoneţi. De asemenea, transmite codul binar natural al numărului
programului de prelucrare către staţia de prelucrare NCL-2000, prin
intermediul unităţii de comandă.
Pentru deservirea staţiilor din cadrul FMS, robotul RV-M1 trebuie, să se
deplaseze în diverse poziţii pe Slide. Numărul de ordine al poziţiilor de pe
Slide se specifică în cod binar natural pe 3 biţi (3 linii de comunicaţie). Atunci
când controlerul de Slide primeşte o cerere de poziţionare a robotului acesta va
deplasa robotul şi după ce acesta a ajuns în poziţia cerută va emite semnalul
"Slide în poziţie".
Când operaţia de prelucrare a luat sfârşit staţia va trimite către unitatea
de comandă un semnal "sfârşit prelucrare". Înainte ca robotul să scoată sau să
introducă o piesă între vârfurile strungului unitatea de comandă verifică de
fiecare dată poziţia închisă sau deschisă a uşii.
Staţia de control dimensional Vision-2000 verifică piesele prelucrate ori
de câte ori primeşte comanda "cerere de control dimensional". Biţii pe liniile
de comunicare "piesă bună" şi "piesă rebut" sunt pe nivel logic "0" pe toată
durata procesului de control dimensional şi când acesta a luat sfârşit unul din
aceşti biţi va deveni "1" logic.
Staţia de asamblare trimite un semnal "presă ready" prin care înştiinţează
că staţia este pregătită pentru o nouă operaţie şi primeşte semnal de comandă
prin care se dă startul pentru o nouă operaţie de asamblare prin presare.
Presostatul transmite un semnal "presiune aer comprimat ready" prin care
confirmă că presiunea aerului comprimat necesar staţiei de asamblare şi fixării
semifabricatului între vârfuri este corespunzătoare.
Toate sistemele de conducere aflate la un nivel ierarhic inferior transmit
semnale "ready" prin care înştiinţează nivelele de conducere superioare că sunt
42
disponibile pentru executarea operaţiilor specifice staţiei.
Comenzile şi confirmările (figura 5.2) sunt emise respectiv recepţionate
de către unitatea de comandă prin intermediul unei interfeţe I/O programabile.
Aceasta are 16 intrări respectiv 16 ieşiri numerice, care sunt numerotate la
nivelul unităţii de comandă, săgeţile indicând natura liniilor (intrare sau ieşire).
Prin intermediul macrocomenzilor de tip automat programabil se poate realiza
atât comanda ieşirilor cât şi supravegherea intrărilor numerice.
Formatul instrucţiunii: ID
43
OB (Output bit) - Este o instrucţiune prin care se realizează setarea
stării logice (0 sau 1) a ieşirii numerice specificată.
3. Desfăşurarea lucrării:
3.1. Se identifică componentele sistemului flexibil de fabricaţie FMS-
2101 din laboratorul CIM.
3.2. Vor fi realizate programe în Qbasic pentru programarea stării
ieşirilor numerice şi citirea intrărilor numerice ale unităţii de comandă.
3.3. În programele aplicaţie vor fi efectuate comenzi către echipamentele
periferice precum şi recepţionarea confirmărilor de la acestea după cum
urmează:
- comenzi şi confirmări către şi de la staţia CIM-Control;
- comenzi şi confirmări către şi de la echipamentul de comandă numerică
al strungului NCL-2000;
- comenzi şi confirmări către şi de la staţia de control dimensional
Vision-2000;
- comanda staţiei de asamblare prin presare;
- resetarea stării ieşirilor numerice.
44
Lucrarea nr. 6
1. Scopul lucrării
Lucrarea are ca obiectiv familiarizarea studenţilor cu comanda deplasării
robotului pe sistemul de transport Slide. În cadrul lucrării, robotul va fi
deplasat pe Slide, prin intermediul cutiei de instruire (proprie acestei axe) şi se
vor memora diverse poziţii, apoi va fi realizat un program de comandă pentru
deplasarea robotului în mod automat între aceste poziţii.
2. Consideraţii teoretice
Ghidajul pe care se poate deplasa robotul RV-M1 (Slide-ul) prezentat în
figura 6.1, este o parte independentă de robotul de bază, comanda lui fiind
realizată separat de unitatea de comandă, prin intermediul unui automat
programabil (controler) KV24. Acest controler poate primi comenzi, pentru
deplasarea robotului pe Slide într-una din poziţiile memorate, atât de la
unitatea de comandă cât şi de la cutia de instruire.
45
Figura 6.1. Sistemul de transport Slide.
46
Limitatorul de cursă LS1 este utilizat şi pentru sincronizarea Slide-ului,
poziţia de sincronizare corespunzând poziţiei "0".
După deplasarea robotului într-o anumită poziţie, se va selecta un număr
cu "selectorul de poziţii" (Point Selector) şi memorarea acelei poziţii cu
numărul de ordine selectat se realizează prin apăsarea butonului ENTER.
Numărul maxim de poziţii memorate pe Slide este 23=8.
Deplasarea robotului RV-M1 pe Slide, într-una din poziţiile memorate în
prealabil, se face prin selectarea numărului cu care a fost memorată acea
poziţie, cu ajutorul selectorului de poziţii, după care se apasă şi se ţine apăsat
butonul "Move to selected point" până când robotul ajunge în poziţia
respectivă unde se va opri. Deplasarea la o poziţie memorată precum şi
memorarea poziţiilor este posibilă numai după ce s-a realizat sincronizarea pe
Slide. Această sincronizare se poate face prin apăsarea butonului de comanda
RIGHT până când baza robotului ajunge în dreptul senzorului LS1, sau prin
comanda de deplasare a robotului în poziţia "0" de pe Slide.
Mişcarea cuplelor cinematice şi deplasarea de-a lungul Slide-ului poate
să fie simultană (dar nu oferă avantaje în cazul comenzii manuale).
47
bitul “0” al adr. de poziţionare
8
bitul “1” al adr. de poziţionare
9
UNITATEA bitul “2” al adr. de poziţionare CONTROLER
DE 10 SLIDE
COMANDĂ
11 cerere de poziţionare pe Slide
Slide în poziţie
7
(în fosta poziţie programată). Semnalul devine "0" logic numai după ce robotul
se îndepărtează fizic din această poziţie, adică începe o nouă deplasare.
Aşadar, atingerea poziţiei programate este confirmată la o tranziţie a
semnalului "Slide în poziţie" de la "0" logic la "1" logic.
După ce robotul a atins poziţia programată trebuie anulată cererea de
poziţionare, întrucât doar în acest fel este posibilă specificarea unei noi adrese
de poziţionare şi implicit deplasarea robotului într-o altă poziţie.
Deplasarea robotului într-una din poziţiile memorate de pe Slide
presupune realizarea unui program de comandă, cu ajutorul căruia, prin
intermediul macroinstrucţiunilor de tip automat programabil, se realizează
programarea stării ieşirilor numerice corespunzătoare şi supravegherea intrării
numerice 7.
În cadrul programului, numărul poziţiei de pe Slide, în care trebuie
deplasat robotul, se specifică în cod binar natural, utilizând biţii 8, 9 şi 10.
Bitul 10 corespunde bitului de semnificaţie maximă (MSB), iar bitul 8 celui cu
semnificaţie minimă (LSB). De exemplu: dacă se doreşte deplasarea robotului
în poziţia "6" de pe Slide, se setează bitul 8 la nivel logic "0" şi biţii 9 şi 10 la
nivel logic "1". Secvenţa de program va arăta astfel:
48
Deplasarea în poziţia specificată începe prin setarea bitului 11 la nivelul
logic "1" (cerere de poziţionare pe Slide). Când robotul a ajuns în poziţia
programată, controlerul Slide-ului setează la nivel logic "1" intrarea numerică
7 a unităţii de comandă. Înaintea începerii unei noi deplasări pe Slide trebuie
anulată cererea de poziţionare pe Slide (bitul 11 se setează la nivel logic "0").
Schema logică a programului aplicaţie de comandă a deplasării pe Slide
este prezentată în figura 6.4a. Se observă că forma şi conţinutul blocurilor: 2,
3, 4, 5, 6 şi 7 nu depind de codul binar al adresei de poziţionare. Astfel, dacă în
cadrul unui program se doreşte efectuarea mai multor deplasări în diferite
poziţii, e convenabil realizarea unei "subrutine de deplasare" pe baza blocurilor
amintite. Această subrutină va fi apelată ori de câte ori este necesară o
deplasare la o poziţie specificată în prealabil, prin adresa de poziţionare (figura
6.4.b).
START START
NU
Slide în poziţie 5
Sfârşit
DA
program principal
Anulare
6
cerere de poziţionare
Subrutină de
deplasare pe Slide
7 Temporizare
STOP
STOP
a) b)
49
Subrutina de deplasare pe Slide se apelează cu ajutorul
macroinstrucţiunii: GS (Go Subrutine). Această macroinstrucţiune determină
un salt necondiţionat la linia de start a unei subrutine.
****SUBRUTINĂ SLIDE****
Formatul instrucţiunii: RT
50
În figura 6.4b s-a reprezentat schema logică a unui program în care se
efectuează mai multe deplasări ale robotului pe Slide. Blocul de definiţie al
subrutinei este aşezat la sfârşitul programului principal adică după
macroinstrucţiunea ED. Când în cadrul programului principal s-a ajuns la linia
care conţine macroinstrucţiunea ED execuţia programului va fi suspendată.
Astfel, se poate preîntâmpina execuţia suplimentară şi nedorită a subrutinei la
terminarea programului.
3. Desfăşurarea lucrării
3.1. Se activează cutia de instruire a Slide-ului, apoi se realizează
sincronizarea Slide-ului prin apăsarea butonului de comandă RIGHT până
când baza robotului ajunge în dreptul senzorului de sincronizare LS1.
3.2. Cu ajutorul butonului de comandă LEFT şi / sau RIGHT se
deplasează robotul într-o poziţie dorită şi se memorează această poziţie
utilizând butonul ENTER. Se deplasează apoi robotul după care se încearcă
revenirea în poziţia memorată cu ajutorul butonului de comandă "Move to
selected point" (după ce în prealabil s-a selectat numărul poziţiei dorite).
3.3. Se va realiza un program de comandă pentru deplasarea robotului pe
Slide: întâi în poziţia de sincronizare "0", apoi în poziţiile memorate "2" şi "4".
Vor fi realizaţi apoi următorii paşi:
- se transferă programul în memoria unităţii de comandă;
- se dezactivează cutiile de instruire;
- se lansează programul şi se urmăreşte funcţionarea sa;
- se optimizează programul din punct de vedere al temporizărilor
necesare.
51
Lucrarea nr. 7
STAŢIA VISION-2000
1. Scopul lucrării
Lucrarea îşi propune familiarizarea studenţilor cu modul de lucru al
staţiei Vision-2000. Această staţie este comandată prin intermediul unui
calculator, pe care este instalat programul aplicaţie dedicat staţiei.
2. Consideraţii teoretice
Dispozitivul videocaptor are rolul de a transforma imaginea optică
(luminanţa scenei capturate) în imagine electronică (distribuţie de sarcini
electronice) şi obţinerea, din aceasta, a semnalului de imagine. Imaginile
optice se formează în planul suprafeţei dispozitivului videocaptor cu ajutorul
obiectivelor, care de cele mai multe ori sunt cu distanţă focală variabilă. Cele
mai răspândite dispozitive videocaptoare integrate sunt cele din categoria
dispozitivelor videocaptoare cu cuplaj de sarcină CCD (Charge Coupled
Devices).
La ieşirea camerei video se obţine un semnal video complex standard.
Prin utilizarea explorării liniare întreţesute, un cadru complet de imagine
(video frame) rezultă după analiza a două semicadre (câmpuri): un câmp al
liniilor impare şi un câmp al liniilor pare. Semnalul video obţinut de cameră
este adus la intrarea plăcii de achiziţie ce intră în componenţa hard a
calculatorului ataşat staţiei. Aceasta va face o conversie analog-digitală a
semnalului video, corespunzător unei imagini, iar rezultatul va fi memorat
rezultând o memorie cadru (frame memory).
În acest fel, imaginea obiectului sau scenei studiate (sampled image),
poate fi prelucrată în diverse moduri, poate fi copiată sau memorată. De
asemenea, diverse imagini memorate anterior pot fi prelucrate ulterior.
52
2.1. Achiziţia imaginilor cu ajutorul staţiei Vision-2000
Achiziţia imaginilor video se realizează prin parcurgerea următoarelor
etape care utilizează programul aplicaţie al staţiei Vision-2000:
- Se pune un obiect în faţa camerei video;
- Se selectează meniul Camera;
- Se selectează opţiunea Live din meniul Camera;
- Se poziţionează obiectul în mijlocul imaginii afişate pe monitor;
- Camera video se va deplasa în sus şi în jos pentru obţinerea focalizării
optime;
- Se va regla nivelul de luminanţă al imaginii prin modificarea
diafragmei obiectivului;
- Se va observa imaginea în cele două poziţii extreme ale diafragmei:
complet închisă şi complet deschisă. În final se va lăsa pe o poziţie de mijloc;
- Se va selecta opţiunea Freeze din meniul Camera;
- Se va deplasa obiectul din faţa camerei pentru a vedea dacă imaginea
este memorată
- Se va selecta comanda Save din meniul File şi se va specifica calea
(extensia fişierului va fi *.pic);
53
- operaţii de calibrare asupra imaginii;
- filtrarea imaginii;
- segmentarea imaginii (delimitarea obiectului de fondul imaginii);
- detecţia muchiilor piesei;
- modificarea mărimii de reprezentare a piesei pe ecran (zoom);
- calcularea cotelor piesei analizate;
- definire de cote pentru care se va executa verificarea (pe lângă
verificarea implicită executată asupra conturului piesei).
În cele ce urmează sunt prezentate principalele opţiuni din meniul
programului aplicaţie al staţiei Vision-2000:
a) meniul TOOLS:
- Pixel: afişează coordonatele x, y ale poziţiei cursorului în cadrul
imaginii piesei studiate şi afişează, de asemenea, valoarea nivelului de gri
ataşată punctului respectiv;
- Test Pattern/Check: testează pentru nivelul maxim şi minim de
reprezentare a nivelului de gri. Acest test este util pentru reglarea camerei.
- Line: afişează un grafic al nivelului de gri pe linia selectată (orizontală,
verticală, oarecare). Linia se selectează cu ajutorul mouse-lui şi este afişată pe
imaginea piesei cu culoare galbenă;
- Histogram: afişează o histogramă de reprezentare a nivelurilor de gri
ale întregii piese, (cu un dublu declic al mouse-lui, fereastra de reprezentare a
histogramei dispare);
- Measure: distanţa de măsurat se introduce utilizând mouse-ul, se
poziţionează cursorul pe un capăt al segmentului de măsurat, se memorează
acţionând tasta <ENTER>, se procedează analog pentru al doilea capăt al
segmentului.
54
cu componentele spectrale de frecvenţă ridicată. Prin eliminarea frecvenţelor
înalte şi păstrarea celor joase se poate reduce considerabil influenţa unor
zgomote din imaginea de prelucrat;
- High Pass: determină eliminarea frecvenţelor joase şi păstrarea celor
înalte. Deoarece componentele de frecvenţe înalte corespund detaliilor fine ale
imaginii, această filtrare îmbunătăţeşte contrastul local şi măreşte claritatea
imaginii.
O altă clasă de prelucrări se referă la extragerea conturului exterior al
piesei. Un detector de muchii este un operator care aplicat asupra unei imagini,
produce o nouă imagine care indică muchiile obiectului din imagine.
- Ver Edge: detecţie verticală de muchii, este utilizată pentru corectarea
liniilor pe verticală din conturul piesei.
- Sobel: filtru care corectează muchiile pe toate direcţiile. Utilizează în
acest scop derivata funcţiei care are ca valori, valorile ataşate nivelurilor de gri
ale imaginii piesei.
STOP ;oprire
DELAY ;temporizare
GO TO ;salt necondiţionat
IF INPUT EQUAL ;test de egalitate asupra unei intrări
DO COMPARE ;comparare
IF COMPARE OK ;dacă rezultatul este de egalitate
GO SUBRUTINE ;apel subrutină
RETURN SUB ;revenire din subrutină
TEST INPUT BIT ;test asupra unui bit de intrare
SET OUTPUT BIT ;setează un bit al unei ieşiri
OUTPUT DATA ;transmite către exterior date
DISPLAY MESSAGE ;afişează mesaj
END ;sfârşit program
55
Spre exemplu, aplicaţia program care comandă testarea automată a
semifabricatelor este:
3. Desfăşurarea lucrării
3.1. Se vor achiziţiona imaginile diferitelor piese conform procedurii
descrise la subcapitolul 2.1.
3.2. Se vor apela diferite funcţii din programul aplicaţie Vison-2000
pentru prelucrarea imaginilor achiziţionate.
3.3. Se va realiza şi verifica programul care comandă testarea automată a
semifabricatelor.
56
Lucrarea nr. 8
1. Scopul lucrării
Lucrarea are ca obiectiv familiarizarea studenţilor cu elaborarea şi
optimizarea unui program de comandă de tip punct cu punct pentru realizarea
automată a operaţiilor de control dimensional, utilizând în acest scop staţia
Vision-2000, respectiv robotul RV-M1.
2. Consideraţii teoretice
Staţia Vision-2000 este destinată controlului dimensional al pieselor
prelucrate în sistemul CIM. Controlul dimensional se realizează prin
compararea imaginii piesei ce trebuie verificată cu imaginea "memorată" a
unei piese de referinţă. Staţia dispune de o cameră video cu ajutorul căreia sunt
preluate imaginile pieselor. Rezultatul comparării poate să fie: "piesă bună", în
cazul în care dimensiunile piesei controlate se încadrează în domeniul de
toleranţă prestabilit, sau "piesă rebut", dacă cel puţin o dimensiune a piesei
verificate nu se încadrează în acest domeniu. Introducerea piesei de testat
precum şi scoaterea acesteia de sub camera video se realizează de către robotul
RV-M1.
Pentru realizarea acestor operaţii, unitatea de comandă a robotului
comunică cu interfaţa I/O a staţiei Vision-2000 prin semnale logice ce pot avea
nivele "0" sau "1". În figura 8.1 sunt prezentate aceste semnale precum şi
identificarea biţilor aferenţi fiecărui semnal logic de intrare sau ieşire în / sau
de la interfaţa I/O a unităţii de comandă.
57
Staţia Vision "ready"
4
cerere de control dimensional
5
cerere de poziţionare pe Slide
11
bitul "0" al adr. de poziţionare
UNITATEA 8 INTERFAŢA
DE bitul "1" al adr. de poziţionare I/O A STAŢIEI
COMANDĂ 9 VISION 2000
bitul "2" al adr. de poziţionare
10
Slide în poziţie
7
piesă "bună"
12
piesă "rebut"
15
58
poz.
poz.
poz.
Apoi sunt preluate de robotul RV-M1 (3) din portul staţiei de încărcare /
descărcare (buffer) (2) şi sunt introduse în staţia Vision-2000 (6), iar
transportul între "buffer" şi staţia de control dimensional este realizat prin
intermediul Slide-ului (4) pe care se deplasează robotul.
Robotul (9) introduce piesa cilindrică pe suportul (8) de sub camera
video (7), după care se retrage, iar unitatea de comandă emite o "cerere de
control dimensional". Dacă dimensiunile verificate se încadrează în domeniul
de toleranţă stabilit, adică semnalul "piesă bună" devine "1", piesa va fi
transportată, prin intermediul robotului (şi a Slide-ului) şi pusă înapoi pe
conveior. Dacă piesa este "rebut", aceasta va fi depozitată într-un container (5),
după care robotul se întoarce în poziţia de aşteptare, la buffer (3).
59
START 1
SLIDE 0 2
NU
11 Piesa e bună?
Citire intrări 3
numerice
DA
12 Piesa e rebut?
NU
Vision ready? 4
NU DA
DA
13 Anulare cerere 18 Anulare cerere
SLIDE 1 5 de control de control
Aşezare cilindru
Introducere cilindru 16
8 pe conveior
în staţia Vision
1 STOP
60
Dacă piesa cilindrică este "bună" , întâi se anulează cererea de control
dimensional (13); apoi se ia piesa de sub camera video (14), se transportă la
buffer (15), şi se aşează pe conveior (16) după care robotul revine în poziţia de
aşteptare (17). Dacă piesa e "rebut", întâi se anulează cererea de control
dimensional (18), apoi se depozitează piesa într-un container (19), după care
robotul se deplasează înapoi la buffer (20), şi revine în poziţia de aşteptare
(17).
61
Nr. crt. Denumire poziţie
0 - poziţia de sincronizare pe Slide
1 - poziţie din faţa staţiei de oprire conveior (buffer)
5 - poziţie din faţa staţiei de control dimensional Vision-
2000
3. Desfăşurarea lucrării
3.1. Se analizează modul de sincronizare a robotului RV-M1 cu
comenzile numerice ale staţiei Vision-2000.
3.2. Se analizează schema logică a procesului privind executarea în
regim automat a operaţiilor de control dimensional.
3.3. Se realizează şi verifică programul de comandă al robotului pentru
deservirea staţiei Vision-2000, conform poziţiilor date în tabelele 8.1 şi 8.2.
62
Lucrarea nr. 9
1. Scopul lucrării
Prin această lucrare se urmăreşte familiarizarea studenţilor cu
problematica cinematicii directe a roboţilor. Pentru exemplificare se va utiliza
sistemul micro-robot RV-Ml şi un program scris în mediul de simulare Matlab
pentru realizarea calculelor.
2. Consideraţii teoretice
Matricea de transformare omogenă corespunzătoare dispozitivului de
ghidare a unui robot cu 6 grade de mobilitate se obţine conform relaţiei:
f 31 f 32 f 33 f 34
0 0 0 1
63
este matricea transformării omogene aferentă mecanismului generator de
traiectorie, iar:
4
3
T6 3 A4 A5 5 A6 , (9.3)
coordonate adiacente.
Conform definiţiei matricei de situare, rezultă următoarea egalitate:
n x ox ax p x f11 f 12 f13 f 14
n oy ay p y f 21 f 22 f 23 f 24 ,
y (9.4)
nz oz az p z f 31 f 32 f 33 f 34
0 0 0 1 0 0 0 1
Din relaţia (9.1) rezultă expresia pentru 0 T6 şi se află valorile px, py, pz,
nx, ny, nz, ox, oy, oz, ax, ay, az, adică se determină poziţia şi orientarea obiectului
manipulat, în raport cu sistemul de coordonate fix, legat de baza robotului.
Acest calcul de cinematică directă este practic o transformare a
coordonatelor c.c.c. (q1, q2, q3, q4, q5, q6) în coordonatele carteziene ale situării
efectorului final, indicate prin px, py, pz respectiv nx, ny, nz, ox, oy, oz, ax, ay, az.
2) – cel mai adesea se întâlneşte situaţia în care se cunoaşte locul unde
trebuie adus efectorul final, adică se cunosc valorile numerice pentru poziţia şi
orientarea piesei în poziţia ţintă (nx, ox, ax, px etc.) şi trebuie determinat cu cât
64
trebuie comandat fiecare motor pentru ca în final să se realizeze situarea
impusă. Practic se egalează element cu element matricele din expresia (9.4) şi
pentru că elementele sunt expresii algebro-trigonometrice, se obţine un număr
de ecuaţii iar prin rezolvarea lor se obţin valorile di (de translaţie) şi i (de
rotaţie) pentru fiecare c.c.c.
Prin acest calcul de cinematică inversă, din coordonatele carteziene ale
situării efectorului final (px, py, pz, nx, ny, nz, ox, oy, oz, ax, ay, az) se obţin,
coordonatele c.c.c. (q1, q2, q3, q4, q5, q6) necesare pentru conducerea
nemijlocită a robotului.
Calculul de cinematică directă şi cel de cinematică inversă reprezintă
principalele transformări de coordonate utilizate în robotică. Ele reprezintă
esenţa calculelor cinematice care intervin în conducerea unui robot.
nx ox ax px
n oy ay p y (9.5)
T y
nz oz az pz
0 0 0 1
65
transformare omogenă 0 T6
4) - matricea obţinută (a cărei elemente fij sunt expresii trigonometrice) se
egalează termen cu termen cu matricea de situare T conform relaţiei (9.4)
Z0
a2
a3
2
/2 X4
X1 X5
O2 n
O1 X3 5
2 3 Z4
X2 4 a
O3O4 Z5
Z1 3 5 O5
d1 Z2 4 o
Z3 d5
Y5
1
0 O0
1 Y0
X0
nx ox ax px
n oy ay p y 0 3
y (9.6)
T3 T5
nz oz az pz
0 0 0 1
3
unde T5 este matricea transformării omogene a mecanismului de
0
orientare care posedă doar două grade de mobilitate iar T3 este matricea
66
transformării omogene a mecanismului generator de traiectorie.
Elementele matricei de mai sus sunt date de relaţiile:
nx=(-sin1cos2cos3+sin1sin2sin3)(-sin4cos5)+(sin1cos2sin3+
sin1sin2cos3) (cos4cos5) +cos1sin5;
ny=(cos1cos2cos3-cos1sin2sin3)(-sin4cos5)+
+(-cos1cos2sin3-cos1sin2cos3)(cos4cos5)+sin1sin5;
nz=(sin2cos3+cos2sin3)(-sin4cos5)+(-sin2sin3+
+cos2cos3)cos4cos5;
ox=(-sin1cos2cos3+sin1sin2sin3)(sin4sin5)+(sin1cos2sin3+
+sin1sin2cos3)(-cos4sin5)+cos1cos5;
oy=(cos1cos2cos3-cos1sin2sin3)(sin4sin5)+
(-cos1cos2sin3-cos1sin2cos3)(-cos4sin5)+sin1cos5;
oz=(sin2cos3+cos2sin3)(sin4sin5)+(-sin2sin3+cos2cos3)(-
cos4sin5);
ax=(-sin1cos2cos3+sin1sin2sin3)cos4+(sin1cos2sin3+
+sin1sin2cos3)sin4;
ay=(cos1cos2cos3-cos1sin2sin3)cos4+(-cos1cos2sin3-
cos1sin2cos3)sin4;
az=(sin2cos3+cos2sin3)cos4+(-sin2sin3+cos2cos3)sin4;
px=(-sin1cos2cos3+sin1sin2sin3)(cos4d5)+(sin1cos2sin3+
sin1sin2cos3)* (sin4d5)+(-sin1cos2cos3+
+sin1sin2sin3)a3-sin1cos2a2;
py=(cos1cos2cos3-cos1sin2sin3)(cos4d5)+(-cos1cos2sin3-
cos1sin2cos3)*(sin4d5)+(cos1cos2cos3-cos1sin2sin3)a3
+cos1cos2a2;
pz=(sin2cos3+cos2sin3)(cos4d5)+(-sin2sin3+cos2cos3)* (sin4d5)+
(sin2cos3+cos2sin3)a3+sin2a2+d1;
În relaţiile de mai sus s-au notat cu d1, a2, a3, d5 parametrii articulaţiilor
şi cu 1….5 unghiurile cuplelor cinematice conducătoare.
67
Există două modalităţi prin care se pot deduce valorile cinematicii
directe: primul fiind cel de calcul al matricei 0 T6 , iar a doua variantă este cea
de calcul al matricelor 0T3*3T5
Diagramele logice pentru robotul cu 5 grade de libertate de tip RRRRR,
în cele două cazuri, sunt reprezentate în figura 9.2:
START
START
Introducerea valorilor pentru
1, 2,3, 4, 5
Introducerea valorilor pentru
(în grade)
1, 2,3, 4, 5
(în grade)
Transformarea valorilor
introduse din grade în radiani
Transformarea valorilor
introduse din grade în radiani
STOP
68
3. Desfăşurarea lucrării
3.1. Se va studia analiza cinematică directă în cazul general şi modul de
rezolvare a sa pentru robotul de tip RRRRR.
3.2. Se vor extrage din documentaţia tehnică a robotului RV-M1
parametrii dispozitivului de ghidare: d1, a2, a3, d5.
3.3. Se va studia problema cinematică directă în cazul robotului RV-M1
utilizând programul direct.m, pentru diferite valori ale unghiurile cuplelor
cinematice conducătoare 1….5, urmărind situarea punctului caracteristic al
robotului.
69
Lucrarea nr. 10
1. Scopul lucrării
Prin această lucrare se urmăreşte familiarizarea studenţilor cu rezolvarea
cinematicii inverse a unui robot. Pentru exemplificare se va utiliza sistemul
micro-robot RV-Ml.
2. Consideraţii teoretice
Matricea de situare T, prin care se exprimă situarea efectorului final al
unui robot, în spaţiul tridimensional este:
nx ox ax px
n oy ay p y , (10.1)
T y
nz oz az pz
0 0 0 1
70
Forma acestei matrici este:
f 11 f 12 f13 f14
f f 22 f 23 f 24 , (10.2)
0
T6 21
f 31 f 32 f 33 f 34
0 0 0 1
f 11 f12 f 13 f14 n x ox ax px
f f 22 f 23 f 24 n y oy ay p y
21 (10.3)
f 31 f 32 f 33 f 34 n z oz az pz
0 0 0 1 0 0 0 1
71
Metoda prin descompunere se poate utiliza atunci când axele cuplelor
cinematice conducătoare ale mecanismului de orientare sunt concurente şi se
intersectează într-un singur punct W numit punct wrist sau punct al
încheieturii. Dacă se cunoaşte poziţia şi orientarea piesei faţă de baza
robotului, precum şi vectorul de poziţie P al punctului caracteristic M se
poate determina vectorul de poziţie PW al punctului W.
Fie O0X0Y0Z0 sistemul de referinţă fix legat de baza robotului, şi
OWXWYWZW sistemul de coordonate cu originea în punctul W. În figura 10.1 se
arată poziţiile celor două sisteme de referinţă, respectiv poziţia punctelor W şi
M.
ZW
W PM M
XW
PW
P YW
O0
Y0
X0
de coordonate O0X0Y0Z0
PM p MX p MY p MZ - vectorul de poziţie al punctului caracteristic M
T
72
Între aceşti trei vectori există relaţia:
P PW PM (10.4)
de unde rezultă:
PW P PM (10.5)
adică:
pWx p x p M x
. (10.6)
pWy p y p M y
pW p z p M
z z
n x ox ax px
n oy ay p y 0 1 2 3 4 5
y (10.7)
A1 A2 A3 A4 A5 A6
nz oz az pz
0 0 0 1
nx ox ax px
p y 1 2 3 4 5 .
1 n oy ay (10.8)
0
A1 y
n z oz az pz
A2 A3 A4 A5 A6
0 0 0 1
73
Prin egalarea termen cu termen a celor două matrici rezultante, se obţine
un sistem de 12 ecuaţii din care se calculează q1.
Pentru determinarea relaţiei de calcul pentru q2 se elimină termenul 1 A2
din ecuaţia rezultată mai sus, prin înmulţirea în partea stângă cu matricea
inversă A 1
2
1
:
nx ox ax px
p y 2 3 4 5 .
1 n oy ay (10.9)
A
1
2
1 0
A1 y
nz oz az pz
A3 A4 A5 A6
0 0 0 1
nx ox ax px
n oy ay p y (10.10)
A A A A A A
5
6
1 4
5
1 3
4
1 2
3
1 1
2
1 0
1
1
y
nz oz az pz
I
0 0 0 1
74
2.1. Rezolvarea problemei de cinematică inversă în cazul robotului
RRRRR
Structura robotului de tip RRRRR este arătată în figura 10.2.
Z0
a2
a3
2
/2 X4
X1 X5
O2 X3 n
O1 5
2 3 Z4
X2 4 a
O3O4 Z5
Z1 3 5 O5
d1 Z2 4 o
Z3 d5
Y5
1
0 O0
1 Y0
X0
75
START
3. Desfăşurarea lucrării
3.1. Se va studia analiza cinematică inversă în cazul general şi modul de
rezolvare a sa pentru robotul de tip RRRRR.
3.2. Se vor stabili diferiţi parametri pentru poziţia punctului caracteristic
(px, py, pz), pentru orientarea obiectului manipulat (nx, ny, nz, ox, oy, oz, ax, ay, az)
specifice robotului RV-M1.
3.3. Se va studia problema cinematică inversă în cazul robotului RV-M1
utilizând programul invers.m.
76
Lucrarea nr. 11
1. Scopul lucrării
Lucrarea urmăreşte familiarizarea studenţilor cu metoda câmpului
potenţial utilizată pentru programarea traiectoriei descrise de punctul
caracteristic al roboţilor industriali sau a traiectoriei roboţilor mobili care se
deplasează într-un mediu cu obstacole. În lucrare se prezintă şi modul de
realizare al unui program pentru simularea câmpului potenţial artificial în
mediul Matlab.
2. Consideraţii teoretice
În cazul metodei câmpului potenţial, un robot este tratat ca un punct în
spaţiul său de configurare, respectiv ca o particulă aflată sub influenţa unui
câmp potenţial artificial U, a cărui variaţie reflectă structura spaţiului liber.
Funcţia potenţială se defineşte pe spaţiul de configurare al robotului ca fiind
suma dintre un potenţial atractiv care "atrage" robotul către configuraţia ţintei
şi un potenţial repulsiv care "împinge" robotul dinspre obstacole. Planificarea
mişcării se realizează într-un mod iterativ. La fiecare iteraţie direcţia forţei
artificiale indusă de către funcţia potenţială în configuraţia curentă este privită
ca fiind cea mai potrivită direcţie ce trebuie urmată de către robot în deplasarea
sa către ţintă.
Ideea de bază, este că robotul respectiv punctul caracteristic al robotului
este atras către ţintă în timp ce obstacolele îl resping. Această idee este
ilustrată prin definirea unei funcţii potenţiale în cazul în care robotul se poate
deplasa liber în W=RN, cu N=2 sau 3, C=RN, unde W reprezintă spaţiul de lucru
77
al robotului, R reprezintă un set de numere reale iar C spaţiul de configurare al
robotului. Un element din C este notat cu q.
Câmpul forţelor artificiale ce acţionează asupra robotului situat în
punctul q din C este produs de o funcţie potenţială derivabilă U : C liber R , şi
este dată de relaţia:
F q U q , (11.1)
U
U x
U U x sau U U . (11.2)
y
y U
z
78
1
U atr q k p q (11.5)
2
s t ( x2 x1 ) 2 ( y 2 y1 ) 2 (11.6)
Funcţia Uatr este pozitivă sau nulă şi atinge minimul în punctul qţintă unde
Uatr(qţintă)=0
Funcţia p este diferenţiabilă oriunde în C. În oricare configuraţie a lui
q, forţa atractivă Fatr ce derivă din Uatr este:
Fatr q U atr q pq pq q q ţ int ă . (11.7)
79
30
25
Uatr 20
15
10 0
2
5
4
0
6
0
2
4
8 y
10
6
8 12
x 10
12 14
14 i
16 16
1 1 1
2
80
Forţa repulsivă obţinută din Urep este definită astfel:
1 1 1
n 2 p q dacă pq p0 (11.9)
F q U rep q pq p0 p q
0 dacă pq p 0
Urep
x y
81
Ftotal q Fatr q Freptotal q (11.11)
Utotal
y
x
82
b) Definirea obstacolelor:
for i=3:1:5; for j=2:1:4 % obstacol 1
c_space(j,i)=4;
for i=2:1:4; for j=9:1:10 % obstacol 2
c_space (j,i)=4;
end;end;end;end;
c) Afişarea spaţiului cu obstacole:
figure;grid on;axis([0 12 0 12 0 10]); hold on;
for i=1:1:size(c_space,2); for j=1:1:size(c_space,1);
k=c_space (j,i);
if k==4
plot3(i,j,k,'r*');
else
plot3(i,j,k,'b+');
end;end;end;
figure, surf(double(c_space (1:1:end,1:1:end)));zlim([0 10]);
d) Determinarea potenţialului de atracţie:
xf=9; yf=9; % pozitia ţintei
for i=1:1:size(c_space,1); for j=1:1:size(c_space,2);
E=((xf-i)^2+(yf-j)^2)^0.5;
Uatr=1/2*k*E; %potenţialul de atracţie
c_space (j,i)=Uatr;
end; end; end;
e) Determinarea potenţialului de respingere:
p0=1; %distanţa minimă până la obstacole
if E<p0
Urep=1/2*n*(1/E-1/p0)^2;
else
Urep=0;
end;
f) Obţinerea şi afişarea câmpului potenţial total:
c_space(j,i)=Uatr+Urep;
figure, surf(double(c_space (1:1:end,1:1:end)));zlim([0 10]);
view(30,30);
83
3. Desfăşurarea lucrării
3.1. Se va analiza modul de obţinere a câmpului potenţial artificial prin
cele două componente ale sale: potenţialul de atracţie şi potenţialul de
respingere.
3.2. Se va calcula potenţialul de atracţie şi respingere pentru un mediu
discretizat de dimensiune 4×4 elemente având ţinta situată în punctul (3,3) şi
obstacole în punctele (1,2) şi (1,3).
3.3. Se va realiza un program care să afişeze succesiv: potenţialul de
atracţie, potenţialul de respingere şi câmpul potenţial total pentru un mediu
discretizat de dimensiune 12×12 elemente, ţinta situată în punctul (8,10) şi
obstacolele în punctele (2,2), (3,2), (4,2), (2,3), (3,3), (4,3), (6,4), (7,4), (8,4),
(6,5),(7,5) şi (8,5).
84
Lucrarea nr. 12
1. Scopul lucrării
Lucrarea urmăreşte familiarizarea studenţilor cu modul de planificare a
traiectoriei cu metoda câmpului potenţial artificial, creat pe baza configuraţiei
mediului de lucru al unui robot mobil în care sunt date poziţia ţintei şi poziţiile
unde sunt situate obstacolele. Se prezintă, de asemenea, şi un algoritm de
realizare a unui program în mediul Matlab pentru planificarea traiectoriei unui
robot mobil.
2. Consideraţii teoretice
O problemă importantă în domeniul roboţilor mobili o constituie
proiectarea unui sistem de planificare a mişcării. Un astfel de sistem trebuie să
ghideze roboţii mobili în deplasarea lor de la o poziţie iniţială la o poziţie ţintă,
evitând obstacolele care sunt localizate între aceste două poziţii. Dacă se ia în
calcul că obstacolele precum şi ţinta pot fi în mişcare şi că obstacolele pot avea
diverse forme este evident că nu e o problemă uşor de rezolvat.
85
ocolindu-se obstacolele statice sau dinamice cunoscute din mediul de lucru. De
cele mai multe ori, metodele globale constă în crearea de hărţi sau grafuri şi
abordează problema doar din punct de vedere geometric. Oricum metodele
globale determină limitarea capabilităţilor robotului de a acţiona în timp real în
mediu dezordonat, în special când sunt multe informaţii noi despre schimbările
din mediu.
b) planificarea traiectoriei sau navigarea robotului mobil prin metoda
locală.
Această metodă se asociază cu nivelul ierarhic inferior din sistemul de
conducere al unui robot şi realizează conducerea robotului pe o traiectorie
prescrisă de către sistemul de planificare globală. Prin metoda locală de
navigare se pot evita obstacolele necunoscute indiferent dacă acestea sunt
statice sau se află în mişcare, compensând incertitudinea datelor furnizate de
sistemul de conducere de la nivelul global.
Planificarea sau navigarea locală poate lua în considerare atât cinematica
cât şi dinamica robotului, deoarece se bazează pe informaţii obţinute din
semnale, care se pot prelucra în timp real. Însă folosirea doar a informaţiilor
locale primite de la senzori nu garantează găsirea soluţiei optime pentru
traiectoria roboţilor şi nu se semnalează dacă poziţia ţintei nu este accesibilă.
Deseori se combină cele două strategii, adică planificarea globală pentru
asigurarea unei traiectorii accesibile şi navigaţia locală pentru optimizarea
locală a traiectoriei şi evitarea obstacolelor neaşteptate.
86
Ţinta
Obstacole
Fatr
Robot Frez
Frep
87
Frez q Fatr q Frep q (12.1)
Robotul a Nu
ajuns
la ţintă?
Da
STOP
88
Mediul de lucru, obstacolele precum şi modul de realizarea a câmpului
potenţial de atracţie (Uatr) şi de repulsie (Urep) pot fi definite în mediul Matlab
conform lucrării de laborator anterioare.
Pentru însumarea celor două câmpuri şi afişarea câmpului rezultant se
pot utiliza următoarele linii de program:
NV N NE
21,02 21,02 10,06
V E
11,24 9,02
SV S SE
10,54 9,29 8,13
89
În acelaşi timp, la următorul pas al robotului când vor fi comparate
valorile potenţialelor punctelor vecine, poziţia de unde a venit nu poate fi luată
în calcul pentru o eventuală alegere, şi robotul nu va putea rămâne pe loc chiar
dacă în situaţiile de minime locale potenţialul punctului ocupat de către robot
este mai mic decât potenţialul punctelor vecine. Aşadar, având aceste restricţii
robotul va reuşi să iasă din aceste minime locale şi va continua drumul către
ţintă.
Un exemplu de subrutină care determină valoarea câmpului potenţial din
vecinătatea robotului, dacă se presupune că acesta se află în poziţia x0(i,j) este:
90
În continuare, se va verifica dacă această poziţie corespunde cu poziţia
ţintei şi dacă nu algoritmul va fi reluat de la etapa de alegere a direcţiei optime
pentru robot în sensul câmpului potenţial minim din jurul poziţiei curente a
robotului.
3. Desfăşurarea lucrării
3.1. Se vor analiza cele două metode de planificare a traiectoriei în cazul
roboţilor mobili: metoda globală şi metoda locală.
3.2. Se va defini un spaţiu cu obstacole de dimensiune 10×10 elemente
cu două obstacole, se va determina şi afişa potenţialul de atracţie dat de un
punct ţintă, potenţialul de repulsie dat de obstacole precum şi câmpul potenţial
total conform lucrării anterioare.
3.3. Se va realiza un program prin care un robot situat în mediul creat
mai sus, în diverse poziţii să se deplaseze spre un punct ţintă conform
algoritmului prezentat în lucrare.
3.4. Vor fi identificate situaţii în care robotul se află în puncte de minim
local şi se vor propune soluţii pentru ieşirea robotului din aceste situaţii.
91
Bibliografie
92