02.04.2014 Views

Robot Stäubli RX90

Robot Stäubli RX90

Robot Stäubli RX90

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

<strong>Robot</strong> Stäubli <strong>RX90</strong> je antropomorfne konfiguracije s šestimi prostostnimi stopnjami. Uporabljen kot:<br />

• industrijski robot s pozicijskim vodenjem,<br />

• v laboratoriju je uporabljen kot haptični robot, ki je lahko voden po sili (nameščen senzor sile).<br />

Tabela 1: Lastnosti robota Stäubli <strong>RX90</strong><br />

Model robota<br />

<strong>RX90</strong><br />

Največja obremenitev<br />

6 kg / 11 kg<br />

Število prostostnih stopenj 6<br />

Doseg zapestja<br />

985 mm<br />

Ponovljivost<br />

±0.02 mm<br />

Slika 1: <strong>Robot</strong> Stäubli <strong>RX90</strong><br />

1


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Vodenje robota – regulacija pozicije (smer X)<br />

1) Določimo napako (e x ) med referenčno (x r ) in dejansko pozicijo (x) vrha robota:<br />

e x<br />

= x r<br />

− x<br />

2) Izračunamo hitrost (v x ) potrebna za zmanjšanje napake (e x ) množena z ustreznim<br />

ojačenjem (K p ):<br />

vx<br />

= K p<br />

⋅e x<br />

2


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Vodenje robota – regulacija pozicije (napaka pozitivna)<br />

e x<br />

=<br />

x r<br />

−<br />

x<br />

e x > 0 → v x > 0<br />

motor se začne vrteti navzgor in<br />

napaka se zmanjša<br />

v x<br />

v<br />

x<br />

=<br />

K<br />

p<br />

⋅e<br />

x<br />

3


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Vodenje robota – regulacija pozicije (napaka negativna)<br />

e x<br />

=<br />

x r<br />

−<br />

x<br />

e x < 0 → v x < 0<br />

motor se začne vrteti navzdol<br />

in napaka se zmanjša<br />

v x<br />

v<br />

x<br />

=<br />

K<br />

p<br />

⋅e<br />

x<br />

4


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Vodenje robota – regulacija pozicije (ni napake)<br />

e x<br />

e x<br />

= x − x<br />

r<br />

= 0<br />

e x = 0 → v x = 0<br />

motor miruje saj ni potrebe<br />

po premiku<br />

v x<br />

v<br />

x<br />

= K ⋅e<br />

p x<br />

= 0<br />

5


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Vodenje robota – regulacija pozicije<br />

6


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Senzor sil in navorov JR3 85M35A-I40<br />

Slika 3: Senzor sil in navorov nameščen na vrh robota Stäubli<br />

Veličina Razpon Resolucija<br />

Sila X, Y (Fx, Fy) 200 N 0.05 N<br />

Sila Z (Fz) 400 N 0.1 N<br />

Navor X, Y, Z (Mx, My, Mz) 12 Nm 0.003 Nm<br />

7


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Vodenje robota – regulacija sile (smer Z)<br />

1) Določimo napako (e F ) med referenčno (Fz r ) in dejansko silo (Fz):<br />

e<br />

F<br />

= Fzr<br />

− Fz<br />

2) Izračunamo napetost (u z ) potrebna za zmanjšanje napake (e F ) množena z<br />

ustreznim ojačenjem (K f ):<br />

u<br />

z<br />

= K<br />

f<br />

⋅e F<br />

8


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Vodenje robota – regulacija sile – ni kontakta z okoljem<br />

u z<br />

eF<br />

eF<br />

eF ... napaka sile (eF = 1 N)<br />

Fz r ... referenčna oz. željena sila<br />

(Fz r = 1 N)<br />

Fz ... trenutna merjena sila oz. sila<br />

kontakta (Fz = 0 N)<br />

u<br />

z<br />

=<br />

=<br />

K<br />

Fz<br />

f<br />

r<br />

−<br />

⋅eF<br />

Fz<br />

eF ... napaka sile<br />

K f ... ojačanje napake in preračun v<br />

napetost<br />

u z ... napetost na motorju<br />

eF > 0 → u z > 0 ⇒ motor se začne vrteti navzgor<br />

9


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Vodenje robota – regulacija sile – pride do kontakta z okoljem<br />

eF<br />

eF = Fzr − Fz<br />

eF ... napaka sile (eF = 0.9999 N)<br />

Fz r ... referenčna oz. željena sila<br />

(Fz r = 1 N)<br />

Fz ... trenutna merjena sila oz. sila<br />

kontakta (Fz = 0 N)<br />

u z<br />

u<br />

= K<br />

⋅eF<br />

z f<br />

eF ... napaka sile<br />

K f ... ojačanje napake in preračun<br />

v napetost<br />

u z ... napetost na motorju<br />

eF > 0 → u z > 0 ⇒ pride do kontakta z okoljem – motor se<br />

vrti še vedno navzgor<br />

10


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Vodenje robota – regulacija sile – pritisk v okolje<br />

eF<br />

eF Fz − r<br />

Fz<br />

eF ... napaka sile (eF = 0.5 N)<br />

Fz r ... referenčna oz. željena sila (Fz r =<br />

1 N)<br />

Fz ... trenutna merjena sila oz. sila<br />

kontakta (Fz = 0.5 N)<br />

=<br />

eF<br />

u z<br />

=<br />

K f<br />

⋅<br />

eF ... napaka sile<br />

K f ... ojačanje napake in preračun v<br />

napetost<br />

u z ... napetost na motorju<br />

u z<br />

eF > 0 → u z > 0 ⇒ pritisk v okolje – motor se<br />

vrti še vedno<br />

11


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Vodenje robota – regulacija sile – izenačenje sil<br />

eF<br />

eF Fz − r<br />

Fz<br />

eF ... napaka sile (eF = 0 N)<br />

Fz r ... referenčna oz. željena sila (Fz r<br />

= 1 N)<br />

Fz ... trenutna merjena sila oz. sila<br />

kontakta (Fz = 1 N)<br />

= eF<br />

u z<br />

u<br />

z<br />

=<br />

K<br />

eF ... napaka sile<br />

K f ... ojačanje napake in preračun v<br />

napetost<br />

u z ... napetost na motorju<br />

eF = 0 → u z = 0 ⇒ sila kontakta je enaka<br />

referenčni sili, zato se motor ustavi<br />

f<br />

⋅<br />

12


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Vodenje robota – regulacija sile – izenačenje sil<br />

13


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Navodila za izvedbo vaje<br />

1) Uporabniški vmesnik na levem zaslonu bi moral izgledati podobno kot na sliki 4, na desnem zaslonu pa je prikazana<br />

vizualizacija in okno MATLAB-a (slika 5).<br />

Okno programa<br />

AdeptWindows PC<br />

Grafični uporabniški<br />

vmesnik StaubliGUI<br />

Zaganjanje in<br />

ustavljanje krmilnika<br />

Izbira načina<br />

vodenja<br />

Statusno okno<br />

Slika 4: Okna na levem namizju: AdeptWindows PC in StaubliGUI<br />

14


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Slika 5: Okna na desnem namizju: vizualizacija in MATLB okno<br />

15


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

2) V MATLAB-u se premaknete v vaš delovni direktorij z ukazom cd e:\vaje\rips\staublixpc, ki ga zapišete v ukazno<br />

vrstico MATLAB-a.<br />

3) Z ukazom uiopen('staubli_rips_fc.mdl',1) odprete vašo shemo, ki je prikazana na sliki 6. Z dvojnim klikom na rdeč blok<br />

rtForceControl se vam odpre urejevalnik programske kode Embedded MATLAB Editor.<br />

Slika 6: Shema načina vodenja Force control.<br />

16


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

4) S tem ste odprli pripravljeno predlogo za pisanje programa (Slika 7). Urejevalnik Embedded MATLAB Editor boste<br />

uporabljali samo za pisanje programa in ne za prevajanje ter njegovo poganjanje.<br />

Slika 7: Odprta predloga v programskem urejevalniku Embedded MATLAB Editor<br />

17


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

5) Vaša naloga je, da napišete tri neodvisne programe:<br />

a) Program za regulacijo položaja vrha robota. Vrh robota naj kroži po krožnici z radijem 0.05 m (enote so metri) v<br />

ravnini YZ (X = X0), s frekvenco 1 Hz.<br />

Enačbe kroženja v sferičnih (krogelnih) koordinatah:<br />

x<br />

y<br />

ω =<br />

2⋅π<br />

⋅ν<br />

b) Program za regulacijo sile v vseh treh smereh (X,Y,Z) globalnega koordinatnega sistema, kjer človek z roko<br />

vodi robot po prostoru. V tem primeru je potrebno upoštevati I. Newtonov zakon, saj mora biti v tem primeru<br />

referenčna sila enaka 0.<br />

c) Program za regulacijo sile v smeri X globalnega koordinatnega sistema in regulacijo položaja v ravnini YZ. Tu<br />

naj robot s silo kontakta 1 N v smeri osi X riše krog po tabli.<br />

6) Ko končate z urejanjem vašo shemo prevedete z ukazom slbuild('staubli_rips') .<br />

=<br />

=<br />

r ⋅cos(<br />

ω ⋅t)<br />

r ⋅sin(<br />

ω ⋅t)<br />

18


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

7) Uporabniški vmesnik StaubliGUI zaženete z ukazom initall. Na sliki 8 je prikazan uporabniški vmesnik StaubliGUI je<br />

prikazan na sliki 7. Napisane programe lahko testiramo na dva načina:<br />

• s simulacijo robota Staubli,<br />

• z robotom Staubli.<br />

Slika 8: Grafični uporabniški vmesnik StaubliGUI<br />

19


<strong>Robot</strong> Stäubli <strong>RX90</strong><br />

Simulacija robota Staubli. Če želite poganjati simulacijo robota Staubli odprite z ukazom uiopen('Staubli_rt_vis',1)<br />

vizualizacijo robota Staubli. V uporabniškem vmesniku v polju Main Control pustite obkljukano možnost Simulation.<br />

Najprej zaženete krmilnik z klikom na gumb Start Staubli, ki se nahaja v polju Main Control. V polju User Control<br />

izberete možnost Force Control. S klikom Start Control zaženete vaše vodenje, z gumbom Hold <strong>Robot</strong> pa vodenje<br />

ustavite.<br />

Poganjanje na robotu Staubli. Vizualizacije vam ni potrebno zaganjati. V uporabniškem vmesniku v polju Main<br />

Control izključite možnost Simulation. Zaženete krmilnik z klikom na gumb Start Staubli, ki se nahaja v polju Main<br />

Control. V oknu programa AdeptWindows PC pritisniti tipko e in pritisniti zelen utripajoč gumb na<br />

kontrolni plošči robota (prikazana je na sliki 2). V polju User Control izberete možnost Force Control. S klikom<br />

Start Control zaženete vaše vodenje, z gumbom Hold <strong>Robot</strong> pa vodenje ustavite.<br />

Nadzorna plošča robota Stäubli<br />

Tipka, ki gori zeleno, ko je robot<br />

pripravljen za gibanje.<br />

Ko tipka utripa zeleno, jo je<br />

potrebno pritisniti.<br />

Tipka zasilnega<br />

ustavljanja robota<br />

Slika 2: Nadzorna plošča robota Stäubli<br />

20

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!