Skynet: Posisjon

Den siste delen av Skynet som m? installeres f?r raketten kan suse av g?rde med den riktige programvaren installert, er kode for ? bestemme sin n?v?rende posisjon. I tillegg til b?de kamera og spektrometer, er raketten utstyrt med en radar. Og denne skal komme godt med.

Raketten kan bruke radaren den er utstyrt med til ? til en hvilken som helst tid bestemme avstanden fra seg selv til alle de forskjellige planetene i stjernesystemet v?rt, i tillegg til stjernen selv. Raketten vil da returnere en liste som inneholder alle disse forskjellige avstandene. Det jeg m? gj?re, er ? bruke denne listen med avstander til alle de forskjellige planetene, til ? beregne posisjonen til raketten. Heldigvis har jeg allerede et program, som jeg skrev litt tidligere, som beregner posisjonene til de forskjellige planetene til hvilken som helst tid.

Det jeg n? m? gj?re er ? skrive et program som behandler denne listen fra radaren, med avstandene til alle planetene og stjernen, i tillegg til tidspunktet m?lingene ble tatt p?, og spytter ut igjen posisjonen til raketten. Det er viktig ? ha med tidspunktet m?lingene gj?res p?, for da kan jeg nemlig med mitt tidligere program finne de bestemte posisjonene til planetene i akkurat dette ?yeblikket. Vet jeg b?de avstanden fra raketten til planetene i tillegg til posisjonen til planetene ved dette tidspunktet, s? skal jeg alts? klare ? bestemme posisjonen til raketten.

Jeg ?nsker ? finne posisjonen (x, y) til raketten ved ? bruke tre referansepunkter i rommet. Fordi jeg som sagt allerede kjenner posisjonene til planetene og Pjokknes til enhver tid, kan jeg bruke noen av disse som referansepunkter. Jeg kan lage tre store sirkler rundt hvert av disse referansepunktene. Radiusen i disse sirklene vil da v?re avstanden radaren m?ler, dvs avstanden mellom raketten og den valgte planeten/stjernen (det gitte referansepunktet). Dette vil gi meg tre likninger for tre forskjellige sirkler som jeg da m? l?se:

x2 + y2 = d12

(x - x2)2 + (y - y2)2 = d22

(x - x3)2 + (y - y3)2 = d32

Den f?rste likningen representerer posisjonen til stjernen med en avstand d1 til raketten. De to andre likningene representerer to vilk?rlige planeter med avstand d2 og d3 til raketten. Denne metoden ? bestemme en posisjon p?, ved hjelp av skj?ringspunktet mellom tre sirkler, kalles trilaterasjon. Det er kanskje litt lettere ? se for seg hvordan dette fungerer ved ? se p? en figur:

Figur 1: Trilaterasjon er en metode som blant annet blir brukt til ? finne posisjonen til en mobiltelefon ved hjelp av avstanden til tre kjente telefont?rn. Kanskje du har h?rt om dette fra en krimserie?

Ut i fra likningene over ?nsker jeg ? finne x og y. Dette krever en del regning som jeg ikke kommer til ? dele med dere her. Det jeg ender opp med er noe som kalles en matriselikning. Dette er muligens noe som er helt ukjent for dere lesere fra f?r av, s? jeg skal ikke forvirre dere noe videre med hva dette egentlig inneb?rer. Men det er faktisk ikke s? vanskelig som det h?res ut - takket v?re den fantastiske verdenen som heter python. I denne verdenen finnes det nemlig egne funksjoner som l?ser matriselikninger for deg, og rett og slett bare spytter ut svaret du er ute etter! Hjertet mitt varmes med tanken.

N? har Skynet ogs? f?tt implementert en funksjon som tar i mot en liste over avstander m?lt av radaren, i tillegg til tidspunktet m?lingene er tatt p?, og s? fint vil gi oss posisjonen raketten befinner seg p? i dette tidspunktet. Da klassifiserer jeg Skynet som fullstendig, og da er vi vel snart klare for avreise? Er vi ikke? I denne siste tiden f?r den virkelige oppskytningen n?rmer seg, jobber b?de jeg og hele teamet mitt p? spreng med ? dobbel-trippel-firpel-fempel-sjekke at alt faktisk fungerer som det skal. Det er testing p? testing p? testing, og vi krysser fingrer og t?r for at alt skal bli 100% klart i tide! I mellomtiden syns jeg at du ogs? kan krysse litt fingrer og t?r for oss.

Vi blogges!

Av Julie Knutsen
Publisert 23. okt. 2017 17:09 - Sist endret 23. okt. 2017 17:09