Elektrotehniški vestnik 78(1-2): 7-11, 2011 Existing separate English edition Prostorska orientacija pri sočasnih ortogonalnih rotacijah Sašo Tomažič1, Sara Stančin2 Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana 1 E-pošta: saso.tomazic@fe.uni-lj.si 2 E-pošta: sara.stancin@fe.uni-lj.si Povzetek. Prostorska orientacija označuje položaj koordinatnega sistema togega telesa glede na referenčni koordinatni sistem z istim koordinatnim izhodiščem. Predstavimo jo lahko z zaporedjem rotacij, potrebnih, da zasučemo osi koordinatnega sistema togega telesa, ki so na začetku poravnane z osmi referenčnega sistema, v njihovo novo lego. V tem članku predstavljamo nov način za predstavitev prostorske orientacije - vektor SORA (Simultaneous Orthogonal Rotations Angle). Komponente tega vektorja so zasuki sočasnih rotacij okrog vseh treh koordinatnih osi s konstantnimi kotnimi hitrostmi. Ker so rotacije sočasne, se izognemo problemu nekomutativnosti in z njim povezanim problemom različnih rotacijskih zaporedij. Numerično pokažemo, da so tri sočasne rotacije okrog koordinatnih osi, ki jih opisuje vektor SORA, ekvivalentne eni sami rotaciji. Os te rotacije sovpada z vektorjem SORA, medtem ko je rotacijski kot enak njegovi velikosti. Na enak način pokažemo tudi, da sočasne rotacije okrog koordinatnih osi referenčnega sistema pomenijo isto orientacijo kot sočasne rotacije okrog osi koordinatnega sistema togega telesa, če sta le oba koordinatna sistema na začetku poravnana. Z upoštevanjem vektorja SORA prostorsko orientacijo togega telesa izračunamo v enem samem koraku in se tako izognemo iterativnemu izračunu približka zaporedja infinitezimalnih rotacij. Iz opisanih razlogov je lahko vektor SORA zelo prikladen za predstavitev prostorske orientacije. Ključne besede: prostorska orientacija, rotacija, os rotacije, kot rotacije Simultaneous Orthogonal Rotations Angle Angular orientation refers to the position of a rigid body intrinsic coordinate system relative to a reference coordinate system with the same origin. It is specified with a sequence of rotations needed to move the rigid-body coordinate-system axes initially aligned with the reference coordinate-system axes to their new position. The use of sequential rotations may be inconvenient. They are not commutative and in general, 24 possible sequences exist. In this paper we present a novel way for representing angular orientation. We define the Simultaneous Orthogonal Rotations Angle (SORA) vector with components equal to the angles of three simultaneous rotations around coordinate-system axes. We numerically verify that SORA is equal to the rotation vector - the three simultaneous rotations it comprises are equivalent to a single rotation. The axis of this rotation coincides with the SORA vector while the rotation angle is equal to its magnitude. We further verify that if the coordinate systems are initially aligned, simultaneous rotations around the reference and rigid body intrinsic axes represent the same angular orientation. Considering the SORA vector, we can calculate angular orientation in a single step. SORA can thus be a very convenient way for angular-orientation representation. 1 Uvod Prostorska orientacija označuje položaj koordinatnega sistema togega telesa glede na referenčni koordinatni sistem z istim izhodiščem. Predstavimo jo lahko z zaporedjem rotacij, potrebnih, da zasučemo osi koordinatnega sistema togega telesa, ki so na začetku poravnane z osmi referenčnega sistema, v njihovo novo lego. Referenčni in togemu telesu pripadajoči sistem sta desno sučna kartezična koordinatna sistema z osmi x, y, z in x', y', z', kot to prikazuje slika 1. y y' Slika 1: Referenčni in togemu telesu pripadajoči koordinatni sistem Po Eulerjevem teoremu o rotaciji [1 p.83] zadoščajo za opis medsebojnega položaja dveh poljubnih neodvisnih koordinatnih sistemov z istim izhodiščem največ tri zaporedne rotacije okrog koordinatnih osi. Ker dve zaporedni rotaciji ne smeta biti okrog iste koordinatne osi, obstaja 12 različnih zaporedij. Prostorsko orientacijo lahko opišemo tako z rotacijami okrog osi referenčnega, kot tudi z rotacijami okrog osi togemu telesu pripadajočega koordinatnega sistema. Število različnih rotacijskih zaporedij se tako podvoji. Glede na to, da zaporedne rotacije niso komutativne, na splošno vsako izmed 24 rotacijskih zaporedij pomeni drugo prostorsko orientacijo. V tem članku predlagamo nov način predstavitve prostorske orientacije z vektorjem SORA (Simultaneous Orthogonal Rotations Angle). Komponente tega vektorja so enake zasukom (rotacijskim kotom) treh sočasnih rotacij okrog vseh treh koordinatnih osi. Ker so rotacije sočasne, se izognemo problemu nekomutativnosti. Vektor SORA tako enoumno določa položaj koordinatnega sistema togega telesa glede na referenčen koordinaten sistem z istim izvorom. V nadaljevanju predpostavimo, da je vektor SORA enak rotacijskemu vektorju ekvivalentne rotacije okrog ene osi in da os te rotacije sovpada z vektorjem SORA, medtem ko je rotacij ski kot enak njegovi velikosti. Za numerično potrditev omenjenih predpostavk primerjamo matrično predstavitev prostorske orientacije, ki jo dobimo z rotacijo okrog vektorja SORA, in matrično predstavitev prostorske orientacije, ki jo dobimo, če predstavimo sočasno rotacijo okrog treh koordinatnih osi z nizom zaporednih infinitezimalno majhnih rotacij okrog teh osi. Vrstni red pri infinitezimalnih rotacijah ni pomemben, saj zanje velja komutativnost [2]. okrog katere koli izmed treh osi referenčnega koordinatnega sistema. Ob pogoju različnih osi zaporednih rotacij sta lahko druga in tretja rotacija okrog katere koli od dveh osi prvega oziroma drugega vmesnega sistema. Tako dobimo 12 mogočih Eulerjevih zaporedij. Vsako Eulerjevo zaporedje je ekvivalentno enemu zaporedju rotacij okrog referenčnih osi. Tako lahko trije koti zaporednih rotacij pomenijo katerokoli od 24 mogočih rotacijskih zaporedij. Zato je pri navedbi kotov nujno navajati tudi zaporedje, na katero se nanašajo. 2.2 Os in kot rotacije Eulerjev teorem o rotaciji tudi pravi, da tri rotacije okrog koordinatnih osi lahko predstavimo z eno samo rotacijo okrog neke nove osi. Os in kot rotacije [5, 6] je par sestavljen iz enotskega vektorja, ki je os rotacije, in skalarja kota rotacije okrog te osi: f (a ,9) = a _ z _ A ,9 (1) 2.3 Rotacijski vektor Rotacijski vektor ima smer rotacijske osi, njegova velikost pa je enaka kotu rotacije: r = a 9 = ax 9 ay 9 a 9 (2) a x a y 2 Predstavitev prostorske orientacije Povedali smo že, da lahko prostorsko orientacijo predstavimo z rotacijami, potrebnimi, da zasučemo osi koordinatnega sistema togega telesa, ki so na začetku poravnane z osmi referenčnega sistema, v njihovo novo lego. Na splošno so za to potrebne tri zaporedne rotacije okrog koordinatnih osi ali pa ena sama rotacija okrog izbrane osi. Uporabljajo se različni načini predstavitve prostorske orientacije, kot npr. Eulerjevi koti, rotacijske matrike, os in kot rotacije, rotacijski vektorji in kvaternioni. 2.1 Eulerjevi koti Kote treh zaporednih rotacij Eulerjevega teorema o rotaciji imenujemo Eulerjevi koti [1 p.83, 3, 4]. Zaporedje Eulerjevih kotov lahko identificiramo z navedbo osi rotacij. Pri Eulerjevih kotih se slednje nanašajo na referenčen in dva vmesna koordinatna sistema [3]. Orientaciji vmesnih sistemov sta določeni s prvo in drugo zaporedno rotacijo. Prva rotacija je lahko Pomembno je poudariti, da zaporednih rotacij ne moremo predstaviti s seštevkom rotacijskih vektorjev. 2.4 Rotacijska matrika Prostorsko orientacijo togemu telesu pripadajočega koordinatnega sistema lahko v celoti opredelimo s sistemom treh enačb baznih vektorjev. Vsak bazni vektor koordinatnega sistema togega telesa izrazimo z linearno kombinacijo referenčnih baznih vektorjev: u ' = r u + r u + r u x xx x xy y xz z u ' = r u + r u + r u y yx x yy y yz z u ' = r u + r u + r u z zx x zy y zz z (3) Devet parametrov iz enačb (3) sestavlja rotacijsko matriko 3x3 [7]: R = r r r xx yx zx r r r xy yy zy r r r xz yz zz (4) Matrika (4) opisuje rotacijo, potrebno za zasuk osi koordinatnega sistema togega telesa, na začetku poravnanega z osmi referenčnega sistema v njihovo novo lego. Rotacijska matrika (4) je realna in ortonormalna: R • Rt = Rt • R = 1 z determinanto enako: R = 1. q = a + i • b + j • c + k • d , kjer velja: i2 = j2 = k2 = i • j • k = —1. a2 + b2 + c2 + d2 = 1 qux q • qux • q quy = q • quy • q (12) qu = q • qu • q (5) (6) pri čemer so imaginarni deli kvaternionov Zmnožek dveh ali več rotacijskih matrik je rotacijska matrika zaporedja teh rotacij, pri čemer je vrstni red posameznih rotacij v zaporedju pomemben. 2.5 Kvaternioni Kvaternioni [1 p.106-112] sestavljajo štiridimenziona-len vektorski prostor z baznimi vektorji 1, i, j in k: (7) (8) V izrazu (7) a označuje realni del b, c in d pa imaginarne dele kvaterniona q . Podroben vpogled v kvaternione in pomembnejše operacije je predstavljen v [1 p.106-112]. Normaliziran kvaternion: qux, quy, quz, qux ', quy', in quz' enaki ustreznim baznim vektorjem, realni deli so enaki 0. Zmnožek rotacijskih kvaternionov je rotacijski kvaternion zaporedja rotacij, pri čemer je, podobno kot pri matrikah, vrstni red posameznih rotacij v zaporedju pomemben. 3 Prostorska orientacija pri sočasnih ORTOGONALNIH ROTACIJAH 3.1 Definicija V prejšnjem poglavju smo govorili o zaporednih rotacijah za predstavitev orientacije koordinatnega sistema togega telesa. Predstavimo zdaj prostorsko orientacijo s tremi sočasnimi rotacijami konstantnih hitrosti. Označimo kotne hitrosti vrtenja togemu telesu pripadajočih koordinatnih osi okrog referenčnih osi z O, (O in O) ter pripadajoče kotne premike z (/) , : = x dt y dt z dt Potem predstavimo kotne hitrosti z vektorji: fi = (13) m x " 0 " " 0 " 0 ; fi = y m y ; fi = z 0 0 0 m z (14) Kotne hitrosti (14) so poravnane s koordinatnimi osmi referenčnega sistema. Njihove velikosti pa so enake posameznim kotnim hitrostim. Seštevek vektorjev kotnih hitrosti (14) je nov vektor 3D kotne hitrosti: fi = fi + fi + fi = m m m (15) Opredelimo zdaj ob upoštevanju enačb (13)-(15) nov vektor prostorske orientacije pri sočasnih ortogonalnih rotacijah Simultaneous Orthogonal Rotations Angle (SORA): z m x M = fi • t = m y • t = < (16) m z pri čemer je t celoten čas rotacije. Komponente vektorja SORA (16) so zasuki (rotacijski koti) treh sočasnih rotacij okrog referenčnih koordinatnih osi. Omenili smo že Eulerjev rotacijski teorem, po katerem lahko predstavimo tri rotacije okrog koordinatnih osi sistema z eno samo rotacijo okrog neke nove osi. Predpostavimo zdaj, da so sočasne rotacije s kotnimi hitrostmi (Ox, (Oyin® ki jih pomeni vektor SORA, ekvivalentne eni sami rotaciji s kotno hitrostjo fi .Os u in kot < te rotacije sta potem podana kot: u = M NI m +<+< p=\ mi=4<+<. < < < A< =^; A