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. Slika 1: Referenčni in togemu telesu pripadajoči koordinatni sistem Prejet 23. december, 2010 Odobren 3. februar, 2011 8 TOMAŽIČ, STANČIN 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 rotacijski 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]. 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 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: ( , ) , x y z a a a ϕ ϕ=               r a . (1) 2.3 Rotacijski vektor Rotacijski vektor ima smer rotacijske osi, njegova velikost pa je enaka kotu rotacije: x y z a a a ϕ ϕ ϕ ϕ ⋅ = ⋅ = ⋅ ⋅          r r a . (2) 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: ' ' ' x xx x xy y xz z y yx x yy y yz z z zx x zy y zz z r r r r r r r r r = ⋅ + ⋅ + ⋅ = ⋅ + ⋅ + ⋅ = ⋅ + ⋅ + ⋅ u u u u u u u u u u u u (3) Devet parametrov iz enačb (3) sestavlja rotacijsko matriko 3x3 [7]: xx yx zx xy yy zy xz yz zz r r r r r r r r r =          R . (4) PROSTORSKA ORIENTACIJA PRI SOČASNIH ORTOGONALNIH ROTACIJAH 9 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: 1T T⋅ = ⋅ =R R R R (5) z determinanto enako: 1.=R (6) 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: ,q a i b j c k d= + ⋅ + ⋅ + ⋅ (7) kjer velja: 2 2 2 1.i j k i j k= = = ⋅ ⋅ = − (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: 2 2 2 2 1a b c d+ + + = (9) pomeni rotacijo okrog usmerjenega vektorja [ ]0 0 0x y z za kot ϕ . Rotacijska os in kot sta določena s komponentami normaliziranega kvaterniona: cos sin sin sin 2 2 2 2 .q i j k ϕ ϕ ϕ ϕ = + ⋅ + ⋅ + ⋅ (10) Rotacija poljubnega vektorja v je izražena s produktom kvaternionov: * , R v q v q= ⋅ ⋅ (11) pri čemer sta usmerjen vektor rotacije in njen kot določena s komponentami kvaterniona q (10). Z * q je označena konjugirano kompleksna vrednost q . Vektorja v in R v v enačbi nastopata kot kvaterniona v in R v z realnimi komponentami, enakimi 0. Sledi, da je prostorska orientacija togemu telesu pripadajočega koordinatnega sistema z uporabo kvaternionov enaka: * * * ' ' ' x x y y z z qu q qu q qu q qu q qu q qu q = ⋅ ⋅ = ⋅ ⋅ = ⋅ ⋅ , (12) pri čemer so imaginarni deli kvaternionov , , , ', ', x y z x y qu qu qu qu qu in ' z qu 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 , x y ω ω in z ω ter pripadajoče kotne premike z , x y φ φ in . z φ Zapišemo lahko: ; ; .yx z x y z dd d dt dt dt φφ φ ω ω ω= = = (13) Potem predstavimo kotne hitrosti z vektorji: 0 0 0 ; ; 0 0 0 x x y y z 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: x x y z y z ω ω ω = + + =          Ω Ω Ω Ω . (15) Opredelimo zdaj ob upoštevanju enačb (13)-(15) nov vektor prostorske orientacije pri sočasnih ortogonalnih rotacijah Simultaneous Orthogonal Rotations Angle (SORA): 10 TOMAŽIČ, STANČIN x x y y z z t t ω φ ω φ ω φ = ⋅ = ⋅ =                    Φ Ω , (16) 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 , x y ω ω in z ω ki jih pomeni vektor SORA, ekvivalentne eni sami rotaciji s kotno hitrostjo Ω .Os u in kot φ te rotacije sta potem podana kot: 2 2 2 x y z φ φ φ = = + + Φ Φ u Φ (17) 2 2 2 . x y z ϕ φ φ φ= = + +Φ (18) Če zgornja predpostavka drži, potem je vektor SORA enak rotacijskemu vektorju ekvivalentne rotacije. V naslednjem razdelku podajamo numerično potrditev navedenih predpostavk. 3.2 Numerična potrditev Končno rotacijo, označeno z rotacijsko matriko ,R lahko predstavimo z neskončnim zaporedjem infinitezimalnih rotacij, označenih z rotacijsko matriko .dR V približku neskončno zaporedje infinitezimalnih rotacij predstavimo z n zaporednimi rotacijami za majhne kote. Ko upoštevamo tri sočasne rotacije okrog koordinatnih osi, je vsaka rotacija v prej omenjenem zaporedju sestavljena iz treh sočasnih rotacij okrog koordinatnih osi za majhne kote , x y φ φ∆ ∆ in z φ∆ kjer ; ; . yx z x y z n n n φφ φ φ φ φ∆ = ∆ = ∆ = (19) Vsako posamezno rotacijo v zaporedju lahko predstavimo z rotacijsko matriko xyz ∆R : ( , ) ( , ) ( , ), xyz z z y y x x φ φ φ= ∆ ⋅ ∆ ⋅ ∆∆R R u R u R u (20) pri čemer smo z ( , ) x x φ∆R u , ( , ) y y φ∆R u in ( , ) z z φ∆R u označili rotacijske matrike okrog posameznih koordinatnih osi. Za celoten zasuk, ki ga označujejo koti , x y φ φ in , z φ moramo približek neskončnega zaporedja infinitezimal- nih rotacij, označenih z rotacijsko matriko , xyz ∆R n - krat ponoviti. Rotacijska matrika celotne rotacije ( ) xyz nR je tako enaka n -ti potenci rotacijske matrike xyz ∆R : ( ) .n xyz xyz n =R ∆R (21) Različna rotacijska zaporedja dobimo s spreminjanjem vrstnega reda množenja matrik (20). Infinitezimalne rotacije so komutativne. Pri dovolj velikemu n bodo tudi približki neskončnega zaporedja infinitezimalnih rotacij komutativni. Pri določanju rotacijske matrike (21) po opisanem postopku smo upoštevali rotacije okrog osi referenčnega koordinatnega sistema. Če se togo telo vrti okrog lastnih koordinatnih osi, dobimo matriko celotne rotacije ( ) ' xyz nR z n iteracijami naslednjih rekurzijskih enačb: 1 ( , ( ) ' ) ( , ) ( ) ' ( , ) i x xyz i i y i y xyz i z i z n R n φ φ φ + = ∆ = ∆ ⋅ = ∆ ⋅ P R R Q P u R R Q u , (22) pri čemer je začetna vrednost rotacijske matrike ( ) ' xyz nR : 0( ) ' ,xyz n =R I (23) kjer je I 3x3 enotska matrika. Privzemimo, da je naš približek neskončnega zaporedja infinitezimalnih rotacij dovolj natančen, če se rezultata rotacijskih matrik dveh različnih rotacijskih zaporedij ( ) xyz nR in ( ) x n yz R ujemata na prvih šestih decimalnih mestih. Rotacijske matrike smo izračunali po opisanem postopku z orodjem Mathematica [8] za številne primere. Pri vseh smo zahtevano natančnost dosegli pri 710n = . Za iste primere smo izračunali tudi rotacijsko matriko ( ) ' xyz nR , ki pomeni rotacijo okrog togemu telesu pripadajočih koordinatnih osi. Pri 710n = so se rezultati izračunanih rotacijskih matrik ( ) ' xyz nR ter ustreznih ( ) xyz nR in ( ) yzx nR ujemali na prvih šestih decimalnih mestih. Iz tega lahko sklepamo, da pomenijo sočasne rotacije okrog togemu telesu pripadajočih koordinatnih osi isto kotno orientacijo kot sočasne rotacije okrog referenčnih koordinatnih osi. Nazadnje smo še izračunali rotacijsko matriko , SORA R ki pomeni eno samo rotacijo okrog osi, ki jo PROSTORSKA ORIENTACIJA PRI SOČASNIH ORTOGONALNIH ROTACIJAH 11 določa smer vektorja SORA (17), za kot, ki ga določa velikost tega vektorja (18). Rezultati SORA R so se ujemali z vsemi izračunanimi rezultati približkov zaporedja infinitezimalnih rotacij (označeni z rotacijskimi matrikami ( ) xyz nR , ( ) yzx nR in ( ) ' xyz nR ) na prvih šestih decimalnih mestih. To potrjuje, da je vektor SORA enak rotacijskemu vektorju oziroma da tri simultane rotacije okrog koordinatnih osi lahko predstavimo z eno samo rotacijo. Os in kot te rotacije pa sta določena s smerjo in velikostjo vektorja SORA. Kot je bilo že omenjeno, smo opravili številne numerične preizkuse. Na tem mestu podajamo zgolj ilustrativen primer za kote 0.75 x φ = , 0.90 y φ = in 0.60 z φ = . Pri 710n = se rezultati, izračunani z uporabo orodja Mathematica [8], ujemajo na prvih šestih decimalnih mest in so enaki: ( ) ( ) ( ) ' 0.494730 0.149651 0.856065 0.732655 0.601614 0.318240 0.467395 0.784643 0.407280 SORA xyz yzx xyz n n n= = = = − = − −          R R R R . (24) 4 SKLEP V članku smo predlagali nov način predstavitve prostorske orientacije z vektorjem SORA (Simultaneous Orthogonal Rotations Angle), ki ima komponente enake rotacijskim kotom treh sočasnih rotacij okrog koordinatnih osi. Numerično smo potrdili, da je vektor SORA enak rotacijskemu vektorju – tri sočasne rotacije, ki jih ta združuje, so ekvivalentne eni sami rotaciji okrog osi, ki je določena s smerjo vektorja SORA, za kot, ki ga določa velikost tega vektorja. Prav tako smo pokazali, da sočasne rotacije okrog osi togemu telesu pripadajočega koordinatnega sistema in referenčnega sistema pomenijo enako prostorsko orientacijo. 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. Zaradi navedenega je vektor SORA lahko zelo prikladen način za opis prostorske orientacije. V nadaljnjem delu bomo skušali tudi analitično dokazati trditve, ki smo jih v tem članku zgolj numerično preverili. ZAHVALA Raziskava je bila izvedena v sklopu raziskovalnega programa 'Algoritmi in optimizacijski postopki v telekomunikacijah', ki jo financira Javna agencija za raziskovalno dejavnost Republike Slovenije.