You are on page 1of 92

Gavrilu Ioan Barabs Tiberiu

Gacsdi Alexandru
BAZELE ROBOTICII
ndrumtor de laborator
Editura Universitii din Oradea
2006
2
Descrierea CIP a Bibliotecii Naionale a Romniei
GAVRILU, IOAN
Bazele roboticii : ndrumtor de laborator / Gavrilu Ioan,
Barabs Tiberiu, Gacsadi Alexandru. Oradea : Editura Universitii
din Oradea, 2006
Bibliogr.
ISBN (10) 973-759-214-X ; ISBN (13) 978-973-759-214-9
I. Barabs, Tiberiu
II. Gacsadi, Alexandru
621.865.8(075.8)
EDITURA UNIVERSITII DIN ORADEA ESTE ACREDITAT DE
CNCSIS COD 149.
3
Prefa
Prezentul ndrumtor este destinat studenilor de la seciile: Electronic
aplicat, Reele i Software de Telecomunicaii i Inginerie medical, servind
pentru pregtirea i efectuarea lucrrilor de laborator la disciplina Bazele
roboticii. n vederea aprofundrii i completrii cunotinelor teoretice de la
curs, lucrarea urmrete nsuirea temeinic a unor principii teoretice i
aplicative, prin participarea activ a studenilor la desfurarea activitii de
laborator.
n prezent, roboii industriali sunt rspndii pe scar larg. Asimilarea
corect a principiilor de funcionare ale acestora, presupune nelegerea corect
nu doar a modului cum funcioneaz sistemul mecanic al roboilor respectiv
circuitele electronice de comand, ci i legtura strns care trebuie s existe
ntre ele. Astfel, sunt propuse spre studiu: structura unui mini-sistem de
fabricaie integrat informaional CIM, schema bloc a unui robot industrial,
modul de comand manual i automat a unui robot, integrarea robotului
industrial RV-M1 ntr-un sistem de fabricaie flexibil, analiza cinematic
direct i invers a unui robot. n final se prezint metoda cmpului potenial
artificial pentru planificarea traiectoriei roboilor precum i exemple de astfel
de planificri pe baza imaginii mediului cu obstacole, utiliznd mediul de
simulare Matlab.
Majoritatea lucrrilor de laborator se efectueaz practic pe baza mini-
sistemului de fabricaie integrat informaional CIM din dotarea laboratorului.
Ultimele patru lucrri vor fi efectuate prin simulare, folosind mediul Matlab.
Oradea Autorii
20.12.2006
5
Cuprins
L. 1. Sistemul de fabricaie integrat informaional CIM 2000 ... 5
L. 2. Sistemul micro-robot RV-M1................................................ 14
L. 3. Comanda manual a robotului RV-M1................................ 20
L. 4. Comanda punct cu punct a robotului RV-M1..................... 27
L. 5. Integrarea robotului RV-M1 n sistemul de fabricaie
flexibil FMS-2101 ................................................................ 38
L. 6. Comanda deplasrii robotului RV-M1 pe Slide .................. 43
L. 7. Staia VISION-2000............................................................... 52
L. 8. Comanda robotului RV-M1 pentru deservirea staiei
VISION-2000 ....................................................................... 55
L. 9. Analiza cinematic direct n cazul roboilor industriali ... 63
L. 10. Analiza cinematic invers a unui robot industrial .......... 70
L. 11. Utilizarea metodei cmpului potenial artificial pentru
programarea traiectoriei roboilor .................................... 77
L. 12. Planificarea traiectoriei unui robot mobil cu metoda
cmpului potenial artificial ............................................... 85
Bibliografie...................................................................................... 90
7
Lucrarea nr. 1
SISTEMUL DE FABRICAIE INTEGRAT
INFORMAIONAL CIM-2000
1. Scopul lucrrii
n lucrare se prezint componentele principale i modul de funcionare a
mini-sistemului de fabricaie integrat informaional CIM (Computer Integrated
Manufactury).
2. Consideraii teoretice
2.1. Sisteme flexibile de fabricaie
Un sistem flexibil de fabricaie (FMS - Flexible Manufacturing System)
este un ansamblu de utilaje interconectate printr-un sistem de transport,
destinat pentru fabricarea unor piese sau subansamble. Utilajele sunt, de
regul, mijloace de producie automatizate (de exemplu maini unelte cu
comand numeric), i sunt comandate de ctre un calculator central. Sistemul
de transport are sarcina de a transporta piesele n diferite stadii ale prelucrrii
de la un utilaj la altul n funcie de etapa de prelucrare ce urmeaz a fi
executat. Transportul pieselor se poate face cu band transportoare (conveior)
sau prin intermediul roboilor industriali (n cazul n care sunt necesare micri
complexe de manipulare).
Metoda de comand n cadrul unui FMS este de cele mai multe ori una
ierarhic, pe baza creia calculatorul central sau staia central coordoneaz
sistemul de transport i staiile din fiecare punct de lucru, pe baza informaiilor
primite de la acestea, cu privire la stadiul prelucrrilor. O structur de comand
ierarhic este prezentat n figura 1.1.
8
Calculator central
Calculator nivel 2 Calculator nivel 2 Calculator nivel 2
Comenzi
Stri
Figura 1.1. Structur de comand ierarhic.
Tendina actual este nlocuirea sistemelor flexibile de fabricaie cu aa
zise celule flexibile de fabricaie FMC (flexible cells manufacturing) care sunt,
de fapt, variante restrnse de FMS i sunt specializate fiecare pe un anumit
grup de operaii din totalitatea operaiilor executate asupra semifabricatelor.
2.2. Sistemul integrat de fabricaie CIM-2000
Sistemul CIM-2000 este un sistem de fabricaie integrat informaional,
realizat n scop educaional. Structura sistemului se prezint n figura 1.2.
CONVEIOR
port
port
port
port
CIM-2000
PC
ST - 2000
PC
VI-2000
CAMER
VIDEO
PC
PC
Robot
pneumatic
PN-2800
Staie de
asamblare
HYD-2800
Robotul
electric
RV-M1
PC
NCL
2000
FMS-2101
Figura 1.2. Structura sistemului CIM-2000.
9
Fiecare staie din componena acestuia este comandat de ctre un
calculator (PC). Staiile ce compun acest sistem sunt:
- Staia de control central (CIM-2000);
- Staia pneumatic de alimentare cu semifabricate (PN-2800);
- Staia de prelucrare flexibil (FMS-2101);
- Staia de control dimensional (VI-2000);
- Staia de asamblare (HYD-2800);
- Staia de nmagazinare automat (ST-2000).
Pe lng aceste staii, 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 vagonei care se pot deplasa de la o
staie la alta. Numrul maxim de vagonei care pot fi n acelai 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 staiei de
prelucrare flexibil FMS-2101 i a staiei de inspecie vizual VI-2000.
Staia de control central CIM-2000
Staia CIM-2000 supervizeaz i controleaz funcionarea tuturor staiilor
din componena mini-sistemului de fabricaie CIM.
Staia pneumatic PN-2800
Staia pneumatic PN-2800 este o staie utilizat pentru alimentarea
sistemului cu semifabricate. Staia este comandat de un automat programabil,
care comunic cu calculatorul ataat staiei. Prin intermediul calculatorului se
poate iniializa staia, 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 staiei, ncarc semifabricatele pe
palete-suport care la rndul lor sunt puse pe vagonei. Semifabricatele ajung la
staia care le-a solicitat, prin intermediul vagoneilor care sunt transportai de
ctre conveior.
Dispozitivul de prehensiune al manipulatorului (gripper-ul), care ncarc
cu semifabricate cilindrice, este prevzut cu un traductor Hall, prin intermediul
cruia se realizeaz controlul gradului de nchidere/deschidere al gripper-ului
i n acest fel sunt verificate diametrele semifabricatelor cilindrice.
10
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.
Staia pneumatic PN-2800 cuprinde:
- Magazie de palete de tip vertical echipat cu un manipulator de
ncrcare cu acionare pneumatic;
- Dou magazii pentru semifabricate cilindrice cu capacitatea de 10
cilindri fiecare, cu un manipulator, dispozitive de sens i numrtor pentru
cilindrii din stoc;
- Robot pneumatic utilizat pentru a ncrca 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 staie local
sau de ctre staia de control central CIM-2000. Prin ordinul de fabricaie se
definete ce cantitate din fiecare material este necesar. Staia alimenteaz cu o
palet goal, o ncarc cu materialul dorit, i o pune apoi ntr-un vagonet care
staioneaz n port. Sunt situaii n care se cere o palet goal, necesar uneori
ntr-o alt staie a sistemului de fabricaie, sau se cere descrcarea unei palete
goale de pe un vagonet.
Staia de prelucrare flexibil FMS-2101
Staia FMS-2101 este practic un sistem flexibil de fabricaie care
nglobeaz: staia de prelucrare prin strunjire NCL-2000, staia de asamblare
pneumatic, staia de inspecie 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, prevzut cu o gaur cu diametrul de 18 mm (n vederea
asamblrii cu cilindrul prelucrat).
Semifabricatele sunt transportate pe cte o palet. Paleta este conceput
astfel nct gripper-ul robotului de la oricare staie s o poat apuca, pentru
operaii de ncrcare/descrcare.
11
n cadrul staiei FMS sunt executate prelucrri cu ajutorul strungului.
Toate cele trei tipuri de semifabricate, menionate mai sus, pot fi prelucrate n
cadrul staiei FMS. Selectarea unui anumit ordin de fabricaie poate fi realizat
de ctre operatorul local, dac staia lucreaz n modul de operare manual, sau
de ctre operatorul staiei CIM-2000, dac staia este integrat n sistemul
global de fabricaie CIM.
Staia de control dimensional VI-2000
Staia VI-2000 realizeaz inspecia vizual a semifabricatelor n scopul
verificrii acestora din punct de vedere dimensional. Aceasta dispune de
urmtoarele componente:
- Camer video, utilizat pentru captarea imaginii semifabricatelor
cilindrice n urma prelucrrii acestora. Procesul de inspecie vizual este
controlat de ctre calculatorul ataat staiei care va lua decizia dac piesa
cilindric este bun sau este rebut prin comparaie cu imaginea unei piese de
dimensiuni standard memorate pe calculator;
- Robotul electric RV-M1, utilizat pentru ncrcarea i descrcarea
semifabricatelor cilindrice i a produselor asamblate pe i de pe vagonei
precum i pentru transportul semifabricatelor ntre staia de inspecie vizual i
presa pneumatic.
Staia de asamblare HYD-2800
Staia de asamblare este realizat cu ajutorul unei prese pneumatice
HYD-2800. Un semifabricat cilindric gsit bun, n urma inspeciei vizuale, este
adus de ctre robot i asamblat cu un semifabricat paralelipipedic cu ajutorul
presei pneumatice. Aceast operaie definitiveaz fabricarea unui singur
ansamblu. Apoi robotul pune ansamblul ntr-un vagonet gol aflat n port,
urmnd s fie transportat i depozitat n magazia staiei ST-2000.
Staia de nmagazinare ST-2000
Staia ST-2000 are drept scop nmagazinarea i regsirea automat
(AS/RS - Automated Storage and Retrieval System) a semifabricatelor care nu
sunt solicitate de alte staii i a produselor finite. Staia este comandat de un
automat programabil PLC. Cu ajutorul calculatorului ataat staiei se poate
iniializa magazia, se poate modifica programul PLC, se poate selecta
"algoritmul de nmagazinare" dorit sau se pot selecta modurile de lucru:
manual, semiautomat sau automat.
12
Staia de nmagazinare este constituit din urmtoarele componente:
- Magazia de stocare, care conine 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 ctre 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 ataate n acelai timp reelei de comunicaie din sistemul CIM.
Dac staia de control central CIM cere un anumit material, ea va emite
codul ordinului de fabricaie iar controlerul staiei de nmagazinare va decide
dac acest material este disponibil n magazie. Dac materialul este disponibil,
manipulatorul staiei de stocare ia materialul (ncrcat pe o palet), i l pune
pe un vagonet aflat n portul staiei.
Dac materialul nu este disponibil, CIM-2000 este ntiinat s
alimenteze cu semifabricate noi de la staia pneumatic. Cnd un vagonet
ncrcat ajunge n portul staiei i se cere stocarea, paleta este descrcat din
vagonet i depozitat ntr-o celul liber a staiei. Controlerul staiei ST-2000
utilizeaz diveri algoritmi pentru a selecta celula cea mai eficient pentru
palet.
Transportul semifabricatelor pe conveior
Transportul semifabricatelor pe conveior se realizeaz prin intermediul
vagoneilor care sunt plasai pe conveior. Identificarea vagoneilor i implicit a
ncrcturii lor (tipul de semifabricat) este o etap important n cadrul
operaiilor realizate de ctre sistemul CIM. Fiecare staie este prevzut cu un
port n care se poate realiza procedura de ncrcare sau descrcare a paletelor
pe i de pe vagonet.
Semifabricatele neprelucrate sau prelucrate i produsele finite se
deplaseaz secvenial pe conveior, care trece prin faa diferitelor staii i al
staiei de nmagazinare automat. Cnd un vagonet (gol sau ncrcat) ajunge n
portul unei staii, este identificat printr-un sistem de senzori care transmite
numrul de identificare la staia de control central. Aceasta lanseaz o
comand ctre staia respectiv fie cu ordinul de prelucrare dorit, fie s permit
vagonetului s se deplaseze mai departe pe conveior.
13
Dac staia trebuie s descarce vagonetul, va lua paleta cu semifabricatul
de pe vagonet, utiliznd robotul de ncrcare-descrcare de care dispune,
lsnd vagonetul disponibil pentru o nou sarcin.
Vagonetul are dou modaliti de identificare:
- Un senzor de proximitate binar - anun staia de control central CIM-
2000 cnd un vagonet a ajuns sau a plecat din portul staiei. Staia central
decide dac vagonetul va opri n acea staie sau dac se va deplasa spre staia
urmtoare.
- Un sistem de senzori utiliznd un cod binar - fiecare vagonet are un
numr individual de identificare pe cinci bii n cod binar natural, de la 1 la 32.
n fiecare port exist 5 senzori care identific acest numr iar informaia este
transmis ctre staia de control central CIM-2000 utiliznd o reea de
comunicaie multiplexat. n acest mod, staia de control central este informat
despre dispunerea i starea vagoneilor de pe conveior.
3. Desfurarea lucrrii
3.1. Se vor identifica i localiza principalele staii din cadrul mini-
sistemului de fabricaie integrat informaional CIM-2000.
3.2. Se va identifica sistemul de fabricaie flexibil FMS-2101.
3.3. Se vor identifica tipurile de semifabricate utilizate i senzorii utilizai
n cadrul: staiei PN-2800, staiei ST-2000 i al conveiorului.
3.4. Se va nsui modul de punere n funciune a mini-sistemului CIM-
2000.
14
Lucrarea nr. 2
SISTEMUL MICRO-ROBOT RV-M1
1. Scopul lucrrii
n aceast lucrare se prezint studenilor sistemul micro-robot RV-Ml din
laboratorul CIM. n cadrul lucrrii se identific prile componente ale
sistemului, respectiv se prezint principalele caracteristici ale robotului.
2. Consideraii teoretice
Implementarea sistemelor flexibile de fabricaie (FMS) presupune
utilizarea manipulatoarelor i roboilor industriali. n principiu, ambele sunt
produse mecatronice, combinnd tehnologiile: mecanica, electronica i cea a
informaiei .
n general, roboii industriali au urmtoarele caracteristici:
- sunt realizai pentru a executa n principal operaii de manipulare,
deplasare i transport, care necesit vitez i exactitate, dar pentru fore
limitate;
- posed mai multe grade de libertate (26) astfel nct s poat executa
operaii complexe;
- sunt autonomi, sau relativi autonomi;
- sunt dotai cu o memorie reprogramabil capabil s acumuleze date
necesare executrii operaiilor;
- sunt dotai cu capacitate logic, n general redus, astfel nct pot lua
decizii ntre diverse alternative.
n figura 2.1 se prezint schema bloc de principiu a unui robot industrial.
15
Sistemul de comand
Teaching Box
(Panou de
programare)
Calculator
(Sistem numeric de
comand)
Interfa operator
Surs de
energie
Motor
Transmisie i
frn
Element
cupl cinem.
Senzori
interni
Senzori externi
Sistemul mecanic
Sistemul
de
acionare
automat
Mediul
de lucru
Circuite electronice
de putere
Controler
(Regulator
local)
Interfa
de
intrare
Figura 2.1. Schema bloc a unui robot industrial.
Dup cum se vede i din figur, un robot industrial se compune practic
din trei pri principale: sistemul de comand, sistemul de acionare i sistemul
mecanic.
2.1. Sistemul micro-robot RV-M1
Sistemul micro-robot RV-M1 (figura 2.2) din laboratorul CIM se
compune practic dintr-un robot industrial staionar i echipamentele aferente
pentru funcionarea acestuia. Astfel, prile componente ale sistemului sunt:
- robotul industrial RV-M1;
- unitatea de comand (Drive Unit);
- cutia de instruire (Teaching Box);
- calculatorul personal de tip PC.
Sistemul micro-robot poate fi comandat pentru executarea unor operaii
de manipulare a diverselor piese sau subansamble n regim manual, de la cutia
de instruire, sau n mod automat pe baza unui program.
16
Figura 2.2. Structura sistemului micro-robot RV-M1.
Robotul industrial RV-M1
Robotul industrial RV-M1, n varianta de baz, are 5 cuple cinematice de
rotaie (J1, J2, J3, J4, J5) (figura 2.3), care sunt acionate cu servomotoare de
curent continuu. Aceste servomotoare sunt echipate cu traductoare de poziie a
rotorului (encodere de poziie). Cu ajutorul acestor traductoare se poate realiza
controlul poziiei robotului pe baza unghiurilor formate de articulaii.
Astfel, pe baza informaiilor cu privire la poziia momentan a cuplelor
cinematice conductoare i cunoscndu-se dimensiunile fizice ale articulaiilor,
se poate obine n orice moment coordonata punctului caracteristic, respectiv
poziia obiectului manipulat fa de o poziie de referin n sistemul de
coordonate cartezian. Algoritmul pentru calculul poziiei punctului
caracteristic, precum i funciile de conducere utilizate, cu ajutorul crora sunt
generate micrile, sunt realizate i fixate de productor, i constituie o parte
din programul aplicaie de baz al robotului.
Pe lng cele 5 grade de mobilitate, robotul studiat n laborator are
ataat o ax suplimentar, numit Slide (ghidaj), folosit pentru deplasarea
robotului de-a lungul axei Y n sistemul de coordonate cartezian. Comanda
deplasrilor robotului pe Slide se realizeaz separat, cu ajutorul unui controler
(KV24).
17
Figura 2.3. Cuplele cinematice respectiv gradele de mobilitate
ale robotului industrial RV-M1.
Acest controler (automat programabil) primete comenzi, pentru
poziionarea robotului ntr-unul din punctele memorate anterior, fie de la cutia
de instruire a Slide-ului, fie de la unitatea de comand a robotului prin
intermediul interfeei intrare/ieire (I/O). Deplasarea robotului pe Slide este
realizat cu ajutorul unui servomotor de curent continuu prevzut cu un
traductor de poziie. Senzorii de proximitate LS1 i LS2 sunt utilizai pentru
sincronizarea iniial a micrii (LS1), respectiv ca limitatoare de curs.
Robotul poate fi echipat cu diferite tipuri de mecanisme de prehensiune
pentru apucarea obiectelor i care poart denumirea de SCUL sau GRIPPER.
Avnd n vedere faptul c la diferite tipuri de scule poate diferi distana dintre
suprafaa de montare a "minii" i captul acesteia (figura 2.4), precum i
faptul c aceast distan este unul din parametrii care definesc poziia
punctului caracteristic n spaiu, exist posibilitatea modificrii n programul
aplicaie a valorii date de lungimea sculei TL (Tool Lenght).
18
Figura 2.4. Situarea punctului caracteristic al robotului.
nchiderea i deschiderea gripper-ului se realizeaz cu ajutorul unui
servomotor de curent continuu. Starea nchis sau deschis a gripper-ului nu
este confirmat, iar valoarea forei de strngere se poate regla din program n
trepte de la 0 la 9.
Unitatea de comand
Cu ajutorul unitii de comand se realizeaz conducerea nemijlocit a
robotului. Astfel, ea constituie interfaa dintre calculator i robot, respectiv
dintre cutia de instruire i robot. Legtura dintre unitatea de comand i robot
se face paralel prin dou cabluri, unul pentru date i cellalt pentru alimentarea
servomotoarelor robotului. Aadar, unitatea de comand conine i sursele de
alimentare cu tensiune continu pentru alimentarea servomotoarelor care
comand cuplele cinematice.
Unitatea de comand conine i un inscriptor de memorii de tip EPROM.
Astfel, se poate salva programul de comand, precum i coordonatele poziiilor
memorate, ntr-un EPROM de 32 Koctei. Coninutul memoriei EPROM poate
fi transferat oricnd napoi n memoria RAM, prin comenzile date de la cutia
de instruire, sau prin macroinstruciunile specifice unitii de comand. Dup
ce programul de comand este definitivat i s-a fcut memorarea n EPROM a
programului, respectiv a poziiilor utilizate, sistemul micro-robot poate fi
utilizat n regim de sistem autonom (sistem independent de calculator). n acest
caz lansarea, oprirea respectiv resetarea programului din memoria RAM se
poate realiza prin intermediul butoanelor de comand de pe panoul frontal al
unitii de comand, prezentat n figura 2.5.
19
MOVEMASTEREX
POWER
EMG. STOP
ERROR
EXECUTE
START
STOP
RESET
MITSUBISHI
Figura 2.5. Panoul frontal al unitii de comand.
Cu butonul STOP se poate opri execuia programului dar nu se poate
suspenda comanda care este n curs de execuie, iar cu butonul EMG.STOP
(Stop de urgen) se poate opri n orice moment execuia programului
(respectiv a comenzii date de la cutia de instruire). Ledul ERROR indic
apariia unei erori n preluarea sau execuia unei comenzi, iar ledul EXECUTE
indic faptul c o comand dat de la cutia de instruire (sau un program din
memorie) este n curs de execuie.
Prin modul n care este setat unitatea de comand din laborator, butonul
de comand START este inactiv iar lansarea programului se realizeaz de la
calculator. Schimbul de semnale ntre sistem i echipamentul periferic
(ntreruptoare, relee, leduri i controlere programabile) sunt efectuate prin
interfaa I/O a unitii de comand.
Cutia de instruire
Cutia de instruire se utilizeaz pentru comanda manual a sistemului
micro-robot i pentru memorarea poziiilor prin care trece punctul caracteristic
al robotului. Prin ea pot fi realizate:
- sincronizarea robotului (deplasarea axelor n originea lor mecanic);
- memorarea poziiilor n care este situat robotul;
- transferul programului i a poziiilor memorate din EPROM n memoria
RAM a unitii de comand;
- nscrierea n EPROM a programului i a poziiilor memorate, ce se afl
la un moment dat, n memoria RAM a unitii de comand;
- rularea programului n regim pas cu pas (Step by Step).
20
Calculatorul personal de tip PC
Calculatorul este utilizat n scopuri de programare. Programul scris pe
calculator este transferat n memoria RAM a unitii de comand, care este
susinut prin intermediul unei baterii-acumulator, urmnd a fi rulat. Pentru
transfer de programe i comenzi se utilizeaz comunicaia serial, dup
standardul RS232C.
2.2. Sincronizarea robotului RV-M1
Dup fiecare punere sub tensiune a sistemului micro-robot, robotul
trebuie adus n poziia de origine mecanic pentru sincronizare axelor de
rotaie. n lipsa acestei sincronizri, comenzile de deplasare la o poziie
memorat, sau dat prin coordonate, precum i memorarea poziiilor nu pot fi
efectuate. Aceast sincronizare poate fi realizat utiliznd cutia de instruire,
sau utiliznd macroinstruciuni predefinite, transmise de la calculator ctre
unitatea de comand, astfel:
- n cazul cutiei de instruire sincronizarea se realizeaz apsnd succesiv
butoanele NST (Nest) i ENT (Enter);
- n cazul calculatorului se utilizeaz macroinstruciunea NT (Nest) care
se transfer n memoria RAM a unitii de comand unde este lansat i
executat imediat.
n ambele cazuri nti se deplaseaz axele J2, J3, i J4 spre originile lor,
dup care urmeaz micarea axelor Jl i J5.
Sincronizarea axelor se realizeaz cu ajutorul micro-ntreruptoarelor
existente la nivelul articulaiilor, care sunt acionate independent n momentul
n care axa respectiv a ajuns n originea sa mecanic. Odat cu sincronizarea
axelor are loc i aducerea gripper-ului n starea deschis.
2.3. Caracteristicile robotului RV-M1
Principalele caracteristici ale robotului RV-M1 sunt:
- Cursele i vitezele maxime:
- ax J1 (rotirea corpului robotului)..300 (max. 120/sec);
- ax J2 (rotirea umrului).................130 (max. 72/sec);
- ax J3 (rotirea cotului)....................110 (max. 109/sec);
- ax J4 (articulaia de rostogolire)....90 (max. 100/sec);
- ax J5 (articulaia de rotire)...........180 (max. 163/sec);
21
- Numrul 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 poziionrii...............0,3 [mm];
- Puterea servomotoarelor:
- pentru axele Jl, J2, i J3....................30 [W];
- pentru axele J4 i J5..........................11 [W];
- Numrul maxim de poziii memorate..................629.
3. Desfurarea lucrrii:
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 aciona, prin intermediul cutiei de instruire,
cuplele cinematice ale robotului.
22
Lucrarea nr. 3
COMANDA MANUAL A ROBOTULUI RV-M1
1. Scopul lucrrii
Lucrarea are drept obiectiv familiarizarea studenilor cu comanda
manual a robotului RV-M1, prin intermediul cutiei de instruire, n vederea
manipulrii unor obiecte aflate n spaiul su de lucru.
2. Consideraii teoretice
Comanda manual a unui robot se realizeaz de regul cu ajutorul unei
cutii de instruire (Teaching Box), prin intermediul creia operatorul uman
transmite ctre unitatea de comand a robotului, comenzi de deplasare
respectiv de memorare a poziiilor. De asemenea, cutia de instruire, denumit
uneori i panou de programare, se utilizeaz pentru sincronizarea robotului i
pentru comanda strii (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
efecturii 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 poziia ON a comutatorului din partea superioar a cutiei.
Lng 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, situaie ce poate aprea n cazul
unei programri sau comenzi eronate. Acest buton poate fi acionat indiferent
de poziia comutatorului de activare a cutiei i oprete pe loc robotul.
23
Figura 3.l. Panoul cutiei de instruire a robotului RV-M1.
Comutatorul de activare a cutiei de instruire trebuie s fie n poziia
OFF, atunci cnd sunt date comenzi de la calculator sau cnd se ruleaz un
program n regim automat.
2.1. Funciile tastelor de pe cutia de instruire
PTP
Selecteaz operaia de micare articulat (n sistemul de coordonate al
robotului). Dac s-a apsat aceast tast urmat de apsarea uneia din tastele
(B+, B-, S+, S-, E+, E-, P+, P-, R+, R-) robotul va efectua o micare de rotaie
la nivelul cuplelor cinematice conductoare: J1, J2, J3, J4, sau J5 n sensul
specificat de semnul "+" sau "-" (figura 3.2). Micarea pe fiecare ax are loc
atta timp ct este inut apsat tasta i pn la atingerea micro-
ntreruptorului de capt de curs.
24
Figura 3.2. Sensurile axelor de rotaie ale robotului RV-M1.
"Regimul" PTP este implicit n sensul c este selectat automat cnd se
activeaz cutia de instruire prin punerea comutatorului pe ON.
XYZ
Selecteaz operaia de micare paralel cu axele sistemului de coordonate
cartezian i invalideaz regimurile PTP i TOOL. Dac s-a apsat aceast tast,
vrful sculei (punctul caracteristic) se va putea mica paralel cu axele
sistemului cartezian dup direciile X+, X-, Y+, Y-, Z+, Z-, prin micarea
simultan a mai multor cuple cinematice ale robotului (J1, J2, J3, J4, J5). Din
acest motiv, micarea robotului este mult mai lent dect n cazul PTP i are
loc atta timp ct punctul caracteristic al robotului poate fi meninut pe o
direcie paralel cu axa sistemului de coordonate cartezian, aleas. n acest
regim rmn active tastele P+, P-, R+, R- prin care se realizeaz micarea de
rostogolire (P) respectiv de rotaie (R) a obiectului manipulat.
25
Originea sistemului de referin cartezian este fixat la baza robotului.
Poziia de referin corespunde cu poziia "0" a robotului fa de care sunt
calculate coordonatele carteziene ale poziiilor punctului caracteristic. Fixarea
acestei poziii este realizat la punerea n funciune a sistemului micro-robot de
ctre productor la cererea i indicaiile beneficiarului, lund n considerare i
lungimea sculei (TL = 107 mm). n figura 3.3 este prezentat configuraia
robotului cnd acesta se afl n poziia de referin a sistemului cartezian. Se
observ c axele de rotaie J2, J3, J4, J5 se gsesc pe o dreapt paralel cu baza
robotului respectiv cu axa Y a sistemului de referin cartezian.
Figura 3.3. Configuraia robotului n situaia n care punctul
caracteristic se afl n originea sistemului de referin
cartezian.
Dup cum se arat i n figura 3.4, axa Z corespunde cu deplasarea pe
vertical a punctului caracteristic; axa Y este paralel, iar axa X este
perpendicular pe ghidajul pe care se deplaseaz robotul (slide).
TOOL
Selecteaz operaia de micare n sistemul de referin legat de "scul"
(gripper) i invalideaz regimurile PTP i XYZ. n acest regim este posibil o
micare de avansare i de retragere a gripper-ului de-a lungul direciei
momentane a axei sculei (figura 3.5). Sunt active tastele: Z+ i Z-. Micarea
are loc att timp ct sunt apsate tastele Z+ sau Z-, i pn cnd punctul
caracteristic poate fi meninut pe dreapta definit de axa sculei.
26
Figura 3.4. Sistemul de coordonate cartezian i punctul
caracteristic al robotului.
Figura 3.5. Direcia momentan a axei sculei.
27
Alte comenzi utilizate pentru comanda manual a robotului RV-M1 sunt:
NST+ENT Comand pentru deplasarea robotului n poziia de
origine mecanic n vederea sincronizrii cuplelor
cinematice.
ORG+ENT Comand pentru deplasarea robotului n poziia de
referin a sistemului de coordonate cartezian.
O (Open) Comand pentru deschiderea gripper-ului (eliberarea
piesei).
C (Close) Comand pentru nchiderea gripper-ului (apucarea
piesei).
INC+ENT Comand pentru deplasarea robotului ntr-o poziie
memorat, avnd numr de ordine mai mare i totodat
cel mai apropiat de cel al poziiei
curente.
DEC+ENT Comand pentru deplasarea robotului ntr-o poziie
memorat, avnd numr de ordine mai mic i totodat cel
mai apropiat de cel al poziiei curente.
TRN+ENT Comand pentru transferul coninutului EPROM-ului
utilizat (programul de comand i datele poziiilor
memorate) n memoria RAM a unitii de comand.
WRT+ENT Comand pentru nscrierea programului de comand i a
datelor poziiilor memorate (aflate n memoria unitii de
comand) n EPROM.
PS+numr+ENT Memoreaz coordonatele punctului curent din spaiu,
unde se afl punctul caracteristic al robotului, atandu-i
un numr de ordine. Dac pentru dou poziii diferite se
ataeaz acelai numr, ultima definit rmne
memorat.
PC+numr+ENT Elimin din memorie datele poziiei cu numrul
specificat.
28
MOV+numr+ENT Comand pentru deplasarea robotului, respectiv a
punctului caracteristic ntr-o poziie specificat. Micarea
are loc doar dac poziia specificat a fost memorat
anterior.
STEP+numr+ENT Comand pentru execuia programului n regim pas cu
pas ncepnd cu linia indicat prin "numr".
3. Desfurarea lucrrii
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 micarea robotului n:
- Sistemul de coordonate al robotului;
- Sistemul de coordonate cartezian;
- Sistemul de coordonate legat de scul (gripper).
3.4. Se vor efectua manipulri ale diferitelor piese cilindrice i prismatice
utiliznd cutia de instruire a robotului. n acest scop se vor memora diverse
poziii prin care trece punctul caracteristic al robotului.
29
Lucrarea nr. 4
COMANDA PUNCT CU PUNCT A ROBOTULUI RV-M1
1. Scopul lucrrii
Lucrarea urmrete familiarizarea studenilor cu modul de realizare a
comenzii punct cu punct (P.T.P. - Point To Point), n cazul unui robot
industrial, utiliznd metoda nvrii (teaching). n cadrul lucrrii, studenii vor
realiza un program aplicaie de tip punct cu punct pentru efectuarea unei
operaii de manipulare, i vor verifica funcionarea corect a programului
respectiv a operaiei de manipulare dorite.
2. Consideraii teoretice
Comanda automat a roboilor industriali presupune executarea de ctre
acetia de operaii, a cror caracteristici i succesiune au fost stabilite sub
forma unui program.
Programul este compus dintr-o succesiune de macroinstruciuni cu
privire la operaiile ce trebuie executate de ctre robot. Prin aceste linii de
program sunt transmise succesiv comenzi ctre robot, prin intermediul unitii
de comand cu privire la: poziiile unde trebuie s se deplaseze robotul,
temporizri, 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 numr minim de puncte intermediare prin care trebuie s
treac acest punct, pentru evitarea coliziunilor cu diverse obiecte ce se pot gsi
n mediul de lucru al robotului. Singura condiie impus n cazul comenzii de
tip punct cu punct este ca traiectoria s fie una fr coliziuni.
30
Deoarece micrile robotului ncep, se desfoar 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 programrii prin nvare, punctul caracteristic al
robotului este deplasat prin comand manual n poziia dorit, iar
coordonatele poziiei respective sunt memorate indicnd numrul de ordine
dorit pentru acea poziie. n acest caz, la realizarea programului aplicaie se va
folosi doar numrul de ordine al poziiei memorate, fr a se specifica
coordonatele carteziene corespunztoare acestei poziii.
2.1. Memorarea i verificarea poziiilor robotului RV-M1
n cazul robotului RV-Ml din laboratorul CIM, deplasarea manual a
robotului i memorarea poziiilor dorite se face cu ajutorul cutiei de instruire.
Pentru memorare se apas tasta PS apoi se introduce numrul de ordine ce va
indica ulterior poziia respectiv i care trebuie s fie n intervalul (1...629). O
poziie odat memorat rmne n memoria RAM a unitii de comand pn
la tergerea cu tasta PC sau pn la memorarea unei alte poziii cu acelai
numr de ordine.
Cu ajutorul cutiei de instruire, punctul caracteristic poate fi deplasat n
toate poziiile memorate utiliznd tasta MOV specificnd i numrul de ordine
al poziiei. La fel se pot utiliza tastele INC i DEC cu ajutorul crora robotul
se poate deplasa n poziia memorat care are numr de ordine mai mare (INC
- incrementare) sau mai mic (DEC - decrementare) dect cel al poziiei
actuale. n acest fel se poate verifica faptul c poziiile au fost memorate corect
sau nu.
Poziiile memorate cu ajutorul cutiei de instruire, dac nu sunt nscrise n
EPROM, se pierd n cazul "actualizrii" memoriei RAM cu coninutul
memoriei EPROM, (cnd se transfer n RAM programul i poziiile nscrise
n EPROM, utiliznd tasta TRN de pe cutia de instruire).
Memoria RAM poate fi "iniializat" utiliznd macroinstruciunea NEW.
n acest caz se pierde programul i toate poziiile memorate. Prin
macroinstruciunea DL se poate terge doar programul din memorie.
Cnd este memorat o poziie, se memoreaz i starea (nchis sau
deschis) a gripper-ului. Astfel, dac se indic o deplasare a punctului
31
caracteristic ntr-o poziie n care gripper-ul a fost memorat cu starea nchis
(deschis), atunci odat cu nceperea deplasrii n acea poziie are loc i
nchiderea (deschiderea) gripper-ului dac anterior era n stare deschis
(nchis).
2.2. Etapele de realizare ale unui program aplicaie de tip punct cu
punct
La realizarea programelor de tip punct cu punct trebuie parcurse
urmtoarele etape:
Stabilirea traiectoriilor
Dup cum sa menionat i mai sus, realizarea unui program de tip punct
cu punct, presupune stabilirea traiectoriei prin definirea punctelor de start,
punctelor int, i a unui numr minim de puncte intermediare prin care
punctul caracteristic este obligat s treac n vederea evitrii coliziunilor cu
obiectele din mediu. Se stabilesc numerele de ordine pentru fiecare poziie de
pe traiectorie, respectiv starea nchis sau deschis a gripper-ului n aceste
poziii.
n general, prima micare a robotului dup sincronizare este ntr-o poziie
de "ateptare". De regul, poziia de ateptare, coincide cu poziia de "start",
iar dup parcurgerea traiectoriei programate cu poziia "final".
Stabilirea succesiunii micrilor
Succesiunea micrilor se face n funcie de operaia de manipulare ce
trebuie executat. Spre exemplu: dup sincronizare robotul este deplasat n
poziia nr. l (poziie de start), dup care are loc o deplasare n poziia nr. 2 unde
se realizeaz apucarea piesei, apoi urmeaz o deplasare n poziia int (poziia
nr. 6) cu trecerea prin poziiile intermediare: 3, 4 i 5. n poziia nr. 6 piesa este
eliberat (gripper deschis) dup care robotul este readus n poziia nr. 1 de
ateptare (aceeai cu poziia de start). n acest fel apare posibilitatea relurii
ciclului.
Astfel, rezult urmtoarea succesiune a micrilor: 1, 2, 3, 4, 5, 6, 1.
Aceast succesiune va trebui respectat la realizarea programului.
Memorarea i verificarea poziiilor
Operaia de memorare a poziiilor se face cu ajutorul cutiei de instruire,
inndu-se cont i de starea gripper-ului n aceste poziii. Dup memorarea
poziiilor se face verificarea acestora, prin deplasarea succesiv a robotului n
32
aceste poziii. Dac ele au fost corect memorate, respectiv n timpul micrilor
nu apar coliziuni, se trece la realizarea programului, n caz contrar se repet
memorarea poziiilor care nu aparin traiectoriei prestabilite.
Realizarea programului
Programul aplicaie se scrie cu ajutorul calculatorului utiliznd editorul
din Qbasic. Programul conine o succesiune de instruciuni prin care sunt
transmise: comenzi de deplasare, temporizri, salturi, comenzi pentru starea
gripper-ului, etc. Succesiunea micrilor i operaiilor ce vor fi executate de
ctre robot sunt date de succesiunea acestor instruciuni. n cadrul programului
fiecare linie este numerotat, ceea ce permite utilizarea instruciunilor de tip
salt condiionat i de tip salt necondiionat. Dac n program nu sunt
instruciuni de tip salt condiionat sau salt necondiionat, executarea
instruciunilor se face n succesiunea n care apar n cadrul programului. n
cazul utilizrii instruciunilor de salt condiionat sau salt necondiionat,
succesiunea operaiilor depinde i de execuia acestor instruciuni.
Este recomandabil ca numerotarea liniilor din program s se fac din 5 n
5 sau din 10 n l0, pentru a exista posibilitatea intercalrii ulterioare de noi linii
n program, ntre dou linii consecutive existente.
Transferul programului n memoria unitii de comand
Transferul programului din memoria calculatorului n memoria unitii
de comand se realizeaz fraz cu fraz cu ajutorul instruciunii PRINT din
limbajul Qbasic. De exemplu:
10 OPEN "COM1:9600,E,7,2" FOR RANDOM AS #1
20 PRINT #1, "10 MO 1, C"
30 PRINT #1, "l5 MO 2, C"
.
.
110 PRINT #1, "80 ED"
120 END
n linia 10, cu ajutorul instruciunii OPEN, se deschide linia de
comunicaie serial (portul de comunicaie COM1) ori de cre ori n program
apare semnul #1. Tot n aceast linie se specific caracteristicile transmisiei de
date: viteza de transmisie 9600 Bauds; paritatea Even (par); numrul biilor
33
de date: 7; numrul biilor de stop: 2. n linia 20 cu ajutorul instruciunii
PRINT este transmis linia 10 din programul robotului. n memoria unitii de
comand vor fi nmagazinate liniile de program 10, 15, . , 80. Ultima
instruciune este cea de sfrit de program "robot" ED. Programul aplicaie
"Qbasic" se termin cu instruciunea END din linia 120.
n timpul transferului, programul este verificat de unitatea de comand
din punct de vedere sintactic iar eventualele greeli de sintax sunt semnalizate
cu aprinderea ledului ERROR de pe panoul frontal al unitii de comand,
respectiv prin intermediul unui semnal sonor. Dup corectarea erorilor din
program, transferul trebuie repetat deoarece n acest caz programul nu rmne
memorat.
Verificarea programului n regim pas cu pas
naintea lansrii n execuie, programul se verific n regim pas cu pas
(linie cu linie), adic se lanseaz i se verific execuia separat a fiecrei linii
din program, utiliznd n acest scop cutia de instruire.
Se apas tasta STEP, dup care se tasteaz numrul primei linii din
program (10) i se confirm cu tasta ENT. Dup execuia liniei tastate, pe
afiajul cutiei de instruire apare numrul de ordine al liniei urmtoare din
program (n cazul programului de mai sus, 15). Astfel, pentru lansarea n
execuie a liniei urmtoare este suficient apsarea succesiv a tastelor STEP i
ENT. Dup execuia ultimei linii din program, pe afiajul cutiei de instruire va
aprea numrul "0" ce indic sfritul programului. n regimul pas cu pas nu se
pot ns verifica, temporizrile din cadrul programului.
Lansarea programului n regim automat
Lansarea n execuie a programului se face prin transferul de la calculator
ctre unitatea de comand a unei instruciuni de start "RN linie", (n cazul
nostru RN 10). Avnd n vedere c aceast instruciune nu este precedat de un
numr (care se utilizeaz pentru numerotarea liniilor din program), este
considerat ca i o instruciune de comand i este executat imediat. Exemplu
de program:
10 OPEN "COM1:9600,E,7,2" FOR RANDOM AS #l
20 PRINT #1, "RN 10"
30 END
34
Dup lansarea programului n regim automat se urmrete realizarea
tuturor micrilor i operaiilor programate. Se verific i durata corect a
temporizrilor introduse i la nevoie se corecteaz programul.
2.3. Principalele macroinstruciuni utilizate la realizarea
programelor de tip punct cu punct
NT (Nest) - Determin deplasarea robotului n poziia de origine
mecanic n vederea sincronizrii axelor. Efectul instruciunii este identic cu
apsarea tastelor NST+ENT de pe cutia de instruire.
Formatul instruciunii: NT
Instruciunile NT sau NST+ENT trebuie efectuate obligatoriu nainte de
execuia oricrei comenzi de micare.
MO (Move) - Determin deplasarea punctului caracteristic n poziia
specificat, prin interpolare articulat. Se poate specifica i starea gripper-ului
(nchis / deschis) indiferent de starea acestuia n momentul memorrii poziiei.
Dac starea gripper-ului a fost specificat, atunci micarea de poziionare va
avea loc dup executarea instruciunii de nchidere/ deschidere a gripper-ului.
Formatul instruciunii: MO <numr poziie>, |<stare gripper>|,
unde: 1 s numr poziie s 629, iar stare gripper = O (Open - deschis) sau
C (Close - nchis).
Aceast instruciune este executat numai dac poziia specificat n
instruciune a fost memorat anterior. n caz contrar apare eroare i
instruciunea, respectiv programul nu vor fi executate.
DP (Decrement Position) - Este comanda pentru deplasarea punctului
caracteristic al robotului ntr-o poziie memorat avnd numrul de ordine mai
mic i n acelai timp cel mai apropiat de cel al poziiei curente.
Formatul instruciunii: DP
Instruciunea va fi executat doar n situaia n care exist cel puin o
poziie memorat cu numr de ordine mai mic dect cel al poziiei curente.
35
IP (Increment Position) - Reprezint comanda pentru micarea
robotului ntr-o poziie memorat, avnd numrul de ordine mai mare i n
acelai timp cel mai apropiat de cel al poziiei curente.
Formatul instruciunii: IP
Instruciunea va fi executat doar n situaia n care exist cel puin o
poziie memorat avnd numrul de ordine mai mare dect cel al poziiei
curente.
GO (Gripper Open) - Determin deschiderea gripper-ului.
Formatul instruciunii: GO
Instruciunea este executat, chiar dac gripper-ul a fost deschis naintea
lansrii acestei comenzi. Deschiderea gripper-ului nu este controlat i n
consecin se recomand utilizarea acestei instruciuni mpreun cu o
instruciune de temporizare. Durata minim de temporizare este de 0.7[s].
GC (Gripper Close) - Determin nchiderea gripper-ului.
Formatul instruciunii: GC
Instruciunea este executat chiar dac gripper-ul a fost nchis naintea
lansrii acestei comenzi. i aici, nchiderea gripper-ului nu este controlat i n
consecin se recomand utilizarea acestei instruciuni mpreun cu o
instruciune de temporizare. Durata minim de temporizare este i n acest caz
de 0.7[s].
TI (Timer) Introduce o anumit temporizare n timpul rulrii
programului.
Formatul instruciunii: TI < numr>,
unde: 1 s numr s 32767
Durata temporizrii = numr * 0.1 [s].
GT (Go To) Determin un salt necondiionat la linia din program
specificat.
Formatul instruciunii: GT <numr linie>,
36
unde 1 s numr linie s 2048.
Instruciunea va fi executat doar dac linia specificat n instruciune
exist. n caz contrar instruciunea, respectiv programul nu vor fi executate.
3. Desfurarea lucrrii
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 aezarea ei pe vagonetul "B" conform
schiei din figura 4.1 n timpul manipulrii, punctul caracteristic al robotului,
respectiv piesa se va deplasa din poziia 3 n poziia 6 prin poziiile
intermediare 2, 4 i 5. Aceste poziii intermediare sunt necesare n vederea
evitrii coliziunilor cu obiectul "C" i cu marginile vagonetului. Dup
sincronizare, gripper-ul va fi deplasat n poziia 1, care reprezint poziia de
start.
poz. 3
poz. 2
poz. 7
poz. 1
poz. 6
poz. 5
poz. 4
B A
Poziia de
sincronizare
C
Figura 4.1. Poziiile prin care trebuie s treac punctul
caracteristic al robotului pentru executarea unei operaii de
manipulare.
Dup aezarea piesei n poziia 6, gripper-ul se va re-ntoarce n poziia
1, trecnd succesiv prin poziiile 5 i 7, necesare pentru evitarea coliziunii cu
37
marginile vagonetului "B"i cu obiectul "C".
Programul va fi realizat parcurgnd toate etapele prezentate n
subcapitolul 2.2. utiliznd macroinstruciunile necesare ce sunt prezentate la
subcapitolul 2.3.
3.3. Se va studia pentru nceput funcionarea programului n regim pas cu
pas, utiliznd cutia de instruire, apoi funcionarea lui n regim automat prin
lansarea acestuia de la calculator.
38
Lucrarea nr. 5
INTEGRAREA ROBOTULUI RV-M1 N SISTEMUL DE
FABRICAIE FLEXIBIL FMS-2101
1. Scopul lucrrii
n lucrare se prezint studenilor 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 ctre echipamentele periferice ale unitii de
comand a robotului.
2. Consideraii teoretice
2.1. Sistemul flexibil de fabricaie FMS-2101
Robotul RV-M1 este parte component a sistemului flexibil de fabricaie
FMS-2101 a crui structur este prezentat n figura 5.1.
Componentele acestui sistem sunt:
1. Sistemul de transport Slide;
2. Robotul industrial RV-M1;
3. Staia de prelucrare prin strunjire NCL-2000;
4. Vrful mobil din ppu;
5. Vrful fix din universal;
6. Staia Vision-2000;
7. Camer video;
8. Poziia piesei sub camera video;
9. Staia de asamblare;
10. Pres pneumatic;
39
Figura 5.1. Structura sistemului flexibil de fabricaie FMS-2101.
11. Masa presei;
12. Conveior cu band;
13. Rol pentru ntinderea benzii;
14. Vagonet gol;
15. Vagonet ncrcat cu semifabricat;
16. Staie de oprire vagonet (buffer);
17. Senzori pentru identificarea vagonetului;
18. Senzor de prezen vagonet;
19. Opritor mecanic.
Componentele de baz care compun sistemul flexibil de fabricaie sunt:
- staia de prelucrare prin strunjire NCL-2000;
- staia de control dimensional Vision-2000;
- staia de asamblare pneumatic;
- sistemul micro-robot RV-M1.
40
Alimentarea cu semifabricate se realizeaz prin intermediul vagoneilor
(15), care se deplaseaz pe sistemul de transport numit conveior (12). Sistemul
de transport face parte dintr-o mini-secie automatizat de tip CIM (Computer
Integrated Manufactury). ncrcarea respectiv descrcarea vagoneilor au loc
n staiile de oprire vagonet (porturi).
Staia de prelucrare prin strunjire (3) este format dintr-un strung CNC.
Semifabricatele ce urmeaz a fi prelucrate sunt fixate ntre vrfurile (4) i (5),
vrful din ppua strungului fiind mobil i e acionat de un cilindru pneumatic,
n timp ce vrful din universal este fix. Selectarea unui program de prelucrare
dintre cele memorate n echipamentul cu comand numeric, poate fi realizat
de ctre operator la punerea n funciune a sistemului sau n mod automat prin
recepionarea tipului de program de la unitatea de comand a sistemului micro-
robot. Dup terminarea unei operaii de prelucrare are loc curirea piesei de
pan cu ajutorul unui jet de aer comprimat. Toate operaiile de prelucrare i
curire a piesei au loc cu ua strungului nchis.
Staia de control dimensional (6) este echipat cu o camer video care
preia imaginea piesei prelucrate i o transfer calculatorului ataat staiei.
Acesta face o comparare numeric a imaginii achiziionate cu imaginea
memorat a unei piese de referin. n urma procesului de comparare se va lua
decizia dac piesa este bun sau rebut i informaia respectiv va fi transmis
unitii de comand a robotului prin interfaa I/O. Robotul RV-M1 aeaz
piesele sub camera video, iar controlul dimensional al piesei respective ncepe
automat n momentul n care staia primete o cerere de control dimensional.
Staia de asamblare pneumatic (9) este constituit dintr-o pres
pneumatic care se utilizeaz pentru realizarea operaiilor de asamblare prin
presare. n configuraia actual din laborator, staia 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 staiilor din
structura sistemului flexibil FMS-2101 precum i descrcarea i ncrcarea
vagoneilor sosii n portul staiei. Transportul pieselor ntre staiile: (3), (6),
(9) i portul (16) se realizeaz prin deplasarea robotului pe sistemul de
transport local numit Slide. n cazul unei operaii complete de strunjire i
verificare dimensional, trebuie n prealabil, ca poziiile de pe Slide din faa
staiilor s fie memorate.
41
2.2. Comunicarea dintre unitatea de comand i echipamentele
periferice
Unitatea de comand a sistemului micro-robot comunic cu sistemele de
conducere nemijlocit a staiilor din cadrul sistemului CIM prin intermediul
unor semnale logice (0 sau 1) (figura 5.2).
bitul "2" al programului de prelucrare
bitul "1" al programului de prelucrare
bitul "0" al programului de prelucrare
sosire semifabricat cilindric
error
cerere semifabricat cilindric
cerere de vagonet gol
reinere vagonet n staie
vagonet gol n staie
vagonet ncrcat n staie
cim ready
robot ready
AUTOMATUL
PROGRAMABIL
CIM-CONTROL
UNITATEA
DE
COMAND
A
SISTEMULUI
MICRO-
ROBOT
RV-M1
bitul "0" al adresei de poziionare
bitul "1" al adresei de poziionare
bitul "2" al adresei de poziionare
cerere de poziionare
Slide n poziie
CONTROLER
SLIDE
Slide n poziie
strung ready
start prelucrare
sfrit prelucrare
bitul "0" al programului de prelucrare
bitul "1" al programului de prelucrare
bitul "2" al programului de prelucrare
fixare pies ntre vrfuri
ua strungului (nchis=1)
ECHIPAMENTUL
DE COMAND
NUMERIC
AL
STRUNGULUI
NCL-2000
0
0
1
2
2
1
7
6
9
8
10
15
8
10
9
11
7
3
5
6
12
13
14
4
14
vision ready
cerere de control dimensional
pies bun
pies rebut
INTERFAA I/O
A STAIEI
VISION-2000
4
5
12
15
PRESOSTAT
Presiune aer comprimat ready
13
pres ready
start presare
SIST. DE
COMAND
PRES
11
3
Figura 5.2. Comunicarea dintre unitatea de comand, staiile
din cadrul FMS-2101 i staia de control central CIM.
42
Astfel, unitatea de comand, pe lng conducerea sistemului micro-robot,
coordoneaz i supervizeaz succesiunea operaiilor din cadrul mini-sistemului
FMS-2101. n cadrul FMS, unitatea de comand constituie deci, nivelul
ierarhic superior, trimind comenzi i confirmri spre i din exteriorul mini-
sistemului flexibil. Comenzile date de unitatea de comand ctre staia de
prelucrare se refer la fixarea semifabricatului ntre vrfurile de la strung i la
nceperea prelucrrii.
Nivelul de conducere al ntregului sistem automatizat din laborator este
deinut de ctre automatul programabil CIM-control care controleaz fluxul de
piese i de vagonei. De asemenea, transmite codul binar natural al numrului
programului de prelucrare ctre staia de prelucrare NCL-2000, prin
intermediul unitii de comand.
Pentru deservirea staiilor din cadrul FMS, robotul RV-M1 trebuie, s se
deplaseze n diverse poziii pe Slide. Numrul de ordine al poziiilor de pe
Slide se specific n cod binar natural pe 3 bii (3 linii de comunicaie). Atunci
cnd controlerul de Slide primete o cerere de poziionare a robotului acesta va
deplasa robotul i dup ce acesta a ajuns n poziia cerut va emite semnalul
"Slide n poziie".
Cnd operaia de prelucrare a luat sfrit staia va trimite ctre unitatea
de comand un semnal "sfrit prelucrare". nainte ca robotul s scoat sau s
introduc o pies ntre vrfurile strungului unitatea de comand verific de
fiecare dat poziia nchis sau deschis a uii.
Staia de control dimensional Vision-2000 verific piesele prelucrate ori
de cte ori primete comanda "cerere de control dimensional". Biii pe liniile
de comunicare "pies bun" i "pies rebut" sunt pe nivel logic "0" pe toat
durata procesului de control dimensional i cnd acesta a luat sfrit unul din
aceti bii va deveni "1" logic.
Staia de asamblare trimite un semnal "pres ready" prin care ntiineaz
c staia este pregtit pentru o nou operaie i primete semnal de comand
prin care se d startul pentru o nou operaie de asamblare prin presare.
Presostatul transmite un semnal "presiune aer comprimat ready" prin care
confirm c presiunea aerului comprimat necesar staiei de asamblare i fixrii
semifabricatului ntre vrfuri este corespunztoare.
Toate sistemele de conducere aflate la un nivel ierarhic inferior transmit
semnale "ready" prin care ntiineaz nivelele de conducere superioare c sunt
43
disponibile pentru executarea operaiilor specifice staiei.
Comenzile i confirmrile (figura 5.2) sunt emise respectiv recepionate
de ctre unitatea de comand prin intermediul unei interfee I/O programabile.
Aceasta are 16 intrri respectiv 16 ieiri numerice, care sunt numerotate la
nivelul unitii de comand, sgeile indicnd natura liniilor (intrare sau ieire).
Prin intermediul macrocomenzilor de tip automat programabil se poate realiza
att comanda ieirilor ct i supravegherea intrrilor numerice.
2.3. Principalele macrocomenzi de tip automat programabil
ID (Input direct) - Este o instruciune de citire a strilor celor 16 intrri
numerice. Valoarea format din strile logice (0 sau 1) ale celor 16 intrri, este
ncrcat ntr-un registru intern de comparare.
Formatul instruciunii: ID
OD (Output direct) - Este o instruciune prin care strile celor 16 ieiri
numerice vor fi modificate simultan n funcie de o valoare specificat.
Formatul instruciunii: OD <Output data>
unde: -32767 s output data (zecimal) s +32767
- &8001 s output data (hexazecimal) s &7FFF.
TB (Test Bit) - Este o instruciune de salt condiionat, la o linie
specificat din program, dar acest salt e condiionat de starea bitului (starea
intrrii) specificat.
Formatul instruciunii: TB <+ sau -> <numr bit>, <numr linie>,
unde: - "+" reprezint nivelul logic "1"
- "-" reprezint nivelul logic "0"
- 0 s numr bit s 15
- 0 snumr linie s 2048.
Dac linia specificat prin "numr linie" nu exist atunci apare eroare n
execuia programului, iar dac condiia pentru salt nu este ndeplinit se va
continua execuia programului cu linia urmtoare.
44
OB (Output bit) - Este o instruciune prin care se realizeaz setarea
strii logice (0 sau 1) a ieirii numerice specificat.
Formatul instruciunii: OB <+ sau -> <numr bit>,
unde: - "+" semnific poziionarea bitului specificat la nivelul logic "1"
"-"semnific poziionarea bitului specificat la nivelul logic "0"
- 0 s numr bit s 15.
3. Desfurarea lucrrii:
3.1. Se identific componentele sistemului flexibil de fabricaie FMS-
2101 din laboratorul CIM.
3.2. Vor fi realizate programe n Qbasic pentru programarea strii
ieirilor numerice i citirea intrrilor numerice ale unitii de comand.
3.3. n programele aplicaie vor fi efectuate comenzi ctre echipamentele
periferice precum i recepionarea confirmrilor de la acestea dup cum
urmeaz:
- comenzi i confirmri ctre i de la staia CIM-Control;
- comenzi i confirmri ctre i de la echipamentul de comand numeric
al strungului NCL-2000;
- comenzi i confirmri ctre i de la staia de control dimensional
Vision-2000;
- comanda staiei de asamblare prin presare;
- resetarea strii ieirilor numerice.
45
Lucrarea nr. 6
COMANDA DEPLASRII ROBOTULUI RV-M1 PE
SLIDE
1. Scopul lucrrii
Lucrarea are ca obiectiv familiarizarea studenilor cu comanda deplasrii
robotului pe sistemul de transport Slide. n cadrul lucrrii, robotul va fi
deplasat pe Slide, prin intermediul cutiei de instruire (proprie acestei axe) i se
vor memora diverse poziii, apoi va fi realizat un program de comand pentru
deplasarea robotului n mod automat ntre aceste poziii.
2. Consideraii 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 poziiile memorate, att de la
unitatea de comand ct i de la cutia de instruire.
2.1. Comanda deplasrii robotului pe Slide de la cutia de instruire
Cutia de instruire, prezentat n figura 6.2, permite comanda deplasrilor
robotului RV-M1 n regim manual, de-a lungul Slide-ului i n acelai timp
memorarea poziiilor prin care trece acesta.
Cutia de instruire se activeaz prin punerea comutatorului n poziia
MAN (manual), poziie care este indicat prin aprinderea ledului din partea
superioar a cutiei. Cu butoanele LEFT (stnga) i RIGHT (dreapta) este
posibil deplasarea robotului n orice poziie situat ntre cele dou limitatoare
de curs (LS1 i LS2).
46
Figura 6.1. Sistemul de transport Slide.
Figura 6.2. Panoul frontal al cutiei de instruire pentru comanda
deplasrii pe Slide.
47
Limitatorul de curs LS1 este utilizat i pentru sincronizarea Slide-ului,
poziia de sincronizare corespunznd poziiei "0".
Dup deplasarea robotului ntr-o anumit poziie, se va selecta un numr
cu "selectorul de poziii" (Point Selector) i memorarea acelei poziii cu
numrul de ordine selectat se realizeaz prin apsarea butonului ENTER.
Numrul maxim de poziii memorate pe Slide este 2
3
=8.
Deplasarea robotului RV-M1 pe Slide, ntr-una din poziiile memorate n
prealabil, se face prin selectarea numrului cu care a fost memorat acea
poziie, cu ajutorul selectorului de poziii, dup care se apas i se ine apsat
butonul "Move to selected point" pn cnd robotul ajunge n poziia
respectiv unde se va opri. Deplasarea la o poziie memorat precum i
memorarea poziiilor este posibil numai dup ce s-a realizat sincronizarea pe
Slide. Aceast sincronizare se poate face prin apsarea butonului de comanda
RIGHT pn cnd baza robotului ajunge n dreptul senzorului LS1, sau prin
comanda de deplasare a robotului n poziia "0" de pe Slide.
Micarea cuplelor cinematice i deplasarea de-a lungul Slide-ului poate
s fie simultan (dar nu ofer avantaje n cazul comenzii manuale).
2.2. Comanda deplasrilor pe Slide de la unitatea de comand
Comanda deplasrilor pe Slide de la unitatea de comand a robotului
RV-M1 se face prin intermediul semnalelor logice existente ntre interfaa I/O
a unitii de comand i controler-ul Slide-ului (figura 6.3). Adresa de
poziionare se specific pe 3 bii (biii 8, 9, i 10) a cror nivele logice
formeaz n cod binar natural numrul poziiei de pe Slide, n care se dorete
deplasarea robotului.
Pentru realizarea unei deplasri, unitatea de comand va seta cei trei bii
de ieire astfel nct acetia vor reprezenta codul binar natural al numrului
ataat poziiei dorite urmat de transmiterea unei "cereri de poziionare" (bitul
11) care este echivalent cu comanda: "start deplasare robot n poziia
specificat". Cnd robotul ajunge n poziia specificat, controler-ul Slide-ului
confirm acest lucru prin semnalul "Slide n poziie" (bitul 7), prin care se
indic, de fapt, sfritul deplasrii robotului.
Cnd se dorete efectuarea unei noi deplasri ntr-o alt poziie memorat
anterior, unitatea de comand transmite noua adres de poziionare. Semnalul
"Slide n poziie" rmne activ, atta timp ct robotul rmne n poziia n care
a trebuit s se deplaseze, deoarece indic situarea robotului n poziia curent
48
UNITATEA
DE
COMAND
CONTROLER
SLIDE
bitul 0 al adr. de poziionare
bitul 1 al adr. de poziionare
bitul 2 al adr. de poziionare
Slide n poziie
cerere de poziionare pe Slide
11
8
9
10
7
Figura 6.3. Semnalele logice prin care unitatea de comand
comunic cu Controlerul de Slide.
(n fosta poziie programat). Semnalul devine "0" logic numai dup ce robotul
se ndeprteaz fizic din aceast poziie, adic ncepe o nou deplasare.
Aadar, atingerea poziiei programate este confirmat la o tranziie a
semnalului "Slide n poziie" de la "0" logic la "1" logic.
Dup ce robotul a atins poziia programat trebuie anulat cererea de
poziionare, ntruct doar n acest fel este posibil specificarea unei noi adrese
de poziionare i implicit deplasarea robotului ntr-o alt poziie.
Deplasarea robotului ntr-una din poziiile memorate de pe Slide
presupune realizarea unui program de comand, cu ajutorul cruia, prin
intermediul macroinstruciunilor de tip automat programabil, se realizeaz
programarea strii ieirilor numerice corespunztoare i supravegherea intrrii
numerice 7.
n cadrul programului, numrul poziiei de pe Slide, n care trebuie
deplasat robotul, se specific n cod binar natural, utiliznd biii 8, 9 i 10.
Bitul 10 corespunde bitului de semnificaie maxim (MSB), iar bitul 8 celui cu
semnificaie minim (LSB). De exemplu: dac se dorete deplasarea robotului
n poziia "6" de pe Slide, se seteaz bitul 8 la nivel logic "0" i biii 9 i 10 la
nivel logic "1". Secvena de program va arta astfel:
20 PRINT #1, "20 OB -8" ;bitul 8 este setat la valoarea "0"
30 PRINT #1, "25 OB +9" ;bitul 9 este setat la valoarea "1"
40 PRINT #1, "30 OB +10" ;bitul 10 este setat la valoarea "1".
49
Deplasarea n poziia specificat ncepe prin setarea bitului 11 la nivelul
logic "1" (cerere de poziionare pe Slide). Cnd robotul a ajuns n poziia
programat, controlerul Slide-ului seteaz la nivel logic "1" intrarea numeric
7 a unitii de comand. naintea nceperii unei noi deplasri pe Slide trebuie
anulat cererea de poziionare pe Slide (bitul 11 se seteaz la nivel logic "0").
Schema logic a programului aplicaie de comand a deplasrii pe Slide
este prezentat n figura 6.4a. Se observ c forma i coninutul blocurilor: 2,
3, 4, 5, 6 i 7 nu depind de codul binar al adresei de poziionare. Astfel, dac n
cadrul unui program se dorete efectuarea mai multor deplasri n diferite
poziii, e convenabil realizarea unei "subrutine de deplasare" pe baza blocurilor
amintite. Aceast subrutin va fi apelat ori de cte ori este necesar o
deplasare la o poziie specificat n prealabil, prin adresa de poziionare (figura
6.4.b).
a) b)
START
STOP
Specificare adres
de poziionare
Sfrit
program principal
Subrutin de
deplasare pe Slide
Specificare adres
de poziionare
START
STOP
Ateptare
nceput deplasare
Cerere de poziionare
Citire intrri numerice
Anulare
cerere de poziionare
Specificare adres
de poziionare
Slide n poziie
1
2
3
4
5
6
DA
NU
Subrutin de
deplasare pe
Slide
Apel subrutin de
deplasare pe Slide
Apel subrutin de
deplasare pe Slide
Temporizare 7
Figura 6.4. Organigrame pentru deplasarea pe Slide; a) schema
logic n cazul unei singure deplasri, b) schema logic a unui
program n care se efectueaz mai multe deplasri pe Slide.
50
Subrutina de deplasare pe Slide se apeleaz cu ajutorul
macroinstruciunii: GS (Go Subrutine). Aceast macroinstruciune determin
un salt necondiionat la linia de start a unei subrutine.
Formatul instruciunii: GS <numr linie>,
unde: 1 numr linie 2048.
Instruciunea va fi executat doar dac linia specificat exist. n caz
contrar programul nu va fi executat i va apare eroare la lansarea acestuia.
Un exemplu de subrutin pentru deplasarea robotului pe Slide care se
plaseaz, de regul, la sfritul programului, este:
****SUBRUTIN SLIDE****
2000 PRINT #1, "2000 OB +11, C" ;cerere de poziionare
2010 PRINT #1, "2005 TI 10" ;ateptare nceput deplasare
2020 PRINT #1, "2010 ID" ;citire intrri numerice
2030 PRINT #1, "2015 TB +7, 2025";Slide n poziie
2040 PRINT #1, "2020 GT 2010" ;dac nu atunci ateapt
2050 PRINT #1, "2025 OB -11" ;dac da atunci anulare cerere
2060 PRINT #1, "2030 TI 10" ;temporizare
2070 PRINT #1, "2035 RT" ;revenire din subrutin
2070 END ;sfrit program BASIC
Revenirea din subrutin se va face cu ajutorul instruciunii RT (Return)
iar subrutina se apeleaz cu instruciunea GS.
Formatul instruciunii: RT
Instruciunea va fi executat numai dac n prealabil a fost executat o
instruciune de apel subrutin GS, i dac pn la execuia comenzii RT nu s-a
realizat revenirea din acea subrutin. Din interiorul unei subrutine pot fi
apelate i alte subrutine cu condiia ca fiecare subrutin s se termine cu
macroinstruciunea RT.
51
n figura 6.4b s-a reprezentat schema logic a unui program n care se
efectueaz mai multe deplasri ale robotului pe Slide. Blocul de definiie al
subrutinei este aezat la sfritul programului principal adic dup
macroinstruciunea ED. Cnd n cadrul programului principal s-a ajuns la linia
care conine macroinstruciunea ED execuia programului va fi suspendat.
Astfel, se poate prentmpina execuia suplimentar i nedorit a subrutinei la
terminarea programului.
3. Desfurarea lucrrii
3.1. Se activeaz cutia de instruire a Slide-ului, apoi se realizeaz
sincronizarea Slide-ului prin apsarea butonului de comand RIGHT pn
cnd 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 poziie dorit i se memoreaz aceast poziie
utiliznd butonul ENTER. Se deplaseaz apoi robotul dup care se ncearc
revenirea n poziia memorat cu ajutorul butonului de comand "Move to
selected point" (dup ce n prealabil s-a selectat numrul poziiei dorite).
3.3. Se va realiza un program de comand pentru deplasarea robotului pe
Slide: nti n poziia de sincronizare "0", apoi n poziiile memorate "2" i "4".
Vor fi realizai apoi urmtorii pai:
- se transfer programul n memoria unitii de comand;
- se dezactiveaz cutiile de instruire;
- se lanseaz programul i se urmrete funcionarea sa;
- se optimizeaz programul din punct de vedere al temporizrilor
necesare.
52
Lucrarea nr. 7
STAIA VISION-2000
1. Scopul lucrrii
Lucrarea i propune familiarizarea studenilor cu modul de lucru al
staiei Vision-2000. Aceast staie este comandat prin intermediul unui
calculator, pe care este instalat programul aplicaie dedicat staiei.
2. Consideraii teoretice
Dispozitivul videocaptor are rolul de a transforma imaginea optic
(luminana scenei capturate) n imagine electronic (distribuie de sarcini
electronice) i obinerea, din aceasta, a semnalului de imagine. Imaginile
optice se formeaz n planul suprafeei dispozitivului videocaptor cu ajutorul
obiectivelor, care de cele mai multe ori sunt cu distan focal variabil. Cele
mai rspndite dispozitive videocaptoare integrate sunt cele din categoria
dispozitivelor videocaptoare cu cuplaj de sarcin CCD (Charge Coupled
Devices).
La ieirea camerei video se obine un semnal video complex standard.
Prin utilizarea explorrii liniare ntreesute, un cadru complet de imagine
(video frame) rezult dup analiza a dou semicadre (cmpuri): un cmp al
liniilor impare i un cmp al liniilor pare. Semnalul video obinut de camer
este adus la intrarea plcii de achiziie ce intr n componena hard a
calculatorului ataat staiei. Aceasta va face o conversie analog-digital a
semnalului video, corespunztor unei imagini, iar rezultatul va fi memorat
rezultnd 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.
53
2.1. Achiziia imaginilor cu ajutorul staiei Vision-2000
Achiziia imaginilor video se realizeaz prin parcurgerea urmtoarelor
etape care utilizeaz programul aplicaie al staiei Vision-2000:
- Se pune un obiect n faa camerei video;
- Se selecteaz meniul Camera;
- Se selecteaz opiunea Live din meniul Camera;
- Se poziioneaz obiectul n mijlocul imaginii afiate pe monitor;
- Camera video se va deplasa n sus i n jos pentru obinerea focalizrii
optime;
- Se va regla nivelul de luminan al imaginii prin modificarea
diafragmei obiectivului;
- Se va observa imaginea n cele dou poziii extreme ale diafragmei:
complet nchis i complet deschis. n final se va lsa pe o poziie de mijloc;
- Se va selecta opiunea Freeze din meniul Camera;
- Se va deplasa obiectul din faa camerei pentru a vedea dac imaginea
este memorat
- Se va selecta comanda Save din meniul File i se va specifica calea
(extensia fiierului va fi *.pic);
Prin comanda Load se poate ncrca o imagine salvat anterior iar
comanda Clear se folosete pentru a terge memoria cadru (frame memory).
2.2. Prelucrri de imagini utiliznd programul aplicaie al staiei
Vision- 2000
Camera video achiziioneaz imaginea piesei ce urmeaz s fie testat, i
aceast imagine va fi memorat ntr-un fiier pe calculatorul ataat staiei.
Asupra unei imagini achiziionate se pot executa diverse prelucrri elementare
prin care se urmrete, n final, dac piesa coincide din punct de vedere
dimensional cu un tipar din memoria calculatorului. Principalele prelucrri ce
se pot executa pe staia Vision-2000 sunt urmtoarele:
- conversia imaginii piesei n imagine cu niveluri de gri (gray-scale),
fiecare punct al imaginii este reprezentat printr-un nivel de gri proporional cu
luminana imaginii din acel punct;
- vizualizarea nivelurilor de gri pe diverse direcii ale imaginii
(orizontal, vertical, oarecare),
54
- operaii de calibrare asupra imaginii;
- filtrarea imaginii;
- segmentarea imaginii (delimitarea obiectului de fondul imaginii);
- detecia muchiilor piesei;
- modificarea mrimii de reprezentare a piesei pe ecran (zoom);
- calcularea cotelor piesei analizate;
- definire de cote pentru care se va executa verificarea (pe lng
verificarea implicit executat asupra conturului piesei).
n cele ce urmeaz sunt prezentate principalele opiuni din meniul
programului aplicaie al staiei Vision-2000:
a) meniul TOOLS:
- Pixel: afieaz coordonatele x, y ale poziiei cursorului n cadrul
imaginii piesei studiate i afieaz, de asemenea, valoarea nivelului de gri
ataat 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: afieaz un grafic al nivelului de gri pe linia selectat (orizontal,
vertical, oarecare). Linia se selecteaz cu ajutorul mouse-lui i este afiat pe
imaginea piesei cu culoare galben;
- Histogram: afieaz 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: distana de msurat se introduce utiliznd mouse-ul, se
poziioneaz cursorul pe un capt al segmentului de msurat, se memoreaz
acionnd tasta <ENTER>, se procedeaz analog pentru al doilea capt al
segmentului.
b) meniul FILTER: calitatea imaginii achiziionate de ctre camera
video trebuie uneori mbuntit. Exist mai multe procedee de mbuntire a
imaginii, fiecare procedeu are efect benefic asupra unei caracteristici a
imaginii prelucrate. Unul dintre aceste procedee se refer la filtrarea spectral
a imaginii, care const n eliminarea unor anumite frecvene.
- Low Pass: n general, energia unei imagini este concentrat n
componentele de frecven joas, n timp ce zgomotul din imagine este asociat
55
cu componentele spectrale de frecven ridicat. Prin eliminarea frecvenelor
nalte i pstrarea celor joase se poate reduce considerabil influena unor
zgomote din imaginea de prelucrat;
- High Pass: determin eliminarea frecvenelor joase i pstrarea celor
nalte. Deoarece componentele de frecvene nalte corespund detaliilor fine ale
imaginii, aceast filtrare mbuntete contrastul local i mrete claritatea
imaginii.
O alt clas de prelucrri 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: detecie vertical de muchii, este utilizat pentru corectarea
liniilor pe vertical din conturul piesei.
- Sobel: filtru care corecteaz muchiile pe toate direciile. Utilizeaz n
acest scop derivata funciei care are ca valori, valorile ataate nivelurilor de gri
ale imaginii piesei.
2.3. Program aplicaie destinat controlului pieselor
Programul aplicaie care se poate implementa pe staia Vision-2000
conine urmtoarele instruciuni:
STOP ;oprire
DELAY ;temporizare
GO TO ;salt necondiionat
IF INPUT EQUAL ;test de egalitate asupra unei intrri
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 ieiri
OUTPUT DATA ;transmite ctre exterior date
DISPLAY MESSAGE ;afieaz mesaj
END ;sfrit program
56
Spre exemplu, aplicaia program care comand testarea automat a
semifabricatelor este:
SET OUTPUT BIT +7
IF INPUT +2 JUMP TO LABEL 60
DELAY 100 (1/10 SECONDS)
DO COMPARE
DELAY 100
IF COMPARE OK JUMP TO LABEL 110
SET OUTPUT BIT +6
DELAY 100
SET OUTPUT BIT 6
GO TO PROGRAM LABEL 10
SET OUTPUT BIT +5
DELAY 100
SET OUTPUT BIT 5
GO TO PROGRAM LABEL 10
END OF PROGRAM
3. Desfurarea lucrrii
3.1. Se vor achiziiona imaginile diferitelor piese conform procedurii
descrise la subcapitolul 2.1.
3.2. Se vor apela diferite funcii din programul aplicaie Vison-2000
pentru prelucrarea imaginilor achiziionate.
3.3. Se va realiza i verifica programul care comand testarea automat a
semifabricatelor.
57
Lucrarea nr. 8
COMANDA ROBOTULUI RV-M1 PENTRU
DESERVIREA STAIEI VISION-2000
1. Scopul lucrrii
Lucrarea are ca obiectiv familiarizarea studenilor cu elaborarea i
optimizarea unui program de comand de tip punct cu punct pentru realizarea
automat a operaiilor de control dimensional, utiliznd n acest scop staia
Vision-2000, respectiv robotul RV-M1.
2. Consideraii teoretice
Staia 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. Staia dispune de o camer video cu ajutorul creia sunt
preluate imaginile pieselor. Rezultatul comparrii poate s fie: "pies bun", n
cazul n care dimensiunile piesei controlate se ncadreaz n domeniul de
toleran prestabilit, sau "pies rebut", dac cel puin 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 ctre robotul
RV-M1.
Pentru realizarea acestor operaii, unitatea de comand a robotului
comunic cu interfaa I/O a staiei Vision-2000 prin semnale logice ce pot avea
nivele "0" sau "1". n figura 8.1 sunt prezentate aceste semnale precum i
identificarea biilor afereni fiecrui semnal logic de intrare sau ieire n / sau
de la interfaa I/O a unitii de comand.
58
UNITATEA
DE
COMAND
INTERFAA
I/O A STAIEI
VISION 2000
cerere de control dimensional
pies "bun"
Staia Vision "ready"
cerere de poziionare pe Slide
bitul "0" al adr. de poziionare
bitul "1" al adr. de poziionare
bitul "2" al adr. de poziionare
Slide n poziie
pies "rebut"
5
11
8
9
10
7
12
15
4
Figura 8.1. Semnalele logice prin care unitatea de comand
comunic cu staia Vision-2000.
Controlul piesei ncepe n momentul n care nivelul semnalului de
"cerere de control dimensional", emis de unitatea de comand, devine "1"
logic. Conform figurii 8.1, prin nivelul logic "1" al semnalului "Staia Vision
ready", unitatea de comand a robotului este ntiinat despre faptul c staia
de control dimensional este pregtit pentru realizarea unei noi "testri". n
timpul comparrii, semnalele: "pies bun" i "pies rebut" sunt meninute la
nivelul logic "0". Dup terminarea controlului dimensional, unitatea de
comand este ntiinat despre rezultatul comparrii, prin faptul c unul din
semnalele "pies rebut" sau "pies bun" va fi poziionat la nivelul logic "1" i
meninut n aceast stare timp de 5 secunde, dup care acest semnal revine la
nivelul logic "0".
n figura 8.1 sunt numerotai biii corespunztori acestor semnale, la
nivelul unitii de comand, astfel c programul pentru comanda operaiei de
testare va ine cont de aceste semnale prin numrul alocat acestor bii.
2.1. Prezentarea procesului de control dimensional
n figura 8.2 este prezentat modul de dispunere a echipamentelor
principale ce intervin n procesul de control dimensional din sistemul CIM.
Astfel, se consider c piesele (cilindrice) sosesc de la o staie de prelucrare,
prin intermediul conveiorului (1).
59
poz.
poz.
poz.
Figura 8.2. Reprezentarea schematic a procesului de control
dimensional.
Apoi sunt preluate de robotul RV-M1 (3) din portul staiei de ncrcare /
descrcare (buffer) (2) i sunt introduse n staia Vision-2000 (6), iar
transportul ntre "buffer" i staia 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 poziia de ateptare, la buffer (3).
2.2. Schema logic a procesului
n figura 8.3 se prezint schema logic a procesului. Programul ncepe cu
sincronizarea mecanic a robotului (1), apoi se realizeaz sincronizarea
robotului pe Slide (2) (deplasare n poziia 0), i se testeaz staia Vision-2000.
(3) i (4). Dac staia Vision-2000 e "pregtit", robotul se deplaseaz n
poziia 1 de pe Slide (lng buffer), (5), i ia cilindrul de pe conveior (6).
60
STOP
1
Piesa e bun?
NU
DA
11
10
Scoatere cilindru
din staia Vision
Eliminare
rebut
SLIDE 1 SLIDE 1
Aezare cilindru
pe conveior
Revenire robot n
poz. de ateptare
13
18
14
15
16
17
19
20
START
SLIDE 0
1
2
3
Sincronizare robot
Citire intrri
numerice
4
5
6
DA
NU
SLIDE 1
Introducere cilindru
n staia Vision
Cerere de control
dimensional
1
7
8
9
Luare cilindru
de pe conveior
Vision ready?
SLIDE 5
NU
DA
12 Piesa e rebut?
Citire intrri
numerice
Anulare cerere
de control
Anulare cerere
de control
Figura 8.3. Schema logic a procesului de control dimensional.
Prin intermediul Slide-ului robotul se deplaseaz n poziia 5 de pe Slide,
(7), (n faa staiei Vision-2000) dup care are loc introducerea piesei cilindrice
sub camera video (8) i se emite o cerere de control dimensional (9). Sfritul
operaiei de control dimensional se "constat" prin testarea bitului 12 (pies
bun) (11) i a bitului 15 (pies rebut) (12). Iniial att bitul 12, ct i bitul 15
au nivelul logic "0". Dup ce operaia de control dimensional s-a terminat, cel
puin un bit din cei doi va fi diferit de "0".
61
Dac piesa cilindric este "bun" , nti se anuleaz cererea de control
dimensional (13); apoi se ia piesa de sub camera video (14), se transport la
buffer (15), i se aeaz pe conveior (16) dup care robotul revine n poziia de
ateptare (17). Dac piesa e "rebut", nti 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 poziia de ateptare
(17).
2.3. Stabilirea traiectoriilor
Avnd n vedere c se realizeaz un program de tip punct cu punct,
traiectoria se stabilete prin definirea unor puncte de start, int i a unui numr
minim de puncte intermediare prin care punctul caracteristic este obligat s
treac, n vederea evitrii coliziunilor cu obiectele din mediul de lucru. Astfel,
trebuie stabilite numere de ordine pentru fiecare poziie de pe traiectoria pe
care se va afla robotul n decursul procesului de control dimensional. De
asemenea, trebuie stabilite i numerotate i poziiile robotului pe Slide. n
tabelul 8.1 se d numerotarea poziiilor propuse pentru acest proces, iar n
tabelul 8.2 se d lista poziiilor robotului pe Slide.
Nr. crt. Denumire poziie
11 - poziie de ateptare n faa buffer-ului
13 - poziie deasupra piesei de pe conveior
12 - poziia piesei pe conveior
25 - poziie intermediar ntre buffer i staia Vision-2000
30 - poziie nainte (i dup) aezarea piesei pe suportul
de sub camera video
31 - poziia piesei pe suportul de sub camera video
32 - poziie de ateptare lateral (pe durata controlului
dimensional)
51 - poziie deasupra containerului
52 - poziia piesei rebut n container
Tabelul 8.1. Lista poziiilor punctului caracteristic al robotului
propuse pentru realizarea programului.
62
Nr. crt. Denumire poziie
0 - poziia de sincronizare pe Slide
1 - poziie din faa staiei de oprire conveior (buffer)
5 - poziie din faa staiei de control dimensional Vision-
2000
Tabelul 8.2. Lista poziiilor robotului pe Slide.
2.4. Stabilirea succesiunii poziiilor
Prima micare este n poziia de ateptare 11, dup care robotul se
apropie de pies prin deplasarea n poziia 13 cu gripper-ul deschis, apuc
piesa n poziia 12 prin nchiderea gripper-ului, se ndeprteaz de conveior cu
gripperul nchis pn n poziia 13, realizeaz o rotaie cu 180 de grade
ntorcndu-se cu piesa spre staia Vision-2000 (poziia 25), se deplaseaz pe
Slide pn n faa staiei, introduce piesa sub camera video (poziia 30) i o
aeaz pe suport (poziia 31). Robotul se ndeprteaz de pies (cu gripper-ul
deschis) (poziia 30) i se retrage de sub camera video, ntr-o poziie de
ateptare lateral (poziia 32). La terminarea controlului dimensional robotul
apuc i ridic piesa trecnd succesiv prin poziiile 31 i 30.
Dac piesa e "rebut", se apropie cu ea de container (poziia 51) i
elibereaz piesa n acesta (poziia 52), dup care revine n poziia anterioar
(poziia 51) i se retrage n poziia 25 de la staia Vision-2000. Apoi se
deplaseaz pe Slide pn la buffer, i revine n poziia de ateptare 11. Dac
piesa este "bun", robotul se retrage n poziia 25, apoi se deplaseaz pe Slide
pn la buffer, se apropie de conveior (poziia 13) i aeaz piesa pe conveior
(poziia 12). n final robotul se retrage cu gripper-ul deschis n poziia de
ateptare 11 trecnd prin poziia 13 cu gripper-ul deschis.
3. Desfurarea lucrrii
3.1. Se analizeaz modul de sincronizare a robotului RV-M1 cu
comenzile numerice ale staiei Vision-2000.
3.2. Se analizeaz schema logic a procesului privind executarea n
regim automat a operaiilor de control dimensional.
3.3. Se realizeaz i verific programul de comand al robotului pentru
deservirea staiei Vision-2000, conform poziiilor date n tabelele 8.1 i 8.2.
63
Lucrarea nr. 9
ANALIZA CINEMATIC DIRECT N CAZUL
ROBOILOR INDUSTRIALI
1. Scopul lucrrii
Prin aceast lucrare se urmrete familiarizarea studenilor cu
problematica cinematicii directe a roboilor. Pentru exemplificare se va utiliza
sistemul micro-robot RV-Ml i un program scris n mediul de simulare Matlab
pentru realizarea calculelor.
2. Consideraii teoretice
Matricea de transformare omogen corespunztoare dispozitivului de
ghidare a unui robot cu 6 grade de mobilitate se obine conform relaiei:
(
(
(
(

= =
1 0 0 0
34 33 32 31
24 23 22 21
14 13 12 11
6
3
3
0
6
0
f f f f
f f f f
f f f f
T T T
unde elementele f
ij
sunt expresii trigonometrice n care intervin lungimi
de translaie (d) i unghiuri de rotaie (), aferente fiecrei translaii sau rotaii
realizate la nivelul uneia dintre cuplele cinematice conductoare (c.c.c.).
Matricea
6
0
T , indic trecerea de la sistemul de coordonate legat de baza
robotului (elementul 0) la sistemul de coordonate ataat efectorului final
(elementul 6) precum i situarea efectorului final fa de baza robotului, adic
fa de axele sistemului de coordonate fix. n relaia de mai sus:
3
2
2
1
1
0
3
0
A A A T = , (9.2)
64
este matricea transformrii omogene aferent mecanismului generator de
traiectorie, iar:
6
5
5
4
4
3
6
3
A A A T = , (9.3)
este matricea transformrii omogene aferent mecanismului de orientare.
Matricile de tipul
i
i
A
1
se numesc matrici de trecere ntre sisteme de
coordonate adiacente.
Conform definiiei matricei de situare, rezult urmtoarea egalitate:
(
(
(
(

=
(
(
(
(

1 0 0 0 1 0 0 0
34 33 32 31
24 23 22 21
14 13 12 11
f f f f
f f f f
f f f f
p a o n
p a o n
p a o n
z z z z
y y y y
x x x x
, (9.4)
unde p
x
, p
y
, p
z
sunt componentele vectorului de poziie al punctului
caracteristic, iar n
x
, n
y
, n
z
, o
x
, o
y
, o
z
, a
x
, a
y
, a
z
sunt componentele versorilor
_
n ,
_
o i
_
a , care exprim orientarea obiectului manipulat n raport cu sistemul de
coordonate fix O
0
X
0
Y
0
Z
0
.
n practic se disting dou situaii:
1) se cunosc valorile translaiilor d
i
sau rotaiilor
i
de la nivelul
fiecrei c.c.c. (care sunt, de fapt, coordonatele: q
1
, q
2
, q
3
, q
4
, q
5
, q
6
), adic se
cunoate cu ct s-a comandat fiecare motor pentru deplasarea robotului. Astfel,
se pot calcula elementele matricelor
i
i
A
1
i inclusiv i elementele matricelor
de transformare omogen
3
0
T respectiv
6
3
T .
Din relaia (9.1) rezult expresia pentru
6
0
T i se afl valorile p
x
, p
y
, p
z
,
n
x
, n
y
, n
z
, o
x
, o
y
, o
z
, a
x
, a
y
, a
z
, adic se determin poziia 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. (q
1
, q
2
, q
3
, q
4
, q
5
, q
6
) n coordonatele carteziene ale siturii
efectorului final, indicate prin p
x
, p
y
, p
z
respectiv n
x
, n
y
, n
z
, o
x
, o
y
, o
z
, a
x
, a
y
, a
z
.
2) cel mai adesea se ntlnete situaia n care se cunoate locul unde
trebuie adus efectorul final, adic se cunosc valorile numerice pentru poziia i
orientarea piesei n poziia int (n
x
, o
x
, a
x
, p
x
etc.) i trebuie determinat cu ct
65
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 obine un numr
de ecuaii iar prin rezolvarea lor se obin valorile d
i
(de translaie) i
i
(de
rotaie) pentru fiecare c.c.c.
Prin acest calcul de cinematic invers, din coordonatele carteziene ale
siturii efectorului final (p
x
, p
y
, p
z
, n
x
, n
y
, n
z
, o
x
, o
y
, o
z
, a
x
, a
y
, a
z
) se obin,
coordonatele c.c.c. (q
1
, q
2
, q
3
, q
4
, q
5
, q
6
) necesare pentru conducerea
nemijlocit a robotului.
Calculul de cinematic direct i cel de cinematic invers reprezint
principalele transformri de coordonate utilizate n robotic. Ele reprezint
esena calculelor cinematice care intervin n conducerea unui robot.
2.1. Rezolvarea problemei de cinematic direct
La rezolvarea problemei de cinematic direct se consider cunoscute
dimensiunile dispozitivului de ghidare i variabilele articulaiilor q
1
, q
2
, q
3
, q
4
,
q
5
, q
6
(q
i
i=1.6) reprezint fie lungimi de translaie (d
i
) fie unghiuri de rotaie
(
i
) n funcie de natura c.c.c. (de translaie sau de rotaie).
Pe baza valorilor de mai sus trebuie determinat poziia i orientarea
efectorului final n raport cu sistemul de coordonate fix prin componentele
vectorului de poziie (p
x
, p
y
, p
z
) respectiv componentele versorilor
_
n ,
_
o i
_
a
(n
x
, n
y
, n
z
, o
x
, o
y
, o
z
, a
x
, a
y
, a
z
) ce definesc orientarea piesei. Aceste componente
reprezint coeficienii matricei de situare T, conform relaiei 9.5.
(
(
(
(

=
1 0 0 0
z z z z
y y y y
x x x x
p a o n
p a o n
p a o n
T
(9.5)
n principiu, rezolvarea problemei de cinematic direct presupune
parcurgerea urmtoarelor etape:
1) - se deduc matricele de trecere 6 2 1
1
,..., , i , A
i
i
=

.
2) - se deduc matricele de transformare omogen
3
0
T i
6
3
T .
3) - se nmulete matricea
3
0
T cu
6
3
T i se obine matricea de
66
transformare omogen
6
0
T
4) - matricea obinut (a crei elemente f
ij
sunt expresii trigonometrice) se
egaleaz termen cu termen cu matricea de situare T conform relaiei (9.4)
2.2. Soluionarea problemei de cinematic direct n cazul
robotului RRRRR
Structura robotului de tip RRRRR este artat n figura 9.1.
Y
0
X
0
Z
0
d
1
0 O
0
1
X
1
O
1
O
2
2
3
Z
2
u
3
u
4
Z
3
d
5
Y
5
a
2
a
3
X
4
X
5
n
4
5
u
5
Z
4
Z
5
u
1
u
2
Z
1
t/2
X
2
X
3
O
3
O
4
O
5
a
o
Figura 9.1. Structura robotului de tip RRRRR.
Robotul RRRRR are 5 grade de mobilitate, iar pentru deducerea relaiilor
de calcul ale elementelor matricei de situare se utilizeaz relaia:
5
3
3
0
1 0 0 0
T T
p a o n
p a o n
p a o n
z z z z
y y y y
x x x x
=
(
(
(
(

(9.6)
unde
5
3
T este matricea transformrii omogene a mecanismului de
orientare care posed doar dou grade de mobilitate iar
3
0
T este matricea
67
transformrii omogene a mecanismului generator de traiectorie.
Elementele matricei de mai sus sunt date de relaiile:
n
x
=(-sin
1
cos
2
cos
3
+sin
1
sin
2
sin
3
)(-sin
4
cos
5
)+(sin
1
cos
2
sin
3
+
sin
1
sin
2
cos
3
) (cos
4
cos
5
) +cos
1
sin
5
;
n
y
=(cos
1
cos
2
cos
3
-cos
1
sin
2
sin
3
)(-sin
4
cos
5
)+
+(-cos
1
cos
2
sin
3
-cos
1
sin
2
cos
3
)(cos
4
cos
5
)+sin
1
sin
5
;
n
z
=(sin
2
cos
3
+cos
2
sin
3
)(-sin
4
cos
5
)+(-sin
2
sin
3
+
+cos
2
cos
3
)cos
4
cos
5
;
o
x
=(-sin
1
cos
2
cos
3
+sin
1
sin
2
sin
3
)(sin
4
sin
5
)+(sin
1
cos
2
sin
3
+
+sin
1
sin
2
cos
3
)(-cos
4
sin
5
)+cos
1
cos
5
;
o
y
=(cos
1
cos
2
cos
3
-cos
1
sin
2
sin
3
)(sin
4
sin
5
)+
(-cos
1
cos
2
sin
3
-cos
1
sin
2
cos
3
)(-cos
4
sin
5
)+sin
1
cos
5
;
o
z
=(sin
2
cos
3
+cos
2
sin
3
)(sin
4
sin
5
)+(-sin
2
sin
3
+cos
2
cos
3
)(-
cos
4
sin
5
);
a
x
=(-sin
1
cos
2
cos
3
+sin
1
sin
2
sin
3
)cos
4
+(sin
1
cos
2
sin
3
+
+sin
1
sin
2
cos
3
)sin
4
;
a
y
=(cos
1
cos
2
cos
3
-cos
1
sin
2
sin
3
)cos
4
+(-cos
1
cos
2
sin
3
-
cos
1
sin
2
cos
3
)sin
4
;
a
z
=(sin
2
cos
3
+cos
2
sin
3
)cos
4
+(-sin
2
sin
3
+cos
2
cos
3
)sin
4
;
p
x
=(-sin
1
cos
2
cos
3
+sin
1
sin
2
sin
3
)(cos
4
d
5
)+(sin
1
cos
2
sin
3
+
sin
1
sin
2
cos
3
)* (sin
4
d
5
)+(-sin
1
cos
2
cos
3
+
+sin
1
sin
2
sin
3
)a
3
-sin
1
cos
2
a
2
;
p
y
=(cos
1
cos
2
cos
3
-cos
1
sin
2
sin
3
)(cos
4
d
5
)+(-cos
1
cos
2
sin
3
-
cos
1
sin
2
cos
3
)*(sin
4
d
5
)+(cos
1
cos
2
cos
3
-cos
1
sin
2
sin
3
)a
3
+cos
1
cos
2
a
2
;
p
z
=(sin
2
cos
3
+cos
2
sin
3
)(cos
4
d
5
)+(-sin
2
sin
3
+cos
2
cos
3
)* (sin
4
d
5
)+
(sin
2
cos
3
+cos
2
sin
3
)a
3
+sin
2
a
2
+d
1
;
n relaiile de mai sus s-au notat cu d
1
, a
2
, a
3
, d
5
parametrii articulaiilor
i cu
1
.
5
unghiurile cuplelor cinematice conductoare.
68
Exist dou modaliti prin care se pot deduce valorile cinematicii
directe: primul fiind cel de calcul al matricei
6
0
T , iar a doua variant este cea
de calcul al matricelor
0
T
3
*
3
T
5
Diagramele logice pentru robotul cu 5 grade de libertate de tip RRRRR,
n cele dou cazuri, sunt reprezentate n figura 9.2:
Calculul elementelor matricei
0
T
3
(a
1
, b
1
, c
1
, d
1
, e
1
, f
1
, g
1
, h
1
, i
1
,
j
1
, k
1
)
Calculul elementelor matricei
3
T
5
(a
2
, b
2
, c
2
, d
2
, e
2
, f
2
, g
2
, h
2
, i
2
, j
2
, k
2
)
Introducerea valorilor pentru

1
,
2
,
3
,
4
,
5
(n grade)
Transformarea valorilor
introduse din grade n radiani
Introducerea parametrilor
robotului RRRRR
d
1
, a
2
, a
3
, d
5
START
Calculul elementelor matricei: n
x
, o
x,
a
x
, p
y
, n
y
, o
y,
a
y
, p
y
, n
z
, o
z,
a
z
, p
z
Afiarea rezultatului
obinut
STOP
Introducerea valorilor pentru

1
,
2
,
3
,
4
,
5
(n grade)
Transformarea valorilor
introduse din grade n radiani
START
Calculul matricei
m =
0
T
3
*
3
T
5
Afiarea rezultatului
obinut
STOP
Figura 9.2. Diagramele logice pentru robotul cu 5 grade de
libertate de tip RRRRR.
69
3. Desfurarea lucrrii
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 documentaia tehnic a robotului RV-M1
parametrii dispozitivului de ghidare: d
1
, a
2
, a
3
, d
5
.
3.3. Se va studia problema cinematic direct n cazul robotului RV-M1
utiliznd programul direct.m, pentru diferite valori ale unghiurile cuplelor
cinematice conductoare
1
.
5
, urmrind situarea punctului caracteristic al
robotului.
70
Lucrarea nr. 10
ANALIZA CINEMATIC INVERS A UNUI ROBOT
INDUSTRIAL
1. Scopul lucrrii
Prin aceast lucrare se urmrete familiarizarea studenilor cu rezolvarea
cinematicii inverse a unui robot. Pentru exemplificare se va utiliza sistemul
micro-robot RV-Ml.
2. Consideraii teoretice
Matricea de situare T, prin care se exprim situarea efectorului final al
unui robot, n spaiul tridimensional este:
(
(
(
(

=
1 0 0 0
z z z z
y y y y
x x x x
p a o n
p a o n
p a o n
T
, (10.1)
unde p
x
, p
y
, p
z
sunt componentele vectorului de poziie a punctului
caracteristic, iar n
x
, n
y
, n
z
, o
x
, o
y
, o
z
, a
x
, a
y
, a
z
sunt componentele versorilor
_
n ,
_
o i
_
a , care exprim orientarea obiectului manipulat n raport cu sistemul de
coordonate fix O
0
X
0
Y
0
Z
0
.
Dup cum s-a vzut i din lucrarea anterioar, matricea de transformare
omogen
6
0
T , indic trecerea de la sistemul de coordonate legat de baza
robotului (elementul 0) la sistemul de coordonate ataat efectorului final
(elementul 6) precum i situarea efectorului final fa de baza robotului adic
fa de axele sistemului de coordonate fix.
71
Forma acestei matrici este:
(
(
(
(

=
1 0 0 0
34 33 32 31
24 23 22 21
14 13 12 11
6
0
f f f f
f f f f
f f f f
T
, (10.2)
unde elementele f
ij
sunt expresii trigonometrice n care intervin lungimi
de translaie (d
i
) i unghiuri de rotaie (i) aferente fiecrei translaii sau rotaii
realizate la nivelul uneia dintre cuplele cinematice conductoare (c.c.c.).
Prin egalarea celor dou relaii (10.1) i (10.2) se obine:
(
(
(
(

=
(
(
(
(

1 0 0 0 1 0 0 0
34 33 32 31
24 23 22 21
14 13 12 11
z z z z
y y y y
x x x x
p a o n
p a o n
p a o n
f f f f
f f f f
f f f f
(10.3)
Problema de cinematic invers const n faptul c se cunoate unde
anume trebuie adus efectorul final ntr-o etap a procesului tehnologic, adic
se cunosc valorile numerice pentru poziia (p
x
, p
y
, p
z
) i orientarea piesei
manipulate (n
x
, n
y
, n
z
, o
x
, o
y
, o
z
, a
x
, a
y
, a
z
) n poziia int i trebuie determinat
cu ct trebuie comandat fiecare motor (valorile d
i
i
i
corespunztoare fiecrei
cuple cinematice conductoare) pentru ca n final s se realizeze situarea
impus. Practic, se egaleaz elementele matricelor din expresia (10.3). Aceste
elemente sunt de fapt expresii algebro-trigonometrice i astfel se obine un
sistem de ecuaii, iar prin rezolvarea lui se obin valorile d
i
i
i
, de translaie
sau de rotaie pentru fiecare c.c.c.
n concluzie, prin acest calcul de cinematic invers, din coordonatele
carteziene ale siturii efectorului final (p
x
, p
y
, p
z
, n
x
, n
y
, n
z
, o
x
, o
y
, o
z
, a
x
, a
y
, a
z
),
se obin coordonatele c.c.c. (q
1
, q
2
, q
3
, q
4
, q
5
, q
6
), necesare pentru conducerea
nemijlocit a robotului.
Relaiile deduse trebuie s fie de forma:
( )
z y x i
p n n f q ,.., , =
pentru 6 ... 1 = i .
Pentru deducerea acestor relaii se pot utiliza dou metode:
1. Metoda prin descompunere;
2. Metoda recursiv.
72
Metoda prin descompunere se poate utiliza atunci cnd axele cuplelor
cinematice conductoare ale mecanismului de orientare sunt concurente i se
intersecteaz ntr-un singur punct W numit punct wrist sau punct al
ncheieturii. Dac se cunoate poziia i orientarea piesei fa de baza
robotului, precum i vectorul de poziie P al punctului caracteristic M se
poate determina vectorul de poziie
W
P al punctului W.
Fie O
0
X
0
Y
0
Z
0
sistemul de referin fix legat de baza robotului, i
O
W
X
W
Y
W
Z
W
sistemul de coordonate cu originea n punctul W. n figura 10.1 se
arat poziiile celor dou sisteme de referin, respectiv poziia punctelor W i
M.
O
0
X
0
M
Y
0
Z
W
Y
W
X
W
P
W
P
M
P
W
Figura 10.1. Calculul vectorului de poziie
W
P .
Pe baza figurii 10.1 se pot face notaiile:
| |
T
Z Y X
p p p P = - vectorul de poziie al punctului caracteristic M n
sistemul de referin O
0
X
0
Y
0
Z
0
| |
T
WZ WY WX W
p p p P = - vectorul de poziie al punctului W n sistemul
de coordonate O
0
X
0
Y
0
Z
0
| |
T
MZ MY MX M
p p p P = - vectorul de poziie al punctului caracteristic M
n sistemul de coordonate ataat mecanismului de orientare avnd originea n
punctul W.
73
ntre aceti trei vectori exist relaia:
M W
P P P + = (10.4)
de unde rezult:
M W
P P P = (10.5)
adic:
(
(
(

(
(
(

=
(
(
(

z
y
x
z
y
x
M
M
M
z
y
x
W
W
W
p
p
p
p
p
p
p
p
p
. (10.6)
Avnd cunoscute componentele vectorului
W
P se pot calcula n prima
faz parametrii cinematici: q
1
, q
2
, q
3
i pe urm q
4
, q
5
, q
6
.
n acest fel, problema analizei cinematice inverse este descompus
practic n dou etape astfel:
- n prima etap se determin relaiile de calcul corespunztoare
coordonatelor c.c.c. ale mecanismului generator de traiectorie (q
1
, q
2
, q
3
).
- n etapa a doua se determin relaiile de calcul corespunztoare
coordonatelor c.c.c. ale mecanismului de orientare (q
4
, q
5
, q
6
), n funcie de
valorile obinute la prima etap.
n cazul metodei recursive se determin pentru nceput q
1
prin eliminarea
din sistemul de ecuaii a matricei
1
0
A
, prin nmulirea cu
( )
1
1
0

A
a relaiei:
6
5
5
4
4
3
3
2
2
1
1
0
1 0 0 0
A A A A A A
p a o n
p a o n
p a o n
z z z z
y y y y
x x x x
=
(
(
(
(

(10.7)
Astfel, se va obine relaia:
( )
6
5
5
4
4
3
3
2
2
1
1
1
0
1 0 0 0
A A A A A
p a o n
p a o n
p a o n
A
z z z z
y y y y
x x x x
=
(
(
(
(

. (10.8)
74
Prin egalarea termen cu termen a celor dou matrici rezultante, se obine
un sistem de 12 ecuaii din care se calculeaz q
1
.
Pentru determinarea relaiei de calcul pentru q
2
se elimin termenul
2
1
A
din ecuaia rezultat mai sus, prin nmulirea n partea stng cu matricea
invers
( )
1
2
1

A
:
( ) ( )
6
5
5
4
4
3
3
2
1
1
0
1
2
1
1 0 0 0
A A A A
p a o n
p a o n
p a o n
A A
z z z z
y y y y
x x x x
=
(
(
(
(

. (10.9)
n partea stng a relaiei vom avea o singur necunoscut adic q
2
deoarece valoarea lui q
1
este deja cunoscut. n mod similar se procedeaz
pentru determinarea relaiilor de calcul pentru q
3
, q
4
, q
5
i q
6
. Spre exemplu,
pentru determinarea lui q
6
se utilizeaz relaia:
( ) ( ) ( ) ( ) ( ) ( ) I
p a o n
p a o n
p a o n
A A A A A A
z z z z
y y y y
x x x x
=
(
(
(
(


1 0 0 0
1
1
0
1
2
1
1
3
2
1
4
3
1
5
4
1
6
5
(10.10)
unde I este matricea identitate.
Aceast metod prezint dou mari dezavantaje. Primul se refer la
faptul c se poate ntmpla ca matricea rezultat n partea dreapt, s nu
conin cel puin un element constant. Aceasta este o condiie necesar pentru
ca o variabil q
i
care urmeaz s fie determinat s nu depind de restul
variabilelor (necunoscute) din partea dreapt a ecuaiei. Cellalt dezavantaj
este dat de faptul c apar de multe ori probleme de nesigularitate a soluiilor,
adic pentru o anumit situare se obin mai multe configuraii ale c.c.c.
75
2.1. Rezolvarea problemei de cinematic invers n cazul robotului
RRRRR
Structura robotului de tip RRRRR este artat n figura 10.2.
Y
0
X
0
Z
0
d
1
0
O
0
1
X
1
O
1
O
2
2
3
Z
2
u
3
u
4
Z
3
d
5
Y
5
a
2
a
3
X
4
X
5
n
4
5
u
5
Z
4
Z
5
u
1
u
2
Z
1
t/2
X
2
X
3
O
3
O
4
O
5
a
o
Figura 10.2. Structura robotului de tip RRRRR
Rezolvarea problemei de cinematic invers n cazul robotului de tip
RRRRR presupune cunoaterea poziiei punctului caracteristic (p
x
, p
y
, p
z
),
orientarea obiectului manipulat (n
x
, n
y
, n
z
, o
x
, o
y
, o
z
, a
x
, a
y
, a
z
) fa de sistemul
de coordonate fix, legat de baza robotului, precum i dimensiunile
dispozitivului de ghidare (d
1
, a
2
, a
3
, d
5
) se urmrete determinarea parametrilor
cinematici (
1
,
2
,
3
,
4
i
5
) pentru cele cinci cuple cinematice de rotaie.
n figura 10.3 se prezint organigrama cu etapele principale pentru
analiza cinematic invers utiliznd metoda prin descompunere.
76
Introducerea valorilor pentru:
- poziia punctului caracteristic (p
x
, p
y
, p
z)
- orientarea obiectului manipulat
(n
x
, n
y
, n
z
, o
x
, o
y
, o
z
, a
x
, a
y
, a
z
)
- dimensiunile dispozitivului de ghidare
(d
1
, a
2
, a
3
, d
5
)
Calculul componentelor
vectorului de poziie
al punctului Wrist
Calculul parametrilor cinematici
ai mecanismului generator
de traiectorie

1
,
2
,
3
Calculul parametrilor
cinematici ai
mecanismului de
orientare

4
,
5
Afiarea rezultatului
obinut:

1
,
2
,
3,

4,

5

STOP
START
Figura 10.3. Diagrama logic pentru programul de analiz
cinematic invers pentru robotul cu 5 grade de libertate de tip
RRRRR
3. Desfurarea lucrrii
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 diferii parametri pentru poziia punctului caracteristic
(p
x
, p
y
, p
z)
, pentru orientarea obiectului manipulat (n
x
, n
y
, n
z
, o
x
, o
y
, o
z
, a
x
, a
y
, a
z
)
specifice robotului RV-M1.
3.3. Se va studia problema cinematic invers n cazul robotului RV-M1
utiliznd programul invers.m.
77
Lucrarea nr. 11
UTILIZAREA METODEI CMPULUI POTENIAL
ARTIFICIAL PENTRU PROGRAMAREA
TRAIECTORIEI ROBOILOR
1. Scopul lucrrii
Lucrarea urmrete familiarizarea studenilor cu metoda cmpului
potenial utilizat pentru programarea traiectoriei descrise de punctul
caracteristic al roboilor industriali sau a traiectoriei roboilor mobili care se
deplaseaz ntr-un mediu cu obstacole. n lucrare se prezint i modul de
realizare al unui program pentru simularea cmpului potenial artificial n
mediul Matlab.
2. Consideraii teoretice
n cazul metodei cmpului potenial, un robot este tratat ca un punct n
spaiul su de configurare, respectiv ca o particul aflat sub influena unui
cmp potenial artificial U, a crui variaie reflect structura spaiului liber.
Funcia potenial se definete pe spaiul de configurare al robotului ca fiind
suma dintre un potenial atractiv care "atrage" robotul ctre configuraia intei
i un potenial repulsiv care "mpinge" robotul dinspre obstacole. Planificarea
micrii se realizeaz ntr-un mod iterativ. La fiecare iteraie direcia forei
artificiale indus de ctre funcia potenial n configuraia curent este privit
ca fiind cea mai potrivit direcie ce trebuie urmat de ctre robot n deplasarea
sa ctre int.
Ideea de baz, este c robotul respectiv punctul caracteristic al robotului
este atras ctre int n timp ce obstacolele l resping. Aceast idee este
ilustrat prin definirea unei funcii poteniale n cazul n care robotul se poate
deplasa liber n W=R
N
, cu N=2 sau 3, C=R
N
, unde W reprezint spaiul de lucru
78
al robotului, R reprezint un set de numere reale iar C spaiul de configurare al
robotului. Un element din C este notat cu q.
Cmpul forelor artificiale ce acioneaz asupra robotului situat n
punctul q din C este produs de o funcie potenial derivabil
, R C : U
liber

i
este dat de relaia:
( ) ( ) q U q F V =

, (11.1)
unde
( ) q U V
reprezint vectorul gradient al cmpului potenial artificial
U n punctul q. n C=R
N
cu (N=2 sau 3), se poate scrie q(x,y) respectiv q(x,y,z),
iar U V este dat de relaiile:
(
(

c
c
c
c
= V
y
U
x
U
U
sau
(
(
(
(

c
c
c
c
c
c
= V
z
U
y
U
x
U
U
. (11.2)
Pentru atragerea robotului, pe de o parte ctre int i n acelai timp
respingerea lui de ctre obstacole, cmpul potenial U rezultant este dat de
suma a dou funcii poteniale:
( ) ( ) ( ) q U q U q U
rep atr
+ =
, (11.3)
unde U
atr
reprezint potenialul atractiv asociat punctului n care este
situat inta q
inta
, iar U
rep
este potenialul repulsiv asociat zonelor din C unde
sunt situate obstacolele.
Avnd aceste notaii se pot scrie forele exercitate de fiecare potenial n
parte:
atr atr
U F V =

i
rep rep
U F V =

. (11.4)
Acestea reprezint vectorul forelor atractive, respectiv vectorul forelor
repulsive ce acioneaz asupra robotului.
2.1. Potenialul atractiv
Cmpul potenial atractiv U
atr
poate fi definit sub forma unei funcii
parabolice (relaia 11.5).
79
( ) ( ) q p k q U
atr
=
2
1
(11.5)
unde k este un factor de scar pozitiv i ( ) q p reprezint distana
Euclidian dintre punctul n care este situat robotul i punctul n care e situat
inta ||q-q
int
||.
Distana euclidian dintre dou puncte dintr-un plan s(x
1
,y
1
) i t(x
2
,y
2
),
este dat de relaia:
2
1 2
2
1 2
) ( ) ( y y x x t s + =
(11.6)
Funcia U
atr
este pozitiv sau nul i atinge minimul n punctul q
int
unde
U
atr
(q
int
)=0
Funcia p este difereniabil oriunde n C. n oricare configuraie a lui
q, fora atractiv F
atr
ce deriv din U
atr
este:
( ) ( ) ( ) ( ) ( )
int atr atr
q q q p q p q U q F o = V o = V =

. (11.7)
S-a ales o form parabolic a funciei ce definete potenialul de atracie
deoarece cu aceasta s-a obinut o stabilitate bun, mai ales atunci cnd se
utilizeaz metoda cmpului potenial pentru evitarea on-line a obstacolelor. n
acest fel, fora rezultant F
atr
converge liniar spre 0 atunci cnd robotul se
apropie de int. Pe de alt parte, F
atr
crete cu distana fa de int i n final
tinde ctre infinit atunci cnd ( ) q p .
n figura 11.1 se arat un exemplu de potenial atractiv generat de ctre o
int situat n punctul de coordonate x=12, y=13 n cadrul unui spaiu de
configurare de dimensiune 1616 elemente.
80
0
2
4
6
8
10
12
14
16
0
2
4
6
8
10
12
14
16
0
5
10
15
20
25
30
i
x
y
U
atr
Figura 11.1. Forma potenialul atractiv creat de int.
2.2. Potenialul repulsiv
Ideea de baz este de a crea o barier de potenial n jurul obstacolelor
situate n spaiul de configurare C al robotului, care nu poate fi traversat de
ctre acesta. Pe de alt parte acest potenial repulsiv nu trebuie s afecteze
micarea robotului atunci cnd acesta este suficient de departe de obstacole.
Aceste condiii pot fi ndeplinite prin definirea unei funcii poteniale repulsive
de forma:
( )
( )
( )
( )

>
<
|
|
.
|

\
|

=
0
0
2
0
0
1 1
2
1
p q p dac
p q p dac
p q p
n
q U
rep
, (11.8)
unde n este un factor de scar pozitiv, i ( ) q denot distana dintre q i
obstacole.
Funcia U
rep
este pozitiv sau nul, tinde la infinit atunci cnd q se
apropie mult de zona obstacolelor i este nul cnd distana dintre robot i
obstacole este mai mare dect
0
p
.
81
Fora repulsiv obinut din U
rep
este definit astfel:
( ) ( )
( ) ( )
( ) ( )
( )

>
s V
|
|
.
|

\
|

= V =
0
0
2
0
0
1 1 1
p q p dac
p q p dac q p
q p p q p
n
q U q F
rep

(11.9)
Orice obstacol detectat de unul din senzorii robotului, indiferent dac
acesta este un obstacol sau a parte dintr-un obstacol mai mare, produce o for
repulsiv. Fora repulsiv rezultant este suma forelor repulsive create de
fiecare obstacol n parte. Aadar fora repulsiv rezultant este dat de relaia:
( )
( )
( )
( ) q F q F
i
i rep total rep
=
=
0

, (11.10)
unde prin i s-a notat numrul de senzori ai robotului.
n figura 11.2 se prezint un exemplu de potenial repulsiv creat de trei
obstacole situate ntr-un spaiu de configurare de dimensiune 1616 elemente.
x
y
U
rep
Figura 11.2. Un exemplu de potenial repulsiv creat de trei
obstacole.
n final, asupra robotului situat ntr-un punct q al spaiului de configurare
C acioneaz att fora de atracie dat de ctre configuraia intei ct i forele
de respingere determinate de ctre obstacolele situate n mediul de lucru al
robotului. Astfel, fora total artificial ce acioneaz asupra robotului n
punctul q este dat de relaia (11.11).
82
( ) ( )
( )
( ) q F q F q F
total rep atr total
+ =
(11.11)
Forma cmpului potenial artificial total, ce acioneaz asupra robotului,
produce n final ( ) q F
total
iar n cazul exemplului prezentat mai sus are forma
din figura 11.3.
x
y
U
total
Figura 11.3. Forma cmpului potenial artificial total.
2.3. Realizarea cmpului potenial artificial n mediul de simulare
Matlab
Cmpul potenial artificial de atracie, n cazul unei inte situate ntr-un
spaiu de configurare, precum i cmpul potenial artificial de repulsie creat de
diverse obstacole poate fi realizat n mediul de simulare Matlab. Pentru
exemplificri se va folosi un spaiu de configurare discretizat avnd
dimensiunea de 1010 elemente. Pentru a crea un cmp potenial n acest
spaiu n care se afl inta i dou obstacole, se vor parcurge etapele:
a) Iniializarea spaiului de configurare:
for i=1:1:10; for j=1:1:10;
c_space(j,i)=0;
end;end;
83
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) Afiarea spaiului 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 potenialului de atracie:
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; %potenialul de atracie
c_space (j,i)=Uatr;
end; end; end;
e) Determinarea potenialului de respingere:
p0=1; %distana minim pn la obstacole
if E<p0
Urep=1/2*n*(1/E-1/p0)^2;
else
Urep=0;
end;
f) Obinerea i afiarea cmpului potenial total:
c_space(j,i)=Uatr+Urep;
figure, surf(double(c_space (1:1:end,1:1:end)));zlim([0 10]);
view(30,30);
84
3. Desfurarea lucrrii
3.1. Se va analiza modul de obinere a cmpului potenial artificial prin
cele dou componente ale sale: potenialul de atracie i potenialul de
respingere.
3.2. Se va calcula potenialul de atracie i respingere pentru un mediu
discretizat de dimensiune 44 elemente avnd inta situat n punctul (3,3) i
obstacole n punctele (1,2) i (1,3).
3.3. Se va realiza un program care s afieze succesiv: potenialul de
atracie, potenialul de respingere i cmpul potenial total pentru un mediu
discretizat de dimensiune 1212 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).
85
Lucrarea nr. 12
PLANIFICAREA TRAIECTORIEI UNUI ROBOT MOBIL
CU METODA CMPULUI POTENIAL ARTIFICIAL
1. Scopul lucrrii
Lucrarea urmrete familiarizarea studenilor cu modul de planificare a
traiectoriei cu metoda cmpului potenial artificial, creat pe baza configuraiei
mediului de lucru al unui robot mobil n care sunt date poziia intei i poziiile
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. Consideraii teoretice
O problem important n domeniul roboilor mobili o constituie
proiectarea unui sistem de planificare a micrii. Un astfel de sistem trebuie s
ghideze roboii mobili n deplasarea lor de la o poziie iniial la o poziie int,
evitnd obstacolele care sunt localizate ntre aceste dou poziii. Dac se ia n
calcul c obstacolele precum i inta pot fi n micare i c obstacolele pot avea
diverse forme este evident c nu e o problem uor de rezolvat.
2.1. Planificarea traiectoriei pentru roboii mobili
Pentru planificarea traiectoriei n cazul roboilor mobili exist n
literatura de specialitate o multitudine de soluii care n general, au la baz
dou metode:
a) planificarea traiectoriei sau navigarea robotului mobil prin metoda
global;
Aceast metod este asociat cu nivelul ierarhic superior din sistemul de
conducere a unui robot. Cu aceast metod se obine o traiectorie optim,
86
ocolindu-se obstacolele statice sau dinamice cunoscute din mediul de lucru. De
cele mai multe ori, metodele globale const n crearea de hri sau grafuri i
abordeaz problema doar din punct de vedere geometric. Oricum metodele
globale determin limitarea capabilitilor robotului de a aciona n timp real n
mediu dezordonat, n special cnd sunt multe informaii noi despre schimbrile
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 ctre sistemul de planificare global. Prin metoda local de
navigare se pot evita obstacolele necunoscute indiferent dac acestea sunt
statice sau se afl n micare, compensnd incertitudinea datelor furnizate de
sistemul de conducere de la nivelul global.
Planificarea sau navigarea local poate lua n considerare att cinematica
ct i dinamica robotului, deoarece se bazeaz pe informaii obinute din
semnale, care se pot prelucra n timp real. ns folosirea doar a informaiilor
locale primite de la senzori nu garanteaz gsirea soluiei optime pentru
traiectoria roboilor i nu se semnaleaz dac poziia intei nu este accesibil.
Deseori se combin cele dou strategii, adic planificarea global pentru
asigurarea unei traiectorii accesibile i navigaia local pentru optimizarea
local a traiectoriei i evitarea obstacolelor neateptate.
2.2. Planificarea traiectoriei roboilor mobili prin metoda cmpului
potenial
n cazul metodei cmpului potenial, un robot mobil este tratat n spaiul
su de configurare ca o particul aflat sub influena unui cmp potenial
artificial U. Acest cmp este format din suma a dou componente: potenialul
atractiv care "atrage" robotul ctre configuraia intei i potenialul repulsiv
care "mpinge" robotul dinspre obstacole.
Planificarea micrii se realizeaz ntr-un mod iterativ. La fiecare iteraie
direcia forei artificiale indus de ctre funcia potenial n configuraia
curent este privit ca fiind cea mai potrivit direcie ce trebuie urmat de ctre
robot n deplasarea sa ctre int. n figura 12.1 se prezint un exemplu n care
robotul mobil trebuie n final s ajung la int ocolind obstacolele ntlnite.
87
Robot
F
atr
F
rez
F
rep
inta
Obstacole
Figura 12.1. Aciunea forelor create de cmpurile poteniale de
atracie i repulsie asupra robotului.
inta, a crei poziie se presupune c este cunoscut apriori de ctre
robot este interpretat de ctre acesta prin crearea unui potenial de atracie U
atr
a crui valoare este proporional cu distana dintre robot i int. n funcie de
valoarea cmpului potenial de atracie din punctul n care este situat robotul,
se obine o for artificial de atracie F
atr
care "atrage" robotul spre int.
Pe de alt parte, obstacolele din mediul de lucru al robotului detectate cu
ajutorul senzorilor cu care este echipat acesta, sunt interpretate prin crearea
unui cmp potenial de repulsie U
rep
a crui valoare este proporional cu
mrimea obstacolelor i cu distana pn la acestea. Practic, fiecare obstacol
creeaz un cmp potenial repulsiv i de aici rezult cte o for artificial
repulsiv care acioneaz asupra robotului din partea fiecrui obstacol detectat.
n final, prin compunerea acestor fore se obine rezultanta lor care reprezint
fora artificial de repulsie F
rep
care acioneaz asupra robotului la un moment
dat.
Prin compunerea forelor F
atr
i F
rep
se obine o for rezultant F
rez
dat
de relaia (12.1), a crei orientare indic cea mai potrivit direcie ce trebuie
urmat n configuraia curent a robotului q(x
q
,y
q
).
88
( ) ( ) ( ) q F q F q F
rep atr rez
+ =

(12.1)
De regul mediul de lucru al robotului este discretizat ntr-un numr de
celule sau pixeli (elemente) de aceeai dimensiune i robotul mobil respectiv
inta sunt reprezentate printr-un pixel iar obstacolele au dimensiuni de cel puin
un pixel. Avnd determinat vectorul forelor rezultante la un moment dat,
robotul se va deplasa ocupnd celula vecin indicat de acest vector. n aceast
nou configuraie a robotului, procesul descris mai sus se va repeta i tot aa
pn cnd este atins poziia intei.
2.3. Algoritm de planificare a traiectoriei unui robot mobil cu
metoda cmpului potenial
Pentru exemplificare se consider un robot mobil care trebuie s se
deplaseze dintr-o poziie de start la un punct int ocolind obstacolele ntlnite
ntre aceste dou poziii. Mediul de lucru cu obstacole al robotului se consider
discretizat n funcie de rezoluia dorit. n figura 12.2 se prezint organigrama
algoritmului de planificare a traiectoriei pe baza creia se va realiza programul.
Alegerea mediului de lucru cu obstacole
Identificarea poziiilor: start i int
Crearea unui cmp potenial de atracie proporional cu
distanele din fiecare punct pn la int
Crearea unui cmp potenial de repulsie n jurul obstacolelor
nsumarea celor dou cmpuri n toate punctele din mediul de
lucru
Nu
Deplasare cu un pas pe direcia aleas
Alegerea direciei optime ce corespunde potenialului minim
din jurul poziiei actuale a robotului
Da
STOP
Robotul a
ajuns
la int?
Figura 12.2. Organigrama algoritmului.
89
Mediul de lucru, obstacolele precum i modul de realizarea a cmpului
potenial de atracie (U
atr
) i de repulsie (U
rep
) pot fi definite n mediul Matlab
conform lucrrii de laborator anterioare.
Pentru nsumarea celor dou cmpuri i afiarea cmpului rezultant se
pot utiliza urmtoarele linii de program:
for i=1:1:size(mediu,1); for j=1:1:size(mediu,2);
mediu(j,i)=Uatr+Urep;
figure, surf(double(mediu (1:1:end,1:1:end))); zlim([0 10]);
view(30,30);
Alegerea direciei optime de deplasare pentru robot, se face prin
compararea valorii cmpului potenial rezultant a celor opt direcii de
deplasare posibile: E, V, N, S, NE, NV, SE, SV. Direciile posibile, respectiv
vecintatea de raz r = 1, pentru o situaie concret se prezint n figura 12.3.
Dac robotul se afl n situaia prezentat n figura 12.3, acesta va fi pus
n situaia de a alege ntre cele opt direcii de deplasare. Se observ c direcia
SE are potenialul minim, prin urmare va alege aceast direcie. Poziiile N i
NV au potenial mult mai mare dect toate celelalte poziii nvecinate ale
robotului, ele indic faptul c pe poziiile respective se afl situat un obstacol.
NE
10,06
N
21,02
NV
21,02
V
11,24
E
9,02
SE
8,13
S
9,29
SV
10,54
Figura 12.3. Exemplu de alegere a poziiei viitoare.
Pentru evitarea blocrii robotului n minime locale, care apar de regul,
n situaii n care robotul ntlnete obstacole concave, algoritmul poate fi
conceput astfel nct robotul s nu poat s fac pai napoi. Odat ce robotul
ocup o poziie, din mediul de lucru, prin intermediul algoritmului, potenialul
punctului respectiv poate fi setat pe o valoare ridicat.
90
n acelai timp, la urmtorul pas al robotului cnd vor fi comparate
valorile potenialelor punctelor vecine, poziia de unde a venit nu poate fi luat
n calcul pentru o eventual alegere, i robotul nu va putea rmne pe loc chiar
dac n situaiile de minime locale potenialul punctului ocupat de ctre robot
este mai mic dect potenialul punctelor vecine. Aadar, avnd aceste restricii
robotul va reui s ias din aceste minime locale i va continua drumul ctre
int.
Un exemplu de subrutin care determin valoarea cmpului potenial din
vecintatea robotului, dac se presupune c acesta se afl n poziia x
0
(i,j) este:
N=mediu(j+1,i); S=mediu(j-1,i); V=mediu(j,i-1); E=mediu(j,i+1);
NE=mediu(j+1,i+1); NV=mediu(j+1,i-1); SE=mediu(j-1,i+1);
SV=mediu(j-1,i-1);
X=[N S E V NE NV SE SV];
p=min(X);
Dup identificarea potenialului minim ca avnd valoarea p, urmeaz ca
aceast valoare s fie comparat cu valoarea potenialului din cele opt direcii
posibile de deplasare menionate mai sus. Imediat ce s-a gsit corespondentul
lui p, va fi afiat noua poziie a robotului i aceasta va constitui poziie
curent.
Exemplu de secven de program n care, avnd valoare lui p, se va
determina i afia poziia viitoare ce va fi ocupat de ctre robot.
if p==N; plot(i,j+1,'go');hold on;grid on; j=j+1;end;
if p==S; plot(i,j-1,'go');hold on;grid on; j=j-1;end;
if p==V; plot(i-1,j,'go');hold on;grid on; i=i-1;end;
if p==E; plot(i+1,j,'go');hold on;grid on; i=i+1;end;
if p==NE; plot(i+1,j+1,'go');hold on; grid on;i=i+1;j=j+1;end;
if p==NV; plot(i-1,j+1,'go');hold on;grid on; i=i-1;j=j+1;end;
if p==SE; plot(i+1,j-1,'go');hold on;grid on; i=i+1;j=j-1;end;
if p==SV; plot(i-1,j-1,'go');hold on;grid on; i=i-1;j=j-1;end;
end;
91
n continuare, se va verifica dac aceast poziie corespunde cu poziia
intei i dac nu algoritmul va fi reluat de la etapa de alegere a direciei optime
pentru robot n sensul cmpului potenial minim din jurul poziiei curente a
robotului.
3. Desfurarea lucrrii
3.1. Se vor analiza cele dou metode de planificare a traiectoriei n cazul
roboilor mobili: metoda global i metoda local.
3.2. Se va defini un spaiu cu obstacole de dimensiune 1010 elemente
cu dou obstacole, se va determina i afia potenialul de atracie dat de un
punct int, potenialul de repulsie dat de obstacole precum i cmpul potenial
total conform lucrrii anterioare.
3.3. Se va realiza un program prin care un robot situat n mediul creat
mai sus, n diverse poziii s se deplaseze spre un punct int conform
algoritmului prezentat n lucrare.
3.4. Vor fi identificate situaii n care robotul se afl n puncte de minim
local i se vor propune soluii pentru ieirea robotului din aceste situaii.
92
Bibliografie
1. T. Barabs, T. Vesselnyi, Robotic Conducerea i programarea
roboilor industriali, Editura Universitii din Oradea, 2004.
2. T. Barabs, Structuri deschise de automatizare a fabricaiei din cadrul
hipersistemelor CIM robotizate, Editura Universitii din Oradea, 2004.
3. T. Barabs, Robotic Roboi industriali - ndrumtor de laborator
Editura Universitii din Oradea, 2005.
4. T. Barabs, Conducerea roboilor industriali - ndrumtor de
laborator, Editura Universitii din Oradea, 2005.
5. A. Gacsdi, T. Maghiar, V. Tiponu, Path planning for a mobile robot
in an environment with obstacles using cellular neural network, Int. Workshop
on CNN and their Applications, (CNNA 2002), Frankfurt/Main, Germany, pp.
188-194, 2002.
6. I. Gavrilu, Path planning of a mobile robot using Potential Field
Method, Int. Conf. on Renewable Sources and Environmental Electro-
Technologies (RSEE02), pp. 55-58, Oradea, 2002.
7. M. Gavri, T. Barabs, Comanda roboilor ndrumtor de laborator,
Editura Universitii din Oradea, 1996.
8. M. Gavri, T. Barabs, Comanda, conducerea i programarea
roboilor - ndrumtor de proiect, Editura Universitii din Oradea, 1996.
9. M. Ghinea, V. Fireeanu, MATLAB. Calcul numeric - grafic -
aplicaii, Editura Teora, Bucureti, 1997.
10. F. Kovacs, C. Rdulescu, Roboi Industriali, vol. I-II, Universitatea
Tehnic Timioara, 1992.
11. M. Liliana, Informatic de proces - ndrumtor de laborator, Editura
Universitii din Oradea, 1996.
12. T. Vesselnyi, T. Barabs, Comanda roboilor Aplicaii, Editura
Universitii din Oradea, 2006.
13. * * * Industrial Micro-Robot System RV-M1 Manual de operare,
Mitsubishi Electric.

You might also like