Nehéz felkapni a fejét a robotforgatásokon, nem igaz? Az Euler-szögek fájdalmat okoznak a nyakban. Íme az alapvető alapozó a fájdalom megszüntetéséhez.
Irányítások! Csak arra késztetnek, hogy kitépjem a hajam. Ha valaha is be kellett programoznia egy robot végpózát koordináták és elforgatások segítségével, akkor tudni fogja, miről beszélek.
Első pillantásra egyszerűnek tűnik a robot végeffektusának beállítása, nem igaz?
Egyszerűen azt mondod: „Át akarom helyezni a robot szerszámát ez helyen, és azt akarom, hogy mutasson ez irány.”
Intuitív módon pontosan tudja, milyen tájolású legyen az eszköz. Amikor azonban a tájékozódás pontos számokkal történő leírásáról van szó, ez az egyszerű feladat hirtelen zűrzavarrá válik.
Miért nehéz megérteni a robotorientációt?
Könnyű leírni egy robotszerszám X, Y, Z (transzlációs) koordinátáit.
A fordítás leírásához egyszerűen adja meg a koordinátákat – pl. Pont[X, Y, Z] = [100, 1000, 1500] mm — és ez csak egy helyre utalhat, feltételezve, hogy ugyanazt az alapreferenciát használja. Ez csak 100 mm-t jelenthet az X tengely mentén, 1 métert az Y tengely mentén és 1,5 métert a Z tengely mentén.
De hogyan írja le az eszköz tájolását?
Mondhatnád:
Forgás[XYZ] = [5, 45, 15]°
ugyanakkor azt is mondhatnád (a számokat kerekítve)
Rothadás[XY’Z”] = [-7.9, 44.7, 16.2]°
vagy
Rothadás[ZY’Z”] = [7.9, 45.2, 5.0]°
vagy akár
Négy részből álló[q1-q4] = [0.9, -0.1, 0.4, 0.1]
Mindezek pontosan ugyanarra az irányultságra utalnak!
Ami még jobban meggondolja magát, az az, hogy a különböző robotgyártók eltérő konvenciókat alkalmaznak. Mindez egy kis fejfájást okozhat, még akkor is, ha ismeri a 3D geometriát.
A probléma: egyszerűen nem gondolkodunk rotációban
Az igazi probléma az, hogy természetesen nem gondolunk forgásban.
Intuitív módon megértjük a transzlációs koordinátákat, mert mindennapi életünkben használjuk őket (pl – Lent a második polcon van, balról négy könyvvel.). Amikor azonban le kell írnunk egy tájékozódást, akkor az ujjunkkal való mutogatáshoz és a kimondáshoz folyamodunk – Abba az irányba.
Sajnos a robotoknak pontosabb információra van szükségük, mint egy homályosra “Ott van.”
Amire szükségünk van, az az Euler-szögek alapos megértése.
Mik azok az Euler-szögek?
Tegyünk egy lépést hátra, és kezdjük az alapokkal.
A robot orientációjának leírására a leggyakoribb módszer az Euler-szög. Az Euler-szögek három számból állnak, amelyek mindegyike egy tengely körüli forgást ír le. A forgatás sorrendjétől függően különböző Euler-szögegyezmények léteznek.
Először is egyszerűsítsük ezt egy egytengelyes példára.
Képzelj el egy iránytűt.
A világ Z-tengelye gyakran azt a tengelyt jelenti, amely az égtől a földig nyúlik. Tehát elképzelheti, hogy az iránytű tűje a Z-tengely körüli forgás (Rot néven[Z]). Ha az iránytűt maga előtt tartja, és a nyíl 135°-ra mutat, az azt jelenti, hogy az észak a bal válla fölött van, tehát éppen délkelet felé néz. Nem számít, hol helyezi el az iránytűt (a padlón, a fején stb.), ha azonos tájolású, a szög mindig 135° lesz.
Eddig ilyen egyszerű.
Iránytűnknek csak egy forgási értéke van (azaz Rot[Z]), de bármilyen 3D tájolás leírásához három értékre van szükségünk. Itt kezd egy kicsit bonyolultabb lenni.
A robot orientációjának leírására szolgáló további módszerek a Quaterniók vagy a Pózok (4×4 mátrixok).
Kezeljük
Mostantól segítségedre lesz egy interaktív vizuális segédeszköz.
Javaslom a RoboDK ingyenes példányát ezen a linken, amely nagyon megkönnyíti a referenciakeretek megjelenítését és a kapott koordináták megtekintését.
Indítsa el a RoboDK-t, és hozzon létre egy referenciakeretet a „Referenciakeret hozzáadása” gombbal vagy válassza ki a lehetőséget a Program menüben. Egy piros, zöld és kék keretnek kell megjelennie a képernyő közepén.
A keretet a következőképpen forgathatja: tartsa lenyomva az Alt billentyűt, majd kattintson és húzza a megjelenő görbe nyilak egyikét.
Hogyan repüljünk repülővel
Használjuk a repülőgép analógiáját, ahogy azt a robot-fórumon nagyon világosan leírták.
Képzeljük el, hogy a referenciakeret egy sík. Az egyenes, piros nyíl (az X-tengely) csúcsa az orrkúp csúcsa, az egyenes, zöld nyíl (az Y-tengely) pedig a bal szárnya.
Ebben az esetben az íves nyilak mozgatása a következő funkciókat szolgálja:
- Hajlított piros nyíl = Rot[X]: A sík gördülése, amely lehetővé teszi, hogy a sík a vízszintes tengelye körül forogjon.
- Íves zöld nyíl = Rot[Y]: A sík magassága, amely az orrkúpot felfelé vagy lefelé mutatja.
- Hajlított kék nyíl = Rot[Z]: A sík lehajlása, amely meghatározza a sík irányát.
Ha a pilóta azt akarná, hogy a gép fokozatosan balra és lefelé forduljon, a gép nem csak a Z tengelyen forogna – a gépek nem így működnek.
Ehelyett a repülőgép:
- Hajtsa lefelé az orrkúpját: Rot[Y]
- Gördítsd balra a gépet: -Rot[X]
- Hajlítás balra: Rot[Z]
Ezt az egész mozgalmat Rotként ábrázolják[XYZ]. Próbáld meg magad egy kicsit mozgatni a keretet a RoboDK-ban, amíg meg nem ismered ezeket a fogalmakat.
Ezután kattintson duplán a keret nevére a főablak bal felső sarkában a „Keret részletei” panel megjelenítéséhez.
Egy irány, több lehetséges forgatás
A RoboDK használatával próbálja ki a következő feladatokat.
Minden egyes feladat előtt állítsa vissza a keretet a „hamburger” menü ikonjának (három vízszintes vonal) megnyitásával a Keret részletei panelen, és válassza a „Reset (identitás beállítása)” lehetőséget.
- Válassza ki a koordináták tetején található legördülő menüt, és válassza a Stäubli-forgatást (X->Y’->Z”) az Általános helyett.
- Forgassa el a keretet úgy, hogy a kék (Z) lefelé, a piros (X) pedig hátrafelé mutasson (azaz mindkettő el van fordítva a kiindulási helyzetéből, és a zöld (Y) megegyezik a kiindulási helyzetével), de ezt csak forgatással teheti meg. az Y tengelyről.
- Állítsa alaphelyzetbe a keretet, majd mozgassa ismét ugyanarra a forgatásra. Ezúttal azonban csak egy Z, majd egy X forgatást használjon.
- Állítsa alaphelyzetbe a keretet, majd mozgassa ismét ugyanarra a forgatásra. Ezúttal azonban csak egy X, majd egy Z elforgatást használjon.
Amint látja, ugyanazon orientáció elérésének több módja is lehet.
Az első módszert Rotnak nevezhetnénk[Y], mivel csak az Y tengely körüli elforgatást tartalmaz. A második módszert Rotnak nevezhetnénk[Z, X’], mivel egy elforgatást tartalmaz a Z tengely körül és egy elforgatást az új X tengely körül. A harmadikat Rotnak neveznénk[X, Z’]. A prím szimbólum azt jelenti, hogy a forgatás az utolsó mozgáshoz képest történik a statikus tengelyek helyett.
Ez az alapvető koncepció az Euler-szögek mögött. A keretet többféleképpen is elforgathatja ugyanabba a tájolásba a tengelyek és az elforgatások sorrendjének megváltoztatásával.
A különböző robotgyártók különböző forgási kombinációkat választottak. Például a Stäubli az XY’Z, az Adept a ZY’Z, a KUKA a ZY’X, a Fanuc & Motoman pedig az XYZ konvenciót használja. Másrészt az ABB a Quaterniont, a Universal Robots pedig egy orientációs vektort használ. De az összes konvenció felhasználható bármilyen térbeli tájolás ábrázolására.
További információt a RoboDK dokumentációjában talál.
Tesztelje a különböző robotkonvenciókat
Remélhetőleg ennek kezd értelmet nyerni. Ez azonban csak a kezdet. Ahhoz, hogy valóban elsajátíthassuk az Euler-szögkonvenciókat a RoboDK-ban, hasznosnak találom az útmutatót követő szoftverrel való játékot.
Az elforgatások hatását számokban láthatja a „Keret részletei” panel világoskék, lila és sárga mezőiben.
Alapértelmezés szerint az általános XYZ-konvenció van kiválasztva az új referenciakeretekhez. Próbálja meg kiválasztani a különböző robotgyártókat a színes négyzetek feletti legördülő menüből. Próbáljon meg számértékeket beírni a mezőkbe, hogy megtekinthesse hatásukat a referenciakeretre.