• No results found

Analyse av Treghetsnavigasjons Systemer

N/A
N/A
Protected

Academic year: 2022

Share "Analyse av Treghetsnavigasjons Systemer"

Copied!
98
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

UNIVERSITETET I OSLO

Fysisk institutt

Analyse av Treghets- navigasjons Systemer

Masteroppgave

(30 studiepoeng)

Petter Moagi Lefoka

21. Mai 2013

(2)
(3)

Forord

Denne oppgaven er en del av min mastergrad elektronikk og datateknologi ved fysisk institutt på universitetet i Oslo. Jeg vil gjerne takke veilederen min, Oddvar Hallingstad for all støtte og innspill til denne oppgaven, og jeg vil takke moren min for å ha lest korrektur.

Petter Moagi Lefoka

Kjeller 21. Mai 2013

(4)
(5)

Sammendrag

I denne oppgaven er en analyse av treghetsnavigasjons systemer. Målet har hvert å finne minimums kvalitet akselerometer og gyrometer sensorer må opprettholde for treghetsnavigasjons systemer til forskjellige bruksområder.

Dette har blitt gjort ved å lage en mattematiskmodell av systemet som inneholder først èn banegenerator og et støymodellerings program der det blir generert målinger fra en kjent bane så genereres støy som inneholder hvitstøy og fargetstøy som adderes på målingene. Deretter et TNS system som gjør navigasjonssimuleringer på de stokastiske målingene, med et Kalmanfilter som minimerer driften gitt av støyen og integreringsfeil. Tilslutt er det et kovariansanalyseprogram for og se hva som må bli gjort av endringer i det teoretiske systemet for at det skal kunne opprettholde minimumsdriftkravene.

Det har blitt simulert på to forskjell forskjellige senarioer, der det første er et senario der målet er og kunne måle konturene til et lite objekt med en mobiltelefon, der bevegelses område er lite og det blir brukt nullhastighets måleoppdateringer for å korrigere for driften. I det andre senarioet er det ett modell fly der bevegelses området er mye større og måleoppdateringer blir gjort ved hjelp av GPS, i dette senarioet må sensorene være gode nokk til at driften i TNS’et blir mindre en 1 meter når det går minst 60 sekunder uten måleoppdateringer.

(6)
(7)

Notasjon 10 A INNLEDNING. . . .11 B MATEMATISKGRUNNLAG. . . .13

B.1 Navigasjonsrammer 13

B.1.1 Jordramme { e} 13

B.1.2 Geogra…skramme, { n} 13

B.1.3 Legemeramme, { b} . 13

B.1.4 Akselerometerramme og Gyrometerramme, { a} og { g} . 13

B.2 Vektorer 13

B.3 Skjevsymmetriskmatrise 13

B.4 Koordinattransformasjonsmatrise (KTM) 14

B.5 Støy 14

B.5.1 Hvitstøy 14

B.5.2 Fargetstøy 15

B.6 Diskretisering 15

C BANEGENERATOR. . . 17

C.1 Støymodellering 18

C.1.1 Mattematiskgrunnlag 19

C.1.2 Modellering 19

Akselerometerstøy 19

C.1.3 Diskretisering 21

Gyrometerstøy 21

C.1.4 Pesudokode 22

C.2 Resultat 24

D TREGHETSNAVIGASJONS SYSTEMER . . . .27

D.1 Eulers metode 27

D.2 Eulers-Heuns metode 27

E KALMANFILTER. . . .29

E.0.1 KF 29

E.0.2 LKF 29

E.1 Filtermodell 30

E.2 Nav Prosessmodell 31

INNHOLD

(8)

E.2.1 Sann-prosessmmodell 31

E.2.2 Filtermodell 32

E.2.3 Målemodell 34

E.2.4 Spektraltettheter og kovarians 34

E.3 Lineærisert diskretisert …ltermodell 36

E.3.1 LKF likningene 36

Måleoppdatering 36

E.4 Resultater av TNS med et LKF 37

E.4.1 Euler mot Euler-Heuns metoden 38

F FEILBUDSJETT . . . .41

F.1 Feilgrupper 41

F.2 Resultat av kovarians analysen 42

F.2.1 Pseudo-kode Feilbudsjett 49

G MODELFLY . . . .51

G.1 Banegenerator for modell ‡y. 51

G.1.1 Generering av deterministiske målinger 52

Koordinattransformasjonsmatrisen 53

G.1.2 Psudokode 53

G.1.3 Resultat fra den deterministiske banegenereringen for modell‡y 54

G.1.4 Deterministisk simuleringer av TNS 55

Resultat av deterministiske simuleringer 55

G.1.5 Stokastiske simuleringer av TNS 56

G.1.6 Resultat fra stokastiske simuleringer 57

H KOVARIANSANALYSE AV TNS FOR MODELFLY. . . .61 I KONKLUSJON OG VIDERE ARBEID . . . .63

I.1 Konklusjon 63

I.2 Videre arbeid 64

Referanser 65

Appendiks A: BKG3.M: 67

Appendiks B: DBG.M: 75

Appendiks C: STOY.M: 81

Appendiks D: ERRBUD.M: 85

(9)

Appendiks E: PLOT_ BANEGEN.M: 89

Appendiks F: PLOT_ KALMAN.M: 91

Appendiks G: PLOT_ NAV_ EULER.M: 95

Appendiks H: PLOT_ NAV_ HEUN.M: 97

(10)

Notasjon

Banegenerator:

Rnb Transformasjonsmatrise fra n til b pn Sann posisjonsvektor

vn Sann hastighetsvektor an Sann akselerasjonsvektor fn akselerasjonsvektor sett fra n

!nbb Vinkelhastighetsvektor sett fra n Kalman:

x Sann tilstandsvektor x feilvektor

x Prediktert feilvektor b

x Estimert feilvektor z Målevektor

H Målematrise Kontinuerlig:

x(t) Tilstandsvektor u(t) Pådragsvektor v(t) Hvitstøyvektor F(t) Prosessmatrise L(t) Pådragsmatrise G(t) Støymatrise P(t) Kovariansmatrise Q~ Spektraltetthetsmatrise Diskret:

xk Tilstandsvektor uk Pådragsvektor vk Hvitstøyvektor

k Prosessmatrise

k Pådragsmatrise

k Støymatrise Pk Kovariansmatrise Q Spektraltetthetsmatrise NAV Prosessmodell:

x Sann tilstandsvektor

~

x Estimert tilstandsvektor

~

pn Estimert posisjonvektor sett fra n

~

vn Estimert hastighetvektor sett fra n

R~bn Estimert transformasjonsmatrise fra b til n fb Akselerasjon sett fra b

!bbb Vinkelhastighet sett fra b Støyvektor gamma Støyvektor beta

v Hvitstøyvektor 10

(11)

Del A:

Innledning

Denne oppgave er basert på ‡ere tidligere masteroppgaver der temaet har hvert treghetsnavigasjons systemer. Der det blant annet tidligere har blitt lagd en Android app. Som kan logge data fra akselerome- ter og gyrometer sensorer, og det blitt lagd et program som estimerer gyroparametre fra stokastiske målinger. Det har også blitt gjort en simu- leringsoppgave der det ble generert deterministiske måledata til sensor- modeller for en enkel bane og et Kalman…lter, men Kalman…lteret er enda ikke testet på stokastisk måledata.

Målet med denne oppgaven er og hovedsakelig gjøres en analyse av treghetsnavigasjons systemer der det må undersøkes hvilken e¤ekt forskjel- lige typer støy har på et treghetsnavigasjons system og det skal un- dersøkes hvilke spesi…kasjoner de forskjellige sensorene må ha for at TNS’et skal fungere optimalt. Da må det bygges videre på den sist- nevnte oppgaven, der det må lages et støymodelleringsprogram for få testet Kalman…lteret på stokastiske målinger. Det må også lages et kovariansanalyseprogram som kan isolere e¤ekten de forskjellige støyk- ildene har på et TNS.

Videre skal det også lages en mattematiskmodell for et TNS beregnet modell‡y med en banegenerator som genererer stokastiske målinger, der sensorene er en klasse bedre enn mobiltelefon sensorer. Og det skal gjøres en kovariansanalyse på dette systemet for og se hvilken e¤ekt de samme støykildene har på et system med høyere nøyaktighetskrav.

11

(12)
(13)

B.3 Skjevsymmetriskmatrise

Del B:

Matematiskgrunnlag

Treghetsnavigasjon er navigasjon der man beregner posisjon, hastighet og orientering i rommet, ved å integrere opp akselerasjon og vinkelhastighets målinger over tid. Denne metoden trenger i teorien ikke noen eksterne referanse kilder til å beregne posisjonen, og er derfor mye brukt i romfart, luftfart og maritime sammenhenger. I praksis så er driften i et TNS en funksjon av tiden, og over tid vil derfor være nødvendig med en ekstern korrigerings kilde. I denne oppgaven skal det modelleres et TNS basert på MEMS (MicroElectroMechanical Systems) sensorer, også kjent som lavkost sensorer.

B.1 Navigasjonsrammer

B.1.1 Jordramme {e}

Jordrammen er viser posisjonen i forhold til jordkloden, den er ikke i bruk i oppgaven men er som regel en ECEF (Earth centered, earth …xed) ramme, med origo i jordens massesenter, og akser som sammenfaller med IRP (International reference pole) og IRM (International reference merdian).

B.1.2 Geogra…skramme, {n}

Den geogra…ske rammen, er en lokal representasjon av område det navigeres i. Den geogra…ske rammen kan være en geogra…skrepresentasjon av område legemet oppholder seg i der aksene til rammen sammenfaller med nord, øst og opp. Eller den kan være et enkelt kartesisk koordinatsys- tem, der origo ligger i et kjent punkt ofte p0.

B.1.3 Legemeramme, {b}.

Legemerammen har origo i massesenteret til legemet som det navigeres fra, aksene sammenfaller med roll, pitch og yaw aksene til legemet.

B.1.4 Akselerometerramme og Gyrometerramme, {a} og {g}.

Akselerometer og gyrometer rammene ligger i hvert sitt kartesiske koordinatsystem, de har sitt origo i massesenteret til henholdsvis akselerometeret og gyrometeret. Det er her antatt at de sammenfaller med legemerammen.

B.2 Vektorer

Normen til en vektor xer de…nert ved jjxjj=p

x21+x22+x23

Enhetsvektoren er en retningsvektor med lengde en og er de…nert ved b= jjxxjj

B.3 Skjevsymmetriskmatrise

En skjevsymmetriskmatrise A er en nxn matrise der den transponerte er lik den negative av

(14)

B Matematiskgrunnlag

matrisen, slik atAT = A. Den skjevsymmetriskmatrisen av en vektorx;er gitt av S(x) =

2

4 0 x3 x2

x3 0 x1 x2 x1 0

3

5 (B- 1)

Når den skjevsymmetriskematrisen er de…nert slik kan kryssproduktet av to vektorer skrives slik:

~ax~b <=> S(a) b (B- 2)

B.4 Koordinattransformasjonsmatrise (KTM)

Koordinattransformasjonsmatrisen transformerer koordinater mellom koordinatsystemer. I denne oppgaven blir det mellom geogra…skramme {n} og legemerammen {b}. Matrisen Rnb beskriver en transformasjon fra legemerammen {b} til geogra…skramme {n}. Hvis vektoren er bygd opp av eulervinklene ' T som står for roll, pitch og yaw. Når eulervinklene beskriver orienterin- gen til {b} i forhold til {n}, kan koordinattransformasjonsmatrisen de…ners som Rnb = R321( ).

Der rotasjonsmatrisenR321( ) beskriver en rotasjon rundt z-y-x aksene.

R321( ) er di…nert som:

R321( ) =R3( ) R2(') R1( ) (B- 3)

Der R3 en rotasjon rundt z-aksen; R2 en rotasjon rundt y-aksen og R1 en rotasjon rundt x-aksen er gitt av

R3( 3) = 2

4 cos( 3) sin( 3) 0 sin( 3) cos( 3) 0

0 0 1

3

5 (B- 4)

R2( 2) = 2

4 cos( 2) 0 sin( 2)

0 1 0

sin( 2) 0 cos( 2) 3

5 (B- 5)

R1( 1) = 2

4 1 0 0

0 cos( 1) sin( 1) 0 sin( 1) cos( 1)

3

5 (B- 6)

Det gjør at R321( )kan skrives slik, når cx = cos(x) og sx= sin(x):

R321( ) = 2 4

c 3c 2 c 3s2s 1 s 3c 1 c 3s 2c 1+s 2s 1 s 3c 2 s 3s 2s 1+c 3c 1 s 3s2c 1 c 3s 1

s 2 c 2s 1 c 2c 1

3

5 (B- 7)

Rbn= (Rnb) 1 =Rn Tb (B- 8)

B.5 Støy

B.5.1 Hvitstøy

Hvitstøy er de…nert som et signal med null som forventningsverdi og en uniform sannsynlighet- stetthetsfordeling med uendelig båndbredde. Et hvitstøy signal med en båndbredde som dekker hele frekvensspekteret er vanskelig å modellere, og det blir derfor ofte brukt gausiskhvitstøy som en tilnærming.

Browns bevegelse er integrert hvitstøy som fører til en tilfeldig vandring fra forventingsverdien også kalt virrevandring (random walk). Denne typen støy er hvit støy gjeldende på!_ og f_nivå gitt av

(15)

B.6 Diskretisering

_

x = w (B- 9)

der w v N(0; 2) (B- 10)

B.5.2 Fargetstøy

Fargetstøy forekommer når hvitstøy blir …lteret. Den fargetstøy prosessen som beskrives i oppgaven er en første ordens Gaus-Markov prosess. En Gaus-Markov prosess er beskrevet av

_

x = 1

Tx+w (B- 11)

der w v N(0; 2) (B- 12)

Der T1 er korelasjons tiden, og w er et hvitstøy element. En prosess er en første ordens Markov prosess hvis

p[x(tk)jx(tk 1); :::; x(t1)] =p[x(tk)jx(tk 1)] (B- 13) Dvs. hvis sannsynlighetstetthetsfunksjonen kun er avhengig av verdiene fra forrige tidsskritt. Hvis da hvitstøyelementet, w, har en gausisk sannsynlighetstetthetsfunksjon, kan prosessen kalles en Gauss-Markov prosess.

B.6 Diskretisering

Hvis man har et kontinuerlig-diskret system på formen _

x(t) = F x(t) +Lu(t) +Gv(t) (B- 14)

P_(t) = F P(t) +P(t)FT +GQGe T (B- 15)

zk = Hxk+wk (B- 16)

Skrives diskretiseringslikningene slik

(tk+1;tk) = eF(tk+1 tk) =eF t (B- 17)

uk =

tk+1

Z

tk

(tk+1; )Lu( )d (B- 18)

Q T = S =

tk+1

Z

tk

(tk+1; )GQG~ T T(tk+1; )d (B- 19)

Hvis man antar at u(tk) =uk kan det lages et nytt system på formen dtdxe=Fexe _

x _

u = F L

0 0 x

u der Fe= F L 0 0 e =eFe t= e11 e12

0 I (B- 20)

Slik at nå er xk+1

uk+1 = e11 e12

0 I

xk

uk (B- 21)

Nå kan systemet skrives slik xk+1 = xk+ uk = e11xk+ e12uk man har da funnet og

(16)

B Matematiskgrunnlag matrisene.

For å …nne lambda kan det konstrueers en Fee matrise på formen Fee = F GQG~ T

0 FT (B- 22)

eFee t = " ee11 ee12 0 ee22

#

(B- 23)

Slik at man kan …nne Q T slik Q T = ee12ee221:Ut ifra Q T kan bli funnet ved hjelp av UD faktorisering. DerS =U DUT = Q T

Hvis Q = I kan stykket skrives om til I T = U D12 I (U D12)T ved hjelp av Cholesky faktorisering, slik at =U D12.

Der S= T =U D12 (U D12)T

T =

2

4 11 0 0

21 22 0

31 32 33

3 5

2

4 011 1222 1323

0 0 33

3

5 (B- 24)

ii = vu utAii

i 1

X

k=1

L2i;k (B- 25)

ji = 1

jj

(Aji i 1

X

k=1

Lj;kLi;k) (B- 26)

Dermed har man funnet , og får det diskrete systemet

xk+1 = xk+ uk+ vk (B- 27)

Pk+1 = Pk T + Q T der Q=I og P0= t P(t0) (B- 28)

zk = Hxk+wk (B- 29)

(17)

Del C:

Banegenerator

Banegeneratoren gir ut realistiske målinger for en forhåndsbestemt bane, de målingene brukes til og teste nøyaktigheten til navigasjons systemet. I første omgang modelleres banen til et kvadrat, der legemet (mobiltelefonen) som er i bevegelse stopper i to sekunder i hvert hjørne. Der banen sett rett oven i fra ser slik ut som i …guren under.

Banen generert av banegeneratoren

Figuren, prosessmodell banegenerator, viser blokkskjemat til banegeneratoren. Iden der er at det først blir generert støyfrie målinger som etter og ha kjørt igjennom treghetsnavigasjonslikningene gir sannposisjon, sannhastighet og sannorientering. Deretter blir støyen modellert og lagt til målin- gen slik at man har realistisk støyfylte målinger, som brukes til å teste treghetsnavigasjonssystemet.

Prosessmodell, Banegenerator

For simuleringen av mobiltelefon MEMS-sensorer så ser målingene som blir generert fra banegen- eratoren slik ut, …guren under. Der ses det at legemet roteres ikke. Langs z-aksen dvs. ned, måles det en konstant akselerasjon på 9.81 m/s^2. Og det kan ses at legemet står stille fra 0-2 sek, 4-6sek, 8-10 sek og 12-14 sek. (Legemet står også stille fra 16 til 18 sekunder, det er noe som ble lagt til senere og jeg kommer tilbake til det.) Der det kan bli gjort en nullhastighets måleoppdatering av Kalman…lteret.

(18)

C Banegenerator

Simulert målt-akselerasjon og vinkelhastighet

Banegeneratoren gir også ut simulert akselerasjon, simulert hastighet og simulert posisjon, for og kunne sammenligne avviket fra beregnet hastighet og beregnet posisjon fra navigasjonssystemet med den sanne tilstanden. Den simulerte akselerasjonen, hastigheten og posisjonen ser slik ut, illustrert i …guren ove.

Sann akselerasjon, hastighet og posisjon.

Den simulerte hastigheten og posisjonen som …guren over illustrerer er det optimale resultatet man har som mål og sitte igjen med når alt er sagt og gjort og systemet er ferdig. Resultatet videre kommer til og bli vist i avvik fra denne banen.

C.1 Støymodellering

(19)

C.1 Støymodellering

C.1.1 Mattematiskgrunnlag

Støyligningen som må modelleres er f og ! de er gitt av

f = a+ a+ a+vf (C- 30)

! = g+ g+ g+v! (C- 31)

De inneholder et fargetstøy element, et integrert hvitstøy element og et hvitstøy element. De inneholder også en tilfeldig konstant, men det ses bort ifra siden det leddet kan inkluderes i det integrerte hvitstøy elementet. Slik at likningene som modelleres blir

f = a+ a+vf (C- 32)

! = g+ g+v! (C- 33)

Der selve gamma, beta og de tilhørende hvitstøyelementene er gitt av følgende likninger, som er like for både akselerometre og gyrometre.

_ (t) = 1

T (t) +v (t) (C- 34)

der (t0) = 0 og v (t)~N(0; 2)

_ (t) =v (t) (C- 35)

der v (t)~N(0; 2)og vx(t)~N(0; 2x)

C.1.2 Modellering

Størrelsen til variansen i hvitstøyelementene er proposjonal med driften over tid i systemet, i første omgang er det ønsket å ha en sammenlagt drift på cirka 1 deg/s og 1 mG/s.

Ved å bruke disse likningene kan det lages to prosessmodeller som beskriver støyen. Modellene er på formen:

_

x(t) = F x(t) +Gv(t) (C- 36)

P_(t) = F P(t) +P(t)FT +GQG~ T (C- 37)

Akselerometerstøy

For akselerometerstøyen kan likningene skrives slik.

_a(t) = va(t) (C- 38)

_a(t) = 1 Ta

a(t) +va(t) (C- 39)

vf(t)~N(0; 2f) (C- 40)

der va(t)~N(0; 2); a(t0) = 0 og va(t)~N(0; 2a) Der variansen til hvitstøyelementene settes til

(20)

C Banegenerator

2a = (1mG=s)2 = (0:00981m=s3)2 (C- 41)

2a = (1mG=s)2 = (0:00981m=s3)2 (C- 42)

2

f = q~

f = (1mG=s)2 = (0:00981m=s3)2 (C- 43)

og korrelasjonstiden blir satt til Ta= 2

Hvis tilstandsvektoren og støyvektoren blir de…nert slik, xa= a a T og va= va va T: Kan systemmodellen skrives slik,

_

xa(t) = Faxa(t) +Gava(t) der xa(t0) er kjent: (C- 44) P_a(t) = FaPa(t) +Pa(t)FaT +GaQ~aGaT der Pa(t0) ogQ~a er kjent (C- 45) så blirFa og Ga lik

Fa = 0 0

0 TIa

(C- 46) Ga = I 0

0 I (C- 47)

Systemmodellen sier at initialverdiene xa(t0) og Pa(t0); og spektraltetthetmatrisen Q~a er kjent.

Initialverdien til tilstandsvektoren settes til null,xa(t0) = 0:For og …nne spektraltetthet og initiel kovorians må man ses på hvordan kovariansen utvikler seg. Utviklingen til kovariansen …nner man ved og sette opp likningene for utviklingen til varians for beta og gamma elementene, det gir:

Beta : p_a(t) =qea (C- 48)

Gamma : p_a(t) = 2

Tapa(t) +qea (C- 49)

Beta: Variansen til betaelementene øker linært siden den deriverte er lik en konstant, som er spektraltettheten til gitt varibel. Hvis den likningen integreres opp ser man at den initiele kovariansen er lik 0. p_a(t) =qea=> pa(t) =qea tSom gir at initiel varianspa(0)må være lik 0 og spektraltettheten må være lik variansen ved 1 sekund.

pa(0) = 0 (C- 50)

e

qa = pa(1) (C- 51)

Gamma: Kovariansen til gamma går mot en stabil tilstand når tiden går mot uendelig slik at _

pa(1) = 0 = T2apa(1) +eqa=>

2

Tapa(1) =qea

Der vi setterpa(1) =pa(0)slik at

pa(0) = 2a (C- 52)

e

qa = 2

Tapa(0) (C- 53)

(21)

C.1 Støymodellering Spektraltettheten kan da skrives slik

Q~a=

"

I qea 0 0 I qea

#

= Pa(1) 0 0 T2aPa(0) Q~a= I 2a 0

0 I T2a

2a

(C- 54) og initiel kovarians kan skrives

Pa(t0) = 0 0 0 I 2a

(C- 55)

C.1.3 Diskretisering

Diskretiseringen av denne prosessen gir

a=eFa t (C- 56)

Spektraltettheten kan diskretiseres slik

Qa =

I qeaTa

2 (1 e 2T at) (C- 57)

Qa = t I qea (C- 58)

qf = t qef = t 2f (C- 59)

Qa = Qa 0

0 Qa (C- 60)

De diskrete hvitstøyelementene bli da beskrevet slik vak~N(0; Qa)

vfk~N(0; qf)

Når spektratetthetmatrisen blir diskretisert slik blir støymatrisen lik G slik at a=Ga

xak+1 = axak+ ava(tk) (C- 61)

Pk+1a = aPka aT + aQa aT der Pka= t Pa(t0) (C- 62) Der gamma og beta er gitt ved

a

k+1 = ak+va;k og va;k~N(0; qa) (C- 63)

a

k+1 = e T a2 t a

k+va;k og va;k~N(0; qa) (C- 64)

Deretter adderes alle elementene samme til

fk= ak+ ak+vfk (C- 65)

Gyrometerstøy

For gyrometerstøyen gjelder samme framgangsmåte. Men ved og bruke diskretiserings metoden beskrevet i innledingen (denne metoden blir brukt for alle diskretiseringer), blir koden mindre komplisert.

_g(t) =vg(t) der vg(t)~N(0; 2)

(22)

C Banegenerator _g(t) = T1g g(t) +vg(t) der g(t0) = 0 og vg(t)~N(0; 2g) v!(t)~N(0; 2!)

Der korrelasjons tidenTg er likTg = 1. Og variansen til hvitsøyelementene blir her satt til

2g = Pg(1) = (1 deg=s)2 = (0:017453rad=s)2 (C- 66)

2

g = Pg(0) = (1 deg=s)2 = (0:017453rad=s)2 (C- 67)

2

! = qe

f = (1 deg=s)2 = (0:017453rad=s)2 (C- 68)

Pg(t0) = 0 0 0 2g Qeg =

"

e qg 0

0 qeg

#

= Pg(1) 0 0 T2gPg(0)

Hvis tilstandsvektoren og hvistøyvektoren skrivesxg = g g T og vg = vg vg T : blir prosessmatrisenFg og støymatrisenGg lik

Fg = 0 0

0 TIg

(C- 69) Gg = I 0

0 I (C- 70)

Systemmodellen kan da settes opp slik _

xg(t) = Fgxa(t) +Ggva(t) (C- 71)

P_g(t) = FgPg(t) +Pg(t)FgT +GgQ~gGgT (C- 72) Diskretisert

xgk+1 = gxgk+ gvg(tk) (C- 73)

Pk+1g = gPkg gT + gQg gT der Qg =I og Pkg =Pg(t0) (C- 74) diskretiseringen av v!(t) blir her gjort på samme måte som forrige gang som var og multiplisere variansen med samplingstiden t, slik at

q! = t qe

! = t 2! (C- 75)

v!k~N(0; q!) (C- 76)

Deretter adderes alle elementene samme til

!k= gk+ gk+v!k (C- 77)

C.1.4 Pesudokode

I =eye(3);

N = 9 200;

(23)

C.1 Støymodellering Ta= 2;

Tg = 1;

t= 1001 ;

2a= (0:00981m=ss 2)2

2g = (0:017453rads )2

Pa(0) =Pa(1) =diag 2a 2a 2a ; Pg(0) =Pg(1) =diag 2g 2g 2g ; Qeg = Pg(1) 0

0 T2gPg(0) ; Qea= Pa(1) 0

0 T2aPa(0) ; Pg(0) =Pa(0) = 0;

Fg = 0 0 0 TIg

;

Fa= 0 0 0 TIa

; G=Gg =Ga=I;

xg(0) = g(0) g(0) T = 0 chol(Pa(0); lower) rand(3;1) T ; xa(0) = a(0) a(0) T = 0 chol(Pa(0); lower) rand(3;1) T ;

g g =diskretisering(Fg; G; t;Qeg);

a a =diskretisering(Fa; G; t;Qea);

P1g = t Pg(0) 0 0 Pg(0) ; P1a= t Pa(0) 0

0 Pa(0) ; f or k= 1 :N 1

f

xgk+1 = gxgk+ g rand(6;1);

Pk+1g = gPkg gT + g gT; xak+1 = axak+ a rand(6;1);

Pk+1a = aPka aT + a aT; g;

fk=xak(4 : 6) +xak(1 : 3) + 2a t rand(3;1);

!k=xgk(4 : 6) +xgk(1 : 3) + 2g t rand(3;1);

(24)

C Banegenerator

C.2 Resultat

Forventet resultat fra støymodelleringen er å ha gamma og beta verdier innen for estimert standard avvik ca 1/3 av tiden. Figuren under viser støyen akselerometerstøy elementene gamma og beta i x-akse sensoren.

Modellering av gamma og beta for akselerometerstøyen.

Det som kan ses her er at over tid kan potensielt random walk prosessen (beta) vandre et stykke unna forventningsverdien. Mens Gauss-Markov prosessen (gamma) potensielt ikke vil være like dominerende, vil den fortsatt gi et solid bidrag til usikkerheten rundt forventningsverdien.

For gyrometerstøyen forventes det samme, men her burde støyen ligge rundt 1 deg/s. Resultatet er cirka det samme som for akselerometerstøyen, det kan ses i …guren under. Der ser også at støyen ligger rundt 1 deg/s.

(25)

C.2 Resultat

Modellering av gamma og beta for gyrometerstøyen.

Selve akselerometer og gyrometer målingene er gitt av

f~b = fb f (C- 78)

~

!nbn = !nbn ! (C- 79)

Når de blir addert sammen, blir resultatet som i …gurene under. Der ser man at gjennomsnittet av støyen faktisk ligger litt over 1 deg/s og 1 mG/s. Noe som vil føre til litt større drift i systemet en antatt.

(26)

C Banegenerator

Gyrometermålinger Akselerometermålinger

(27)

D.2 Eulers-Heuns metode

Del D:

Treghetsnavigasjons Systemer

Treghetsnavigasjon er en posisjonerings metode der man over tid integrerer opp akselerasjon og vinkelhastighet for å bestemme posisjon, hastighet og orientering (Roll, Pitch, Yaw). Et TNS er brukt i systemer der man ikke kan/vil bruke eksterne kilder til posisjonering, som for eksempel undervannsfartøyer eller satteliter eller det blir brukt til og forbedre nøyaktigheten til eksisterende målinger som for eksempel GPS målinger. Problemet med TNS er at driften er en funksjon av t så hvis ikke sensorene er veldig nøyaktige vil driften bli betydelig over kort tid.

D.1 Eulers metode

Eulers metode for treghets navigasjon er som følger.

d

dtpen(t) = evn(t) (D- 80)

d

dtevn(t) = Rbn(t) feb(t) gn (D- 81)

d

dtRebn(t) = Rebn(t) S(e!nbb ) (D- 82)

diskretisert gir dette e

pnk+1 = penk+evkn t (D- 83)

e

vnk+1 = evkn+Rbn;k feb(t) t gn(t) t (D- 84)

Rebn;k+1 = Rebn;k+Rebn;k S(!enbb;k t) (D- 85)

D.2 Eulers-Heuns metode

Eulers-Heuns metode for treghets navigasjon gir et mer nøyaktig resultat, Euler-Heuns kan utrykkes ved å først skrive Euler likningene på standardform, som blir gjort på følgende måte:

_

y = f(u(t); y(t);Rebn(t)) (D- 86)

d

dtRebn(t) = fR(u(t);Renb(t)) (D- 87)

Nåru(t) = feb(t) e

!bbb (t) og y(t) = pen(t) e

vn(t) vektorene blir de…nert slik, kan systemmatrisen skrives slik.

f(u(t); y(t);Renb(t)) = evn(t)

Rbn(t) feb(t) gn (D- 88)

fR(u(t);Renb(t)) = Rebn(t) S(!enbb ) (D- 89) Euler-Heuns kan da utrykkes diskret slik

(28)

D Treghetsnavigasjons Systemer

Remk+1 = Ren;kb +fR(uk;Rebn;k) t (D- 90)

ymk+1 = yk+f(uk; yk;Rebn;k) t (D- 91)

Rebn;k+1 = Ren;kb + (fR(uk;Rebn;k) +fR(uk+1;Remk+1)) t

2 (D- 92)

yk+1 = yk+ (f(uk; yk;Rebn;k) +f(uk+1; ymk+1;Remk+1)) t

2 (D- 93)

som gir

Rmk+1 = Rebn;k+Rebn;k S(!enbb;k t) (D- 94)

vk+1m = penk+evkn t (D- 95)

Rebn;k+1 = Ren;kb + (Rebn;k S(!enbb;k) +Rmk+1 S(!enbb;k+1)) t

2 (D- 96)

e

pnk+1 = penk+ (evkn+vk+1m ) t

2 (D- 97)

e

vnk+1 = evkn+ (Rbn;k fekb+Rmk+1fek+1b ) t

2 gn t (D- 98)

Deterministiske simuleringer av Euler og Euler-Heuns likningene viser at de gir en integreringsfeil over tid, der Euler metodens integreringfeil synker linært mens samplingsfrekvensen øker, synker Euler-Heuns metodens integreringsfeilen kvadratisk mens samplingsfrekvensen øker. I praksis blir integreringsfeilen til Euler likningene er ca. 1000 ganger større en Euler-Heuns likningene, der det simuleres på en bane som gir konstant bevegelse over 180 sekunder og en samplingsfrekvens på 40Hz. Det er da klart at simuleringer med Euler-Heuns metoden er og foretrekke.

Deterministisk Euler Nav Deterministisk Euler-Heuns Nav

(29)

Del E:

Kalman…lter

Et Kalman…lter er en rekursiv estimator som på bakgrunn av kunnskap om prosessmodell og initialverdier gir et forbedret estimat av tilstand og feilkovarians på en måling med tilfeldig støy(, en stokastisk måling). Den estimerte tilstanden Kalman…lteret gir er ofte nærmer sannverdi fordi den har en bedre estimert usikkerhet enn målt tilstand. Filteret er rekursivt og er bare avhengig av forrige tidskrit, det gjør det til et veldig nyttig verktøy til tilstandsestimering og signalbehandling.

For å gjøre dette er første skritt og prediktere tilstanden og feilkovariansen, deretter beregnes en minimums gjennomsnitts sum til alle lineære kombinasjoner av tilsdandsfeilene (”least mean square estimation”) også korrigeres den prediktert tilstanden for gitt minimum.

E.0.1 KF

Den mattematiskemodellen for et lineær kontinuerlig-diskret system uttrykt slik _

x(t) = F(t)x(t) +L(t)u(t) +G(t)v(t) (E- 99)

zk = Hkxk+wk (E- 100)

De kontinuerlig-diskrete Kalman…lterlikningen har formen

Tidsoppdatering, TO, er prediksjons fasen der likningene er gitt av:

d

dtx(t) = F(t)x(t) +L(t)u(t) (E- 101)

d

dtP(t) = F(t)P(t) +P(t)FT(t) +G(t)QGT(t) (E- 102) der P(tk) = ^Pk og P(t0) er gitt:

Måleoppdatering, MO, er korrigeringsfasen der eventuelle predikterings feil blir korrigert:

~

zk = Hkexk+wk (E- 103)

Kk = PkHT(HPkHT Rd) 1 ; Pk=P(tk) (E- 104)

^

xk = xk+Kk(~zk Hxk) (E- 105)

P^k = (I KkH)Pk (E- 106)

E.0.2 LKF

Lineærisert Kalman…lter er en lineærisert variant av Kalman…lteret. Det beregner feilen mellom sann og målt verdi.

De mattematiskelikningene for en lineærisert kontinuerlig-diskret systemmodell uttrykt slik _

x(t) = f(x(t); u(t)) +G(t)v(t) (E- 107)

_

x(t) = x(t) ex(t) (E- 108)

zk = Hkxk (E- 109)

e

zk = Hkexk+wk (E- 110)

De kontinuerlig-diskrete Kalman…lterlikningen for da formen

(30)

E Kalman…lter Tidsoppdatering TO

_

x(t) = F(t) x(t) (E- 111)

P(t) = F(t)P(t) +P(t)FT(t) +G(t)QGT(t) (E- 112) der P(tk) = ^Pk og P(t0) er gitt:

Måleoppdatering MO

zk = zk zek (E- 113)

Kk = PkHT(HPkHT Rd) 1; Pk =P(tk) (E- 114)

^

xk = xk+Kk( ~zk H xk) (E- 115)

^

xk = xek+ ^xk (E- 116)

P^k = (I KkH)Pk (E- 117)

E.1 Filtermodell

Blokkskjemaet til navigasjonssystemet er gitt ved.

Bloksjema, systemmodell uten tilbakekobling

Lineriseringen av navigasjonssystemetmodellen blir gjort fordi et Kalman…lter er egnetlig en linær opperator, og et navigasjonssystem er per de…nisjon ulineært. Dette blir gjort som illustrert i blokkskjema for en systemmodell uten tilbakekobling Der det estimeres avvik fra den drift i sys- temet og det ukjente er sann tilstand. Det løses ved å ta måleoppdatering når man vet hva sann hastigheten eller posisjonen er. Sann posisjon er kjent ved start eller når man får en ekstern po- sisjons avlesning. Sann hastighet er kjent, når man vet at systemet står stille, eller når det blir gitt en ekstern hastighets måling. For å få til det trengs en sann prosessmodell, en nav-prosessmmodell og tilhørende målemodeller.

(31)

E.2 Nav Prosessmodell

E.2 Nav Prosessmodell

Nav prosessmodellen er Euler navigasjonslikningene skrevet på standardform.

d

dtpen(t) = ven(t) (E- 118)

d

dtevn(t) = Rbnb(t)(feb(t)) gn (E- 119)

d

dtRenb(t) = Rbnb(t)S(!enbb (t)) (E- 120)

Der det er ønskelig og utrykke det slik FKPU S dtdex(t) =f(x;e u;e Renb)

d

dtRenb(t) =fR(u;e Renb) FDPU S ez=Hxe

Tilstandsvektoren og pådragsvektoren blir her e

x= pen evn T ue=h

feb !enbb iT

Dermed kan man utrykke systemet på standardform slik

f(x;e eu;Renb) =

"

e vn Rnb(feb) gn

#

(E- 121) fR(eu;Renb) =

hRbnb(t)S(!enbb (t)) i

(E- 122)

E.2.1 Sann-prosessmmodell

Likningene til den sanne prosessmodell beskriver hvordan èn matematisk kan …nne sann posisjon, hastighet og orientering, uti fra Euler-navigasjons likningene hvis de sanne hvitstøyverdiene hadde vært kjent.

_

pn(t) = vn (E- 123)

_

vn(t) = Rnb(feb+ f) gn=Rnb(feb a a vf(t)) gn (E- 124) _a(t) = 1

Ta

a(t) +va(t) (E- 125)

_g(t) = 1 Tg

g(t) +vg(t) (E- 126)

_a(t) = va(t) (E- 127)

_g(t) = vg(t) (E- 128)

R_nb(t) = Rnb S(!enbb + !) =Rnb S(!enbb g g v!(t)) (E- 129) Der det er ønskelig og de…nere systemmodellen slik

SKPU S x_ =f (x; u; Rbn) +G (Rnb)v R_bn(t) =fR(x; u; Rnb; v) SDPU S zk =H xk

(32)

E Kalman…lter

hvis tilstands vektoren, pådragsvektoren og støyvektoren de…neres slik

x = pn vn a g a g T (E- 130)

v = h

vf v! va vg va vg iT

(E- 131) e

u =

h feb !enbb iT

(E- 132) vil systemet utryket på standardform bli slik

f (x; u; Rnb) = 2 66 66 66 64

vn

Rnb(feb a a) gn

1 Ta

a(t)

1 Tg g(t)

0 0

3 77 77 77 75

G (Rnb) = 2 66 66 66 4

0 0 0 0 0 0

0 Rnb 0 0 0 0

0 0 I 0 0 0

0 0 0 I 0 0

0 0 0 0 I 0

0 0 0 0 0 I

3 77 77 77 5 fR(x; u; Rbn; v) =

h

Rnb S(!enbb g g v!(t)) i

E.2.2 Filtermodell

Filtermodellen utledes ved å trekke sann tilstand fra beregnet tilstand. x=x x:~ Blokkskjemaet blir da slik som i …gur sett fra Kalman…lteret.

Blokkskjema av …ltermodell _

p= dtdpn dtdepn=vn evn= v _

v= dtdvn dtdevn=Rnb(feb+ f) gn (Rebnfeb+gn)

=Rnbfeb+Rnb f Renbfeb

=R(")Renbfeb+R(")Renb f Renbfeb

= (I+S("))Renbfeb Renbfeb+ (I+S("))Renb f

(33)

E.2 Nav Prosessmodell

= (I+S(") I)Rebnfeb+ (I+S("))Renb f

=S(")Renbfeb+Renb f +S(")Renb f

= S(Rebnfeb)"+Rebn f S(Rebn f)"

Det siste leddet i S(Renb f)"likningen v, blir feilen kvadrert, som når feilen er liten blir ett veldig_ lite tall. Det antas derfor at S(Renb f)"går mot null og det kan ses bort i fra. Slik at

_

v= S(Renbfeb)"+Renb f, der f = a a vf

d

dtRbn dtdRenb =RnbS(!enbb + !) RenbS(!enbb )

d

dt(R(")Renb) dtdRenb =R(")Renb(S(!enbb ) +S( !)) RenbS(!enbb )

S(dtd")Renb + (I+S("))dtdRenb dtdRenb = (I+S("))Renb(S(!enbb ) +S( !)) RenbS(!enbb ) S(dtd")Renb +dtdRebn+S(")dtdRenb dtdRenb = (Rebn+S(")Renb)(S(!enbb ) +S( !)) RenbS(e!nbb )

S(dtd")Renb +S(")RenbS(!enbb ) =RenbS(!enbb ) +RenbS( !) +S(")RebnS(!enbb ) +S(")RenbS( !) RebnS(!enbb ) S(dtd")Renb =RenbS( !) +S(")RenbS( !)

I det siste leddet i S(")RenbS( !) likningen, blir feilen også kvadrert, når feilen er liten blir det ett veldig lite tall. Det antas derfor at S(")RenbS( !) går mot null og det kan ses bort i fra. Slik at S(dtd")Renb =RenbS( !)

S(dtd") =RenbS( !)Rebn

d

dt"=Renb !1, der != g g v!

Dermed kan feil likningene utrykes slik d

dt p(t) = v(t) (E- 133)

d

dt v(t) = S(Rnb(t) feb(t)) "(t) +Rnb(t) ( a(t) a(t) vf(t)) (E- 134) d

dt"(t) = Rbn(t)( g(t) g(t) v!(t)) (E- 135) d

dt

a(t) = 1 Ta

a(t) +va(t) (E- 136)

d dt

g(t) = 1 Tg

g(t) +vg(t) (E- 137)

d dt

a(t) = va(t) (E- 138)

d dt

g(t) = vg(t) (E- 139)

Det er ønskelig og ha …ltermodellen uttrykt på denne formen KKPU S x_ =F(u;Rebn) x+G(Renb)v;

KDPU S ez=z ez+w Siden z alltid er 0

¯ blir ez= ez+w

1 TNS med lavkostsensorer, Diego Mugisha, 2012

(34)

E Kalman…lter Med tilstandsvektor, pådragsvektor og støyvektor de¢ nert slik

x = pn vn " a g a g T (E- 140)

e u =

h feb !enbb iT

(E- 141) v =

h

vf v! va vg va vg iT

(E- 142) vil de tilhørende matrisene bli

F(u;R~nb) = 2 66 66 66 66 4

0 I 0 0 0 0 0

0 0 S( ~Rbnf~b) R~bn 0 R~nb 0 0 0 0 0 R~nb 0 R~nb

0 0 0 T1aI 0 0 0

0 0 0 0 T1gI 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

3 77 77 77 77 5

GK( ~Rnb) = 2 66 66 66 66 4

0 0 0 0 0 0

R~nb 0 0 0 0 0 0 R~nb 0 0 0 0

0 0 I 0 0 0

0 0 0 I 0 0

0 0 0 0 I 0

0 0 0 0 0 I

3 77 77 77 77 5

E.2.3 Målemodell

Det blir kun gjort måleoppdateringer når en av tilstandene til systemmodellen er kjent. Som når posisjonen eller hastigheten blir gitt av en eksternkilde eller man vet at systemet står stille.

Målematrisene H og H^{*} er blir da gitt etter hva det gjøres en måleoppdatering på.

Der målemodellene skal være på formenSDPU S zk=H xk; FDPU S ez=Hxe Måleoppdateringer på posisjonen, gir, H= I 0 ,H = I 0 0 0 0 0 0 Måleoppdateringer på Hastigheten, gir,H = 0 I ,H = 0 I 0 0 0 0 0

E.2.4 Spektraltettheter og kovarians

Spektraltetthetmatrisen er gitt av

Qe = 2 66 66 66 66 4

e

qafI 0 0 0 0 0

0 eqg!I 0 0 0 0 0 0 eqaI 0 0 0 0 0 0 eqgI 0 0 0 0 0 0 eqaI 0

0 0 0 0 0 eqgI

3 77 77 77 77 5 Kovariansmatrisen er gitt av

(35)

E.2 Nav Prosessmodell

P(t0) = 2 66 66 66 66 4

p p(0)I 0 0 0 0 0 0

0 p v(0)I 0 0 0 0 0

0 0 p"(0)I 0 0 0 0

0 0 0 Pa(0) 0 0 0

0 0 0 0 Pa(0) 0 0

0 0 0 0 0 Pg(0) 0

0 0 0 0 0 0 Pg(0)

3 77 77 77 77 5

Standaravviket til initielposisjonsfeil settes til lite, og kan for mobiltelefonsensor programmet egentlig settes til null: Da initiel posisjon og orientering ikke er interessant siden det er konturen til et objekt som måles og da er banen i forhold til start interessant..

p p(0) = (0:01m)2 p v(0) = (0:01 m=s)2

p"(0) = (0:1 deg)2= (0:00175rad)2

Standardavviket til hvitstøyelementen blir i første omgang i banegeneratoren satt til 1 deg/s og 1mG/s, for akselerometer og gyrometerelementene. Spektraltetthet verdiene kan da utledes på ved hjelp av kovarianslikningene.

Pa(0) =I (1mG=s)2 Pa(1) =I (1mG=s)2 Pg(0) =I (1 deg=s)2 Pg(1) =I (1 deg=s)2

Ut i fra det kan initialkovarians utledes på følgende måte:

d

dtPg(t) = 2

TgPg(t) +eqg (E- 143)

Kovariansen til g går mot en stasjonær tilstand når t går mot uendelig, dtdPg(1) = 0 , slik at

2

TgPg(1) =qeg derPg(0) =Pg(1), det girPg(0) = T2gqeg d

dtPg(t) =eqg => Pg(t) =qeg t (E- 144)

Når vi vet at kovariansen til g utvikler seg slik Pg(t) = qeg t , det gir atPg(0) = 0 De samme formlene gjelder for akslerometerstøyen slik at.

Pa(0) = Ta

2 qea (E- 145)

Pg(0) = Tg

2 eqg (E- 146)

Pa(0) = 0 I (E- 147)

Pg(0) = 0 I (E- 148)

Spektraltettheten blir da satt til.

Referanser

RELATERTE DOKUMENTER

Avhengighet til: ledelsesform, hierarki, struktur på beslutningselement, grad av regelstyring og grad av selvorganisering (organisasjon, formell), grad av selvstendighet,

En fransk forsker-misjonrer, H. Russillon, liar kalt sitt hoved- verk ooi Madagaskar: aUn petit continent,). Med denne tittel har Russillon ikke prestert noen

Noen tilbyr finansieringsordninger, hvor de skriver at privatøkonomien ikke skal være til hinder for større inngrep, eller at de har tilbud på større inngrep, for

To og et halvt år senere ble pasienten innlagt akutt med feber, frostrier, nattesvette, kvalme og oppkast, som han hadde vært plaget av i to uker.. Han hadde hatt et ufrivillig

De tidlige kanalene i tidsdomenet indikerer grunne ledere både med både god og dårlig ledningsevne, mens de sene kanalene overser grunne dårlige ledere og indikerer gode

Tilfeller med fysisk eller psykisk mishandling, vanstell eller seksuelt misbruk uten fysiske skader er ikke med i våre data.. Vold og skader e er vold sees på som et alvorlig

Noen tilbyr finansieringsordninger, hvor de skriver at privatøkonomien ikke skal være til hinder for større inngrep, eller at de har tilbud på større inngrep, for

Ungdom i familier med lav SØS – betydningen av innvandrerbakgrunn og bydel Videre følger analyser kun blant ungdom i kategorien for lav SØS (N=2 375). Det er disse