robotikai alapok i

92
Robotikai Alapok I. Ami a robotprogramozás c. mérés elvégzéséhez szükséges… •Prohászka Zoltán, [email protected]

Upload: andren

Post on 11-Jan-2016

53 views

Category:

Documents


8 download

DESCRIPTION

Robotikai Alapok I. Ami a robotprogramozás c. mérés elvégzéséhez szükséges…. Proh ászka Zoltán , prohaszka @iit.bme.hu. Tudnivalók. Kötelező jelenlét HF egyénenként, pap íron beugró kérdések: 2 képlet:Euler /D-H. Mit kell megtanulni?. Euler kéz, DH lépés mint mátrixok szorzata - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Robotikai Alapok  I

Robotikai Alapok I.

Ami a robotprogramozás c. mérés elvégzéséhez szükséges…

•Prohászka Zoltán, [email protected]

Page 2: Robotikai Alapok  I

Tudnivalók

• Kötelező jelenlét

• HF egyénenként, papíron

• beugró kérdések: 2 képlet:Euler/D-H

Page 3: Robotikai Alapok  I

Mit kell megtanulni?

• Euler kéz, DH lépés mint mátrixok szorzata

• Minden, ami a mérési útmutató kérdéseihez szükséges (.pdf, 59. oldal)

• ARPS (azok az utasítások, amik a példaprogramban szerepelnek, és még más, lásd II. rész, utolsó dia)

• Kézivezérlő 2*6 mozgatógombja, joint és world üzemmód

Page 4: Robotikai Alapok  I

Mit kell a mérésre hozni?

• EGYÉNI házi feladatot, PAPÍRON

• Mindenki ugyan azt a feladatot kapja (.pdf vége: mérési útmutató), de értelemszerűen kicsit másképp oldja meg.

Page 5: Robotikai Alapok  I

Használati útmutató• A mérésen jó, ha értik ami itt le van írva, de ez

nem egy 100% megtanulandó anyag. • Megtanulandók: külön specifikálva• A mérésre készülők fussák át az anyagot,

ezután nézzék át a megtanulandókat, és azt, amit a megtanulandók megértéséhez szükségesnek éreznek.

• Az anyag részletes, hogy az érdeklődők tudjanak miből meríteni, ha alkalmazni akarják az anyagot. – Szürke színnel szedett: CSAK Érdeklődőknek!

• Akinek képességei megengedik, vezesse le, és használja az anyagot ellenőrzésre…

Page 6: Robotikai Alapok  I

A manipulátor

• Az ipari robot egy irányított mechanizmus, melynek legfőbb tulajdonsága, hogy a rá szerelt végberendezést képes térben és időben előírt módon pozicionálni, s ennek segítségével feladatot megoldani

• TCP, szerszámközéppont• Léteznek teljesen más robotok CNC, zárt láncú, mobilis, flexibilis,

kígyók, stb.

Page 7: Robotikai Alapok  I

DoF:Degrees of Freedom

• Szabadságfok (egyenletrendszerek, ismeretlenek, kényszerek): Megoldások sokaságának dimenziói: Hány skalárral járható be a halmaz?

• Térbeli forgatás 3 DoF, geom. biz. • 2-D DoF: 2 T+1 R • 3-D DoF: 3 T+3 R=6, pl. gázmolekulák

• m>6: Redundáns Robot (pl. emberi kar:9), marad m-6 szabadság: optimális energia, manőverábilitás, információközlés, testbeszéd

Page 8: Robotikai Alapok  I

Csuklóképlet

• TTT: xyz CNC maró

• TTTR: alkatrész beültető

• RRTR: scara, alkatrész beült.

• TTTRRR: komoly CNC

• RRRRRR: Ipari robot

• Általában az első 3 csukló felelős a pozícionálásért, többi forgat (DEKOMPOZÍCIÓ)

Page 9: Robotikai Alapok  I

Nokia Puma 560 arm

Page 10: Robotikai Alapok  I

Robotvezérlők

• A manipulátor mozgatásához valamilyen vezérlő szükséges (Teljesítményelektronika, szabályzás, alapjel előállítás, ember-gép kapcsolat)

• Az előadás célja, hogy a hallgatók tisztában legyenek a manipulátorban és a vezérlőben zajló folyamatokról

Page 11: Robotikai Alapok  I

Page 12: Robotikai Alapok  I
Page 13: Robotikai Alapok  I

Térbeli helyzet leírása

• 2D-ben könnyebb illusztrálni, mert könnyebben lehet lerajzolni, elképzelni.

• 2D-ben érdemes a geometria-algebrai kapcsolatokat megérteni

• 3D algebrai kiterjesztés egyszerűen következik a 2D algebrából,

• 3D geometria elképzeléséhez térlátás és/vagy sok gyakorlás szükséges, – DE ELENGEDHETETLEN, ha valaki ilyen

problémákat akar mérnöki módon kezelni

Page 14: Robotikai Alapok  I

• Egy síkbeli test minden pontja megadható három kitüntetet pontjának LINEÁRIS kombinációjaként– Nevezzük az elsőt a test origójának (O)– Vegyük fel a másik kettőt (B,C) az origótól 90

fokban, ha lehet, azonos távolságban– Minden Pi pont megadható xi, yi koordinátákkal:

Pi=xi*(B-O)+yi*(C-O)+O

• Legyen ez a test egy F betű (5 pont)

• Ha mozgatjuk O,B,C-t, akkor minden így megadott pi is mozogni fog

Page 15: Robotikai Alapok  I

• Pi=xi*(B-O)+yi*(C-O)+O• Használjunk MÁTRIX-ot, mert az algebrában az fejezi

ki két koordinátavektor általános lineáris kapcsolatát• A=[(B-O) (C-O)], t=O, • Pi =A*[xi;yi]+t=[A t]*[xi;yi;1]

– (ez egy vektorok lineáris kombinációját kifejező egyenlet)

• Elnevezés:A-tartalmazza a bázis-oszlopvektorokat. (ekkor [A t] abszolút helyzetet kódol, és félig algebrai, félig geometriai mennyiség)

• Ha F–et ki akarjuk rajzolni pl. a képernyőre, akkor annak a koordinátarendszerét kell használni

• (ekkor [A t]-be a B,C,O vektorok képernyőkoordinátarendszer szerinti koordinátás reprezentációját kell tenni. Ez már egy mátrix)

• Az O,B,C vektorok koordinátáit tartalmazó [A t] egy mátrix, ez használható koordinátarendszerek relatív helyzeteinek a számszerű kódolására

Page 16: Robotikai Alapok  I

• Koordináta rendszerek (Robotikában: KERETek) – 1 pontból és N vektorból áll. Krumpli, N nyílvesszővel.

(N: dimenziók) – Megfelelő algebrai és geometriai objektumok

kapcsolatának megadása KERETekkel lehetséges» (a Keretek emiatt félig geometriai, félig algebrai objektumok)

– Egy keretnek, mint geometriai objektumnak algebrai leírásához (pl. számítógép) szükség van egy másik keretre.

• Azaz csak 2 keret helyzetét számszerűsíthetjük, 1 keretét nem.

– Két origó középpontú keret viszonya (relatív orientációjuk) NxN-es mátrix: Hogyan fejezhető ki az egyik vektorai a másik vektorainak lin. Kombinációival

– Lineáris terek tárgyalásakor (Matematika, Lineáris Algebra) a keretek eltolása nem megengedett, a nyilak mindig az origóból indulnak.

– Két általános helyzetű keret viszonya: Homogén (N+1)x(N+1)-es mátrix

Page 17: Robotikai Alapok  I

Jelölési szokások

• Általában oszlopvektorokat használunk– Sorvektorok jelölése: vT: transzponált oszlopvektor– Kivéve Sz.gépes Grafika, itt minden transzponált

• Mátrixszorzások sorrendje fordított

• Kereteket 1 indexszel jelöljük:KA

• Több (legalább 2) kerettel dolgozunk• Geometriai vektorok algebrai koordinátavektorainak

indexe azt jelenti, melyik keretben írtuk fel: pA : p vektor az A keretben mérve

• Transzformációkat két indexel látjuk el: Melyik kerethez képest melyik keret helyzetét jelöli. TAB :KB helyzete KA-hoz képest

Page 18: Robotikai Alapok  I

Jelölési szokások II• A jelölés választása praktikus:

– vektor átszámítása másik keretbe: pB = TAB * pA

– Transzformációk halmozása: TAC = TAB * TBC

– Keretek szerepének felcserélése: TBA =(TAB)-1

– Könnyű észrevenni, ha egy képletben elírtuk az indexeket– sorvektoros jelölés esetében pont fordítva praktikus a transzformációk indexelése

• Pár inkonzisztencia: – Régi és új fogalma nem mindig egzakt– Forgatási mátrixokat állapotmátrixként értelmezzük, általában elhagyjuk

az indexeket– Keretek geometriai vektorai pont másképpen transzformálódnak (jobbról

szorzódnak) geometriailag, mint a koordinátavektorok, [xB,yB,zB]*TBA =[xA,yA,zA], de ezzel nem lesz dolgunk

• SW fejlesztéskor precízen kell a választott jelölést dokumentálni, adminisztrálni– Fejlesztésbe bekapcsolódáskor, hibakereséskor ezt érdemes átnézni,

ellenőrizni (először)

Page 19: Robotikai Alapok  I
Page 20: Robotikai Alapok  I

Homogén koordináták

• Abszolút, azaz pozícióvektorok N koordinátájához hozzáírunk 1-et

• Relatív, azaz irányvektorok N koordinátájához 0-t írunk.

• Transzformációs mátrixok alá N db 0-t és egy 1-est, mivel ezek első N oszlopa relatív vektorokat jelent, utolsó oszlopa pedig eltolást, ami egy pozícióvektor.

Page 21: Robotikai Alapok  I

Homogén koordináták II• Homogén koordinátás vektorok és Transzformációs mátrixok:

– Inhomogének, az elemeik jelentésének fizikai dimenziója szerint– A velük végzendő műveletek lesznek homogének. – Az elnevezés a lineáris, ill. differenciál egyenletek csoportosításából

ered• Ez Debug Assertion-re is használható, pl.

– Sebesség, gyorsulás: relatív– Két abszolút vektornak csak súlyozott átlagolás céljából adhatunk össze

• Homogén transzformációk kombinálása, invertálása sem vezet ki ebből a speciális alakból: – Alul marad mindig a 0 0 0 1, ill. 0 0 1 (2D) (grafikában jobb oldalt)

• Relatív vektorok transzformációjakor a keretek eltolását figyelmen kívül kell hagyni. – Pont ezt eredményezi, hogy a relatív vektor alá 0-t írtunk.

• Továbbtanulóknak: Projektív viszonyok esetében (pl. gépi térlátás) más az N+1. sor jelentése, nem csak 0 vagy 1 lehet.

Page 22: Robotikai Alapok  I
Page 23: Robotikai Alapok  I

A problémaMATLAB szkript mellékelve

• K0:Mássz ki a csónakból és állj a mólóra, arccal a part felé.

• T01:Menj előre 100 lépést és fordulj balra

• T12:Menj 60 lépést, és fordulj jobbra

• T23:Lopózz előre 200 lépést, és látni fogod az ellenséget jobbra, kb. 300 lépés távolságra tőled (E3). Találsz egy kulcsot elásva.

• T34: Fordulj meg, menj (vissza) 100 lépést, balra fordulva (T45) találsz egy titkos ajtót, amit a kulccsal kinyithatsz,

• Bejutsz, az ellenséget NEM LÁTOD a szikláktól, állitsd be a löveget a célra (E5), és TŰZ!

Page 24: Robotikai Alapok  I
Page 25: Robotikai Alapok  I

%K0:Mássz ki a csónakból és állj a mólóra, arccal a part felé. %T01:Menj elore 100 lépést és fordulj balra%T12:Menj 60 lépést, és fordulj jobbra%T23:Lopózz elore 200 lépést, és látni fogod az ellenséget %jobbra, kb. 300 lépés távolságra %toled (E3). Találsz egy kulcsot elásva. %T34: Fordulj meg, menj (vissza) 100 lépést, balra fordulva (T45) találsz egy titkos ajtót, amit a kulccsal kinyithatsz, %Bejutsz, az ellenséget NEM LÁTOD a szikláktól, állitsd be a löveget a célra (E5), és TUZ!

%Választás: A kommandós Y irányba halad (12 orának), %jobbra +X (3 orara), balra -X irányban (9 orara) lát.

T_jobb=[0 1 0;-1 0 0;0 0 1];T_bal=T_jobb^-1;

T_0_akt=eye(3);T_01=[1 0 0; 0 1 100; 0 0 1]*T_bal;T_0_akt=T_0_akt*T_01

T_12=[1 0 0; 0 1 60; 0 0 1]*T_jobb;T_0_akt=T_0_akt*T_12

T_23=[1 0 0; 0 1 200; 0 0 1];T_0_akt=T_0_akt*T_23

E_3=[300;0;1];

T_34=diag([-1,-1,1])*[1 0 0; 0 1 100; 0 0 1];%Itt elobb megfordul, aztan halad!!!T_0_akt=T_0_akt*T_34

T_45=T_bal;T_0_akt=T_0_akt*T_45

T_35=T_34*T_45;E_5=T_35^-1*E_3; E_5T_05=T_01*T_12*T_23*T_35;E_0=T_05*E_5; E_0

Érdeklődők futtassák MATLAB-ban!

Page 26: Robotikai Alapok  I

• ‘2’ probléma:– Egy tárgyhoz képesti relatív pozíció hol

található egy másik tárgyhoz képest?– Egy tárgyhoz képesti relatív mozgás hova

visz?

• Geometriai és algebrai objektumok kapcsolata– Pont, egyenes, kör reprezentációja, kavics– Helyzet: MINDIG RELATÍV!!!

• Rakd le úgy a székeket, hogy mindegyik úgy álljon a mellete levőhöz képest, mint ez a kettő!

Page 27: Robotikai Alapok  I

Térbeli helyzet leírása

Page 28: Robotikai Alapok  I

Keretek és Transzformációk Egy merev testhez rögzített

egységvektor-hármast hívunk keretnek (3D-ben)

Csak a keretek RELATÍV helyzete formalizálható, amit az egyik keretet a másikba vivő transzformációnak nevezünk.

iiT ,1

Page 29: Robotikai Alapok  I

Helyzetek 2 • Világos, hogy a merev testek elmozdulásait

halmozni lehet (eltolás, forgatás, megint eltolás)

(pl. LOGO programnyelv, teknősbéka)Egy A | p kombináció leírja a soron

következő (új) koordinátarendszer helyzetét az előző (régi) k.r. –ben

!!!!!DE!!!!!Segítségével egy pont régi k.r.-beli

helyzetét számíthatjuk ki, ha ismerjük hol van az új koordinátarendszerben.

Page 30: Robotikai Alapok  I

Pont koordinátái a megelőző keretben

Page 31: Robotikai Alapok  I

Homogén koordináták

Page 32: Robotikai Alapok  I

Homogén koordináták és mátrixok

-Transzformációk kombinálása N+1-es mátrixszorzással, egyszerűen:

101010121212211

21 TTT

ppAAApApATT

Page 33: Robotikai Alapok  I

Invertálás

Keretek szerepének megfordítása, (N+1)x(N+1)-es invertálással, vagy kihasználva, hogy csak ortonormált forgatási tagunk lesz. -Ez annak a következménye, hogy nem dolgozunk se nagyító (hasonlósági), se lapító vagy nyíró (affin) lineáris transzformációkkal. -Ilyen transzformációkra is használhatóak az eddigiek, kivéve ez a dia!

Page 34: Robotikai Alapok  I

Forgatás 2D és 3D Z tengely

100

0

0

100

0cossin

0sincos

bankifejezverotrotrot

CS

SC

kj,i,

kjiz,Rot

CS

SC

ji,

jiRot D cossin

sincos

benkifejezverotrot2

2D, inhomogén, [x;y]=Rot2D(phi)*[x’,y’]

3D Z, inhomogén:

-X,Y síkban ugyan az, mint 2D-ben

-Z koordináta nem változik: [x;y;z]=RotZ(phi)*[x’,y’,z’]

Page 35: Robotikai Alapok  I

Forgatás 3D, X és Y

CS

SC

kjiy,Rot

0

010

0

rotrotrot

CS

SCkjix,Rot

0

0

001

rotrotrot

S előjele C alatt pozitív, kivéve Y körüli forgatást. Könnyú eltéveszteni !!!-3 szájbarágós dia, érdeklődőknek: kockapakolás, bázistranszformáció, csempézés

Page 36: Robotikai Alapok  I
Page 37: Robotikai Alapok  I
Page 38: Robotikai Alapok  I
Page 39: Robotikai Alapok  I

Helyzetek tömören

• 2D vs 3D• 1Test poziciója: kituntetett pontjának

(súlypont) koordinátái• Használjunk koordinátarendszereket a

helyzet (elfordulás) leírására is (linearitás)• Leírjuk: Origo koordinátái (abszolút vektor)• x, y, (z) egységvektorok (relatív vektorok)• Ez visszaolvasható oszloponként,

felrajzolható (pl. Debug visualizer)

Page 40: Robotikai Alapok  I

Helyzetek -Lényegi kérdések

• Miért hívjuk homogén koordinátáknak a hom. koord.-kat?

• Milyen geometriai művelet a mátrixszorzás?• Attól függ, van-e geometriai jelentése a szorzandó

mátrixoknak

• Milyen geometriai műveletnek felel meg az invertálás? dettó.

• Miért van szükség koordináta rendszer használatára a robotikában? – Miért kell több koordináta rendszer?

• Miért használunk mátrixokat a robotikában?

Page 41: Robotikai Alapok  I

A Kinematikai lánc

A piros nyíllal jelölt mozgás van előírva a feladat szerint,

A robot a kék nyíllal jelölt transzformációttudja változtatni a motorok által.

Page 42: Robotikai Alapok  I

A Puma 560 Euler

kézcsuklója

Page 43: Robotikai Alapok  I

Az Euler-kéz képletei

CSSCS

SSCCSCSSCCCS

SCCSSCCSSCCC

CS

SC

CS

SC

CS

SC

zRotyRotzRotEulerA KK

100

0

0

0

010

0

100

0

0

),(),(),(),,(,

Page 44: Robotikai Alapok  I

Szinguláris állapotok

• Nem tud tetszőleges mozgás szerint elindulni

• Jacobi mátrix lapos

• Euler: szinguláris kinyújtva, 0,0,0-ban• Inverz euler: végtelen megoldás, nem kettő

• Ember keze: RPY, kinyújtva maximális manőverábilitás, szinguláris 0,+-90,0-ban

• Ember keze nem tud szingulárisba menni• Ló szingulárisban alszik, PUMA is. (READY)

Page 45: Robotikai Alapok  I

A D-H alak képletei

.

1000

0

1000

00

00

0001

1000

100

0010

001

1000

0100

00

00

1

iαα

iαα

iαα

αα

αα

i

i

iiiii,i

dCS

SaSCCCS

CaSSCSC

CS

SC

d

a

CS

SC

x,αRotx,aTransz,dTransz,RotT

ii

iiiiii

iiiiii

ii

iiii

ii

Page 46: Robotikai Alapok  I

A Puma-560 D-H alakja

Page 47: Robotikai Alapok  I

Direkt Geometriai feladat

6+2 mátrixszorzás

Page 48: Robotikai Alapok  I

Inverz Geometriai feladat

• Transzcendens egyenletek

• Jó tervezéssel a feladat dekompnálható, pl az utolsó 3 csukló egy pontban metszi egymást

Page 49: Robotikai Alapok  I

Dekompozíció

Page 50: Robotikai Alapok  I

Több megoldás

Első 3 csukló:

4 megoldás

Euler csukló:

2 megoldás

Az összesen 8!

A gépnek mozgás közben kell választania. Ez baj!

Page 51: Robotikai Alapok  I
Page 52: Robotikai Alapok  I
Page 53: Robotikai Alapok  I

Az előző dia ábrái:http://sirkan.iit.bme.hu/~prohaszka/plakat4.GIF

• A robot csuklóinak pozitív iránya• Tengely körüli forgatás• A bázisvektorok végpontjainak mozgása mindig merőleges a tengelyre• Az Euler kéz által bejárható tartomány nem bontható két részre egyértelműen

• Az első 3 csukló 4 megoldása egy pozíció megvalósítására, – a robot

– a robot geometriája, 2 szemszögből

• Egy problémás mozgatás, 2 megoldás választása is indokolható

• Teljesen kinyújtott kar• READY helyzet csak majdnem szinguláris• Nulla csuklóváltozó vektor D-H konvenció szerint

• Nem teljesíthető (szinguláris) mozgáskomponensek– J2, J3 szinguláris (sebességugrásos szingularitás)

– J3 szinguláris (sebességugrásos szingularitás)

– J5 szinguláris (pozícióugrásos szingularitás)

Page 54: Robotikai Alapok  I

Robotikai alapok II.

Bevezető előadások a robotprogramozás c. méréshez

Készítette: Prohászka Zoltán

Page 55: Robotikai Alapok  I

Tartalom

• !!! Jelenléti ív !!!

• Pályatervezés (skalár, P2P,CT,Joint,Descart)

• Robotvezérlő

• ARPS

• Példaprogram

Page 56: Robotikai Alapok  I

Pályatervezés

• Pontok közötti egyenes pálya, mert…

• Egy DoF robot P2P mozgása

• Gyorsítási idő választása, követelmények

• Szuperpozició, CT mozgás

• m-DoF mozgás csuklóváltozókban

• 6-Dof mozgás DesCart rendszerben

Page 57: Robotikai Alapok  I

Pontok közötti egyenes pálya, mert…

• Egyszerű megadni

• Egyszerű elképzelni, ütközést előre látni

• Műszaki környezetben minden szögletes

• Egy mozgás-szakaszt lényegében 2 pont definiál

• Töréspontos mozgás

• CAD-ből lehetne pályát importálni

Page 58: Robotikai Alapok  I

Egy DoF robot Point-to-point (P2P) mozgása

• Általánosítható bármilyen robotra• Legrövidebb út az egyenes B és C között• Minden pontban megáll• 1. tipp: p=B+(C-B)*(t/tC) (tB:=0)• Baj: sebességugrás !TÁBLA!• 2. tipp t>tau VAGY t<tC-tau 1.tipp• Különben v(t)=v0+a*t, de t e {-tau,tC+tau}• Baj: gyorsulásugrása van

Page 59: Robotikai Alapok  I

Miért baj a gyorsulásugrás?

• Miért baj a sebességugrás?• Mesterségesen hibát viszünk a

rendszerbe, (ha nem vesszük figyelmbe, hogy a motortekercsek árama nem ugorhat)

• 3 hurkos kaszkád szabályzás• Minden hurok tartalmaz szaturációs limitet • Ha az alapjel ezt sérti, hiba, pl. Integrator

AntiWindup+változatos anomáliák• A hiba jelentsen bajt (ütközés) !

Page 60: Robotikai Alapok  I

*Mit kell tenni a gyorsító és lassító szakaszokban?

• a(t=-tau)=0 és a(t=tau)=0• a(t) legyen polinom (integráljuk,

deriváljuk,ismerjük, kedveljük)• Átlagsebesség legyen v/2• 3. tipp: a(t) legyen parabola (ismerjük

régről) maximuma t=0-ban (elsőfokú tag 0)• Integráltja legyen v.• P(t) negyedfokú polinom lesz (harmadfokú

tag 0)

Page 61: Robotikai Alapok  I

*Gyorsítási idő választása, követelmények

• Ne legyen telítésben semmi se, Ukapocs se! (+-24 V)

• U=cEMF*ω+R*I+L*dI/dt• A 24 voltos keretből kell tartalékolni vmax

miatt (EMF), amax miatt, maradék használható az áram változtatására

• Ezeket a limiteket a tervezők döntik el. Ezekből számítható τmin. v(t)=[0...vmax], t=[-τ … +τ]

Page 62: Robotikai Alapok  I

*Szuperpozició, CT mozgás

• A-B mozgás lassító szakasza egybeeshet B-C mozgás gyorsító szakaszával

• τmin legyen olyan, hogy –vmax-ról gyorsíthat + vmax -ra.

• a(t) marad parabola, p(t) negyedfokú

• Mindkettőt számoljuk, eredményt szuperponáljuk

Page 63: Robotikai Alapok  I
Page 64: Robotikai Alapok  I

m-DoF mozgás csuklóváltozókban

• A,B,C-t m db csuklókoordinátával adjuk meg.

• Az egyes csuklók egyszerre érjék el a pontokat (tA,tB,tC közös, tau globális)

• Időzítés a csuklónkénti (sebesség)korlátok

figyelembevételével számítjuk (tau-t is)

• Rotációs csuklók esetén görbe pályán mozog, TTT esetben egyenes pályán

Page 65: Robotikai Alapok  I

*6-Dof mozgás DesCart rendszerben

• 3 DoF transzlációt mintha TTT robot lenne

• Orientációt minden (P2P) szakaszra külön

• kezdeti és végorientáció között mindig található forgástengely (Rodrigues)

• Úgy tervezzük a pályát, mintha egy ilyen tengely körül forgató csuklónk lenne.

• A-B lassításának és B-C gyorsításának szuperpozíciója 3*3-as mátrixszorzással

Page 66: Robotikai Alapok  I

6-Dof mozgás DesCart rendszerben

• TCP egyenesen mozog a töréspontok környezetén kívül.• A pályatervezés eredménye egy időtől függő mátrix, amit

a fenti algoritmus kiszámol. • Ebből csuklókoordinátákat kell számolni minden

mintavételi pontra• Inverz Geometriai feladat rendszeresen hívandó• A fizikailag elérhető megoldások száma a pálya mentén

változik• Nem jó, ha ‘inteligensen, OKOSan’ találgatja, melyik

megoldás lenne a legjobb. • Az a jó, ha BUTA, mint a gép, és probléma esetén

megáll (SZFÉRA: szűkszavú üzenettel)

Page 67: Robotikai Alapok  I

Robotvezérlő felépítése

• IO, kalibráció

• Processzorok

• Szabályzási funkciók

• Számítógép funkciók

• Kezelőfelület

• Kézivezérlő

• Balesetvédelem

Page 68: Robotikai Alapok  I

I/O

• Output: 6 motor PWM, féklazítás (lámpa), szelep nyit/csuk, szenzor táp

• Input: 6*(inkremens+analóg potméter) (tengelyek pozíciószenzorai)

• +Digitális I/O 0/24 V

Page 69: Robotikai Alapok  I

Csuklószenzor Kalibráció

• Digitális Inkremens adó: 2 fázisjel, 1 null jel (200-250 rés/fordulat, 4*es kiértékelés, kb. 1:60 áttétel– előny: pontos, digitális, gyors– hátárny: relatív

• Analóg ‘Helipot’: 60 jól elkülöníthető mérés– előny: abszolút– hátrány: zajos, AD kell, lassú

• Kalibráció: Előnyök egyesítése– Ellenpélda: hátrányok egyesítése: robogó, oldalkocsi

• CAL utasítás nélkül csak relatív csuklómozgás M J, és kézivezérlő JOINT mód– Vajon miért?

Page 70: Robotikai Alapok  I

Processzorok

Page 71: Robotikai Alapok  I

Szabályozás

• Háromhurkos kaszkád,

• PWM Feszültséggel áramot (=nyomaték)

• Nyomatékkal sebességet

• Sebességgel pozíciót

• Digitális pozíciómérés, számított sebesség

• Túláramfigyelés, hiba figyelése

• 1 ms ciklusidő

Page 72: Robotikai Alapok  I

Számítógép

• 1+6 CPU, 16 bit, fix point

• Billentyűzet, monitor

• Interaktív command prompt

• Memória, Floppy műveletek (Programok, helyzetek (pontok) )

• Interpreteres parancs és programvégrehajtás

• Alapjelgenerállás=Pályatervezés

Page 73: Robotikai Alapok  I

Pályatervezés• Görbe ívű mozgások (S nélküli utasítások pl. GO, MOVE): pályatervezés

csuklókoordinátákban. – Egyszerű, gyors, 1 ms– 6 csuklóprocesszon szinkronban– Egyértelmű– GÖRBE

• Egyenes mozgatások (S-es utasítások, pl. GOS, MOVES) pályatervezés Descartes koordinátákban

– Inverz geometriai szubrutinok folyamatosan hívódnak– Inverz szögfüggvények, főprocesszoron– lassú, 50...100 ms,

• ezen idő közben csuklóinterpoláció a 6 csuklóprocesszoron– Több megoldás létezik, megoldások száma is változik!!! BAJ!!!

• Konfiguráció-váltás: – Nem I alakú mozgás, hanem T vagy alakú (pozícióugrásos) – Mi a jobb? Pozícióugrás vagy sebességugrás?

• Mi a kevésbé rossz?• Milyen algoritmust kell akkor írni? Milyen ARPS programot kell írni?

Page 74: Robotikai Alapok  I

Pályatervezés II• Vezérlő SW:

– Ne váltson konfigurációt, ha nincs megoldás megfelelő csuklótávolságban, akkor álljon meg

– HIBAÜZENET: A közel levő megoldás mért nem folytatható? JOINT 5 OUT OF RANGE

– Mikor hívódik INVGEO?:• Egyenes vonalú mozgáskor sokszor• Descartes helyzetbe való mozgáskor

• ARPS:– Mindent lassan kipróbálni

• sebességugrásos megállás• egész számú többszörös legyen a gyorsabb sebesség

– Pálya ritkább mintavételezése

– Akadály közelében kicsi mozgás: Descartes, ütközés-elkerülés– Nagy mozgás szabad térben: Csukló, konfigurációt válthat– Konfiguráció megjegyzése: Csuklóváltózós pont (pl. #A)

Page 75: Robotikai Alapok  I

Pályatervezés III

• GO #A– Gyakorlatilag mindig lefut

• Asztallal ütközhet

• GO A– Meghívódik A-ra INVGEO, a konfiguráció kapcsolók alapján

választ a csuklótartományokon belüli megoldások közül

• GOS #A– Nem engedélyezett

• GOS A– Folyamatosan hívódik INVGEO, de csak a robotkar aktuális

konfigurációjának megfelelő megoldást fogadja el, különben megáll

• Konfigurációváltás: Pl. Move Joint, vagy kézivezérlő.

Page 76: Robotikai Alapok  I

Kezelőfelület• Csak Alarm, csak indokolt esetben!

Page 77: Robotikai Alapok  I

Kézivezérlő

Page 78: Robotikai Alapok  I

Kézivezérlő

• Descartes mozgás csak kalibráltan• Off:vezérlés kézben, Comp: computeren• Open-Close (kompresszor)• Mozgatóüzemmódok: Joint, World, Tool• Speed, Descartes, Jacobian (6*6)• Message• FREE-t használni TILOS!• Step: Nem használjuk

Page 79: Robotikai Alapok  I

Balesetvédelem

• Vészgombokat NYOMNI kell• A robotnak sok olyan komponense van, ami

meghibásodás esetén durva balesetet okozhat!• A robot hatósugara egy kb. 2m átmérőjű gömb. • A robot hatósugarán belülre csak a

legszükségesebb ideig nyúlunk, fokozott figyelemmel (mérésvezető)

• Néha lekapcsol magától…• CAL,

– 1 programhiba: TOOL átállítása, TOO FAR

Page 80: Robotikai Alapok  I

ARPS

• Command prompt

• Editor

• Pontok kezelése

• Mozgások kezelése

• Végrehajtás, változók

Page 81: Robotikai Alapok  I

Command prompt• CAL• Programutasítások ponttal: .GO READY,

.M J 2,60 .MOVES 0,0,-100• Dimenziók: mm, és fok

• Miért? Mi a hiba?

• LIST STATUS (L S)• Helyzetek tárolása, törlése, listázása,

módosítása, másolása• Programok adminisztrációja• Floppy, memóriakezelés

Page 82: Robotikai Alapok  I

Editor

• PDIR, PLIST, EDIT

• Előbb papíron meg kell írni

• Begépeljük (nincs javítás)

• Kilépés: E+enter

• Javítás: I(nsert) D(elete) R(eplace), RA

E(xit)

Page 83: Robotikai Alapok  I

Helyzetek kezelése

• Adatstruktúra: 6 Dof helyzet vagy 6-D csuklóvektor (konfiguráció benne van)

• Létrehozás: betanítással: HERE A, H #B • Listázás, törlés LLIST, LDEL• Módosítás, másolás SHIFT , LOCATE• Kombinálás A(B) = pose(rel)

• HERE A(B) is megy, egyedül itt lehet kimeneti arg.• Referencia és relatív helyzetek• Mátrixszorzás• SHIFT B=100,50,0

• FRAME F=O,X,XY, BASE x,y,z,z_rot• BASE, TOOL átdefiniálásának mire van hatása?

– #A, A, mindegyik, egyik sem?

Page 84: Robotikai Alapok  I

Mozgások

• Relatív: MOVE JOINT, MOVES

• Helyben: ALIGN

• Abszolút GO,GOS,GONEAR,GOSNEAR

• SPEED

• OPEN CLOSE

Page 85: Robotikai Alapok  I

Végrehajtás

• RUN prg

• (STOP) HALT (EXIT)

• 20 GO A (cimke)

• JUMP 20

• IF C<=3 THEN JUMP 20

• CALL prg

• RETURN

• C ********comment*************

Page 86: Robotikai Alapok  I

Változók: Integer és helyzet

• Nincs deklaráció (mint az interpretereknél)• SET J=I <> LOCATE B2=B0• SET I=I+1 <> SHIFT B2=0,0,10• Változók globálisak• Pontokra nem használható a SET,

helyette LOCATE vagy SHIFT• Helyzetekkel kapcsolatos utasítások szám

argumentuma csak konstans lehet, változó vagy kifejezés nem.

Page 87: Robotikai Alapok  I

Példaprogram

• Példa elrendezése

• Digitális I/O

• Algoritmus

• program

Page 88: Robotikai Alapok  I

Példa elrendezése

Page 89: Robotikai Alapok  I

Digitális I/O kezelése

• Mérés alatt nem használjuk– A példaprogram illusztráció céljából használja

• Meghajtás: OUT (+)addr(0..31) 24 VOUT -addr(0..31) 0 V• Várakozás: WAIT IN (+)addr(0..31) 24 V WAIT IN -addr(0..31) 0 V

Page 90: Robotikai Alapok  I

Főprogram

Page 91: Robotikai Alapok  I

Szubrutin

Page 92: Robotikai Alapok  I

Megtanulandó ARPS utasítások

• Minden, ami szerepel a példaprogramban

• HERE, BASE, TOOL,

• MOVE(S), TMOVE(S), MOVE JOINT

• FRAME F=O,X,XY: relatív keret készítése 3 descartes-helyzet TCP-je szerint

• HERE F(A_F), LOCATE A=F(A_F), GO F(A_F), SHIFT A_F=20,0,50