• No results found

Skapande av karta för fordonsreglering med framförhållning

N/A
N/A
Protected

Academic year: 2021

Share "Skapande av karta för fordonsreglering med framförhållning"

Copied!
77
0
0

Loading.... (view fulltext now)

Full text

(1)

DEGREE PROJECT, IN COMPUTER SCIENCE , SECOND LEVEL STOCKHOLM, SWEDEN 2015

Skapande av karta för

fordonsreglering med framförhållning

NICLAS ANDERSSON

(2)
(3)

Skapande av karta för fordonsreglering med

framförhållning

Map creation for use in automatic vehicle control

NICLAS ANDERSSON NIA@KTH.SE

Examenrapport vid CSC Ämne: Datalogi

Program: Civilingenjör Datateknik Handledare: Alexander Baltatzis

Examinator: Stefan Arnborg Uppdragsgivare: Scania CV AB

(4)
(5)

Referat

Utbudet av bra, täckande vägkartor som innehåller information om vä-garnas lutningar är idag begränsat. Att skapa sådana kartor är också dyrt, då det kräver både arbetskraft och dyr utrustning. Tack vare en ny algoritm är det dock nu möjligt att skatta lutningen på en väg en-dast genom användandet av en enkel GPS-enhet och redan existerande sensorer i tunga lastbilar. Genom att kombinera flera sådana mätningar för samma väg är det möjligt att få en bra skattning av vägens lutning. I detta arbete har ett system för att skapa vägkartor med lutning både implementerats och utvärderats. Resultaten visar att det är möjligt att skapa vägprofiler med lutningsinformation genom att använda redan tillgängliga sensorer. Resultaten är baserade på både simulerad data och ett begränsat antal verkliga experiment.

(6)

Map creation for use in automatic vehicle control

There is currently a limited supply of good road maps with good cov-erage that includes data about the slope of the roads. Creating such maps is also expensive, and requires both labor and expensive equip-ment. Thanks to a new algorithm however, it is possible to estimate the slope of a road by using only a simple GPS device and already existing sensors in a heavy duty vehicle. By combining several measures along the same road, it is possible to get a good estimate of the slope of the road.

In this work, a system for creating road maps with integrated slope data from such estimations is both implemented and evaluated. The results show that it is indeed possible to create road profiles with slope data using only already available sensors. The results are based on both simulated data and a limited set of data collected from real world experiments.

(7)

Förord

Detta examensarbete i datalogi har utförts inom ramen för min utbildning i Data-teknik vid CSC, KTH i Stockholm. Arbetet har utförts mellan augusti 2010 och februari 2011 på avdelningen REP (Research and Development, förutveckling) hos Scania CV AB i Södertälje.

Jag vill främst tacka min handledare på Scania, Per Sahlholm, som med sin energi och outtröttlighet gjort mitt arbete mycket intressant och lärorikt. Ett tack går även ut till min handledare på KTH, Alexander Baltatzis, tillsammans med övriga studenter i samma exjobbsgrupp som mig själv, vilka har läst och kommenterat min rapport genom hela arbetet.

Jag vill även tacka all övrig personal på REP, inklusive alla andra exjobbare, vilka har gjort tiden på Scania mycket trevlig. Ni är alldeles för många för att här nämnas med namn.

(8)
(9)

Förkortningar och symboler

α Lutning i procent

ADAS Advanced Driver Assistance System AND Automotive Navigation Data API Application Programming Interface CAN Controller Area Network

DGPS Differential Global Positioning System DOP Dilution Of Precision

GPRS General Packet Radio Service GPS Global Positioning System

NASA National Aeronautics and Space Administration RMSE Root Mean Square Error

SA Selective Availability SD Secure Digital

SRTM Shuttle Radar Topography Mission

(10)

Förord I Inledning 1 1 Introduktion 3 1.1 Bakgrund . . . 3 1.2 Syfte . . . 4 1.3 Tillämpningar . . . 4 1.4 Problemformulering . . . 5 1.5 Avgränsningar . . . 5 1.6 Upplägg . . . 6 2 Bakgrund 7 2.1 Litteraturgenomgång . . . 7 2.2 Tidigare arbeten . . . 8

2.3 Global Positioning System . . . 10

2.4 Kartor . . . 11 2.5 OpenStreetMap . . . 13 2.6 Sammanfattning . . . 17 3 Arkitektur 19 3.1 Systemöversikt . . . 19 3.2 Kartdata . . . 21 3.3 Simuleringar . . . 22 3.4 Sammanfattning . . . 24 II Resultat 27 4 Prototyp 29 4.1 Primära funktioner . . . 29 4.2 Sekundära funktioner . . . 31 4.3 Sammanfattning . . . 33

(11)

5 Numeriska resultat 35 5.1 Simuleringar . . . 35 5.2 Experimentella tester . . . 44 5.3 Sammanfattning . . . 46 III Analys 47 6 Numeriska resultat 49 6.1 Estimeringen . . . 49 6.2 Simuleringen . . . 50 6.3 Experimenten . . . 50 6.4 Noggrannhet . . . 51 6.5 Sammanfattning . . . 53

7 Kartor och lagring 55 7.1 OpenStreetMap . . . 55 7.2 Höjd och lutning . . . 55 7.3 Databehov . . . 56 7.4 Sammanfattning . . . 58 8 Slutsatser 59 8.1 Slutsatser . . . 59 8.2 Rekommendationer . . . 60 Litteraturförteckning 61 Figurer 63

(12)
(13)

Del I

(14)
(15)

Kapitel 1

Introduktion

Detta kapitel börjar med en bakgrundsbeskrivning och fortsätter sedan med exempel på tillämpningar. I avsnitt 1.4 följer en mer detaljerad problemformulering. I 1.5 listas de avgränsningar som gjorts för detta arbete. Kapitlet avslutas med en översikt över upplägget i resterande del av rapporten.

1.1

Bakgrund

Det saknas idag bra, fullständiga kartor med höjd- och lutningsinformation anpas-sade för bruk i vägtrafiken. De kartor som finns är både mycket dyra och har inte fullständig täckning när det gäller lutningsdata.

Det finns både fria och kommersiella höjdkartor, men dessa har oftast för låg up-plösning för att vara användbara i trafiken. De tar heller inte hänsyn till vägars lutningar som i flera fall kan skilja sig mot omgivningens topografi.

I och med framväxten av GPS-systemet och dess numera höga precision även för civilt bruk har det blivit möjligt att till låga kostnader positionera sig relativt noggrant, åtminstone i det horisontella planet. Den vertikala noggrannheten är dock sämre, vilket gör att en GPS-enhet i standardutförande inte kan användas för att få en säker höjdangivelse, och det är därför heller inte möjligt att använda en enkel GPS-enhet för att samla in tillförlitlig höjd- och lutningsinformation.

För sådana syften har man varit hänvisad till att använda annan utrustning som Differential GPS, gyrometer etc. Detta är dock mycket dyr utrustning jämfört med enkla GPS-enheter.

Därför är det intressant att kombinera en enkel GPS-enhet med andra sensorer som redan finnas tillgängliga i fordon för att försöka estimera lutningen på vägar. Genom att kombinera flera sådana mätningar över samma vägsträcka får man efter

(16)

hand en allt bättre estimering. En sådan algoritm för tunga fordon har nyligen utvecklats[22], och ligger till grund för arbetet i denna rapport.

1.2

Syfte

Detta arbete har syftat till att undersöka möjligheterna för att skapa och använda vägdata med höjd- och lutningsinformation.

Målsättningen har varit att kunna bygga en vägkarta genom att kombinera enkla GPS-enheter med andra sensorer som finns tillgängliga i fordonen, däribland aktuell hastighet, vridmoment och information om huruvida föraren bromsar eller växlar. Stor tyngd har legat på att undersöka möjligheten att kombinera data från flera körningar, för att till en låg kostnad konstruera tillförlitliga vägkartor med höjd-och lutningsinformation.

Fokus i detta arbete har legat på användning i tunga fordon, då även små lutningar och höjdskillnader har relativt stor inverkan på denna fordonstyp när det exem-pelvis gäller bränsleförbrukning. Även på relativt flacka vägar har man visat att en minskning av bränsleåtgången på drygt 3 % är möjlig (jämfört med en ordinär farthållare och utan en ökning av körtiden) genom att använda sig av information om lutningen på vägavsnittet närmast framför fordonet [10].

En annan fördel med tunga fordon är att de lämpar sig bra för att just mäta väglutningar, tack vare de effekter även små lutningar har på fordonens uppträdande under körning.

1.3

Tillämpningar

Att känna till väglutningar kan ha flera användningsområden:

Ruttplanering Genom att känna till vägars lutningsprofiler kan man dirigera tung

trafik till de mest optimala rutterna (med minst negativ påverkan från höjd-skillnader).

Körplanering i realtid Genom att känna till lutningsprofilen på vägavsnittet

fram-för fordonet kan man automatiskt justera exempelvis hastigheten fram-för att hantera lutningar så effektivt som möjligt.

I detta arbete har jag koncentrerat mig på det senare användningsområdet. Infor-mationen anpassas så att relevant data kan läsas upp under fordonskörning. För detta användningsområde är inte den absoluta höjden av intresse, utan den vikti-gaste informationen är lutningen i varje vägavsnitt. Genom att känna till lutningen för framförvarande vägavsnitt är det möjligt att automatiskt anpassa körningen så att den blir så effektiv som möjligt. Detta påverkar särskilt tunga fordon, där en

(17)

1.4. PROBLEMFORMULERING

effektiv körning kan spara signifikanta mängder drivmedel. Det blir särskilt viktigt vid användning av farthållare, då en sådan annars kan öka drivmedelsanvändningen en hel del på vägar med stora och varierande lutningar [5].

1.4

Problemformulering

Inom ramen för detta arbete har följande frågor undersökts:

1. Är det möjligt att kombinera data från flera körningar för att få en bra skat-tning på en vägs höjd- och luskat-tningsprofil?

2. Vilken noggrannhet kan man uppnå på skattningen?

3. Hur påverkas resultaten av matchningen mellan mätpunkter och kartdata? 4. Hur många mätningar krävs det för att skapa användbar data?

5. Hur ska avvikande värden hanteras?

6. Vilka begränsningar finns det i den framtagna metoden med avseende på datamängder och liknande?

7. Kan man föra tillbaka den genererade höjd- och lutningsinformationen till den ursprungliga vägkartan?

1.5

Avgränsningar

Detta arbete koncentrerar sig specifikt på att hantera höjd- och lutningsinformation. Vägnätets topologi är således förutbestämd genom en redan existerande vägkarta. Denna vägkarta har begränsats till att innehålla endast ett urval av ett fåtal större vägar, främst motorvägar i Sverige och Tyskland. För att rent praktiskt kunna genomföra analyser av den utvecklade prototypen har dessutom endast simulerad testdata använts. Det simulerade datat är dock baserad på verklig kartdata (utan lutningsinformation) där simulerad höjd- och lutningsdata har lagts till utifrån till-gänglig (lågupplöst) höjddata.

Likaså har körningar simulerats ovanpå denna information utifrån matematiska fordonsmodeller. På detta har simulerat mätbrus tillförts för att komma så nära verkliga förhållanden som möjligt.

(18)

1.6

Upplägg

Denna rapport är upplagd enligt följande: I kapitel 2 beskrivs bakgrunden till detta arbete. Några relaterade tidigare arbeten gås igenom. Därpå följer en översiktlig introduktion av GPS. Även existerande kartor beskrivs, både väg- och höjdkartor. Då detta arbete baseras på kartor från OpenStreetMap beskrivs dessa mer ingående. I kapitel 3 beskrivs hur arkitekturen för ett skarpt system skulle kunna se ut. I kapitel 4 beskrivs den utvecklade prototypen med fokus på dess olika funktioner. Kapitel 5 och 6 visar resultaten från simuleringar respektive experimentella tester. I kapitel 7 analyseras dessa resultat. En reflektion av kartorna finns i kapitel 8. Rapportens slutsatser finns beskrivna i kapitel 9. Det hela avslutas i kapitel 10 med förslag på framtida arbete.

(19)

Kapitel 2

Bakgrund

För att ge en bra bakgrund refereras här till tidigare litteratur inom relevanta områ-den. En översiktlig beskrivning av den huvudsakliga algoritmen som ligger till grund för detta arbete görs i avsnitt 2.2. Sedan följer en mer ingående beskrivning av GPS-systemet. I 2.4 presenteras en översikt av idag tillgängliga kartor. Kapitlet avslutas med en grundlig genomgång av projektet OpenStreetMap.

Det finns flera användningsområden för vägkartor med lutningsinformation. Att skapa sådana kartor är dock i dagens läge mycket dyrt, då det kräver användning av dyr mätutrustning och expertkunskap för handhavandet av denna utrustning. Genom att utnyttja redan existerande sensorer i tunga fordon är det möjligt att använda befintlig trafik till att utföra dessa mätningar. Genom att kombinera mät-ningar är det möjligt att skapa en vägkarta med höjd- och lutningsinformation till en låg kostnad.

2.1

Litteraturgenomgång

En litteratursökning har genomförts inom ramen för detta arbete. Den har haft två primära syften: dels att ge bra bakgrundsinformation och överblick av relevanta ämnen, dels att ge kunskap som kan ligga till grund för utveckling av prototypen. Det finns flera områden med tillgänglig litteratur som på något sätt relaterar till arbetet i denna rapport. De områden som har undersökts är följande:

• Positioneringssystem (GPS etc)

• Topografiska kartor (uppbyggnad och representation) • Existerande kartor (väg- och höjdkartor)

(20)

• Datastrukturer och algoritmer för spatial data

• Matchning mellan loggade GPS-koordinater och kartdata (”map-matching”) De förstnämnda områdena har undersökts för att få en bra bakgrundsinformation, medan de senare ämnesområdena har en mer konkret koppling till denna rapport och den utvecklade prototypen.

2.2

Tidigare arbeten

Relevanta, tidigare arbeten innefattar bland annat skapande av väg- och höjdkartor. Även den algoritm som ligger till grund för arbetet i denna rapport introduceras här.

2.2.1 Generera vägkartor

Det finns flera tidigare arbeten där man har utgått från en tom karta och skapat vägkartor utifrån loggfiler från GPS-enheter, däribland [1] och [2]. Det främsta problemet för dessa system är att avgöra om ett nytt spår som ligger nära en redan existerande väg i själva verket representerar samma väg, eller om det är en annan, sedan tidigare okänd, väg i närheten. Det har således utvecklats olika metoder för att lösa dessa problem, exempelvis sådana som bygger på fuzzy logic (flervärdeslogik som hanterar approximativa resonemang) [21].

Det har genom alla dessa försök visat sig vara ett ganska komplext problem, med flera svårigheter. Därför har valet gjorts att i detta arbete utgå från en redan exis-terande vägkarta, och endast lägga till höjd- och lutningsinformation till denna.

2.2.2 Höjdkartor för jordbruket

Det finns tidigare studier som har undersökt möjligheterna att skapa höjdkartor med hjälp av GPS-utrustning, ofta med inriktning mot jordbruket. Särskilt på jord-bruksfält med låg höjdvariation är hög noggrannhet ett krav för att exempelvis kunna bedöma vattenavrinningen korrekt. I en artikel publicerad år 2000 dras slut-satsen att en GPS-mottagare med en horisontell noggrannhet på mellan 2 – 5 meter inte lämpar sig för detta ändamål [26]. Däremot fastlades att en enhet med högre noggrannhet, med en horisontell precision på under 1 meter, fungerade bra under förutsättning att minst 10 mätningar genomfördes på samma område och sedan vägdes samman.

(21)

2.2. TIDIGARE ARBETEN

2.2.3 Iterativ skattning av väglutning

Arbetet som skett inom ramen för denna rapport bygger till stora delar på en redan utvecklad algoritm för skattning av vägars lutningar [22]. Här sammanfattas kortfattat dess uppbyggnad.

Som indata används följande: • Hastighet

• Vridmoment • Aktuell växel

• Huruvida växling sker • Huruvida bromsning sker • Antalet synliga satelliter • GPS latitud

• GPS longitud • GPS altitud • GPS hastighet

Tillsammans med en fordonsmodell och en modell över vägars uppbyggnad görs en skattning av lutningen vid varje enskilt tillfälle. Även en skattning över dess korrekthet (varians) görs. En mätning där en viss punkt skattas ha en lägre varians väger tyngre än om punkten hade haft en högre skattad varians. Utifrån detta uppdateras de redan lagrade värdena i kartan enligt följande:

Varny = 1 , 1 Varkarta + 1 Varmätning !

där Varny är den nya skattade variansen, Varkarta är den skattade variansen för den existerande lutningen i kartan och Varmätning är den skattade variansen i den

aktuella mätningspunkten.

Den nya lutningen beräknas sedan enligt nedan i den aktuella punkten:

αny= Varny· αkarta Varkarta + αmätning Varmätning !

där αny är den nya lutningen, Varny är den nya skattade variansen enligt ovan, αkarta är den redan lagrade lutningen och αmätning är den skattade lutningen i den

(22)

I kartan lagras sedan Varny och αny inför nästa mätning.

Denna process har en fördel i att den mängd data som behöver lagras hålls kon-stant. Varje ny mätning uppdaterar endast redan lagrad data, och något ytterligare lagringsutrymme för mer data behövs således inte.

Vid den första mätningen, då ingen tidigare data finns lagrad, används värdena från den första mätningen rakt av. Variansen för dessa värden blir naturligt relativt höga tills ytterligare körningar infogas.

Värt att notera är att dessa beräkningar bygger på antagandet att felen i varje mätning är oberoende. Så är dock inte fallet, eftersom de bygger på upprepade mätningar med hjälp av samma metod och utrustning. Detta leder till att den skattade variansen för de kombinerade mätningarna underskattas (blir lägre än vad den egentligen borde vara), och att nya mätningar därför får en mindre påverkan på slutresultatet än vad de egentligen borde ha.

2.3

Global Positioning System

Med hjälp av GPS är det i många fall möjligt att bestämma ens position inom ett visst antal meter. Systemet är skapat av USA som även ansvarar för drift och underhåll. Systemet består av åtminstone 24 satelliter som samtidigt är i drift, men för en enhet på jorden räcker det med att ha fri sikt till minst fyra stycken för att kunna avgöra sin position.

Systemet skapades ursprungligen för militära ändamål, och innehöll då en funktion,

Selective Availability (SA), för att förhindra andra att positionera sig noggrant.

Detta fungerade genom att medvetna fel introducerades i signalerna. Samtidigt skickades en kodad signal med information om dessa fel, vilket gjorde det möjligt för militären att filtrera bort dem. Störningarna gjorde att positioneringen kunde ha en felmarginal på flera hundra meter.

Dessa störningar togs dock bort med början den 1:a maj år 2000 [25], med hänsyn till användning för civilt bruk. I och med detta borttagande ökade noggrannheten till att bli under 20 meter horisontellt, lite beroende på andra naturliga störningar, enhetens konstruktion m.m [24].

Tidigare använde man Differential GPS (DGPS) för att komma runt de fel som medvetet introducerades. DGPS använder sig av stationära mätstationer spritt ut-placerade geografiskt sett. Dessa stationer beräknar felen i GPS-signalerna genom att använda skillnaden mellan dess redan kända position och den position som fås fram genom signalerna. Denna skillnad, som alltså anger vilket fel GPS-signalerna innehåller, skickas kontinuerligt ut till omgivningen. Detta blev ett sätt att komma runt felen som orsakades av SA, men gör även idag stor nytta genom att förbättra positioneringen så att de horisontella felen kommer ner på under en meter.

(23)

2.4. KARTOR

Det är även möjligt att med rätt utrustning och mätmetod uppnå en korrekthet på några centimeter.

2.4

Kartor

På global nivå är det främst två företag, Navteq och TeleAtlas, som erbjuder kom-mersiella kartor [23]. I Sverige är det främst Lantmäteriet, Trafikverket och enskilda kommuner som skapar och underhåller kartdata.

Det finns också fria (icke-kommersiella) kartor tillgängliga. En mycket omfattande höjdkarta har skapats av NASA inom projektet Shuttle Radar Topography

Mis-sion (SRTM) [6]. På senare år har även en fri vägkarta börjat ta form i och med

OpenStreetMap-projektet.

2.4.1 Kommersiella höjdkartor

Lantmäteriet har sedan tidigare olika produkter med höjdinformation i varierande upplösningar tillgängliga. Sedan juli 2009 har man dessutom påbörjat mätningar för en ny nationell höjdmodell [12]. Denna mätning sker med laserscanning från flygplan, där enskilda punkter normalt har en bättre noggrannhet i höjd än 0,1 meter (”på plana, hårdgjorda ytor”). Däremot är noggrannheten i horisontella planet ofta mycket sämre, vilket naturligt gör att även noggrannheten i höjd minskar i de fall terrängen sluttar mycket.

2.4.2 Kommersiella vägkartor med lutningsinformation

Det finns i dag inga bra, övergripande vägkartor som innehåller höjd- och lutningsin-formation för enskilda vägavsnitt. Navteq levererar kartor med bland annat höjd-och lutningsinformation avsedda att användas i ADAS-implementationer [13], men dessa täcker i dagsläget endast delar av Nordamerika och Västeuropa. Någon data för Sverige finns inte. Det är heller inte möjligt att som konsument eller ett mindre företag köpa dessa kartor.

2.4.3 Fria höjdkartor

En av de mest omfattande fria höjdkartorna är utgiven av NASA och är ett resultat av SRTM-projektet. Denna täcker större delen av jorden mellan latitud -56◦ och latitud 60◦ [6]. Inom USA är upplösningen 30 meter, medan den i resten av världen är begränsad till 90 meter.

(24)

Denna upplösning är för låg för att i praktiken kunna användas i detta arbete. Informationen är inte heller alltid helt tillförlitlig då mätningar i olika punkter kan ha träffat ”marken” på olika höjd. Detta beror på att mätningarna har utförts med radar, och resultatet kommer från det objekt som träffats först. Det kan till exempel bli stor skillnad om en mätning träffar en grantopp i en skog, medan mätningen i nästa punkt träffar plan mark. Vissa områden saknar också data på grund av molnighet vid mättillfället.

Att ingen data finns för områden ovan 60◦ latitud innebär också att stora delar av mellersta och norra Sverige saknas.

2.4.4 Fria vägkartor

Ett av de större projekten när det gäller att skapa en fri vägkarta är OpenStreetMap. Projektet beskrivs närmare i avsnitt 2.5.

2.4.5 Problem med höjdkartor

Som sagts ovan har tillgängliga höjdkartor oftast alltför låg upplösning för att kunna användas vid uträkning av väglutningar. Det är också ett problem att vägar inte alltid följer omgivningens topografi. Figur 2.1 visar hur detta kan se ut för en bro över en dal. Att använda generell höjddata skulle med största sannolikhet ge felaktig lutning för vägen, eftersom sannolikheten att höjdmätningen har träffat just på vägen är liten.

På samma sätt blir det problem om marken har schaktats ur eller berg sprängts bort för vägen.

Figur 2.1. Bro över dal [7]. Användning av höjdinformation från en höjdkarta skulle här ge en missvisande lutning för vägen då höjdmätningarna sannolikt har träffat den omgivande dalen istället för den uppbyggda vägbron.

(25)

2.5. OPENSTREETMAP

2.5

OpenStreetMap

Kartor från OpenStreetMap har i stor utsträckning använts i detta arbete. Därför följer här en närmare beskrivning av just OpenStreetMap.

2.5.1 Introduktion

Projektet OpenStreetMap startade år 2004 och har nu nästan trehundratusen medlem-mar [14]. Det bygger på samma idéer som exempelvis Wikipedia (vars innehåll utvecklas av användarna, och där vem som helst kan bidra), men för kartor och geografisk information.

Vem som helst med tillgång till Internet kan ladda upp ny och ändra redan införd information.

2.5.2 Kvalitet och täckning

Kvaliteten och täckningen skiljer sig stort mellan olika områden, men täckningen är i stort sett mycket bra i de större städerna och orterna i Västeuropa. En un-dersökning över korrektheten i OpenStreetMaps data genomfördes under år 2008 (med data från slutet av mars samma år) [8]. Där jämfördes primärt positionerna på motorvägssegment i England med kartor från Ordnance Survey (Storbritanniens motsvarighet till Lantmäteriet), och resultatet visade att det fanns ett överlapp på cirka 80% mellan de två olika kartorna. Ett visst ”buffertområde” användes vid jäm-förelsen för att ta hänsyn till olika faktorer såsom noggrannheten på GPS-enheter, förenklingar i kartan från Ordnance Survey etc. Man konstaterar här att kvaliteten på datat i OpenStreetMap i vissa områden är utmärkt, medan den i andra områden är sämre. Till en stor del verkar det bero på vem som har kartlagt området och hur noggrann denna person har varit. Även hur många personer som har bidragit med ändringar i ett område spelar in.

2.5.3 Datakällor

En vanlig metod för att samla in information är att använda en GPS-enhet och låta den logga när man är ute och åker bil, cyklar eller går. Denna data kan sedan laddas upp till OpenStreetMap, där den då blir tillgänglig för andra personer som kan använda denna information för att rita in nya vägar i kartan. Vill man av någon anledning inte ladda upp den råa GPS-informationen kan man öppna den sparade filen lokalt på sin dator och själv uppdatera kartan direkt.

En annan vanlig metod är att använda flygbilder för att rita av kartdata. Sedan länge har flygbilder från Yahoo använts efter att Yahoo bekräftat att detta är tillåtet

(26)

enligt deras användningsvillkor [20]. Numera kan man också använda bilder från Bing [11, 3].

Efter att en ny väg har ritats in kan vem som helst lägga till valfri information till denna, såsom vägnamn, hastighetsbegränsningar, underlag etc. Hur denna infor-mation samlas in skiljer sig åt. Vissa använder anteckningsblock och penna, andra använder kamera (som ofta synkas mot en GPS-enhet för att kunna placera varje enskild bild på en karta) eller ljudinspelare. Det förekommer också att man redan känner till allt detta, exempelvis om man själv bor i närheten.

När de flesta vägar i ett område har kartlagts kan det räcka långt endast med lite lokalkännedom för att kunna bidra med värdefull information. Man är inte heller begränsad till att enbart lägga in vägar. I stort sett kan vad som helst läggas in. Exempel på vanligt förekommande data är vägar, byggnader, husnummer, trafikljus, övergångsställen, skidspår, trappor, elljusspår, offentliga byggnader med mera. Det förekommer också att data importeras från andra datakällor. Det kan exem-pelvis handla om data som redan är fritt tillgängligt eller har donerats till projektet. Två sådana exempel är Topologically Integrated Geographic Encoding and

Referenc-ing (TIGER) i USA och Automotive Navigation Data (AND) i Nederländerna [18].

2.5.4 Datamodell

OpenStreetMaps datamodell bygger på tre olika objekt: Node, Way och Relation. Alla dessa objekt kan innehålla ett godtyckligt antal taggar. Till detta kommer även intern metadata.

Node

En node (sv. nod) är den minsta beståndsdelen, och specificerar en geografisk ko-ordinat med longitud och latitud.

Way

En way (sv. väg) är en ordnad lista av noder. Trots namnet används dessa för att dels specificera fysiska vägar, men även för byggnader, insjöar, kustlinjer m.m. Allt som utgörs av en ordnad lista av koordinater (noder) specificeras alltså med hjälp av en way. Det vanliga är att dessa inte är slutna (att första och sista noden skiljer sig åt), vilket är fallet för de flesta gator. I andra fall, när det t.ex gäller byggnader eller rondeller är det vanligt att första och sista noden är identiska.

Hur tätt noderna ligger varandra är godtyckligt. Generellt sett ligger noderna tätare när vägens riktning ändras, medan de på raksträckor kan ligga relativt långt ifrån

(27)

2.5. OPENSTREETMAP

varandra. Detta följer av att en högre täthet behövs då man vill modellera kurvor någorlunda väl.

Relation

En relation (sv. relation) grupperar ihop noder, vägar och andra relationer i ord-ning. Dessa noder, vägar och andra relationer kallas för medlemmar i den eller de relationer de tillhör. Varje medlem i en relation kan ha en role (sv. roll) definier-ad. En relation som exempelvis specificerar en busslinje har då både de vägar som bussen färdas på och de hållplatser som angörs som medlemmar.

Taggar

Varje nod, väg och relation kan utöver informationen ovan också innehålla ett god-tyckligt antal taggar. En tagg är en kombination av en nyckel och ett värde. Det är med hjälp av taggarna som de inlagda noderna, vägarna och relationerna får en semantisk betydelse. Ett exempel på en tagg är nyckeln maxspeed och värdet 70, som kan användas för att indikera att en väg har den högsta tillåtna hastigheten satt till 70 km/h.

Metadata

Utöver informationen ovan innehåller dessutom varje nod, väg och relation intern metadata. Varje objekt har ett versionsnummer. När ett nytt objekt skapas får det version 1. När objektet sedan ändras, t.ex genom att en tagg läggs till eller att objektets position modifieras, så kommer objektet med version 1 ligga kvar oförändrat, och ett nytt objekt med de valda ändringarna skapas och får version 2. Varje version av objektet innehåller dessutom information om när den versionen skapades, vem som skapade objektet (ändringen), om denna version fortfarande är synlig med mera. Detta gör det möjligt att spåra ändringar, göra ändringar ogjorda med mera. Det kan också användas för att visualisera hur projektets har utvecklats över tid [15].

2.5.5 Teknik

Internt för OpenStreetMap lagras alla data i särskilda databaser. Denna data kan redigeras via ett exponerat API, som normalt sett används via en editor.

(28)

Databaser och exporterad data

OpenStreetMap använder primärt två olika databaser: en primär och en sekundär databas. Den primära databasen bygger på PostgreSQL och innehåller alla noder, väger och relationer som någonsin skapats. Det är i denna databas ändringarna från alla användare utförs. Den andra databasen använder PostgreSQL och PostGIS, och används som källa för kartrenderingen på http://openstreetmap.org [17]. Denna databas innehåller endast representationer av de senaste versionerna av de objekt som faktiskt renderas. Ett exempel på en sådan rendering syns i Figur 2.2.

Från den primära databasen exporteras all aktuell data (den senaste versionen av alla för tillfället synliga objekt) en gång i veckan. Dessutom kommer det så kallade

diff -filer med de senaste ändringarna ut med olika intervall (dagligen, en gång per

timme och en gång per minut). Detta innebär att den som vill har möjlighet att hålla en egen databas uppdaterad med aktuell data med minimal fördröjning. All exporterad data levereras i ett XML-baserat format.

Stockholm Tumba Salem Västerhaninge Södertälje Jordbro Sundbyberg Solna Ekerö Haninge Huddinge Lidingö Nacka Stockholm-Bromma Airport E 4;E 20 75 229 75 E 4;E 20 73 229 E 4 E 4 E 20 E 4 73 E 18 Fläsket Riddarholmen Bockholmen Lindholmen Slagsta holme Lovön Färingsö Bosön Skräddarholmen Ekerö Adelsö Kärsön Länsman Kranholmen Fiskarholmen Stuguholmen Beckholmen Lambarön Kungshatt Hässelby holme Björkö Reimersholme Färingsö Estbröte Granö Björnön Lilla Radön Lilla Essingen Libertus Ekerö Södermalm

Figur 2.2. Exempel på karta från OpenStreetMap. Figuren visar en rendering av aktuell kartdata i Stockholmsområdet.

(29)

2.6. SAMMANFATTNING

Editorer

För att lägga in nya data eller uppdatera redan existerande information används vanligen en så kallad editor. Oavsett editor används samma gränssnitt mot Open-StreetMaps servrar. De mest använda editorerna är Potlatch, JOSM och Meerkator, men det är även möjligt att utveckla egna editorer.

Potlatch är en editor utvecklad i Flash och körs direkt i användares webbläsare. Det är denna editor som används då man klickar på ”Edit”-knappen högst upp på http://openstreetmap.org. Potlatch riktar in sig på nybörjare och har ett gränssnitt anpassat efter detta.

JOSM är en editor utvecklad i Java och körs som ett fristående program. Det är också möjligt att starta det via Java WebStart. Det finns ett antal insticksmoduler (plugins), som möjliggör alltifrån överladdningar av data från anslutna GPS-enheter till att visa flygfoton som bakgrund under det nedladdade kartdatat.

2.5.6 Höjd i OpenStreetMap

I och med att det är möjligt att lägga in godtycklig data med hjälp av taggar i OpenStreetMap är det också möjligt att lägga in höjd- och lutningsdata. Det finns redan en tagg definierad med nyckeln ele som är avsedd för att ange höjden i exempelvis en nod.

OpenStreetMaps datamodell gör det mest lämpligt att spara dessa höjdvärden i de noder som redan finns. Vill man spara värden än tätare måste extra noder skapas och infogas i de aktuella vägarna.

När det gäller nivåkurvor som exempelvis används i cykelkartan har man valt att hålla dessa utanför den primära OpenStreetMap-databasen [16]. I stället läggs data från NASA’s SRTM-projekt i en separat databas som används vid renderingen av cykelkartan. På detta sätt undviks en stor ökning av datamängden för alla andra som använder data från OpenStreetMap. En skillnad mellan nivåkurvor och kartor med höjd- och lutningsinformation för vägar är att de senare endast innehåller extra information på just de vägar (”ways”) som redan finns i kartan. Att lägga in nivåkurvor skulle å andra sidan kräva noder och så kallade vägar utlagda så att de både täcker och korsar det som redan finns i kartan.

2.6

Sammanfattning

Många relevanta tidigare arbeten har gått ut på att skapa nya vägkartor enbart från GPS-spår och utan någon tidigare karta, vilket har visat sig vara ett svårt problem. Andra relevanta områden är skapande av höjdkartor, som dock är omständligt på grund av den dåliga noggrannhet GPS-systemet har i höjdriktningen.

(30)

En algoritm för att estimera lutningar utifrån enkla GPS-enheter och andra sensorer i tunga fordon har nyligen utvecklats. Denna ligger till grund för arbetet i denna rapport.

GPS-system har efter hand fått allt bättre precision, även för icke-militära bruk. Signalerna kan dock fortfarande förbättras genom användning av DGPS.

Det finns ett antal redan existerande vägkartor, både fria och kommersiella. Det finns också en omfattande höjdmodell över stora delar av jorden som gjorts inom NASA’s SRTM-projekt. Denna har dock för dålig upplösning för att direkt användas inom ramen för detta arbete.

OpenStreetMap är ett relativt nytt projekt som koncentrerar sig på att skapa en fri, icke-kommersiell vägkarta. Vem som helst kan bidra med data, vilket enklast sker genom en av de editorer som finns. All kartdata från OpenStreetMap kan laddas hem i ett XML-baserat vektorformat. Det finns även grafiska renderingar av kartdatan tillgängliga.

(31)

Kapitel 3

Arkitektur

I detta avsnitt beskrivs hur ett färdigt system skulle kunna designas arkitekturmäs-sigt. Kapitlet börjar med en översikt av det tänkta systemet och visar även vad fokus har legat på i detta arbete. Kapitlet fortsätter sedan med beskrivningar av de två olika logiska delarna: den centrala enheten och fordonsenheter. I avsnitt 3.2 beskrivs mer ingående hur kartdatan hanteras. Kapitlet avslutas i avsnitt 3.3 med en beskrivning av de simuleringar som stora delar av detta arbete baseras på.

3.1

Systemöversikt

I denna rapport har systemets alla delar behandlats. En schematisk översikt av dessa delar visas i Figur 3.1. Delarna omfattar insamling av mätdata, algoritmen för höjd- och lutningsskattningen och kombineringen av flera körningar för att skapa en karta med höjd- och lutningsdata. Det är dock endast den sistnämnda delen som har implementerats inom ramen för detta arbete.

Estimering

Uppdatera

karta

Körning

Figur 3.1. I detta arbete beskrivs insamlingen av mätdata, estimeringen av höjd-och lutningsdata höjd-och kombineringen av flera körningar för att skapa den slutgiltiga kartan. Det är endast uppdateringen av höjd- och lutningsdata i kartan som har implementerats i detta arbete.

Figur 3.2 visar i mer detalj de delar som har implementerats. Information från en-skilda körningar skickas tillsammans med resultatet från estimeringsalgoritmen in i systemet. Varje loggad datapunkt med data från fordonets GPS-enhet matchas

(32)

mot kartan. När matchningen väl har skett läses den sparade höjd- och lutnings-informationen upp och kombineras med det nya resultatet. Det uppdaterade resul-tatet sparas sedan ner i kartan igen.

Ett fullt utbyggt system skulle rent fysiskt kunna bestå av två olika delar: en central enhet och ett antal fordonsenheter.

Figur 3.2. Översikt av de delar som har implementerats. Systemet matas med data från enskilda körningar tillsammans med estimerade höjd- och lutningsdata. Denna information används sedan för att avgöra vart körningen ägt rum. Information redan sparad i kartan kombineras med den nya körningen, och det uppdaterade värdet sparas ner.

3.1.1 Central enhet

Den centrala enheten innehåller den aktuella vägkartan med höjd- och lutningsin-formation. Det är här nya estimeringar kombineras med den existerande kartan. Även ändringar i den underliggande vägkartan (utan höjd- och lutningsinforma-tion) behandlas här.

Denna enhet behöver köras på relativt kraftfull hårdvara. Att uppdatera kartan med nya körningar kräver en del prestanda. Exakt vilka krav som behöver ställas på hårdvaran beror till stor del på hur många klienter och hur mycket data som ska hanteras.

3.1.2 Fordonsenhet

En fordonsenhet placeras i varje fordon som ska användas för att estimera höjd och lutning på körda vägar. Algoritmen för estimering av väglutningarna använder data från ett antal sensorer i fordonet, däribland information om aktuell växel, vridmoment, huruvida fordonet bromsar, etc. Denna information loggas med en frekvens av 50 Hz. Till detta kommer data från fordonets GPS, som loggas med en

(33)

3.2. KARTDATA

frekvens av 4 Hz. Den slutgiltiga estimeringen från den enskilda körningen kan sedan ske på åtminstone två olika håll: antingen i den centrala enheten (efter uppladdning av all sensordata) eller direkt i fordonsenheten. I det senare fallet skulle då endast de estimerade värdena slutligen laddas upp till den centrala enheten, för att väl där integreras i kartan.

Om estimeringen ska ske i fordonet skulle en möjlighet vara att utnyttja Scanias C200-enhet som idag främst används för Fleet Management och redan finns i mån-ga fordon [4]. C200 är fysiskt sett en liten svart låda i fordonet som inte har nå-gon interaktion med användaren. Däremot har den tillgång till olika gränssnitt, däribland sensorer från fordonet via CAN-bussen och GPS-signaler. Dessutom har den ett GPRS-modem som används för att kommunicera med det centrala Fleet Management-systemet. Då estimeringen inte behöver köras i realtid skulle den kun-na ske vid de tillfällen då det finns ledig beräkningskapacitet i denkun-na enhet. Fordons-enheten skulle också vara lämplig för att lagra en exporterad version av kartan från den centrala enheten för uppläsning under färd.

3.2

Kartdata

Med kartdata avses här främst en tvådimensionell vägkarta.

3.2.1 Ursprunglig vägkarta

Som grund i detta arbete har en redan existerande karta utan höjd- och lutningsin-formation från OpenStreetMap använts. Om önskat skulle det även vara möjligt att använda någon annan grundkarta, exempelvis en kommersiell karta från Navteq eller TeleAtlas.

3.2.2 Ändringar i vägkartan

Det förekommer att den underliggande vägkartan förändras. Det kan bland annat bero på att vägar byggs om eller att kartdatat från början var något felaktigt, och efterhand rättas till. Det senare gäller i allra högsta grad OpenStreetMap, där olika personer är olika noggranna och har olika bra GPS-utrustning. I OpenStreetMap förekommer det även att vägar delas och slås ihop relativt ofta, då attribut (tag-gar) endast kan gälla antingen enskilda noder eller hela vägar. Om exempelvis en hastighetsbegränsning som enbart gäller en viss sträcka av en väg då ska tillföras måste vägen delas i två.

Medan de kommersiella kartleverantörerna brukar komma ut med nya kartor en gång i kvartalet, erbjuder OpenStreetMap aktuella ändringar så ofta som en gång per minut [19]. Det kan vara önskvärt att emellanåt införa dessa ändringar även i

(34)

höjd- och lutningskartan. Det finns här några olika tillvägagångssätt för att hantera denna situation. Möjliga alternativ är att helt ta bort data från de ändrade vägarna eller att behålla aktuell data genom att behandla den som en egen körning. En annan möjlighet är att spara varje individuell körning separat.

Ta bort ändrade vägar

Ett alternativ då en sträcka i vägkartan ändras är att helt enkelt ta bort den gamla sträckningen i höjd- och lutningskartan och lägga in den nya varianten. Detta för med sig att det gamla, redan insamlade datat förkastas och att information om höjd och lutning på den nya sträckningen till en början saknas. Denna metod har fördelarna att den tekniskt sett är relativt enkel att implementera och att all lagrad data verkligen är insamlad på den nya vägsträckningen. Den största nackdelen är att man riskerar tappa mycket insamlad data vid uppdatering av den underliggande vägkartan.

Behåll aktuell data

Ett annat alternativ är att ändra i den underliggande vägkartan och ta bort ak-tuell höjd- och lutningsinformation för den berörda sträckan, men efter att den nya sträckningen har lagts till använda gammal data till att simulera en ny körning i kartan (fast naturligt med en mycket lägre variansskattning än vad en riktig körning ger, eftersom denna data bygger på många körningar). Om sträckningen då endast har ändrats marginellt kommer i stort sett all gammal data att följa med även på den nya sträckningen.

Kör om alla mätningar

Om varje individuell mätning sparas permanent är det möjligt att låta systemet behandla dessa igen i ett senare skede. Efter ändringar i den underliggande vägkar-tan behandlas körningarna på nytt av systemet, och de ändrade vägarna populeras återigen med höjd- och lutningsdata. En stor nackdel här är att lagringsbehovet ökar markant då alla individuella körningar måste sparas. Likaså kan det krävas mycket datorkraft för att på nytt matcha dessa körningar på vägkartan.

3.3

Simuleringar

Här beskrivs översiktligt de simuleringsfunktioner som funnits tillgängliga under arbetets gång, både när det gäller konstruktion av fiktiva vägar och simulerade fordonsrörelser.

(35)

3.3. SIMULERINGAR

3.3.1 Generering av vägar

Utifrån en tvådimensionell vägkarta har simulerade vägavsnitt med höjd- och lut-ningsinformation skapats. Dessa uträknade värden baseras på höjddata från SRTM-projektet, vilka har en upplösning om en punkt var 90:e meter. Genom interpolering har tätare punkter skapats. Då höjddatat inte alltid är tillförlitligt har värdena även fått filtreras för att inte skapa orimliga lutningar. Det förekommer även att höjd-data saknas i vissa områden. Där har interpolering används på längre sträckor för att räkna fram höjd- och lutningsdata.

Det kan vara intressant att se hur dessa genererade vägar överensstämmer med verkligheten. En sådan jämförelse görs i Figur 3.3, som jämför den genererade vä-gen utifrån SRTM-data med den uppmätta referensvävä-gen för utförda experiment mellan Södertälje och Nyköping. Här kan man se att den genererade vägen i stora drag överrensstämmer med den uppmätta referensvägen. Större skillnader uppstår i de fall då lutningen blir stor eller ändras tvärt, då den genererade vägen är hårt filtrerad. 5000 10000 15000 20000 25000 −4 −2 0 2 4 Lutning, % Sträcka, m Referensväg Simulerad väg

Figur 3.3. Jämförelse mellan genererad (heldragen) och uppmätt (streckad) väg. Den genererade vägen överrensstämmer till viss del med den uppmätta referensvägen, utom då lutningarna blir extra stora.

3.3.2 Simulering av körningar

På de genererade vägarna har körningar med tunga fordon simulerats. De genererade vägarna används som referensvärden. På dessa värden simuleras en GPS-signal med tillhörande felkällor och mätbrus. Modeller för vertikala och horisontella fel har identifierats separat, baserat på experimentdata.

(36)

GPS-modell

Modellen för den simulerade GPS-signalen bygger på markovprocesser, där sanno-likhetsvärdena har hämtats från de experiment som tidigare har utförts. Detta gör att den simulerade signalen till stora delar avspeglar verkliga beteenden. System-modellen fångar dock inte fullt upp beteenden som beror på multipath-effekter (där signalen från en satellit reflekteras på objekt i omgivningen).

Slumpmässig start

Simuleringen har möjlighet att använda slumpmässig start. I det läget startar simu-leringen någonstans mellan den första och andra referenspunkten. Då simusimu-leringen i varje steg rör sig ett punktavstånd innebär detta att datavärdena inte längre häm-tas exakt därifrån referenspunkterna ligger. I stället används linjär interpolering för att få fram datavärden i de positioner som simuleringen rör sig genom. Dessa vär-den används då som de sanna värvär-dena innan exempelvis mätbrus läggs på. Syftet har här varit att ge mer verkliga förhållanden, då datapunkterna annars hamnar exakt i referenspunkterna, som i sin tur faller samman med punkterna från den ursprungliga vägkartan.

Fordonsmodell

En fordonsmodell används för att i simuleringer efterlikna ett riktigt fordon. Estimerings-algoritmen använder information om exempelvis växling, vridmoment, hastighet med mera. Med hjälp av fordonsmodellen simuleras ett fordons beteende på vägen. En fordonsmodell består av ett antal parametrar som beskriver fordonet. Några ex-empel på sådana parametrar är fordonets massa, maximalt vridmoment, tröghet i motor och hjul, hjulens radie, luftdensitet med flera [9]. Då flera av dessa parametrar ofta inte är helt kända, läggs brus på dessa värden när de används för estimerin-gen. Exempelvis är fordonets massa känd exakt vid simuleringen, medan den när estimeringen sedan sker har justerats slumpmässigt inom ett visst intervall. Detta medför en större osäkerhet vid estimeringen.

I simuleringarna för detta arbete har alla körningar utgått från en och samma fordonsmodell, som modellerar ett fordon med en totalvikt på 40 ton.

3.4

Sammanfattning

Detta arbete koncentrerar sig på beskrivning och implementering av en prototyp för att använda lutningsestimeringar och infoga dessa i en vägkarta. Ett system i skarp drift skulle kunna bestå av två logiska enheter: en central enhet och en

(37)

3.4. SAMMANFATTNING

fordonsenhet. Estimeringen skulle kunna ske i antingen den centrala enheten eller i varje fordonsenhet.

Ändringar i den underliggande vägkartan kan hanteras på flera olika sätt. Ändrade vägar kan helt tas bort och ersättas, men tappar då all dittils insamlad data. En annan variant är att använda den estimering som redan finns för att generera en fiktiv körning i den nya kartan.

Simulerad data har använts i stor utsträckning i detta arbete, både när det gäller att generera fiktiva vägar och simuleringar av fordonsrörelser på dessa vägar.

(38)
(39)

Del II

(40)
(41)

Kapitel 4

Prototyp

Här beskrivs kortfattat de funktioner som den utvecklade prototypen innehåller. Dessa funktioner har delats upp i primära respektive sekundära funktioner.

4.1

Primära funktioner

De primära funktionerna avser den funktionalitet som rör behandlingen av estimer-ad data och kombineringen av flera körningar.

4.1.1 Inläsning av estimerade körningar

Estimering av höjd- och lutningsdata för en körning sker offline, det vill säga i efterhand. En funktion har utvecklats för att läsa in data från denna estimering för att möjliggöra behandling av informationen. Denna data består av ett antal estimerade punkter. Varje punkt innehåller följande information:

• Longitud • Latitud

• Estimerad altitud • Estimerad lutning • Estimerad varians

(42)

4.1.2 Kartmatchning

Första steget i behandlingen av det inlästa estimerade datat är att matcha de in-lästa koordinaterna mot de lagrade datapunkterna. Den implementerade metoden är något anpassad för att användas på motorvägar och förutsätter att positionsfelet från GPS-enheten, åtminstone i det inledande skedet, inte är alltför stort.

Översiktligt går matchningen till enligt följande. Med datapunkt menas en inläst punkt med informationen som finns listad i avsnitt 4.1.1.

1. Ta fram första datapunkten. 2. Hitta aktuell position i vägkartan. 3. Ta fram nästa datapunkt.

4. Hitta de väglänkar1 inom cirka 3 kilometer och vars riktning inte avviker mer än cirka 35 grader från riktningen mellan första och andra datapunkterna. 5. För varje väglänk, försök hitta en vägsträcka kortare än 100 meter i kartan

från aktuell position till startpunkten i väglänken.

6. Om ingen sådan vägsträcka hittades, gå till steg 3. Annars, använd den väglänk som låg på kortast avstånd från aktuell position i kartan.

7. Använd den närmaste punkten i väglänken (start- eller slutpunkten). Om denna kartpunkt redan har matchats av en tidigare datapunkt, gå till steg 3. Annars, associera aktuell datapunkt med denna kartpunkt.

8. Om det finns fler datapunkter, gå till steg 3. 9. Matchningen är nu slutförd.

Villkoret i steg 4 att riktningen mellan två datapunkter och riktningen för en väglänk ska överensstämma inom en viss gräns medför bland annat att enkelriktade vägar (motorvägssegment) i motsatt riktning inte kommer ifråga för matchningen. Här uppstår alltså inte problem då två motorvägssegment (ett i vardera riktning) är placerade nära varandra.

När hela matchningen väl är slutförd används associationerna mellan datapunkterna och kartpunkterna för att uppdatera kartan.

4.1.3 Uppdatering av beräknade värden

När väl kartmatchningen är klar och det är klarlagt vilka kartpunkter som matchades av specifika estimerade värden används denna information för att uppdatera de la-grade värdena med ny höjd- och lutningsdata.

1

En väglänk är den kortaste sträckan mellan två intilliggande datapunkter i kartan som följer på varandra i en fysisk väg

(43)

4.2. SEKUNDÄRA FUNKTIONER

Uträkningen av dessa värden sker med hjälp av några olika metoder för att kunna undersöka om de ger några skillnader resultatmässigt. Dessa metoder listas här. I en skarp implementering räcker det med att endast en metod används.

Viktning utifrån skattad varians

Varje estimerad datapunkt innehåller en skattad varians. När en ny mätning kom-bineras med den existerande kartan viktas mätvärdena utifrån den skattade vari-ansen. Hur detta sker finns beskrivet i avsnitt 2.2.3.

I den implementerade prototypen fungerar detta rent tekniskt genom att varje dat-apunkt innehåller, förutom longitud, latitud, altitud och lutning, även den skattade variansen för alla kombinerade mätningar i den aktuella punkten. När en ny mät-ning läggs till läses denna varians upp och jämförs med den skattade variansen för den enskilda mätningen. Efter att de lagrade altitud- och lutningsvärdena har up-pdaterats ändras även den lagrade variansen för att ta hänsyn till att det lagrade värdet nu beror på ytterligare en mätning.

I prototypen lagras även antalet mätningar i varje datapunkt, för att kunna verifiera hur många mätvärden som har matchas mot den individuella datapunkten.

Medelvärdesbildning

Som ett alternativ till att använda den skattade variansen vid uppdatering har en enkel medelvärdesbildning implementeras. Ett viktat medelvärde skapas mellan det akuella värdet i datapunkten och det nya mätvärdet, där viktningen endast beror på hur många mätningar som finns lagrade i datapunkten.

Det existerande värdet i datapunkten uppdateras enligt följande:

x = x ∗ N + ˆx N + 1

där x är det sparade värdet i kartan, N är antalet mätningar för värdet i kartan, och ˆx är det nya mätvärdet. Detta sker för både altitud- och lutningsvärdena.

4.2

Sekundära funktioner

Prototypen innehåller ett flertal funktioner utöver de primära funktionerna listade ovan. Dessa har kommit till för att möjliggöra visualisering och inspektion av da-ta, generering av data till simuleringar, med mera. Här listas kortfattat de olika funktionerna.

(44)

4.2.1 Kartvy

Kartvyn är det egentliga gränssnittet till prototypen. Här är det möjligt att visuellt inspektera såväl den redan tillgängliga vägkartan som genererad data. Det möjliggör även närmare inspektion av hur kartmatchningen presterar.

Under denna data kan ett lager med en renderad karta från OpenStreetMap ak-tiveras för att jämföra genererad data mot riktig kartdata.

En skärmbild av protypen syns i Figur 4.1.

Figur 4.1. Skärmbild av prototypen. Programmet möjliggör inspektion av kartdatat, kartmatchningen med mera. Kartdatat har koncentrerats till att främst omfatta mo-torvägar.

4.2.2 Hantering av ursprunglig vägkarta

För att hantera den vägdata som finns tillgänglig från OpenStreetMap har en kon-verteringsfunktion utvecklats som läser det dataformat som data från OpenStreetMap leveras i, och populerar en databas med denna data. Från databasen är det sedan möjligt att läsa upp dessa objekt i godtycklig ordning.

Denna konvertering är nödvändig då det ursprungliga datat levereras i ett XML-baserat format som inte gör det möjligt att söka effektivt bland informationen. I

(45)

4.3. SAMMANFATTNING

stället måste hela filen läsas sekventiellt, vilket blir oanvändbart då information måste hittas snabbt.

4.2.3 Skapande av datapunkter

För att möjliggöra generering av vägar med lutningsinformation för simuleringen har en funktion skapats som utifrån vägdatat från OpenStreetMap skapar vägsegment med punkter på konstant avstånd. I detta arbete har ett avstånd på 20 meter använts. Då avstånden mellan noderna från OpenStreetMap skiljer sig åt och kan vara både kortare eller längre än 20 meter sker både utglesning och förtätning. De genererade datapunkterna exporteras sedan för att användas vid konstruktionen av vägprofiler med simulerad höjd- och lutningsinformation tillagda. Dessa punkter utgör även de positioner där beräknad data lagras.

4.2.4 Inläsning av konstruerade vägar

När vägprofiler med simulerad höjd- och lutningsinformation har skapats utifrån de exporterade datapunkterna läses dessa in för att användas som referensvärden. Dessa referensvärden används för att undersöka resultaten från de simulerade körningar-na. För testerna med experimentell data används referensmätningen från den ak-tuella vägsträckan som referens. I en skarp implementering kommer någon sådan referensdata inte att existera.

De simulerade vägprofilerna består av en uppsättning punkter som följer på varan-dra i vägen. Varje punkt innehåller följande information:

• Longitud • Latitud • Altitud • Lutning

4.3

Sammanfattning

I detta kapitel har den utvecklade prototypen beskrivits. Dess funktionalitet har delats upp i två delar: primära- och sekundära funktioner. De primära funktionerna är sådana som även ska vara med i en skarp implementering. De sekundära funk-tionerna står för specifik funktionalitet som har varit nödvändigt eller underlättat för exempelvis analyserna för denna rapport.

(46)
(47)

Kapitel 5

Numeriska resultat

I detta kapitel redogörs för de numeriska resultaten. I avsnitt 5.1 presenteras oli-ka resultat från de genomförda simuleringarna, däribland enskilda körningar och iterativt förbättrade resultat. I avsnitt 5.2 presenteras kortfattat några resultat då mätdata från tidigare experiment använts.

5.1

Simuleringar

Här presenteras resultat från enskilda simulerade körningar och kombinering av data från dessa.

5.1.1 Enskilda körningar

Ett antal körningar har simulerats på totalt 62 olika vägsträckor. Av utrymmesskäl visas endast resultat för utvalda sträckor här. Notera att även vägarna som an-vänts här har konstruerats rent matematiskt utifrån lågupplöst höjddata, och de kan därför inte sägas fullt ut representera de verkliga förhållandena på respektive sträcka.

I Figur 5.1 visas några exempel på estimerade lutningsvärden från några enskilda simulerade körningar. Den streckade linjen representerar referensvärdet medan de heldragna linjerna utgör enskilda simulerade körningar.

(48)

0 2 4 6 8 10 −2

0 2

Exempel på en simulerad körning

Lutning, % Sträcka, km 0 2 4 6 8 10 −2 0 2

Exempel på fyra simulerade körningar

Lutning, % Sträcka, km 0 2 4 6 8 10 0 20 40

60 Exempel på en simulerad körning

Altitud, m Sträcka, km 0 2 4 6 8 10 0 20 40 60

Exempel på fyra simulerade körningar

Altitud, m

Sträcka, km

Figur 5.1. Exempel på estimerade värden för enskilda körningar (en respektive fyra körningar). De två översta delfigurerna visar den estimerade lutningen, medan de två understa figurerna visar den estimerade altituden. I alla fall visas referensvärdet som en streckad linje.

(49)

5.1. SIMULERINGAR

5.1.2 Iterativ förbättring

I Figur 5.2 åskådliggörs det egentliga resultatet av den utvecklade prototypen. Det som främst visas är de uträknade höjd- och lutningsvärdena efter olika an-tal körningar på samma vägsträcka. Dessa jämförs med referensvärdena, det vill säga de höjd- och lutningsvärden som gäller för den simulerade vägen.

Vid kombineringen av dessa körningar har endast de värden som viktats utifrån den skattade variansen använts. Det visade sig att den andra metoden beskriven i avsnitt 4.1.3 endast gav marginella skillnader. För att spara utrymme har därför inga separata figurer för den andra metoden skapats.

5.1.3 Felavvikelser

Som ett mått på hur mycket de framräknade värdena skiljer sig från referensvärdena används här Root Mean Square Error (RMSE), det vill säga roten av det kvadrerade medelfelet. Rent matematiskt defineras det enligt

RM SE = s PN i=1(xbi− xi) 2 N

där N är antalet mätningar,xbi är mätvärdet i punkten i och xi är referensvärdet i

punkten i.

Eftersom felen kvadreras innan de medelvärdesbildas får större fel högre vikt och ger ett än större utslag i slutresultatet. Detta är särskilt användbart då större fel är särskilt oönskade.

I Figur 5.3 visas detta som en funktion av antalet körningar som har vägts samman på den valda vägsträckan. För att få bättre tillförlitlighet upprepades experimentet med 50 körningar 50 gånger. Totalt genomfördes alltså 2500 simulerade körningar på samma vägsträcka.

5.1.4 Slumpmässig start

I Figur 5.4 jämförs felavvikelserna med och utan slumpmässig start påslaget. Precis som i Figur 5.3 har det skett totalt 2500 simulerade körningar här.

(50)

0 2 4 6 8 10 −2

0 2

(a) Skattad lutning efter 5 körningar

Sträcka, km Lutning, % 0 2 4 6 8 10 0 0.2 0.4

(b) Absolut fel i lutningen efter 5 körningar

Sträcka, km Lutningsfel, %−e nheter 0 2 4 6 8 10 −2 0 2

(c) Skattad lutning efter 20 körningar

Sträcka, km Lutning, % 0 2 4 6 8 10 0 0.2 0.4

(d) Absolut fel i lutningen efter 20 körningar

Sträcka, km

Lutningsfel,

%−e

nheter

Figur 5.2. I (a) visas den skattade lutningen efter fem körningar. Delfigur (b) visar absolutfelet av lutningen. Delfigur (c) och (d) visar motsvarande efter 20 körningar. De streckade linjerna anger referenslutningen.

(51)

5.1. SIMULERINGAR 0 5 10 15 20 25 30 35 40 45 50 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 RMSE, lutning % −enheter Antal körningar

Figur 5.3. Felavvikelse för det iterativt förbättrade lutningsvärdet, från 1 till 50 körningar. Detta har upprepats 50 gånger (vilket totalt ger 2500 körningar). I denna figur visas medelvärdet av felavvikelserna för de 50 utförda omgångarna (heldragen linje), tillsammans med dess standardavvikelse (streckade linjer).

(52)

0 5 10 15 20 25 30 35 40 45 50 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 RMSE, lutning % −enheter Antal körningar

Figur 5.4. Jämförelse mellan simulerade körningar med och utan slumpmässig start. Figuren visar felavvikelserna för den skattade lutningen. Den heldragna linjen är medelvärdet av RMSE för körningarna med slumpmässig start aktiverat. Den streck-ade linjen visar motsvarande värde då slumpmässig start är avaktiverat.

(53)

5.1. SIMULERINGAR

5.1.5 Hela nätverket

Figur 5.5 visar det nätverk som simuleringarna bygger på, tillsammans med namn på knutpunkterna.

För att få en bild av hur den uppbyggda kartan skulle se ut efter många körningar har en simulering med 1000 körningar genomförts. Varje körning har skett på en slumpmässig sträcka med en längd på mellan 5 och 50 mil. För att visa på resultatet från dessa körningar har tre delfigurer skapats i Figur 5.6. Dessa visar resultatet efter 10, 100 respektive 1000 körningar. Lutningsfelet för varje punkt i figurerna utgör medelvärdet av lutningsfelet på en sträcka av 250 meter. Sträckor med lut-ningsfel mindre än 0,04 procentenheter är färgade helt svarta, medan sträckor med fel större än 0,4 procentenheter (eller som helt saknar data) är helt vita. Däremellan är värdena logaritmiskt skalade mellan svart och vitt utifrån lutningsfelet.

Det ska dock noteras att detta inte är något verkligt scenario. Det är mer normalt att det finns vissa korridorer som trafikeras mycket frekvent, medan andra vägar har en mer utglesad trafik. Exempelvis kan man tänka sig att sträckan från Malmö, via Danmark och ner till Tyskland egentligen passeras av en stor mängd tung trafik. Genom den metod som har använts för att simulera trafiken här får man istället att dessa långa, enskilda sträckor har ganska få körningar.

(54)

6 8 10 12 14 16 18 20 22 48 50 52 54 56 58 60 Arboga Oslo Arboga Stockholm Arboga Södertälje

Bad OyenhausenHannover Bad Oyenhausen Kamen Bad Oyenhausen Osnabrück Berlin Dresden Berlin Hamburg Berlin Hannover BremenHamburg Bremen Hannover Bremen Osnabrück ChemnitzDresden Chemnitz Frankfurt Chemnitz Nürnberg Dresden Berlin Dresden ChemnitzDresden Göttingen Frankfurt Chemnitz Frankfurt Köln Frankfurt Nürnberg Göteborg Helsingborg GöteborgJönköping Göteborg Oslo Göttingen Dresden Göttingen Hannover Göttingen Unna Hamburg Berlin Hamburg BremenHamburg Helsingborg Hannover

Bad OyenhausenHannoverHannover Berlin Bremen Hannover Göttingen Helsingborg Göteborg Helsingborg Hamburg Helsingborg Jönköping Jönköping GöteborgJönköping Helsingborg Jönköping Södertälje Kamen Bad Oyenhausen Kamen Osnabrück Kamen Unna Köln Frankfurt Köln Unna Nürnberg Chemnitz Nürnberg Frankfurt Oslo Arboga Oslo Göteborg

OsnabrückBad Oyenhausen Osnabrück Bremen Osnabrück Kamen Stockholm Arboga Stockholm SödertäljeStockholm Uppsala Södertälje Arboga Södertälje Jönköping SödertäljeStockholm Unna Göttingen UnnaKamen Unna Köln Uppsala Stockholm

Figur 5.5. Översiktsbild över hela vägnätet. Detta vägnätverk ligger till grund för simuleringarna.

(55)

5.1. SIMULERINGAR 0 10 20 48 50 52 54 56 58 60

(a) Efter 10 körningar

0 10 20 48 50 52 54 56 58 60 (b) Efter 100 körningar 0 10 20 48 50 52 54 56 58 60 (c) Efter 1000 körningar

Figur 5.6. Hela nätverket efter (a) 10, (b) 100 respektive (c) 1000 körningar. Helt vita områden saknar data, medan helt svarta områden har data med små fel. Värdena däremellan är skalade logaritmiskt efter felet i lutningen.

(56)

1 2 3 4 5 0.2 0.25 0.3 RMSE, lutning % −enheter Antal körningar

Figur 5.7. Experimentella körningar norrut, i ordning 1, 2, 3, 4 och 5

1 2 3 4 5 0.2 0.25 0.3 RMSE, lutning % −enheter Antal körningar

Figur 5.8. Experimentella körningar norrut, i ordning 5, 4, 3, 2 och 1

5.2

Experimentella tester

För att i någon mån verifiera de simulerade resultaten har även data från tidigare mätningar behandlats. Dessa omfattar en sträcka mellan Södertälje och Norrköping, med fem körningar söderut och sex körningar norrut. Som referens har data från en oberoende mätning med hjälp av en Oxford RT3040 använts. En mer detaljerad beskrivning av hur dessa experiment har utförts finns i [22].

För att belysa de olika resultat som kan uppstå beroende på vilken ordning körningar-na läggs in i visas resultat över några olika permutationer av körningarkörningar-na. Figur 5.7 och Figur 5.8 visar resultat då alla 5 körningar har använts, där experimenten har ordnats i stigande respektive fallande ordning efter den ordning de utfördes i.

(57)

5.2. EXPERIMENTELLA TESTER 1 2 3 4 0.2 0.25 0.3 RMSE, lutning % −enheter Antal körningar

Figur 5.9. Experimentella körningar norrut, i ordning 1, 2, 3 och 5

1 2 3 4 0.2 0.25 0.3 RMSE, lutning % −enheter Antal körningar

Figur 5.10. Experimentella körningar norrut, i ordning 5, 3, 2 och 1

Vi ser i de två figurererna att körning 4 gör resultatet sämre. För referens har jag därför inkluderat två tester utan dessa körningar, vilket syns i Figur 5.9 och Figur 5.10.

Det ska påpekas att de ursprungliga estimeringarna och referensvägen är gjorda med ett avstånd på 2,5 meter mellan varje punkt. För att bättre överrensstämma med de simulerade testerna har dock endast var 8:e punkt använts, för att även här få ett avstånd på 20 meter mellan varje punkt.

(58)

5.3

Sammanfattning

I detta kapitel har ett antal resultat som visar på hur systemet presterar presen-terats. Det som främst har undersökts är resultaten från då höjd- och lutningsskat-tningarna matchas mot vägkartan och kombineras. Resultaten har presenterats i form av grafer, både över enskilda körningar och iterativt förbättrade resultat, men även med måttet RMSE. Till sist presenterades numeriska resultat då data från tidigare utförda experiment användes.

(59)

Del III

(60)
(61)

Kapitel 6

Numeriska resultat

I detta kapitel analyseras de numeriska resultaten. Kapitlet inleds i avsnitt 6.1 med att kort diskutera estimeringsalgoritmen. Efterföljande avsnitt behandlar resultat från simuleringarna, och jämför dessa till viss del mot teoretiska värden. Även en analys av data från experimenten görs.

6.1

Estimeringen

Algoritmen för estimeringen av höjd- och lutningsvärdena fanns redan tillgänglig när detta examensarbete påbörjades. Att analysera eller på något sätt förbättra denna har legat utanför ramen för detta arbete. Däremot kan några kommentarer ges.

Den skattade variansen mellan motsvarande punkter i olika körningar skiljer sig oftast endast marginellt. Detta gör att de olika mätningarna i princip får samma vikt, och att resultatet som uppnås genom att ta hänsyn till den skattade variansen endast marginellt skiljer sig åt från att använda ett viktat medelvärde.

Som det påpekas i [22] antas det att varje mätning är oberoende av varandra. Detta är dock problematiskt, då varje mätning för varje sträcka sker med hjälp av samma metod och borde uppleva ungefär samma felkällor från exempelvis hinder i omgivningen (som kan ge upphov till reflekterade radiosignaler). Detta leder till att variansen i mätningen underskattas, och att den skattade variansen för kombinerade mätningar i kartan blir lägre än vad den borde vara. Detta gör att de estimerade värdena i kartan kommer väga tyngre än vad de borde, vilket leder till att påverkan från nya mätningar slutligen endast blir marginell.

References

Related documents

Uttalandets beklagande och urskuldande tonfall vittnar om att kritik av W A fortfarande kunde förenas med en hög uppfattning om verkets författare. Av intresse är

For the facial motion cloning method to work, the static and the animated face must have certain feature points defined (a subset of the MPEG-4 standard feature point set)..

believed to be a LO-phonon replica of the DBE indicating that the energy scale is the same for the different techniques. The large feature ranging from approximately 400 – 450 nm

Baserat på både mitt antagande om att beskrivande text ökar läsintresset och att nivån på läsintresset avspeglas i den egna textproduktionen är denna studies

Det är lätt att hamna i bakvänd ordning när man ska göra en utställning tillgänglig för människor med olika funktionsvariationer; först planerar man innehållet för personer

Ambitionen har varit att genom ett pilotfall undersöka möjligheten för en kommun att införa ett ledningssystem för trafiksäkerhet ­ inte att konkret implementera ISO 39001 på

(Tänkbara mål: All personal ska genomgå Säkerhet på väg utbildningen var 5:e år. Alla maskinförare ska ha rätt körkort för sina fordon).. Upphandling

Urvalet i föreliggande studie bestod av personer med långvarig smärtproblematik som deltagit i behandlingsprogrammet vardagsrevidering vid en mottagning på SÄS. Deltagarna