Vadas Norbert Robotkarok problémája

Hasonló dokumentumok
Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

Robotok direkt geometriája

,...,q 3N és 3N impulzuskoordinátával: p 1,

Robotika. Kinematika. Magyar Attila

Hely és elmozdulás - meghatározás távolságméréssel

v i = v i V. (1) m i m i (v i V) = i P = i m i V = m i v i i A V = P M

BUDAPESTI MŰ SZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM KÖZLEKEDÉSMÉRNÖKI ÉS JÁRMŰMÉRNÖKI KAR VASÚTI JÁRMŰVEK ÉS JÁRMŰRENDSZERANALÍZIS TANSZÉK

d(f(x), f(y)) q d(x, y), ahol 0 q < 1.

Support Vector Machines

Alapmőveletek koncentrált erıkkel

Összeállította: dr. Leitold Adrien egyetemi docens

IDA ELŐADÁS I. Bolgár Bence október 17.

Az entrópia statisztikus értelmezése

KOMBINATORIKA ELŐADÁS osztatlan matematika tanár hallgatók számára. Szita formula

Denavit-Hartenberg konvenció alkalmazása térbeli 3DoF nyílt kinematikai láncú hengerkoordinátás és gömbi koordinátás robotra

Elektrokémia 03. Cellareakció potenciálja, elektródreakció potenciálja, Nernst-egyenlet. Láng Győző

Méréselmélet: 5. előadás,

Keresztmetszet másodrendű nyomatékainak meghatározása

Mechanizmusok vegyes dinamikájának elemzése

A Hamilton-Jacobi-egyenlet

Infobionika ROBOTIKA. XI. Előadás. Robot manipulátorok III. Differenciális kinematika. Készült a HEFOP P /1.0 projekt keretében

Egy negyedrendű rekurzív sorozatcsaládról

Az elektromos kölcsönhatás

Q 1 D Q 2 (D x) 2 (1.1)

KOVÁCS BÉLA, MATEMATIKA I.

Kinematika szeptember Vonatkoztatási rendszerek, koordinátarendszerek

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Mechanika. Kinematika

Példák ekvivalencia relációra (TÉTELként kell tudni ezeket zárthelyin, vizsgán):

Egy sík és a koordinátasíkok metszésvonalainak meghatározása

1. Homogén lineáris egyenletrendszer megoldástere

Lineáris egyenletrendszerek

MateFIZIKA: Pörgés, forgás, csavarodás (Vektorok és axiálvektorok a fizikában)

A bifiláris felfüggesztésű rúd mozgásáról

2. E L Ő A D Á S D R. H U S I G É Z A

Analitikus térgeometria

Robotok inverz geometriája

Két körhenger általánosabban ( Alkalmazzuk a vektoralgebrát! ) 1. ábra

Tömegpontok mozgása egyenes mentén, hajítások

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Trigonometria

Az előadás kvaternió alapú dárumtranszformációs analitikus megoldást ismertet Bemutatja

Feladatok megoldásokkal a harmadik gyakorlathoz (érintési paraméterek, L Hospital szabály, elaszticitás) y = 1 + 2(x 1). y = 2x 1.

Szárítás során kialakuló hővezetés számítása Excel VBA makróval

Felügyelt önálló tanulás - Analízis III.

Mechanika és szilárdságtan (Mecanica şi rezistenţa materialelor) Egyetemi jegyzet. Dr. Szilágyi József

2. Koordináta-transzformációk

METROLÓGIA ÉS HIBASZÁMíTÁS

Számítógépes Grafika mintafeladatok

Egyenes és sík. Wettl Ferenc szeptember 29. Wettl Ferenc () Egyenes és sík szeptember / 15

3. Lineáris differenciálegyenletek

Hajder Levente 2017/2018. II. félév

Trigonometria Megoldások. 1) Igazolja, hogy ha egy háromszög szögeire érvényes az alábbi összefüggés: sin : sin = cos + : cos +, ( ) ( )

KÖRMOZGÁS, REZGŐMOZGÁS, FORGÓMOZGÁS

Statisztikai próbák. Ugyanazon problémára sokszor megvan mindkét eljárás.

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

DFTH november

Lássuk be, hogy nem lehet a három pontot úgy elhelyezni, hogy egy inerciarendszerben

Klár Gergely 2010/2011. tavaszi félév

4 2 lapultsági együttható =

17. előadás: Vektorok a térben

Fuzzy rendszerek. A fuzzy halmaz és a fuzzy logika

KOVÁCS BÉLA, MATEMATIKA II.

KOVÁCS BÉLA, MATEMATIKA I.

15. LINEÁRIS EGYENLETRENDSZEREK

Vektorgeometria (1) First Prev Next Last Go Back Full Screen Close Quit

Determinánsok. A determináns fogalma olyan algebrai segédeszköz, amellyel. szolgáltat az előbbi kérdésekre, bár ez nem mindig hatékony.

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria III.

EGY ABLAK - GEOMETRIAI PROBLÉMA

Kirchhoff 2. törvénye (huroktörvény) szerint az áramkörben levő elektromotoros erők. E i = U j (3.1)

Matematika A2 vizsga mgeoldása június 4.

Érdekes geometriai számítások Téma: A kardáncsukló kinematikai alapegyenletének levezetése gömbháromszögtani alapon

Oktatási Hivatal. 1 pont. A feltételek alapján felírhatók az. összevonás után az. 1 pont

A sokaság/minta eloszlásának jellemzése

Hódmezővásárhelyi Városi Matematikaverseny április 14. A osztályosok feladatainak javítókulcsa

Matematika III előadás

Vektorgeometria (2) First Prev Next Last Go Back Full Screen Close Quit

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

Az R forgató mátrix [ 1 ] - beli képleteinek levezetése: I. rész

10. Koordinátageometria

Általános esetben az atomok (vagy molekulák) nem függetlenek, közöttük erős

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

8. előadás. Kúpszeletek

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

Infobionika ROBOTIKA. IX. Előadás. Robot manipulátorok I. Alapfogalmak. Készült a HEFOP P /1.0 projekt keretében

Az M A vektor tehát a három vektori szorzat előjelhelyes összege:

Robotirányítási rendszer szimulációja SimMechanics környezetben

Numerikus módszerek 1.

8. Programozási tételek felsoroló típusokra

1. ábra. 24B-19 feladat

9. Írjuk fel annak a síknak az egyenletét, amely átmegy az M 0(1, 2, 3) ponton és. egyenessel;

Számítási feladatok a Számítógépi geometria órához

Műszaki folyamatok közgazdasági elemzése. Kevert stratégiák és evolúciós játékok

Lin.Alg.Zh.1 feladatok

Az impulzusnyomatékok általános elmélete

5. előadás. Skaláris szorzás

Matematika (mesterképzés)

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

Egyenletek, egyenletrendszerek, egyenlőtlenségek Megoldások

Egyenáramú szervomotor modellezése

1. A komplex számok ábrázolása

Átírás:

Eötvös Loránd Tudományegyetem Természettudomány Kar Vadas Norbert Robotkarok problémája matematka BSc szakdolgozat alkalmazott matematkus szakrány Témavezetõ: Szeghy Dávd Geometra Tanszék Budapest, 2013

Köszönetnylvánítás Ezúton szeretném megköszönn témavezetőmnek, Szeghy Dávdnak, hogy megsmertette velem ezt a remek témakört, hogy segített megoldan a felmerülő problémákat, valamnt hogy fgyelemmel kísérte és hasznos tanácsaval segítette a dolgozat megírását. Köszönettel tartozom még mnden gmnázum és egyetem tanáromnak, akk megszerettették velem a matematkát, és bevezettek ennek a csodálatos tudománynak a rejtelmebe. Végül, de nem utolsósorban köszönöm menyasszonyomnak, Halma Boglárkának a türelmét, a lelkesítését és mnden támogatását, amelyet az elmúlt dőszakban nyújtott, beleértve a nyelvtan és forma hbák javítását.

Tartalomjegyzék 1. Bevezetés 1 1.1. Felhasznált smeretek és jelölések.................... 2 2. A robotgeometra alapja 3 2.1. Példák robotkarokra........................... 4 2.1.1. Az antropomorf robotkar (RRR)................ 4 2.1.2. A gömb robotkar (RRP)..................... 5 2.1.3. A hengeres robotkar (RPP)................... 5 2.2. Drekt és nverz knematka....................... 6 2.2.1. A Denavt-Hartenberg konvencó................ 6 2.2.2. A drekt knematka feladat................... 8 2.2.3. Az nverz knematka feladat.................. 10 3. Sebességknematka 11 3.1. Ferdén szmmetrkus mátrxok és a szögsebesség............ 12 3.1.1. A ferdén szmmetrkus mátrxok................. 13 3.1.2. A forgatás mátrxok derválása................. 15 3.2. Az eredő lneárs és szögsebesség..................... 16 3.2.1. Szögsebességek összege...................... 17 3.2.2. Egy pont lneárs sebessége.................... 19 3.3. A Jacob-mátrx kszámítása....................... 20 3.3.1. A kéz szögsebessége........................ 21 3.3.2. A kéz lneárs sebessége...................... 22 3.3.3. A Jacob-mátrx egyesítése.................... 26 3.4. Az analtkus Jacob-mátrx....................... 27 3.5. Szngulartások meghatározása...................... 28 3.5.1. Szngulartások szétbontása................... 30 3.6. Az nverz sebességknematka feladat.................. 32 4. Összefoglalás 35

1. Bevezetés Mndenk hallott már robotokról, és mndenkben él egy elképzelés arról, hogy ez a szó mt s takar valójában. Egyesek ember knézetű, ntellgencával rendelkező mechankus lényeket neveznek így, mások egyszerű, automatzált eszközökre használják ezt a kfejezést. Akárhogyan s gondolunk rájuk, van bennük valam különleges, am magával ragadja az ember fantázáját. Nem csoda, hogy meganny könyv és flm született már ebben a témában. Ebben a dolgozatban par robotokról, más néven robotkarokról lesz szó. Ezek az eszközök szegmensek és ízületek láncolatából állnak, és típusuktól függően többékevésbé az ember karra hasonlítanak. Az tt említett fogalmakat a következő fejezetben fogjuk pontosan defnáln, valamnt majd néhány példát s láthatunk a legelterjedtebb robotkar-konfgurácókra. Az általános szemléletnek megfelelően ezek a robotok kválóan alkalmasak a monoton, smétlődő munkafolyamatokban az ember tevékenység kváltására. A tömeggyártásban elengedhetetlen a használatuk, mvel képesek nagy mennységű, közel azonos mnőségű áru gyors, önálló előállítására. Tovább előnyek még az alacsonyabb előállítás költségek és a nagyobb precztás. A robotkarok programozása azonban nem egy egyszerű feladat. Egy sor különféle, természetes módon felbukkanó problémára kell gyorsan kszámítható megoldást adnunk. A továbbakban néhány lyen feladatot fogunk alaposabban s megvzsgáln. A robotgeometrának vannak más alkalmazása s. Az elmúlt évek technológa fejlődése lehetővé tette, hogy egyre élethűbb számítógépes anmácókat készítsünk, akár flmekhez, akár vdeojátékokhoz. Ehhez az élethűséghez a puszta látvány azonban nem elég: az s fontos, hogy a karakterek mozgása természetes, ember legyen. Robotkarok használatával egyszerűen tudunk végtagokat matematkalag ábrázoln. Ezáltal az tt elért eredmények felhasználhatóvá válnak a dgtáls modellezésben s. Ennek megfelelően az előbb említett probléma megoldásában többek közt az nverz sebességknematka fog segítséget nyújtan nekünk. 1

1.1. Felhasznált smeretek és jelölések A továbbakban elsősorban geometra és lneárs algebra smeretekre lesz szükségünk, melyek megtalálhatóak a Hajós [2], lletve a Freud [1] könyvekben. Ezen eredményeket nem fogjuk részletezn, hanem már smertnek tekntjük őket. A dolgozat nagymértékben támaszkodk a Spong, Hutchnson, és Vdyasagar [3] könyv de vonatkozó fejezetere, mnd tartalmlag, mnd a felhasznált képek, lletve jelölések tekntetében. Ennek megfelelően a mátrxokat nagybetűvel, a vektorokat és skalármennységeket ksbetűvel jelöljük, a koordnáta-tengelyeket pedg gyakran azonosítjuk a hozzájuk tartozó bázsvektorokkal. Ezenfelül az ndexek használatát lletően a következőképpen járunk el. A felső ndex mndg a referenca koordnátarendszert jelöl, vagys azt a rendszert, amelyben a mennységet felírtuk. Az alsó ndex azt a rendszert jelöl, amelynek az adott mennységét kfejeztük a referencarendszer szernt. Tehát az R j forgatás mátrx a j rendszer elfordulását adja meg az rendszerhez képest, az o j vektor pedg a j rendszer orgóját adja meg az rendszer koordnátával. Az ω szögsebesség-vektorok esetében az alsó két ndex azt jelöl, hogy mely két rendszer között elfordulás szögsebességét írjuk le a referenca-rendszerben. Ezen kívül derválás alatt mndg a t dőparaméter szernt derválást értjük, és a változó fölé írt ponttal vagy d -vel jelöljük. Továbbá az egyszerűség kedvéért gyakran el fogunk hagyn bzonyos ndexeket és változókat mndaddg, amíg ebből dt nem zármazk félreértés. Legtöbbször ez a t dőparamétert és a bázsrendszerre vonatkozó 0 ndexet érnt. 2

2. A robotgeometra alapja Ahhoz, hogy robotkarokkal tudjunk dolgozn, szükségünk lesz egy matematka modellre, amely segítségével könnyen leírhatóvá és kezelhetővé válnak a felmerülő problémák. Ebben a fejezetben ezt a modellt fogjuk felépíten. Először s defnálnunk kell, m s az a robot. 2.0.1. Defnícó (A Robot Insttute of Amerca szernt). A robot egy újraprogramozható, többfunkcós manpulátor anyagok, eszközök, részegységek vagy specáls műszerek változókkal programozott mozdulatsor segítségével való mozgatására tervezve, különféle feladatok elvégzése érdekében. Ebben a defnícóban a kulcsfogalom az újraprogramozhatóság. A számítógépes vezérlés adja a robotok használhatóságát és alkalmazkodóképességét. Léteznek ugyans úgynevezett teleoperátorok, melyek folyamatos ember rányítást gényelnek. Ezeket nem soroljuk a robotok közé. Felépítését tekntve a manpulátor merev testek, szegmensek sorozata, amelyek ízületekkel vannak összekötve. Ezek egy knematka láncot alkotnak, amelynek végén valamlyen szerszám található, amelyet kéznek nevezünk. A robotkar munkatere azon térbel pontokból áll, amelyekbe a kéz eljuttatható. A knematka láncot nyíltnak nevezzük, ha a két végét csak egy szegmens-sorozat köt össze; ellenkező esetben zárt láncról beszélünk. Az ízületek típusuk szernt lehetnek forgatók (revolute, R) vagy eltolók (prsmatc, P). Ezeket elem, egy szabadságfokú ízületeknek hívjuk. Forgató Eltoló 2.1. ábra. Forgató és eltoló ízületek kettő és három dmenzóban 3

Alap Mvel bármely több szabadságfokú ízület előáll elem ízületekből, így nem jelent megkötést csak ezekkel foglalkozn. A nyílt láncú robotkarokat a ízületek típusának felsorolásával adjuk meg, a bázstól a kéz felé haladva, pl.: RRP. A forgató ízületek egy tengely körül forgatást, az eltoló ízületek egy tengely ment eltolást valósítanak meg. Ezt a tengelyt az adott ízület hatástengelyének nevezzük. Könnyen látható, hogy mnden ízület állapota megadható egyetlen paraméterrel: az elfordulás szögével vagy az eltolás mértékével. Ezeknek a q = (q 1,..., q n ) vektorát a manpulátor egy konfgurácójának nevezzük. A paraméterek, vagys az ízületek számát a robotkar szabadságfokának hívjuk. A paraméterekkel kapcsolatban kétféle probléma fogalmazható meg, a drekt és az nverz knematka probléma. Az előbbnél adottak az ízület paraméterek, és a cél a kéz helyzetének a meghatározása, az utóbbnál pedg a kéz helyzete smert, és keressük az azt megvalósító paramétereket. A következőkben ezekkel a problémákkal fogunk foglalkozn, de előbb még lássunk néhány példát a legelterjedtebb robotkarokra. 2.1. Példák robotkarokra Habár számtalan módon lehetséges forgató és eltoló ízületek segítségével különféle knematka láncokat létrehozn, a gyakorlatban ezek közül csak néhány specáls konfgurácó használata az elterjedt. Most ezek közül mutatunk be hármat. 2.1.1. Az antropomorf robotkar (RRR) Az antropomorf, más néven humanod robotkar három forgató ízületből áll. Ezek közül a másodk és a harmadk ízület hatástengelye párhuzamosak egymással, és merőlegesek az első ízület hatástengelyére. Nevét az ember karhoz hasonló felépítéséről kapta, ennek megfelelően az ízületek neve rendre test, váll lletve könyök. Váll Könyök Alkar Test Felülnézet 2.2. ábra. Az antropomorf robotkar felépítése és munkatere Ez az egyk leggyakrabban használt robotkar, mvel szerkezetéből adódóan kválóan alkalmas az ember munkavégzés kváltására. Munkatere gömb alakú, ezen belül vszonylag nagy mozgás szabadsággal rendelkezk. 4

2.1.2. A gömb robotkar (RRP) Az antropomorf manpulátor könyökét eltoló ízületre cserélve kapjuk a gömb robotkart. Az elnevezés abból ered, hogy ekkor a három ízület paraméter megegyezk a kéz egy olyan rendszer szernt gömb koordnátával, melynek orgója a hatástengelyek metszéspontjában van. 2.3. ábra. A gömb robotkar felépítése és munkatere 2.1.3. A hengeres robotkar (RPP) A hengeres robotkar első ízülete forgató, a másodk és a harmadk pedg eltoló. Ahogyan a neve s mutatja, az ízület paraméterek megegyeznek a kéz hengerkoordnátával, amennyben az orgót a manpulátor alapjának közepébe helyezzük. 2.4. ábra. A hengeres robotkar felépítése és munkatere 5

2.2. Drekt és nverz knematka A drekt knematka feladat megoldásához szükségünk lesz egy jól meghatározott koordnáta-rendszerre, amelyben meg tudjuk adn a kéz koordnátát az ízület paraméterek függvényében. Ezt úgy érjük el, hogy mnden egyes szegmenshez mereven rögzítünk egy-egy koordnáta-rendszert, azután pedg koordnáta-transzformácókat hajtunk végre. Az -edk szegmens koordnáta-rendszerét jelölje (o, x, y, z ). Ebben a koordnáta-rendszerben az - edk szegmens pontjanak a koordnátá állandóak. A nulladk rendszert bázsrendszernek hívjuk, az n-edket pedg a kéz koordnáta-rendszerének. 2.2.1. A Denavt-Hartenberg konvencó Olyan koordnáta-rendszereket keresünk, amelyek kelégítk az alább feltételeket: (a) A z tengely egybeesk az + 1-edk ízület hatástengelyével. (b) Az x tengely merőlegesen metsz a z 1 tengelyt. 2.5. ábra. A Denavt-Hartenberg konvencó 2.2.1. Állítás. Mndg lehetséges így megválasztan a koordnáta-rendszereket. Bzonyítás. A bázs koordnáta-rendszerben csak a z 0 tengely van egyértelműen meghatározva, az első ízület hatástengelyeként. Az o 0 orgó tetszőlegesen megválasztható ezen a tengelyen, lletve az x 0 tengely s tetszőleges, o 0 ponton átmenő, z 0 -ra merőleges egyenes lehet. Ezek rögzítése után az y 0 tengely már egyértelműen meghatározott lesz. Tegyük fel, hogy az első 1 koordnáta-rendszert már meghatároztuk a feltételeknek megfelelően. Ekkor (a) szernt a z tengely adott. Tudjuk továbbá, hogy az x 6

tengely merőlegesen metsz z -t, valamnt (b) alapján z 1 -t s. Ebből kapjuk, hogy x a z 1 és z egyenesek normál transzverzálsa, ha z 1 és z ktérő nem párhuzamos egyenesek, vagy a két egyenes metszéspontjában állított merőleges, ha z 1 és z metsző, de nem egybeeső egyenesek. Abban az esetben, amkor z 1 és z párhuzamosak vagy egybeesnek, az x tengely tetszőleges rájuk merőleges egyenes lehet. Ilyenkor célszerű azt választan, amellyel a legegyszerűbb számoln. Ha x -t és z -t már meghatároztuk, akkor o -t a tengelyek metszeteként, y -t pedg a jobb-rendszer harmadk tagjaként kapjuk. 2.6. ábra. A hengeres manpulátor koordnáta-rendszere Tudjuk, hogy mnden térbel koordnáta-rendszerek között rányítástartó transzformácó megadható hat adattal. Az eltolás leírható az eltolásvektor három koordnátájával, a forgatást pedg reprezentálhatjuk három Euler-szöggel vagy egy tsztán képzetes egységkvaternóval, amely szntén három adat. A pontos megadásra nem lesz szükségünk, ezért nem s részletezzük, de megtalálhatóak például a [3] jegyzetben. Most megmutatjuk, hogy a Denavt-Hartenberg konvencó használatával négy paraméter s elegendő. Ennek az az oka, hogy ebben az esetben specáls helyzetű koordnáta-rendszerek között hajtjuk végre a transzformácókat. Hozzunk létre egy új, köztes koordnáta-rendszert. Legyen o = x z 1, x = x és z = z 1. Ekkor már y s adott. Legyen továbbá d = o o 1 lletve a = o o az orgók távolsága, valamnt α = z z és θ = x 1 x a tengelyek által bezárt szögek. Mvel o o 1 = d z 1 és o o = a x, így a (d, a, θ, α ) paraméterekkel leírható az (o, x, y, z ) koordnáta-rendszer helyzete az (o 1, x 1, y 1, z 1 ) koordnáta-rendszerben. Tehát ebben a specáls helyzetben a két rendszer vszonyának megadásához a szokásos hat paraméter helyett négy s elegendő. Most belátjuk, hogy ebből a négy adatból mndg csak egy fog változn az ízület mozgása során. Ezt nevezzük az adott ízület paraméterének. 7

2.7. ábra. Ízület paraméterek és koordnáta-rendszerek 2.2.2. Állítás. Mnden ízületre a négy paraméter (d, a, θ, α ) közül három konstans, és csak θ vagy d változhat attól függően, hogy az -edk ízület forgató vagy eltoló. Bzonyítás. Vegyük észre, hogy az a és α paraméterek értéke nem változnak az ízület mozgásakor, mert azok csak a z és z 1 tengelyek helyzetétől, azaz csak a szegmens alak tulajdonságatól függenek. Forgató ízület esetében d s állandó marad, mert nem történk eltolás, és így nem változk a tengelyek távolsága. Ekkor vszont θ pont az -edk szegmens z 1 körül elfordulását adja meg, azaz a forgató ízületek paramétere θ lesz. Hasonlóan, amkor az -edk ízület eltoló, akkor θ lesz konstans, mert nem megy végbe forgatás, és így a tengelyek szöge állandó marad. Ebben az esetben d fog változn, mégpedg az -edk és az 1-edk ízület távolságának megfelelően, tehát az eltoló ízületek paramétere d. 2.2.2. A drekt knematka feladat Most vzsgáljuk meg, hogyan adható meg egy pont koordnátája egy másk ízület koordnáta-rendszerében. Ehhez használjuk a pontok négydmenzós homogén koordnátát, mvel így a lneárs transzformácók s könnyen kezelhetőek. Ekkor a drekt knematka feladat megoldásának számító transzformácót T 0 n = R0 n o 0 n (2.1) 0 1 alakban keressük, ahol Rn 0 R 3 3 a kéz rendszerének elfordulása a bázsrendszerhez képest, o 0 n R 3 pedg a bázs orgójából a kéz orgójába mutató vektor. 8

Tekntsünk egy (u, v, w, 1) T pontot az (o, x, y, z ) koordnáta-rendszerben. Ennek a pontnak az (o, x, y, z ) rendszer szernt koordnátát úgy kapjuk, hogy először eltoljuk az x = x tengely mentén a -vel, majd ugyanezen tengely mentén elforgatjuk α szöggel. Ezeknek a transzformácóknak a szorzata a T = 1 0 0 0 1 0 0 a 1 0 0 a 0 cos α sn α 0 0 1 0 0 0 cos α = sn α 0 0 sn α cos α 0 0 0 1 0 0 sn α cos α 0 0 0 0 1 0 0 0 1 0 0 0 1 (2.2) mátrx. A köztes koordnáta-rendszerből az (o 1, x 1, y 1, z 1 ) rendszerbe való áttéréshez végre kell még hajtanunk egy d -vel való eltolást és egy θ szögű forgatást a z = z 1 tengely mentén. Ezt a transzformácót a T 1 = cos θ sn θ 0 0 1 0 0 0 cos θ sn θ 0 0 sn θ cos θ 0 0 0 1 0 0 sn θ = cos θ 0 0 0 0 1 0 0 0 1 d 0 0 1 d 0 0 0 1 0 0 0 1 0 0 0 1 (2.3) mátrx adja meg. Ezek alapján az (o, x, y, z ) rendszerből az (o 1, x 1, y 1, z 1 ) rendszerbe való áttérés mátrxa T 1 = T 1 T = R 1 o 1 = 0 1 cos θ sn θ 0 0 1 0 0 a sn θ = cos θ 0 0 0 cos α sn α 0 = 0 0 1 d 0 sn α cos α 0 0 0 0 1 0 0 0 1 cos θ cos α sn θ sn θ sn α a cos θ sn θ = cos θ cos α cos θ sn α a sn θ 0 sn α cos α d 0 0 0 1 (2.4) alakú. Tehát az (u, v, w, 1) T pont koordnátát az (o 1, x 1, y 1, z 1 ) rendszerben az u 1 cos θ cos α sn θ sn θ sn α a cos θ u v 1 sn θ = cos θ cos α cos θ sn α a sn θ v w 1 0 sn α cos α d w 1 0 0 0 1 1 összefüggés adja meg. (2.5) 9

Legyenek a robot kezének koordnátá a hozzá tartozó (o n, x n, y n, z n ) rendszerben (u n, v n, w n, 1) T. Ekkor az előzőek alapján a drekt knematka feladat megoldása, azaz a kéz koordnátá az (o 0, x 0, y 0, z 0 ) rendszerben u 0 v 0 w 0 1 = T 0 1 T 1 2 T n 1 n u n v n w n 1 (2.6) ahol T1 0, T2 1,..., Tn n 1 az egyes ízületekhez tartozó, a fent alakban előálló áttérés mátrxok. A Tn 0 = T1 0 T2 1 Tn n 1 mátrxból a kéz rendszerének elfordulása s könnyen leolvasható a fent említettek alapján. 2.2.3. Az nverz knematka feladat A kéz adott helyzetét megvalósító ízület paraméterek általános képlettel való meghatározása sokkal nehezebb a drekt feladat megoldásánál, mvel azt egy nemlneárs kfejezés adja meg. Habár konkrét robotkarok esetében geometra okoskodással vszonylag könnyen kszámíthatóak ezek a paraméterek, általában több lehetséges megoldás s tartozk a kéz egy kívánt helyzetéhez, és gyakran nem egyértelmű, hogy melyket érdemes választan. Ez a probléma azonban sokkal elegánsabban megoldható a sebességknematka és az útkeresés segítségével, amely feladatokat egy robotkar programozásához egyébként s meg kell oldanunk. Ekkor ugyans nem csupán egy kívánt pozícót és orentácót szabunk meg a kéznek, hanem egy teljes útvonalat, és annak mnden pontjára adott lneárs és szögsebességeket s előírunk. Ezáltal egy egyértelmű megoldást kapunk a kéz tetszőleges helyzetbe történő elmozgatására. 10

3. Sebességknematka Az előzőekben azt vzsgáltuk, hogy mlyen kapcsolat van az ízület paraméterek és a robotkar pozícója között. Ennek segítségével megtudhatjuk, hogy adott paraméterek esetén hol van éppen a kar, vagy hogy az ízületek mlyen állásánál kerül a kar a kívánt pozícóba. Ez azonban önmagában még nem elég ahhoz, hogy egy robotot vezéreln tudjunk. Nem mndegy ugyans, hogy mlyen sebességgel kerül a robot a kívánt helyzetbe. Ha túl gyorsan mozog, kárt tehet a környezetében vagy akár saját magában s. Ha pedg túl lassan, akkor mnden mozgás szükségtelenül sok dőt vesz génybe. A pontos sebességekre akkor s szükségük van, amkor ember mozgásokat szeretnénk élethűen utánozn. Ilyenkor fontos, hogy a kar mozgása életszerű, folytonos sebességgel történjen. Ahogy a bevezetőben s szóba került, ez segít abban, hogy az anmált karakterek mozgása valósághű legyen. A korábbakhoz hasonlóan most s kétféle problémát különböztetünk meg: a drekt és az nverz sebességknematka feladatot. Az előbbnél adottak az ízületek sebessége, azaz a paraméterek derváltja, és keressük a kar eredő sebességét. Az utóbbnál adott sebességgel szeretnénk mozgatn a robotkart, és keressük az ezt megvalósító paraméter-derváltakat. A drekt knematka egyenletek meghatároznak egy leképezést az ízület paraméterek és a kar pozícója között. A sebességknematka problémák megoldásához szükségünk lesz ennek a derváltjára, azaz a Jacob-mátrxra. Ez az egyk legfontosabb mennység a robotgeometrában, sznte mnden területen felmerül: az útvonalkeresés és -követésben, a szngulárs pozícók meghatározásában, a mozgás dnamka egyenletenek levezetésében, lletve a robotkarra ható erő és nyomaték kszámításában. Melőtt rátérnénk ezekre a problémákra, és kszámítanánk a Jacob-mátrxot, tekntsük meg, hogyan jellemezhető egy test lneárs- lletve szögsebessége, valamnt hogyan tudjuk ezeket könnyedén kszámítan. Ehhez megsmerkedünk a ferdén szmmetrkus mátrxokkal, és megvzsgáljuk a forgatás mátrxokhoz és a szögsebességhez való vszonyukat. Ezek smeretében a Jacob-mátrx már könnyen meghatározható. 11

3.1. Ferdén szmmetrkus mátrxok és a szögsebesség Tekntsünk egy olyan esetet, amkor egy merev test egy rögzített tengely körül forog. Ekkor a test egyes pontja olyan körpályákon fognak mozogn, amelyek középpontja a tengelyre esnek. A mozgás során adott dő alatt mnden egyes pont ugyanakkora szöggel fordul el a pálya középpontja körül. A t dő alatt szögelfordulást jelölje θ(t). Legyen k egy forgástengellyel párhuzamos egységvektor. Ekkor a szögsebesség szabad vektora ω = θk (3.1) ahol θ az dő szernt derváltja θ-nak. Itt a szabad vektor azt jelent, hogy ω egy rányított szakasz, azaz csak a nagysága és az ránya adott, és így tetszőleges rendszer megfelelő helyvektorával reprezentálható. A képlet azt mutatja, hogy a szögsebesség egy olyan, a forgás tengelyébe eső vektor, melynek nagysága az elfordulás megváltozásával arányos, az ránya pedg a forgásrányból a jobbkéz-szabály alapján kapható. Tudjuk, hogy adott szögsebesség mellett a test egy pontjának lneárs sebessége v = ω r (3.2) ahol r az orgóból a pontba mutató vektor. 3.1. ábra. A szögsebesség és a lneárs sebesség Az előzőekhez hasonlóan a testek helyzetét most s a hozzájuk rendelt koordnátarendszer helyzetével fogjuk leírn. Mvel a test mnden pontjában ugyanakkora a szögsebesség, és a testhez mereven rögzített koordnáta-rendszer mnden ponthoz 12

képest fx, ezért a szögsebesség magának a koordnáta-rendszernek a jellemzője. A szögsebesség tovább vzsgálatához szükségünk lesz a ferdén szmmetrkus mátrxokra és azok tulajdonságara. Ezek segítségével egyszerűen k tudjuk számítan forgatás mátrxok derváltjat, valamnt meg tudjuk határozn a hozzájuk tartozó szögsebességet. Ezáltal egy könnyen használható, mnden dmenzóban általánosan alkalmazható modellhez jutunk. 3.1.1. A ferdén szmmetrkus mátrxok Ahhoz, hogy meghatározzuk a koordnáta-rendszerek egymáshoz vszonyított sebessége között transzformácókat, k kell tudnunk számítan egy forgatás mátrx derváltját. Ferdén szmmetrkus mátrxok használatával ezen számítások jelentősen leegyszerűsíthetőek. 3.1.1. Defnícó. Egy n n-es S mátrxot pontosan akkor nevezünk ferdén szmmetrkusnak, ha S T + S = 0 (3.3) ahol 0 a nullmátrxot jelöl. Az lyen mátrxok halmazát so(n)-nel jelöljük. Ez a jelölés onnan származk, hogy az SO(n) csoport Le-algebrája so(n), amelyet épp a ferdén szmmetrkus mátrxok alkotnak. A defnícóból következk, hogy mnden S so(n)-re s j ha j s j = 0 ha = j (3.4) Tehát mden 3 3-as ferdén szmmetrkus mátrxnak csak 3 független eleme van, és így a következő alakban írható fel 0 s 3 s 2 S = s 3 0 s 1 (3.5) s 2 s 1 0 Vegyünk egy a = (a x, a y, a z ) T vektort. Ekkor hozzárendelhető egy 0 a z a y S(a) = a z 0 a x a y a x 0 (3.6) mátrx, melyet az a által generált ferdén szmmetrkus mátrxnak nevezünk. 3.1.1. Példa. Jelölje a szokott módon, j és k a koordnáta-rendszer három bázsvektorát. Nézzük meg az ezek által generált ferdén szmmetrkus mátrxokat, mvel 13

ezeknek a későbbekben még hasznát fogjuk venn. Az előzőek szernt S(), S(j) és S(k) 0 0 0 0 0 1 0 1 0 S() = 0 0 1, S(j) = 0 0 0, S(k) = 1 0 0 (3.7) 0 1 0 1 0 0 0 0 0 alakúak. Most vzsgáljuk meg a ferdén szmmetrkus mátrxok néhány olyan tulajdonságát, amelyekre a továbbakban gyakran fogunk hvatkozn, és amelyekre szükségünk lesz például a Jacob-mátrx meghatározásánál s. 1. Az S operátor lneárs, azaz S(αa + βb) = αs(a) + βs(b) (3.8) bármely a, b R 3 vektorra és tetszőleges α, β R skalárra. 2. Mnden a, p R 3 vektorra S(a)p = a p (3.9) Ez az összefüggés a két oldal kszámításával egyszerűen ellenőrzhető. 3. Mnden R SO(3) forgatásra és a R 3 vektorra RS(a)R T = S(Ra) (3.10) Ezen állítás bzonyításához szükségünk van a forgatómátrxok egyk tulajdonságára, mely szernt mnden R SO(3) forgatásra és a, b R 3 vektorra R(a b) = Ra Rb (3.11) azaz a forgatás dsztrbutív a vektorszorzásra nézve. Ez az adott műveletek geometra jelentéséből következk. Tetszőleges b R 3 vektorra a (3.9) egyenletből RS(a)R T b = R(a R T b) (3.12) adódk. Erre a (3.11) összefüggést alkalmazva, és a szorzást elvégezve R(a R T b) = (Ra) (RR T b) = (Ra) b (3.13) jön k. Ekkor (3.9) smételt alkalmazásával (Ra) b = S(Ra)b (3.14) 14

kapható, azaz beláttuk, hogy RS(a)R T b = S(Ra)b (3.15) mnden b vektorra. 3.1.2. A forgatás mátrxok derválása Tegyük fel, hogy az R forgatás mátrx a θ változó függvénye, azaz R = R(θ) SO(3) mnden θ R-re. Ilyen például, amkor egy rögzített tengely körül forgatunk θ szöggel, de természetesen az alábbak ennél általánosabb esetben s érvényesek. Mvel R mnden θ paraméterre ortogonáls, ezért R(θ)R(θ) T = I (3.16) adódk. Mndkét oldalt θ szernt derválva, a szorzat-szabályt felhasználva, és fgyelembe véve, hogy a konstans mátrx derváltja 0, azt kapjuk, hogy dr dθ R(θ)T + R(θ) drt dθ = 0 (3.17) Vezessük be az első tagra az jelölést. Mvel S transzponáltja S := dr dθ R(θ)T (3.18) S T = ( ) T dr dθ R(θ)T = R(θ) drt dθ (3.19) Ezért a (3.17) egyenlet S + S T = 0 (3.20) alakra hozható, vagys az S mátrx defnícó alapján ferdén szmmetrkus. Ha a (3.18) egyenletet R-rel jobbról megszorozzuk, és felhasználjuk, hogy a jobb oldalon R T R = = I teljesül, akkor azt kapjuk, hogy dr dθ = SR(θ) (3.21) am a forgatás mátrxok derválás szabálya. Ezt az összefüggést a későbbekben gyakran fogjuk alkalmazn. Eszernt egy R forgatás mátrx derváltjának kszámítása ekvvalens egy S ferdén szmmetrkus mátrxszal való mátrxszorzással. 3.1.2. Példa. Vegyük most azt a példát, amre a bevezetőben utaltunk. Legyen 15

R = R x,θ az x tengely körül, θ szögű forgatás mátrxa. Mvel 1 0 0 R x,θ = 0 cos θ sn θ 0 sn θ cos θ és dr dθ = 0 0 0 0 sn θ cos θ 0 cos θ sn θ (3.22) ezért a transzponálttal való mátrxszorzást elvégezve 0 0 0 1 0 0 dr dθ RT = 0 sn θ cos θ 0 cos θ sn θ = 0 cos θ sn θ 0 sn θ cos θ 0 0 0 = 0 0 1 = S() 0 1 0 (3.23) adódk. Tehát azt az összefüggést kaptuk, mely szernt dr x,θ dθ = S()R x,θ (3.24) ahol = (1, 0, 0) T az egyk bázsvektor. Hasonló számolással bzonyítható, hogy dr y,θ dθ = S(j)R y,θ és dr z,θ dθ = S(k)R z,θ (3.25) a j = (0, 1, 0) T és k = (0, 0, 1) T bázsvektorokra. Továbbá könnyen belátható, hogy tetszőleges g tengelyre, melynek egységvektora e, az R g,θ forgatás derváltja dr g,θ dθ = S(e)R g,θ (3.26) 3.2. Az eredő lneárs és szögsebesség Tekntsük most azt az általánosabb esetet, amkor a forgástengely tetszőleges, orgón átmenő, akár mozgó egyenes s lehet. Tegyük fel, hogy az R forgatás mátrx függ az dőtől, azaz R = R(t) SO(3) mnden t R-re. Az előzőekben R paramétere ugyan a θ szög volt, de a formáls számolások matt ezek ugyanazt eredményezk, csupán a szemléletes jelentésük különböző. Ekkor az R(t) mátrx dő szernt derváltja, feltéve, hogy R(t) folytonosan dfferencálható t szernt, a (3.21) képlet alapján Ṙ(t) = S(t)R(t) (3.27) alakú, ahol S(t) egy ferdén szmmetrkus mátrx. Ekkor S(t) a (3.6) egyenlet alapján a megfelelő komponensek leolvasásával S(ω(t)) alakban reprezentálható egy ω(t) 16

vektor segítségével. Belátható, hogy ez a vektor a forgó rendszer szögsebessége a t dőpllanatban a bázsrendszerhez vszonyítva. Így R(t) dő szernt derváltja Ṙ(t) = S(ω(t))R(t) (3.28) ahol ω(t) a szögsebesség. A (3.28) egyenlet a szögsebesség és a forgatás mátrx derváltja között kapcsolatot adja meg. Ez alapján, ha az (o 1, x 1, y 1, z 1 ) rendszer (o 0, x 0, y 0, z 0 ) rendszerhez vszonyított pllanatny orentácóját R 0 1 határozza meg, akkor az ω 0 1 szögsebesség R 0 1 derváltjától függ a fentek szernt. 3.2.1. Példa. Az előző példát továbbgondolva legyen R(t) = R x,θ(t). Ekkor a láncszabályt alkalmazva Ṙ = dr dt = dr dθ dθ dt adódk, melyből az előző példa eredménye alapján (3.29) dr dθ dθ dt = S()R(t) θ = S(ω(t))R(t) (3.30) kapható, ahol S lneartását felhasználva ω = θ a szögsebesség, = (1, 0, 0) T pedg az egyk bázsvektor. Hasonló összefüggés gaz tetszőleges tengelyű forgatásra s. 3.2.1. Szögsebességek összege A robotkarok vzsgálata során a Denavt-Hartenberg konvencó használatából adódóan több, egymáshoz képest forgó koordnáta-rendszer eredő szögsebességére vagyunk kíváncsak. Ennek kszámításához most meghatározunk egy képletet két mozgó rendszer, (o 1, x 1, y 1, z 1 ) és (o 2, x 2, y 2, z 2 ) szögsebességenek összegére, az (o 0, x 0, y 0, z 0 ) rögzített koordnáta-rendszerhez vszonyítva. Tegyük fel, hogy a három rendszernek közös az orgója. Ez nem jelent megkötést, hszen a szögsebesség nvaráns az eltolásra nézve. Legyenek R1(t) 0 és R2(t) 1 az (o 1, x 1, y 1, z 1 ) és (o 2, x 2, y 2, z 2 ) koordnáta-rendszerek relatív orentácóját megadó, dőtől függő forgatás mátrxok. Ekkor lneárs algebrából tudjuk, hogy R 0 2(t) = R 0 1(t)R 1 2(t) (3.31) Ha mndkét oldalát derváljuk az dő szernt, akkor azt kapjuk, hogy R 2 0 = R 1R 0 2 1 + R1 0 R 2 1 (3.32) 17

A (3.28) egyenlet értelmében R 2 0 felírható R 0 2 = S(ω 0 0,2)R 0 2 (3.33) alakban. Ebben a kfejezésben ω 0 0,2 az (o 2, x 2, y 2, z 2 ) rendszerre ható eredő szögsebességet jelöl. Ez az R 0 1 és az R 1 2 mátrxok együttes forgatásából adódk. Most vzsgáljuk meg a (3.32) egyenlet jobb oldalát. Az első tagra a (3.28) képlet felhasználásával R 0 1R 1 2 = S(ω 0 0,1)R 0 1R 1 2 = S(ω 0 0,1)R 0 2 (3.34) adódk. A jobb oldal másodk tagjára a (3.28) egyenlet újból felhasználásával azt kapjuk, hogy Ezt az I = (R 0 1) T R 0 1 taggal bővítve R 0 1 R 1 2 = R 0 1S(ω 1 1,2)R 1 2 (3.35) R 0 1S(ω 1 1,2)R 1 2 = R 0 1S(ω 1 1,2)(R 0 1) T R 0 1R 1 2 (3.36) adódk, melyből a (3.10) egyenlet alapján R 0 1S(ω 1 1,2)(R 0 1) T R 0 1R 1 2 = S(R 0 1ω 1 1,2)R 0 1R 1 2 = S(R 0 1ω 1 1,2)R 0 2 (3.37) következk. Tehát azt kaptuk, hogy R 0 1 R 1 2 = S(R 0 1ω 1 1,2)R 0 2 (3.38) Ebben az egyenletben ω 1 1,2 az (o 2, x 2, y 2, z 2 ) rendszernek az R 1 2 megváltozásához tartozó szögsebességét jelöl, az (o 1, x 1, y 1, z 1 ) koordnáta-rendszerben felírva. Az R 0 1ω 1 1,2 szorzat ezt a szögsebességet az (o 0, x 0, y 0, z 0 ) rendszerhez vszonyítva fejez k, azaz R 0 1ω 1 1,2 az ω 1,2 szabad vektor koordnátát adja meg a 0-dk rendszerben. A (3.32) egyenlet két oldalán szereplő tagokra kapott összefüggések alapján az S(ω 0 2)R 0 2 = ( S(ω 0 0,1) + S(R 0 1ω 1 1,2) ) R 0 2 (3.39) összefüggés adódk. Felhasználva az S mátrx lneartását, azt kapjuk, hogy ω 0 2 = ω 0 0,1 + R 0 1ω 1 1,2 (3.40) Ezzel beláttuk azt az állítást, mely szernt a szögsebesség-vektorok összeadhatóak, ha ugyanabban a koordnáta-rendszerben, jelen esetben (o 0, x 0, y 0, z 0 )-ban vannak felírva. A fent érvelés tetszőleges számú koordnáta-rendszerre érvényes marad. Tegyük 18

fel, hogy smerjük az R 0 n = R 0 1R 1 2 R n 1 n (3.41) forgatás mátrxokat. A fent bzonyításhoz hasonlóan gazolható, hogy ekkor R 0 n = S(ω 0 0,n)R 0 n (3.42) ahol ω 0 0,n = ω 0 0,1 + R 0 1ω 1 1,2 + R 0 2ω 2 2,3 + + R 0 n 1ω n 1 n 1,n = = ω 0 0,1 + ω 0 1,2 + ω 0 2,3 + + ω 0 n 1,n (3.43) 3.2.2. Egy pont lneárs sebessége Tekntsünk egy (o 0, x 0, y 0, z 0 ) rendszert, és egy hozzá képest forgómozgást végző (o 1, x 1, y 1, z 1 ) rendszert, melyeknek közös az orgója. Tegyük fel, hogy a p pont mereven rögzítve van a mozgó rendszerhez. Most ennek a pontnak a lneárs sebességét fogjuk megvzsgáln. A p koordnátát az (o 0, x 0, y 0, z 0 ) rendszerben p 0 (t) = R 0 1(t)p 1 (3.44) alakban kapjuk meg, ahol p az -edk rendszerben felírt koordnátákat jelöl. Ebből a szorzat derválás szabálya alapján ṗ 0 = Ṙ0 1p 1 + R 0 1ṗ 1 (3.45) adódk. Innen a (3.28) egyenlet alkalmazásával, valamnt felhasználva, hogy p koordnátá az (o 1, x 1, y 1, z 1 ) rendszerben nem változnak, azt kapjuk, hogy Ṙ 0 1p 1 + R 0 1ṗ 1 = S(ω 0 )R 0 1p 1 (3.46) Végül a ferdén szmmetrkus mátrxok (3.9) tulajdonsága alapján S(ω 0 )R 0 1p 1 = S(ω 0 )p 0 = ω 0 p 0 (3.47) amely a már smert kfejezés a sebesség kszámítására. Természetesen a két koordnáta-rendszer mozgása ennél általánosabb s lehet, hszen az o 0 és o 1 pontok távolsága s változhat. Ennek megfelelően jelölje o 0 1(t) a bázsrendszer orgójából az (o 1, x 1, y 1, z 1 ) rendszer orgójába mutató vektort. Ekkor a p pont koordnátát megadó transzformácó p 0 (t) = R 0 1(t)p 1 + o 0 1(t) (3.48) 19

alakú. Ezt a kfejezést a szorzat-szabály alapján derválva kapjuk, hogy ṗ 0 = Ṙp1 + ȯ = = S(ω)Rp 1 + ȯ (3.49) Ebből a (3.9) tulajdonság felhasználásával, valamnt az r = R1p 0 1 és v = ȯ 1 jelölések bevezetésével S(ω)Rp 1 + ȯ = ω r + v (3.50) adódk. Amennyben a p pont az (o 1, x 1, y 1, z 1 ) rendszerhez képest s elmozdul, akkor v-hez még hozzá kell adnunk az Rṗ 1 tagot, amely a p 1 koordnáták megváltozásának sebességét fejez k az (o 0, x 0, y 0, z 0 ) rendszerhez képest. 3.3. A Jacob-mátrx kszámítása Az előzőekben kszámoltuk a koordnáta-rendszerek mozgásából adódó lneárs és szögsebességeket. Most ezen eredményeket felhasználva meghatározzuk a robotkar Jacob-mátrxát, amellyel a drekt sebességknematka feladat már könnyen megoldható. Tekntsünk egy n ízületű robotkart, melynek ízület paramétere q 1,..., q n, ahol q = d, ha az ízület eltoló, és q = θ, ha forgató. Jelölje Tn(q) 0 = R0 n(q) o 0 n(q) (3.51) 0 1 a kéz koordnáta-rendszeréből a bázsrendszerbe képező transzformácót, ahol q = = (q 1,..., q n ) T a paraméterek vektora. A robot mozgása során a q változók az dő függvénye lesznek, de ekkor R 0 n és o 0 n s a t paramétertől fognak függen. Ebben a szakaszban megvzsgáljuk a kéz lneárs és szögsebességének a kapcsolatát az ízület sebességek q(t) vektorával. A (3.28) egyenlet alapján S(ω 0 n) = R 0 n(r 0 n) T (3.52) ahol ω 0 n a kéz szögsebesség-vektora. Vezessük be a kéz lneárs sebességére a v 0 n = = ȯ 0 n jelölést. Ekkor a drekt sebességknematka feladat értelmében olyan J v és J ω 3 n-es mátrxokat keresünk, melyek kelégítk a v 0 n = J v q ω 0 n = J ω q (3.53) 20

egyenleteket. Ezt a két összefüggést egy közös képlettel s felírhatjuk ξ = J q (3.54) alakban, ahol ξ = v0 n ωn 0 és J = J v (3.55) J ω Itt fontos megjegyezn, hogy habár a ξ vektor sebességet jelöl, mégsem egy helyváltozó dő szernt derváltja, mert a benne szereplő szögsebesség egy származtatott mennység. A J mátrxot a robotkar Jacob-mátrxának nevezzük. Ez egy 6 n-es mátrx, ahol n az ízületek száma. Vzsgáljuk meg jobban ezt a mátrxot, hogy egy könnyen kszámítható képletet tudjunk adn rá. 3.3.1. A kéz szögsebessége Az előző szakaszban már foglalkoztunk az eredő szögsebességgel, és a (3.43) összefüggés által azt kaptuk, hogy a szögsebességek összeadhatóak szabad vektorokként, feltéve, hogy azonos koordnáta-rendszerben vannak felírva. Ez azt jelent, hogy úgy tudjuk meghatározn a kéz szögsebességét a bázsrendszerhez képest, hogy meghatározzuk az egyes ízületek szögsebességét a bázsrendszerben felírva, majd összeadjuk őket. Mvel a robotkar ízülete forgatók és eltolók s lehetnek, vzsgáljuk meg a kéz szögsebességét mndkét esetben. Ha az -edk ízület forgató, akkor a q ízület paraméter θ -vel egyezk meg, a forgatás tengelye pedg z 1. A korábbakhoz hasonlóan jelölje ω 1 az -edk szegmens szögsebességét, amely az -edk ízület mozgásából adódk, az (o 1, x 1, y 1, z 1 ) rendszerben felírva. Ez a szögsebesség az 1-edk rendszerben kfejezhető ω 1 = q z 1 1 = q k (3.56) alakban, ahol z 1 1 = k az 1-edk rendszer (0, 0, 1) T koordnátájú bázsvektora. Abban az esetben, amkor az -edk ízület eltoló, az -edk rendszer mozgása az 1-edkhez képest egy eltolás. Mvel nem történk forgatás, így a szögsebességre ω 1 = 0 (3.57) adódk. Ezért eltoló ízület esetében a kéz szögsebessége nem függ q -től, amely most d -vel egyenlő. Az mént kapott összefüggéseket beírva a (3.43) egyenletbe, a kéz eredő szögse- 21

bessége a bázs koordnáta-rendszerben ω 0 n = δ 1 q 1 k + δ 2 q 2 R 0 1k + + δ n q n R 0 n 1k (3.58) alakú lesz, ahol δ értéke 1, ha az -edk ízület forgató, lletve 0, ha az ízület eltoló. Ha felhasználjuk az z 1 0 = R 1k 0 = 1,..., n (3.59) összefüggést, ahol természetesen z0 0 = k = (0, 0, 1) T, akkor a fent egyenlet az ωn 0 = alakot ölt. n δ q z 1 0 (3.60) =1 Vsszatérve a (3.54) egyenlethez, a benne szereplő Jacob-mátrx alsó fele J ω = [δ z 0... δ n z n 1 ] (3.61) alakban kapható meg, ahol elhagytuk a felső ndexeket a z tengelyek bázsvektoraról, mvel mndegyk a nulladk, azaz a bázsrendszerben van kfejezve. 3.3.2. A kéz lneárs sebessége Mvel a kéz koordnátája az n-edk rendszerben (0, 0, 0) T, ezért a lneárs sebessége egyszerűen csak ȯ 0 n. Emlékezzünk vssza, hogy o 0 n az ízület paraméterek függvénye. Így a lánc-szabályt alkalmazva ennek derváltja ȯ 0 n = n =1 o 0 n q q (3.62) formára hozható. Ezt a (3.54) egyenlettel összevetve azt kapjuk, hogy a J v mátrx -edk oszlopát J v = o0 n q (3.63) adja meg. Vegyük észre, hogy ez a kfejezés a kéz lneárs sebességével egyenlő abban az esetben, ha lerögzítjük az összes ízületet az -edk kvételével, amelyet egységny sebességgel mozgatunk. Ezt a módszert felhasználva a J v mátrx oszlopa könnyen meghatározhatóak. Most külön-külön megvzsgáljuk a két lehetséges esetet az ízület típusa szernt. 22

Az eltoló ízület esete Tekntsük először azt az esetet, amkor az -edk ízület eltoló. A Denavt-Hartenberg konvencó alapján a T 0 n transzformácót felírhatjuk három leképezés szorzataként oly módon, hogy először a kéz rendszeréből az -edk rendszerbe transzformálunk, majd abból az 1-edkbe, végül onnan a 0-adk, azaz a bázsrendszerbe. Ezáltal a homogén transzformácó az R0 n o 0 n = Tn 0 = T 0 0 1 = R0 1 0 1 1T 1 o 0 1 T n = o 1 R n o n 0 1 0 1 R 1 alakot ölt. Ebből a mátrxszorzásokat elvégezve azt kapjuk, hogy R0 n 0 1 ahonnan a kéz pozícójára az o 0 n = R0 n R 0 o n + R 0 1o 1 0 1 (3.64) + o 0 1 (3.65) o 0 n = R 0 o n + R 0 1o 1 + o 0 1 (3.66) összefüggés adódk. Azt az esetet vzsgálva, amkor csak az -edk ízület mozoghat, az o 0 1 és o n vektorok nem változnak. Mvel eltoló ízületről van szó, az R 0 1 és az R 0 forgatómátrx s konstans. Ezek alapján o 0 n derválásával, amelynek most q = d az egyetlen változója, azt kapjuk, hogy ȯ 0 n = o0 n q = q ( d R 0 d o n + R 1o 0 1 + o 1) 0 = = d ( ) (3.67) R 0 d 1 o 1 Emlékezzünk vssza, hogy o 1 = (a cos θ, a sn θ, d ) T. Ezt felhasználva a ( ) R 0 d 1 o 1 = d R 1 0 cos θ a d sn θ d d (3.68) amelyből a derválást elvégezve a d R 1 0 cos θ 0 a d sn θ = d R 1 0 0 = d z 1 0 (3.69) 1 d 23

adódk, azaz ȯ 0 n = d z 0 1. Ezt összevetve a (3.54) képlettel azt kaptuk, hogy eltoló ízületek esetében J v = z 1 (3.70) A forgató ízület esete Ha az -edk ízület forgató, akkor q = θ. A (3.66) egyenletből kndulva, q helyére θ -t írva, és felhasználva, hogy R 0 nem konstans θ -re nézve, azt kapjuk, hogy Innen a derválás elvégzésével ȯ 0 n = o0 n θ θ = θ ( R 0 o n + R 0 1o 1 + o 0 1) θ = = ( R 0 θ o n + R 1o 0 1 ) θ (3.71) ( ) R 0 θ o n + R 1o 0 1 θ = ( ) R 0 θ o n θ + R 0 ( ) 1 o 1 θ (3.72) θ adódk. Melőtt tovább alakítanánk ezt a kfejezést, vzsgáljuk meg a jobb oldal másodk tagját. Mvel o 1 R 0 1 = (a cos θ, a sn θ, d ) T, ezért a ( ) o 1 θ = R 1 0 cos θ a a θ θ sn θ θ sn θ = R 1 0 a cos θ θ (3.73) 0 Vegyük észre, hogy S(k)o 1 d = ( a sn θ, a cos θ, 0) T. Ezt felhasználva az egyenlet a sn θ R 1 0 a cos θ θ = θ R 1S(k)o 0 1 (3.74) 0 alakba írható. Ezt az I = (R 0 1) T R 0 1 taggal bővítve θ R 0 1S(k)o 1 adódk, amely a (3.10) összefüggés értelmében θ R 0 1S(k)(R 0 1) T R 0 1o 1 formára hozható. Ezzel azt kaptuk, hogy R 0 1 = θ R 0 1S(k)(R 0 1) T R 0 1o 1 (3.75) = θ S(R 0 1k)R 0 1o 1 = θ S(z 0 1)R 0 1o 1 (3.76) ( ) o 1 θ = θ θ S(z 1)R 0 1o 0 1 (3.77) 24

érvényes. Vsszatérve az előző számoláshoz, arra jutottunk, hogy ȯ 0 n = ( ) R 0 θ o n θ + R 0 ( ) 1 o 1 θ = θ = θ S(z 0 1)R 0 o n + θ S(z 0 1)R 0 1o 1 (3.78) amből kemeléssel θ S(z 0 1)R 0 o n + θ S(z 0 1)R 0 1o 1 = θ S(z 1) ( ) 0 R 0 o n + R 1o 0 1 (3.79) adódk. Vegyük észre, hogy az R 0 o n +R 1o 0 1 vektor egyszerűen az 1-edk orgót az n-edkkel összekötő vektor a bázsrendszerben felírva. Ez onnan látszk, hogy o 1 az 1-edk orgóból az -edkbe mutató vektor, o n az -edkből az n-edkbe mutat, a forgatás mátrxokkal való szorzás pedg ezen szabad vektorok koordnátát adják meg a bázsrendszerben. Így az összegük kfejezhető a bázs orgójából az n-edk, lletve az 1-edk orgóba mutató vektor különbségeként. Ezt, és a (3.9) összefüggést felhasználva θ S(z 1) ( ) 0 R 0 o n + R 1o 0 1 = θ S(z 1) ( ) 0 o 0 n o 0 1 = θ z 1 0 ( ) o 0 n o 0 1 (3.80) azaz ȯ 0 n = θ z 0 1 ( o 0 n o 0 1). Az eredményt smét összevetve a (3.54) képlettel azt kaptuk, hogy forgató ízületek esetében J v = z 1 (o n o 1 ) (3.81) am ω = z 1 és r = o n o 1 választással a már smert v = ω r összefüggésre vezet. o 3.2. ábra. Az -edk ízület hatása a kéz sebességére 25

3.3.3. A Jacob-mátrx egyesítése A J v mátrxról szerzett eddg smeretenket összegezve a J v = [J v1 J v2... J vn ] (3.82) oszlopvektoros előállításra a z 1 (o n o 1 ) J v = z 1 ha az -edk ízület forgató ha az -edk ízület eltoló (3.83) összefüggés érvényes. Ehhez hasonlóan, a J ω mátrx J ω = [J ω1 J ω2... J ωn ] (3.84) alakjára a z 1 ha az -edk ízület forgató J ω = 0 ha az -edk ízület eltoló (3.85) eredményeket kaptuk. A két részt egyesítve a (3.54) képlet szernt, egy n ízületű robotkar Jacob-mátrxát formában felírva, az -edk oszlopra adódott, ha az -edk ízület forgató, lletve ha az -edk ízület eltoló. J = [J 1 J 2... J n ] (3.86) J = z 1 (o n o 1 ) (3.87) z 1 J = z 1 (3.88) 0 Vegyük észre, hogy ezek a kfejezések a Denavt-Hartenberg konvencó által meghatározott koordnáta-rendszereket leíró mennységek. Ezért, ha ezeket már smerjük, akkor a Jacob-mátrxot már könnyedén k tudjuk számoln belőlük. Valóban, a mátrx megadásához csupán a z bázsvektorok és az o orgók koordnátára van szükségünk. Mvel a drekt knematka feladat megoldása nélkülözhetetlen a robotkarok programozásához, ez azt jelent, hogy egyúttal a drekt sebességknematka feladatot s megoldottuk. Az előző fejezet eredményére vsszaemlékezve könnyen meggondolható, hogy a z vektor bázsrendszer szernt koordnátát a T 0 áttérés mátrx harmadk oszlo- 26

pának első három eleme adja meg, az o orgó pedg a negyedk oszlop első három eleméből olvasható le. Tehát csak a T mátrxok harmadk és negyedk oszlopára van szükségünk ahhoz, hogy a fent formulák alapján kszámoljuk a Jacob-mátrxot. Az tt leírt módszer azonban nem csak a kéz sebességének kszámítására alkalmas, hanem a robotkar bármely tetszőleges pontjának sebességét megadhatjuk vele. Ez a mozgás dnamka egyenletenek felírásakor hasznos, amkor a szegmensek tömegközéppontjanak sebességet kell meghatároznunk. 3.4. Az analtkus Jacob-mátrx Az előző szakaszban a robotkar geometra tulajdonságaból vezettünk le összefüggéseket a kéz sebességére vonatkozóan. Ennek megfelelően az így kapott mátrxot a geometra Jacob-mátrxnak nevezzük. Ebben a konstrukcóban a kéz rányát egy forgatás mátrxszal, azaz klenc paraméterrel adtuk meg. Most azt az esetet vzsgáljuk meg, amkor a koordnáta-rendszer elfordulását három paraméterrel, azaz egy mnmáls reprezentácóval írjuk le. Az ez alapján meghatározott J a (q) mátrxot az analtkus Jacob-mátrxnak hívjuk. Jelölje mostantól X = d(q) (3.89) α(q) a kéz helyzetét, ahol d(q) a bázsrendszer orgójából a kéz rendszerének orgójába mutató vektor, α(q) pedg egy, a kéz bázsrendszerhez vszonyított elfordulását leíró mnmáls reprezentácó. Például legyen α = (φ, θ, ψ) T Euler-szögekkel megadva. A geometrahoz hasonlóan az analtkus Jacob-mátrxra s felírható egy Ẋ = d = J a (q) q (3.90) α alakú összefüggés a kéz sebességének meghatározására. Megmutatható, hogy ha R = R z,ψ R y,θ R z,φ az Euler-szög transzformácó, azaz cψcθcφ sψsφ cφsψ cψcθsφ cψsθ R = cψsφ + cθcφcψ cψcφ cθsψsφ sψsθ (3.91) cφsθ sθsφ cθ ahol c és s a cos és sn rövdítése, akkor a hozzá tartozó ω szögsebesség a cos ψ sn θ sn ψ 0 B(α) = sn ψ sn θ cos ψ 0 cos θ 0 1 (3.92) 27

jelölés használatával φ cos ψ sn θ θ sn ψ ω = ψ sn ψ sn θ + θ cos ψ ψ cos θ + ψ = cos ψ sn θ sn ψ 0 φ = sn ψ sn θ cos ψ 0 θ = B(α) α cos θ 0 1 ψ (3.93) formában áll elő. A fent összefüggést egyesítve a Jacob-mátrx korább v = J(q) q (3.94) ω defnícójával, azt kapjuk, hogy J(q) q = v d = (3.95) ω B(α) α amt felírhatunk d = I 0 d (3.96) B(α) α 0 B(α) α alakban s. Ekkor a (3.90) képletet behelyettesítve I 0 d = I 0 J a (q) q (3.97) 0 B(α) α 0 B(α) adódk. Ezek alapján kaptunk egy módszert az analtkus Jacob-mátrxnak a geometraból való kszámítására J a (q) = I 0 J(q) (3.98) 0 B(α) 1 módon, feltéve, hogy det B(α) 0. 3.5. Szngulartások meghatározása Azon konfgurácókat, melyekre a Jacob-mátrx rangja nem maxmáls, szngulárs konfgurácóknak vagy szngulartásoknak nevezzük. Ezeknek a vzsgálata az nverz sebességknematka szempontjából fontos, mert látn fogjuk, hogy teljes rangú esetben a megoldás egyszerűen kszámítható. Tovább elnevezés még, hogy a B(α) mátrx szngulartásat reprezentácós szn- 28

gulartásoknak hívjuk. A (3.92) képletből könnyen megmutatható, hogy sn θ 0 esetén B(α) nvertálható, am a (3.98) egyenlet szernt szükséges a teljes rangúsághoz. Ez ugyans azt mutatja, hogy az analtkus Jacob-mátrx szngulartása magukban foglalják a reprezentácó és a geometra Jacob-mátrx szngulartásat. A 6 n-es J(q) Jacob-mátrx defnícó szernt meghatároz egy ξ = J(q) q (3.99) leképezést az ízület sebességek q vektora és a kéz sebességének ξ = (v, ω) T vektora között. Ez az összefüggés azt mutatja, hogy a kéz mnden lehetséges sebességvektora a Jacob-mátrx oszlopanak lneárs kombnácója, azaz részletesen kírva ξ = J 1 q 1 + J 2 q 2 + + J n q n (3.100) adódk. Mvel ξ R 6, ezért szükséges, hogy J oszlopa között legyen hat lneársan független ahhoz, hogy a kéz tetszőleges sebességet el tudjon érn. Ez 6 < n esetén pontosan akkor teljesül, ha J teljes rangú. Itt fontos megjegyezn, hogy ez a rang nem állandó, hanem a q paraméterek függvényében változk. A robotkar szngulartásanak azonosítása több okból s fontos feladat: A szngulartások olyan konfgurácókat jelölnek, melyekből a kéz bzonyos rányú mozgása nem valósíthatóak meg, azaz a robotkar veszít a szabadság fokából. Szngulartásoknál korlátos kéz-sebességekhez nem korlátos ízület sebességek tartozhatnak, mert ezek kolthatják egymást. Szngulartásoknál a kézre vonatkozó korlátos erőkhöz és nyomatékokhoz nem korlátos ízület erők és nyomatékok tartozhatnak. A szngulartások általában a robot munkaterének peremén, azaz a hatósugarának szélén lévő pontokhoz tartoznak, hszen ezeknél messzebbre nem juttatható el a kéz. A szngulartások a munkatér azon pontjahoz tartoznak, melyek elérhetetlenné válnak a robotkar alak tulajdonságanak tetszőlegesen kcs megváltoztatása esetén. Ez a terhelés által bekövetkező esetleges deformálódások matt fontos. Szngulartások közelében nem létezk egyértelmű megoldása az nverz knematka problémának. Ilyen esetekben vagy nncs megoldás, vagy végtelen sok van. 29

Számos módszer létezk a Jacob-mátrx szngulartásanak meghatározására. M a J(q) R 6 6 esetben azt a tényt fogjuk khasználn, hogy egy négyzetes mátrx pontosan akkor szngulárs, ha a determnánsa nulla. Általában egy det J(q) = 0 nemlneárs egyenlet megoldása nehéz feladat. Egy eljárás, amely ebben segítségünkre lehet, az a szngulartások szétbontásának módszere. Ez mnden olyan esetben használható, amkor a robotkar például gömbcsuklóval van felszerelve. 3.5.1. Szngulartások szétbontása Az eddgekben a robotkar helyzetét a szegmensekhez rögzített koordnáta-rendszerek segítségével határoztuk meg, a drekt knematka feladat megoldása által. Vegyük észre, hogy a Denavt-Hartenberg konvencó csupán egy szsztematkus módszer ennek elvégzésére. Habár az így kapott egyenletek függenek a koordnátarendszerek megválasztásától, maga a robotkar konfgurácója egy geometra mennység, amely független az őt leíró koordnáta-rendszerektől. Ennek felsmerésével lehetőség nyílk számunkra, hogy gömbcsuklóval felszerelt robotkarok esetén a szngulartások vzsgálatát szétbontsuk két egyszerűbb problémára. Az első az úgynevezett kar-szngulartások meghatározása, melyek a kar, azaz az első három vagy több ízület mozgásából adódnak. A másodk a csukló-szngulartások meghatározása, melyek a gömbcsukló mozgásából erednek. Tegyük fel, hogy n = 6, azaz a manpulátor egy három szabadságfokú karból és egy három szabadságfokú gömbcsuklóból áll. Ekkor a Jacob-mátrx egy 6 6-os mátrx, és egy q konfgurácó pontosan akkor szngulárs, ha det J(q) = 0. Bontsuk fel a Jacob-mátrxot a karhoz és a gömbcsuklóhoz tartozó részre, majd partconáljuk tovább 3 3-as blokkokra J = [J P J O ] = J 11 J 12 J 21 J 22 (3.101) módon. A forgató ízületekre kapott összefüggés alapján az utolsó három ízületre J O = z 3 (o 6 o 3 ) z 4 (o 6 o 4 ) z 5 (o 6 o 5 ) (3.102) z 3 z 4 z 5 A gömbcsukló tengelye egy közös pontban metszk egymást, ezért ha úgy választjuk meg a koordnáta-rendszereket, hogy o 3 = o 4 = o 5 = o 6 = o teljesüljön, akkor J O = 0 0 0 (3.103) z 3 z 4 z 5 alakú lesz. Ez azért hasznos, mert ekkor a Jacob-mátrx blokkja alsó háromszög- 30

mátrxot alkotnak J = J 11 0 (3.104) J 21 J 22 formában, melynek determnánsa det J = det J 11 det J 22 (3.105) ahol J 11 és J 22 3 3-as mátrxok. Itt a J 11 mátrx -edk oszlopa z 1 (o o 1 ), ha az -edk ízület forgató, lletve z 1, ha az ízület eltoló, továbbá J 22 = [z 3, z 4, z 5 ]. Tudjuk, hogy det J = 0 pontosan akkor teljesül, ha det J 11 = 0 vagy det J 22 = 0. Ezek közül az első egyenletet a kar, a másodkat pedg a gömbcsukló szngulartása elégítk k. Ezzel azt kaptuk, hogy a manpulátor szngulárs konfgurácónak halmaza a két egyenlet megoldáshalmazanak unója. Fontos megjegyezn, hogy a Jacob-mátrx ezen alakja nem szükségképpen adja meg a helyes összefüggést a kéz sebessége és az ízület sebességek között, csupán a szngulartások meghatározásának egyszerűsítését szolgálja. 3.3. ábra. A gömbcsukló szngulartása Az előző egyenletekből azt kaptuk, hogy egy gömbcsukló pontosan akkor van szngulárs konfgurácóban, ha a z 3, z 4 és z 5 vektorok lneársan összefüggőek. Ez akkor fordulhat elő, amkor a z 3 és a z 5 tengelyek egy egyenesbe esnek. Mnden olyan konfgurácó, amelyben két forgató ízület tengelye egybeesk, szngulartást eredményez, mvel ekkor egyenlő nagyságú, de ellentétes rányú forgatások nem változtatják meg a kéz helyzetét. A fent konfgurácó a gömbcsukló egyetlen szngulartása, és ez a geometra felépítése matt elkerülhetetlen. A kar-szngulartások az adott manpulátorhoz tartozó J 11 mátrx kszámítása után det J 11 = 0 megoldásával könnyen meghatározhatóak. Ez a feladat elsősorban az útvonalkeresés szempontjából fontos. Olyan görbe mentén szeretnénk mozgatn a robot kezét, amely vagy elkerül a szngulartásokat, vagy olyan rányban halad át rajtuk, amelyre létezk egyértelmű megoldás. 31

3.4. ábra. Az antropomorf robotkar szngulartása 3.6. Az nverz sebességknematka feladat Korábban említettük az nverz sebességknematka problémát, melynek kndulópontja az ξ = J q (3.106) egyenlet, amely az ízületek q sebességgel történő mozgásából eredő kéz-sebességet adja meg. Az nverz feladat célja, hogy megtalálja azon q ízület sebességeket, melyekre adott ξ esetén a fent összefüggés teljesül, azaz amelyekre kéz az előírt ξ sebességvektorral mozog. Ha a Jacob-mátrx négyzetes és nem szngulárs, akkor ez a probléma egyszerűen megoldható egy nvertálással, hszen q = J 1 ξ (3.107) Azon manpulátorok esetében, amelyek nem pontosan hat ízületből állnak, a Jacob-mátrx nem nvertálható, hszen nem s négyzetes. Ebben az esetben az nverz feladat pontosan akkor oldható meg, ha ξ benne van a J oszlopa által kfeszített térben. Ez egyszerűen eldönthető a következő rangvzsgálattal, amelyet lneárs algebrából smerünk. 3.6.1. Állítás. Egy ξ vektor akkor és csak akkor van benne egy J(q) mátrx képterében, ha rangj(q) = rang[j(q) ξ]. Ennek megoldására számos algortmus létezk, például az egyk lyen a Gausselmnácó. Van azonban egy érdekes módszer abban az esetben, amkor n > 6. Ekkor a q megoldást J jobb oldal pszeudonverze segítségével s megkaphatjuk. 3.6.1. Defnícó. Legyen m < n. Ekkor egy J R m n mátrx jobb oldal pszeudonverzén azt a J + mátrxot értjük, melyre JJ + = I, ahol I R m m. 32