Robot Euler Angles: Az alapvető alapozó

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:

  1. Hajtsa lefelé az orrkúpját: Rot[Y]
  2. Gördítsd balra a gépet: -Rot[X]
  3. 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.

  1. 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.
  2. 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.
  3. Á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.
  4. Á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.