Linköping studies in science and technology. Dissertations. No. 1520 Autonomous Localization in Unknown Environments Jonas Callmer Department of Electrical Engineering Linköping University, SE–581 83 Linköping, Sweden Linköping 2013 Cover illustration: Example of positioning result using a foot-mounted inertial magnetic sensor unit. The user is visiting every room in a corridor, similar to how fire fighters operate. The result is overlaid on a floor plan that was unknown to the positioning system. Linköping studies in science and technology. Dissertations. No. 1520 Autonomous Localization in Unknown Environments Jonas Callmer callmer@isy.liu.se www.control.isy.liu.se Division of Automatic Control Department of Electrical Engineering Linköping University SE–581 83 Linköping Sweden ISBN 978-91-7519-620-6 ISSN 0345-7524 Copyright © 2013 Jonas Callmer Printed by LiU-Tryck, Linköping, Sweden 2013 Till mina föräldrar Abstract Over the last 20 years, navigation has almost become synonymous with satellite positioning, e.g. the Global Positioning System (gps). On land, sea or in the air, on the road or in a city, knowing ones position is a question of getting a clear line of sight to four or more satellites. Unfortunately, since the signals are extremely weak there are environments the gps signals cannot reach but where positioning is still highly desired, such as indoors and underwater. Also, because the signals are so weak, gps is vulnerable to jamming. This thesis is about alternative means of positioning for three scenarios where gps cannot be used. Indoors, there is a desire to accurately position first responders, police officers and soldiers. This could make their work both safer and more efficient. In this thesis, an inertial navigation system using a foot mounted inertial magnetic measurement unit is studied. For such systems, zero velocity updates can be used to significantly reduce the drift in distance travelled. Unfortunately, the estimated direction of movement is also subject to drift, causing large positioning errors. We have therefore chosen to throughly study the key problem of robustly estimating heading indoors. To measure heading, magnetic field measurements can be used as a compass. Unfortunately, they are often disturbed indoors making them unreliable. For estimation support, the turn rate of the sensor can be measured by a gyro but such sensors often have bias problems. In this work, we present two different approaches to estimate heading despite these shortcomings. Our first system uses a Kalman filter bank that recursively estimates if the magnetic readings are disturbed or undisturbed. Our second approach estimates the entire history of headings at once, by matching the cumulative sum of gyro measurements to a vector of magnetic heading measurements. Large scale experiments are used to evaluate both methods. When the heading estimation is incorporated into our positioning system, experiments show that positioning errors are reduced significantly. We also present a probabilistic stand still detection framework based on accelerometer and gyro measurements. The second and third problems studied are both maritime. Naval navigation systems are today heavily dependent on gps. Since gps is easily jammed, the vessels are vulnerable in critical situations. In this work we describe a radar based backup positioning system to be used in case of gps failure. radar scans are matched using visual features to detect how the surroundings have changed, thereby describing how the vessel has moved. Finally, we study the problem of underwater positioning, an environment gps signals cannot reach. A sensor network can track vessels using acoustics and the disturbances they induce to the earth magnetic field. But in order to do so, the sensors themselves must first be positioned. We present a system that accurately positions underwater sensors using a friendly vessel with a known magnetic signature and trajectory. Simulations show that by studying the magnetic disturbances caused by the vessel, the location of each sensor can be accurately estimated. v Populärvetenskaplig sammanfattning För att bestämma sin position utomhus använder man idag ofta satellitbaserade positioneringssystem såsom det amerikanska gps-systemet. På en öppen plats kan man med en enkel mottagare få reda på sin position på några meter när inom loppet av ett par sekunder. Det krävs att platsen är öppen eftersom man måste kunna se minst fyra satelliter samtidigt för att positionen ska kunna bestämmas. I de flesta fall är det inget problem, men i vissa fall innebär kravet en stor begränsning. Den här avhandlingen handlar om problemet att kunna bestämma sin position i miljöer där gps inte går att använda. Vi har valt att studera positionering i huvudsak inomhus men även på och under vatten. Signalerna från gps-systemet är nämligen så svaga att de inte kan penetrera byggnader eller vatten alls. I de få fall man kan ta emot en signal, har den oftast studsat mot andra objekt på vägen. Eftersom man då inte har fri sikt till fyra satelliter så går det ändå inte att positionera sig med god precision. För att positionera sig i sådana miljöer krävs det alltså helt nya metoder. Idag efterfrågas inomhuspositioneringssystem för exempelvis brandmän, soldater och poliser. Tanken är exempelvis att om ett rökdykarpars positioner är kända i realtid kan räddningsinsatsen bli både säkrare och effektivare. Deras uniformer kan innehålla specialanpassad utrustning som räknar ut rökdykarnas positioner och vidareförmedlar dessa till berörda parter. Rökdykare arbetar ofta i okända inomhusmiljöer. I framtiden kan man tänka sig att digitala kartor kommer att finnas tillgängligt för räddningstjänsten om det börjar brinna i till exempel ett hotell, ett sjukhus eller i en skola. Kartan kan då användas för att hjälpa till att beräkna rökdykarens position i en stor byggnad. I den här avhandlingen har vi studerat problemet att positionera sig i miljöer där kartor troligtvis inte kommer finnas tillgängliga under många år framöver, såsom i lägenheter, villor, små kontor och dylikt. Positioneringssystemet baseras på en sensor som mäter acceleration, vinkelhastighet och magnetfält. Vinkelhastighet är hur snabbt sensorn roterar. Acceleration tillsammans med vinkelhastighet kan användas för att uppskatta hur användaren rör sig och magnetfältet kan ge information om hur användaren är riktad i förhållande till norr. Systemet är ett så kallat dödräkningssystem eftersom det utgår från en position och sedan försöker beräkna förflyttningen från denna punkt. Sensorn är fastsatt på foten, och användarens rörelser beräknas steg för steg. Genom att utnyttja att sensorn är still när foten är i kontakt med marken så kan ett stegs längd beräknas på några centimeter när. Dödräkningssystemet baseras alltså på steg för steg-förflyttningar som sker i antagna riktningar, men om rökdykaren egentligen rör sig i en annan riktning än den man tror, kommer den uppskattade positionen bli väldigt fel väldigt snabbt. Att ha en mycket god kännedom om i vilken riktning rökdykaren faktiskt rör sig är således avgörande. Det problem som studeras mest i den här avhandlingen är därför riktningsskattvii viii Populärvetenskaplig sammanfattning ning. Vi använder en magnetfältssensor som mäter jordens magnetfält och därför ger oss riktningen mot norr, samt ett gyro som mäter vinkelhastigheter för att beräkna riktningen. Tyvärr är det dock svårt att mäta jordens magnetfält inomhus. Stålstrukturer, elskåp, kablar och liknande producerar magnetiska störningar som ofta är starkare än jordens magnetfält. Sådana störningar är mycket vanliga inomhus varför magnetfältssensorn är mycket opålitlig inomhus. I den här avhandlingen presenteras två metoder att uppskatta användarens riktning trots dessa störningar. Dessa metoder har inkluderats i dödräkningssystemet för att minska de fel som orsakades av osäker riktning. Experiment visar att felet i den uppskattade positionen minskar betydligt när pålitlig information om användarens riktning finns tillgängligt. Eftersom signalerna från gps-satelliterna är så otroligt svaga så är de också mycket känsliga för störningar. Idag är det lätt att införskaffa störsändare som sänder ut signaler som överröstar signalerna från satelliterna, vilket slår ut all gpspositionering inom ett stort område. Ofta är det dock inte illvilja som ligger bakom sådana störningar. I de flesta fall är det användaren själv som omedvetet sänder ut signaler inom fel frekvensband som förstör positioneringen. I somliga miljöer, såsom fartygsnavigation, används gps av många olika system varför en störning i fel läge kan få allvarliga konsekvenser. Vi har därför tagit fram ett reservsystem för positionering som är oberoende av gps. Systemet är istället baserat på fartygets egen radar. Ett sådant system kan användas för att detektera gps-störningar och minska dess inverkningar. Positioneringssystemet använder sig av de bilder av omgivningen som radarsystemet ger. Öar och kustlinjen avtecknas väl och avståndet och vinkeln till dessa kan mätas med god precision. Ofta finns det vissa objekt i omgivningarna som syns särskilt väl såsom hus eller branta klippor. Sådana objekt kan observeras över en lång tid och kallas för landmärken. Genom att studera flera sådana landmärken och hur deras positioner relativt fartyget förändras över tiden, kan fartygets förflyttning beräknas. Vi presenterar ett positioneringssystem som använder sådana radar-baserade landmärken och experiment visar att fartyget kan positioneras med god precision över långa sträckor. Det tredje problemet som behandlas i avhandlingen är undervattenspositionering. Att exakt kunna bestämma en position under vatten är generellt sett dyrt och svårt eftersom gps-signalerna inte når ner. I det här fallet är det speciella undervattenssensorer som vi ska bestämma positionen för, varför problemet går att lösa med hjälp av sensorernas egna mätningar. För att upptäcka och följa inkommande fartyg kan man använda ett nätverk av sensorer på havets botten. Sensorerna känner av de magnetfältstörningar som fartyget ger upphov till och uppfattar även ljudet från fartygets framdrivningssystem. Dessa kan användas för att positionsbestämma ett fartyg med god precision, givet att sensorernas egna positioner är kända. I den här avhandlingen studerar vi problemet att positionsbestämma sensorerna själva med hjälp av ett fartyg som ger upphov till en känd magnetisk störning. Fartyget framförs genom området där sensorerna finns och de magnetiska störningar som fartyget ger upphov till Populärvetenskaplig sammanfattning ix kan användas för att beräkna sensorernas positioner. Om även gps-mätningar av fartygets rutt tas med i beräkningarna så kan sensorernas positioner bestämmas med god precision. Systemet utvärderas med hjälp av simuleringar. Acknowledgments This thesis marks the end of a journey. Five years went by pretty fast even though it doesn’t feel that way when one is in the middle of it. The improvements one experience are slow but steady until one day you realize that you have actually learned quite a lot. The person who has been my greatest source of learning is my supervisor Professor Fredrik Gustafsson. Your broad knowledge and experience has been a great guiding light throughout this journey. Thank you for your never ending ability to find time to assist despite your extremely busy schedule. The final proof to me of my progress was when we went from you always telling me ’Isn’t that what I said a month ago?’ to me finally getting to tell you once: ’That’s what I said a month ago’. It has been a pleasure. For all those things I needed to discuss, my co-supervisor Dr David Törnqvist has always been there to help. Your enthusiastic and helpful manners combined with your solid knowledge makes me coming back to learn more. Thank you for your assistance! The Automatic Control group is a very well functioning group with a welcoming and helpful atmosphere combined with a culture of hard work and a willingness to excel in all fields. It is steadily steered by Professor Svante Gunnarsson who took over after Professor Lennart Ljung who built the group from the ground up. Not until I got a good insight into how some other groups function, did I fully realize how exceptionally well organized our group really is. You have both done a tremendous job. Whenever I run into administrative issues, our secretary Ninna Stensgård and before her Åsa Karmelind and before her Ulla Salaneck, have always been there to help. Thank you! I would also like to thank Dr Gustaf Hendeby and Dr Henrik Tidefelt for creating an astounding LATEXtemplate making writing this thesis a matter of only that: writing. Your attention to detail never ceases to amaze me. Various parts of this thesis have been proofread by Fredrik, David and Dr Karl Granström. Your input has significantly improved this thesis and I thank you for that. All remaining errors are naturally mine. A little more than a year ago, I had the good fortune of doing a predoc in the US. When the original plans were cut extremely short, Professor Arogyaswami Paulraj at Stanford University was kind enough to welcome me to visit his group instead. While there, Professor Stephen Boyd took time from his intense schedule to supervise me. Your suggestion that I should look at the heading estimation problem spawned plenty of ideas, that now constitute about half of this thesis. Thank you very much for your time and enthusiasm! I would also like to thank Professor Peter Stoica who helped to set up this arrangement on such a short notice. The research school Forum Securitatis of which I have been participating, xi xii Acknowledgments deserve a special acknowledgement for funding the visit. It was a great experience for me and I want to thank you all so very much. During these years I have been lucky enough to have some of my best friends as colleagues. Dr Karl Granström and I go back to the days of our master thesis project and despite seeing you almost every day for something like seven years, I do not get tired of your company. We have had many good times in Sydney, Tasmania, Samoa, Japan, the Balkans and of course in Linköping and even though this marks the end of an era I do not think it marks the end of a great friendship. Lic Martin Skoglund and I go back even longer, sharing a few thousand cups of coffee and thereby plenty of time to look for treasure. Enough time it turned out, to make Maria jealous of me more than once. Thank you for the happy times that have been and the ones that are yet to come. Dr Christian Lundquist is a man of many talents and his great sense of humour always makes him terrific company. Our discussions have been plenty and I have enjoyed them all. And I will never forget your comment ’I don’t like nature!’ halfway through our trip through the Scottish highlands, which is nothing but nature! In the end we found what we were looking for: Aberlour 10 – rich but delicate. Lic Zoran Sjanic is as tall as he is fun. And under that surface, lies a great and very helpful source of knowledge and experience. Sometimes when I have one of those questions, Zoran will provide me with all that I ever needed to know. And thank you for showing us Sarajevo. Lic Hanna Fager is a great friend with whom I have shared many talks, fikas, travels and parties during these years. Let us hope we can make it last for a long time. A few more deserve an honorary mention. Lic Daniel Peterson, my bother in arms, is always there to laugh at my super hacker genius related issues. Dr Henrik Ohlsson for our Ella elle l’a fridays during more than two years as office mates. Lic Sina Khoshfetrat Pakazad serves these meat with a side of meat-barbecues and movies with special effects but no plot. I am surprised and a bit disappointed though that you still have not seen the greatest bad movie of all time, Frankenfish, but I guess it is a people problem. Three years ago Christian, David, Dr Per Skoglar, Dr Peter Bunus, Fredrik and I founded the spin off company SenionLab. It has been a very interesting journey to combine the academic research with the in many ways very different business driven corporate research. This experience has taught me two completely separate ways of thinking. My will of doing an academic Master thesis project led me into the realm of Dr Juan Nieto and Dr Fabio Ramos, the dynamic duo of ACFR. Our great time together made me want to start this second journey towards a PhD. Thank you Acknowledgments xiii for the good times and for the inspiration! My old friends from the Y-years, my childhood and from various corners of the globe, I hope we can maintain our friendships despite the fact that our lives are slowly diverging as time goes by. Hopefully, the completion of this project will provide me with some spare time again that I would be happy to share with you. I have had the extraordinary luck in life to have been blessed with a family that always supports me. My sister Kajsa and her fiance Mikael have the good sense of also living in Linköping and have created my wonderful little niece Maja. No one can say mooboo like you! My parents Gunnar and Eva, thank you for all your never-ending love and support in everything I have ever decided to do. It has made me the one I am today and it is the greatest gift of all. I would finally like to gratefully acknowledge CADICS, a Linnaeus center funded by the Swedish Research Council, and the Excellence Center at Linköping–Lund in Information Technology, ELLIIT, for providing the funding for this work. Linköping, April 2013 Jonas Callmer Contents Notation I xix Background 1 Introduction 1.1 Problem Description . . . . . . 1.1.1 Indoor Localization . . . 1.1.2 Surface Localization . . 1.1.3 Underwater Localization 1.2 Contributions . . . . . . . . . . 1.2.1 Additional Publications 1.2.2 SenionLab . . . . . . . . 1.3 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 4 6 6 6 8 14 15 2 Sensor Fusion 2.1 Sensors . . . . . . . . . . . . . . . . . . . . . 2.1.1 Inertial Magnetic Measurement Unit 2.1.2 RADAR . . . . . . . . . . . . . . . . . 2.1.3 Global Navigation Satellite System . 2.2 Models . . . . . . . . . . . . . . . . . . . . . 2.2.1 Continuous Models . . . . . . . . . . 2.2.2 Discrete Time Models . . . . . . . . . 2.2.3 Dynamic Model Restructuring . . . . 2.3 Estimation Theory . . . . . . . . . . . . . . . 2.3.1 Kalman Filter . . . . . . . . . . . . . 2.3.2 Extended Kalman Filter . . . . . . . 2.3.3 Optimization Formulation . . . . . . 2.3.4 Kalman Filter Banks . . . . . . . . . 2.3.5 Interacting Multiple Model . . . . . 2.3.6 Hidden Markov Model . . . . . . . . 2.4 Estimation under Disturbances . . . . . . . 2.4.1 Problem Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 18 19 21 22 23 23 23 25 26 27 27 29 30 32 34 35 36 xv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi CONTENTS 2.4.2 2.4.3 2.4.4 2.4.5 General Solution Outline . State and Mode Estimation Examples of Problems . . Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 37 38 39 3 Indoor Positioning 3.1 Human Positioning in an Unknown Environment . . . . . . . . . . 3.2 Human Positioning in a Known Environment . . . . . . . . . . . . 3.2.1 Map Matching . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Radio Positioning . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Foot Mounted IMMU for Dead Reckoning . . . . . . . . . . . . . . 3.3.1 Stand Still Detection . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Stand Still Detection Performance for Different IMMU Positions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 42 44 44 45 45 46 4 Discussion and Future Work 4.1 Discussion . . . . . . . . . . . . . . . . 4.1.1 Indoor Localization . . . . . . . 4.1.2 RADAR SLAM . . . . . . . . . . 4.1.3 Underwater Sensor Positioning 4.2 Future Work . . . . . . . . . . . . . . . 55 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 59 59 61 61 62 A Quaternion Properties A.1 Operations and Properties . . . . . . . . A.2 Describing a Rotation using Quaternions A.3 Rotation Matrix . . . . . . . . . . . . . . A.4 Quaternion Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 65 66 66 67 Bibliography II 69 Publications A Robust Heading Estimation Indoors 1 Introduction . . . . . . . . . . . . . . . . . . . . . 2 Related Work on Magnetic Disturbances Indoors 2.1 Disturbance Studies . . . . . . . . . . . . . 2.2 Influence Reduction . . . . . . . . . . . . . 2.3 Disturbance Detection . . . . . . . . . . . 2.4 Alternative Yaw Estimation Approaches . 3 Magnetometer Signal Evaluation . . . . . . . . . 4 Principles of Yaw Estimation . . . . . . . . . . . . 5 Adaptive Filtering . . . . . . . . . . . . . . . . . . 5.1 Gyro Sensor Error Modeling . . . . . . . . 5.2 Magnetic Disturbance Modeling . . . . . 5.3 Estimation System . . . . . . . . . . . . . 6 Divergence Monitoring and Reinitialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 79 82 82 82 82 83 83 86 88 88 88 89 89 xvii CONTENTS 7 Implementation . . . . . . . . . . . 7.1 Models . . . . . . . . . . . . 7.2 Filter Implementation, IMM 8 Experimental Results . . . . . . . . 8.1 Detailed Evaluation . . . . . 8.2 Large Scale Evaluation . . . 9 Conclusions . . . . . . . . . . . . . Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 . 90 . 91 . 93 . 94 . 97 . 101 . 102 B Robust Heading Estimation Indoors using Convex Optimization 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Problem Fundamentals . . . . . . . . . . . . . . . . . . . . . . 3 Heading Estimation . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Detect Disturbed Magnetometer Readings . . . . . . . 3.2 Parameter Estimation . . . . . . . . . . . . . . . . . . 3.3 Magnetic Heading Vector Unwrapping . . . . . . . . . 3.4 Solver Outline . . . . . . . . . . . . . . . . . . . . . . . 4 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . 4.1 Detailed Experiment . . . . . . . . . . . . . . . . . . . 4.2 Mass Experiments . . . . . . . . . . . . . . . . . . . . . 5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 107 110 111 111 112 113 114 115 116 116 120 120 122 C An Inertial Navigation Framework for Indoor Positioning with Robust Heading 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 An Inertial Navigation Framework . . . . . . . . . . . . . . . . . . 2.1 Principles of IMMU Based Dead Reckoning . . . . . . . . . 2.2 States and Inputs . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Dynamic Model . . . . . . . . . . . . . . . . . . . . . . . . . 3 Exogenous Information Framework . . . . . . . . . . . . . . . . . . 3.1 Information Sources . . . . . . . . . . . . . . . . . . . . . . 3.2 Discrete Hidden Markov Model Framework . . . . . . . . . 3.3 Test Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Optimal HMM Filter . . . . . . . . . . . . . . . . . . . . . . 4 Stand Still Detection . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Test Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Mode Switch Probability . . . . . . . . . . . . . . . . . . . . 4.3 Stand Still Measurement Models . . . . . . . . . . . . . . . 4.4 Stand Still Measurement Update . . . . . . . . . . . . . . . 4.5 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Robust Heading for Indoor Positioning . . . . . . . . . . . . . . . . 5.1 Principles for Utilizing Magnetic Heading in an INS . . . . 5.2 Magnetic Disturbance Detection . . . . . . . . . . . . . . . 5.3 Heading Vector Estimation . . . . . . . . . . . . . . . . . . . 123 125 127 127 128 128 129 129 129 130 130 131 131 132 132 132 133 133 136 136 138 xviii 5.4 Trajectory Postprocessing using Heading . 5.5 Magnetic Heading Utilization Discussion 6 Experimental Results . . . . . . . . . . . . . . . . 6.1 Experiment 1 . . . . . . . . . . . . . . . . 6.2 Experiment 2, Corridor . . . . . . . . . . . 7 Conclusions . . . . . . . . . . . . . . . . . . . . . Bibliography . . . . . . . . . . . . . . . . . . . . . . . . CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 140 142 142 142 144 146 D RADAR SLAM using Visual Features 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Background and Relation to SLAM . . . . . . . . . . . . . 3 Theoretical Framework . . . . . . . . . . . . . . . . . . . . 3.1 Detection Model . . . . . . . . . . . . . . . . . . . . 3.2 Measurement Model . . . . . . . . . . . . . . . . . 3.3 Motion Model . . . . . . . . . . . . . . . . . . . . . 3.4 Multi-Rate Issues . . . . . . . . . . . . . . . . . . . 3.5 Alternative Landmark Free Odometric Framework 4 sift Performance on radar Images . . . . . . . . . . . . . 4.1 Matching for Movement Estimation . . . . . . . . . 4.2 Loop Closure Matching . . . . . . . . . . . . . . . . 4.3 Feature Preprocessing . . . . . . . . . . . . . . . . 5 Experimental Results . . . . . . . . . . . . . . . . . . . . . 5.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Map Estimate . . . . . . . . . . . . . . . . . . . . . 6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 151 154 155 156 157 158 159 160 163 164 164 165 166 168 169 169 172 E Silent Localization of Underwater Sensors using Magnetometers 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 System Description . . . . . . . . . . . . . . . . . . . . 2.2 State Estimation . . . . . . . . . . . . . . . . . . . . . . 2.3 Cramer-Rao Lower Bound . . . . . . . . . . . . . . . . 3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Magnetometers Only . . . . . . . . . . . . . . . . . . . 3.2 Magnetometers and GNSS . . . . . . . . . . . . . . . . 3.3 Trajectory Evaluation using CRLB . . . . . . . . . . . . 3.4 Sensitivity Analysis, Magnetic Dipole . . . . . . . . . 3.5 Sensitivity Analysis, Sensor Orientation . . . . . . . . 4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 177 179 179 181 183 184 184 185 187 187 188 190 192 Notation Abbreviations Abbreviation crlb crm ekf esdf fim gnss gps hmm imm immu ins kf mems pdr radar rmse sift slam zupt Meaning Cramer-Rao Lower Bound Corrosion Related Magnetism Extended Kalman Filter Exactly Sparse Delayed-state Filter Fisher Information Matrix Global Navigation Satellite Systems Global Positioning System Hidden Markov Model Interacting Multiple Model Inertial Magnetic Measurement Unit Inertial Navigation System Kalman Filter Micro-Machined Electromechanical System Pedestrian Dead Reckoning RAdio Detection And Ranging Root Mean Square Error Scale-Invariant Feature Transform Simultaneous Localization And Mapping Zero Velocity Update xix xx Notation Estimation Notation x(t) ẋ(t) xk y1:k wk , ek Qk , Rk T x̂k|N Pk|N g θ λk δk µk ψk qk dk N (m, Σ) χ2 (k, g) p(x|y) Meaning State at time t Derivative of x(t) at time t State at time step k Set of measurement from time step 1 to k Process and measurement noise at time step k Process and measurement noise covariance at time step k Sampling Time State estimate at time step k given measurements up to and including time step N Covariance of state estimate at time step k given measurements up to and including time step N Gravitation vector (0 0 9.82)T Constant parameter vector Test statistic at time step k Mode at time step k Estimated mode probability at time step k Heading state at time step k Quaternion orientation at time step k Deterministic disturbance at time step k Gaussian probability density function with mean m and covariance Σ Non-central χ2 distribution with k degrees of freedom and non-centrality parameter g Probability density function of x given y Part I Background 1 Introduction Localization requires a map and a way to positioning a user in that map. Traditionally the map has been created first. Localization was then solved by placing aiding landmarks in the area like lighthouses for ships, navigation satellites orbiting the planet, or radio beacons on land. These enabled the position to be computed by using distance and/or angle to multiple such landmarks. The methods are called triangulation or multilateration and the position can be acquired by solving an equation system. This thesis covers the more complex problem of localization in unknown environments. In these scenarios, choosing reliable landmarks in the environment becomes a part of the problem. One must also determine position using a trajectory of earlier positions, where the relationship between different time instances is depending on sensors measuring the system dynamics. The required mathematics is called nonlinear filtering. The positioning can be performed on any type of unit. Estimating the position of a robot exploring a sewer system, of a car in a city, of a ship in an archipelago or tracking a fire fighter searching through a burning building, all is localization. If one is outdoors and a Global Navigation Satellite System (gnss) is available, position estimation becomes straightforward given that the provided measurement accuracy is enough for the application. There are though many environments where gnss signals are not available. Such signals are extremely weak making their penetrating ability highly limited. For example indoors, underground or underwater gnss signals cannot be detected. Even outdoor the gnss signals can be corrupted. This is commonly caused by the signals being reflected or that the line of sight to a satellite is blocked by trees or 3 4 1 Introduction high buildings. Lately, intentional or unintentional jamming of the gnss signals has emerged as a potential major problem. Jamming the system is very easy since the broadcasted signals are so weak. This makes systems that depend entirely on gnss quite vulnerable. Different, redundant means of positioning are therefore required, ones that are tailored for each specific problem. The solutions must be reliable and use all other available information to get the best possible positioning estimate. That is the problem of localization. 1.1 Problem Description Three localization problems have been studied in this thesis. The first is indoor localization for first responders, soldiers and other professional users, the second is surface vessel positioning using a naval radar, and the third is underwater sensor positioning using a friendly vessel. 1.1.1 Indoor Localization The problem of indoor localization for professional users has received a lot of attention in the last couple of years Beauregard (2007); Feliz et al. (2009); Foxlin (2005); Ojeda and Borenstein (2007); Godha et al. (2006); Woodman and Harle (2009); Grzonka et al. (2010); Aggarwal et al. (2011); Jiménez et al. (2010a); Robertson et al. (2009); Widyawan et al. (2008); Abdulrahim et al. (2011); Jiménez et al. (2010b); Bebek et al. (2010); Angermann and Robertson (2012). Be it firefighters, soldiers or police officers, being able to track the position of each individual user in real time while in a building, is the dream of the operational management. In case something urgent happens, knowing where all the personnel are and where they have been, enables swift and accurate cooperation to solve the problem. Having a positioning system would therefore greatly enhance the safety and efficiency of the personnel. Figure 1.1 shows the envisioned scenario and positioning presentation such a system will provide in the future. The firefighters are equipped with small lightweight sensors that do not interfere with their ability to do their job. The inertial/magnetic navigation system in the positioning system is supported by collaborative positioning utilizing the distance measured between users, beacons on the trucks providing distance to a fixed position, gps if available like on the roof and the digital map. The positioning system works in real time, positioning each user with meter level accuracy and broadcasting the information. The information is presented to the operational manager overlaid on an informative 3D map. For a large venue like a school, hospital, shopping mall or a hotel, the positioning presentation can be put into even more context. In the future, one can envision that not only accurate maps of the building are available but also that smart sensors such as special fire detectors have been installed that can broadcast signals that aid the positioning system, while also providing more detailed information 1.1 Problem Description 5 Figure 1.1: Visionary illustration of a first responder operation in an urban environment. Firefighters in the building are localized and presented for the commander in real time. Digital maps, collaborative positioning, gps and beacons on the trucks are used to assist the positioning system. Courtesy of FOI, illustration by Martin Ek. about for example the current location and spread of a fire. Also information about where dangerous materials are stored, which hotel rooms that are occupied, in which areas children are likely to be present and so on, can be included to provide an overview of the complete scenario for the management. The problem studied in this thesis is localization in smaller structures such as residential houses or offices. Larger facilities have the potential of being equipped with designated sensors and maps as described above. For smaller venues such systems are unlikely even in the future, why the positioning system to a large extent has to rely on the sensors brought by the users. The solution should be as simple as possible, using as few sensors as possible and based on as few assumptions about user movements and the environment as possible. The localization system studied in this thesis is therefore a pedestrian dead reckoning system using a foot mounted sensor. A subproblem of the indoor positioning problem has been given the most attention in this thesis: the problem of heading estimation. Knowing in which direction the user is moving is crucial when determining ones position using dead reckoning. Earlier, heading has not been accurately estimated indoors causing 6 1 Introduction it to drift and therefore the position estimates to drift. Solutions to the heading estimation problem are presented and incorporated into a position estimation system to enhance the positioning performance. 1.1.2 Surface Localization Modern maritime navigation is highly gnss centered. It is not only used for positioning but often also as a compass, to track communication satellites and some systems rely on the very accurate measurement of time it produces. Since gnss signals are easily jammed, a backup system is needed when navigating in critical environments. Even though pilots are often present in such scenarios, reducing the impact of gnss failure will further improve the safety of the system. We present a positioning system based entirely on the measurements from the ship’s RAdio Detection And Ranging (radar) where the scans are used to estimate the relative position, the velocity and the heading of the vessel. 1.1.3 Underwater Localization A passive surveillance sensor network can position a surface or submerged vessel using underwater sensors. They sense the magnetic field disturbances and acoustic noises caused by the vessel and can thereby determine its position. One problem is that the exact positions of the sensors are seldom known unless a large amount of time and money have been spent on determining their exact positions. Rapid sensor deployment is therefore difficult since the sensors have to be dropped from a surface vessel and currents can make them move while sinking. Without correct positions of the sensors in the network, accurate tracking of intruding vessels cannot be achieved. In this thesis we have studied the localization problem of determining the positions of the sensors using a friendly vessel with a known magnetic signature. By knowing where the vessel has been and when, the positions of the sensors can be determined. Now when the true sensor positions are known the network can start undertaking its original task: search for naval intruders. 1.2 Contributions The second part of this thesis constitutes a compilation of five publications. Robust Heading Estimation Indoors Paper A, J. Callmer, D. Törnqvist, and F. Gustafsson. Robust heading estimation indoors. IEEE Transactions on Signal Processing, 2013a. Submitted. 1.2 Contributions 7 presents a Kalman filter bank based heading estimation system. Indoors, magnetic heading is not a reliable measurement to use due to frequent and large disturbances. To aid the estimation, measurements of angular velocity from a low grade gyro are incorporated. The Kalman filter bank is used to detect disturbed and undisturbed data segments. To detect filter divergence, a secondary system is used, independent of the filter estimates. The performance of the system is evaluated using more than 500 datasets. The first author has produced the majority of the ideas, theory and writing and all the implementations, but not all of the data collection. Robust Heading Estimation Indoors using Convex Optimization Paper B, J. Callmer, D. Törnqvist, and F. Gustafsson. Robust heading estimation indoors using convex optimization. In International Conference on Information Fusion, 2013b. Submitted. presents a convex optimization based heading estimation system. It states that the gyro signal is correct down to a small gain error and bias. Those two parameters and the initial heading are estimated by tweaking the summed up vector of gyro measurements to match the magnetic heading vector as closely as possible. The matching is done using regularized weighted least squares which can be implemented very cheaply. Also presented is a method to unwrap the magnetic heading vector to enable the matching. The estimation system is shown to work well on more than 500 datasets. The first author has produced more or less all of the ideas, theory, implementation and writing, but again, not all of the data collection. An Inertial Navigation Framework for Indoor Positioning with Robust Heading Paper C, J. Callmer, D. Törnqvist, and F. Gustafsson. An inertial navigation framework for indoor positioning with robust heading. IEEE Transactions on Instrumentation and Measurement, 2013c. Submitted. presents indoor positioning using a foot mounted inertial magnetic measurement unit. The dead reckoning positioning system is based on a stand still detection system that was in part presented in J. Rantakokko, J. Rydell, P. Strömbäck, P. Händel, J. Callmer, D. Törnqvist, F. Gustafsson, M. Jobs, and M. Grudén. Accurate and reliable soldier and first responder indoor positioning: multisensor systems and cooperative localization. Wireless Communications, IEEE, 18(2): 10–18, 2011. J. Callmer, D. Törnqvist, and F. Gustafsson. Probabilistic stand still detection using foot mounted IMU. In Proceedings of the International Conference on Information Fusion (FUSION), 2010b. 8 1 Introduction To solve the common issue of drift in heading that leads to significant error in position, the system incorporates a robust heading estimation system very similar to the one in Paper B. The positioning performance is shown to improve significantly on two challenging experiments. The first author has produced the vast majority of the ideas, theory, implementation, experiments and writing in this paper. RADAR SLAM using Visual Features Paper D, J. Callmer, D. Törnqvist, H. Svensson, P. Carlbom, and F. Gustafsson. Radar SLAM using visual features. EURASIP Journal on Advances in Signal Processing, 2011. presents a radar based backup system for surface vessel positioning that can be used in case the global navigation satellite system, gnss, is out. The system estimates relative change in position and heading and velocity using radar scans of the surroundings. The radar scans are treated like a bird eye’s view of the surroundings and consecutive scans are matched using visual features. By studying how the features move over time, the vessel position can be estimated. The system is evaluated using a 32 km experiment. The first author has produced a majority of the theoretical framework and the writing. Implementation and experiments were produced by Henrik Svensson. Silent Localization of Underwater Sensors using Magnetometers Paper E, J. Callmer, M. Skoglund, and F. Gustafsson. Silent localization of underwater sensors using magnetometers. EURASIP Journal on Advances in Signal Processing, 2010a. presents a positioning system for underwater sensors. An underwater sensor network can be used to track surface or submerged vessels using for example magnetic disturbances and acoustics. For the system to work well, the position of each sensor has to be known which can be hard to determine. This work presents a way to passively position the sensors using a friendly vessel that travel through the area. If the friendly vessel has a known magnetic signature and a known trajectory, the sensor positions can be estimated. The system is evaluated using simulations. This was joint work between primarily the first and second author who produced the ideas, theory, implementation and most of the writing. 1.2.1 Additional Publications Other publications where the author has contributed that are not covered in this thesis are shortly presented below. 1.2 9 Contributions (a) Skewed image due to rolling shutter and camera turning sideways to the right. (b) Rectified image using sensors of the phone. Figure 1.2: Rectification system for skewed images using the unit sensors. Gyro measurements are used to calculate the distortion of the image which can then be corrected. Smartphone Stabilization In G. Hanning, N. Forslöw, P.-E. Forssén, E. Ringaby, D. Törnqvist, and J. Callmer. Stabilizing cell phone video using inertial measurement sensors. In In Proceedings of the IEEE International Workshop on Mobile Vision (IWMV11), 2011. the video stream of an iPhone was stabilized using the inertial sensors. Tracking the orientation of the phone using the gyros and the gravity component, two major errors could be corrected. The first problem is that the image becomes skewed if the phone is moving while the image is taken since the entire image is not recorded at the same time, a so called rolling shutter camera, Figure 1.2. The second problem is that the image becomes unstable if the one holding the camera is moving while filming. Both these problems were solved and the outcome of this master thesis project was the iPhone app DollyCam. The author served as supervisor to Nicklas Forslöw during the master thesis project that was the foundation of the paper. It was awarded best paper at the workshop. Vehicle Tracking using Magnetometers The two papers N. Wahlström, J. Callmer, and F. Gustafsson. Single target tracking using vector magnetometers. In Proceedings of the International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2011. N. Wahlström, J. Callmer, and F. Gustafsson. Magnetometers for tracking metallic targets. In Proceedings of the International Conference on Information Fusion (FUSION), 2010. 10 1 Introduction are about vehicle tracking using a three axis magnetometer. Passing vehicles disturb the earth magnetic field, making it possible to estimate the position and direction of each passing vehicle. Multiple filters were initiated from all possible directions once a vehicle was detected. The probability of each trajectory was estimated and only one estimate survived. The results from an experiment is shown in Figure 1.3. The publications are based on a master thesis project undertaken by Niklas Wahlström that was supervised by the author. Geo-referencing for UAV Positioning As backup for gnss, F. Lindsten, J. Callmer, H. Ohlsson, D. Törnqvist, T. B. Schön, and F. Gustafsson. Geo-referencing for UAV navigation using environmental classification. In Proceedings of 2010 International Conference on Robotics and Automation (ICRA), 2010. covered the problem of using preexisting maps and environmental classification to create a measurement of the global position of an Unmanned Aerial Vehicle (uav). Photos from a downwards facing camera on the uav were classified into grass, houses, roads etc, which could be matched to a map of the area, Figure 1.4. Using a rotation invariant probabilistic class matching system, dubbed ’donuts’, a likelihood for the position of the vehicle could be provided. Merged with a inertial/visual odometry based positioning system, the overall drift in the position estimate could be significantly reduced. The main contribution of the author was within the image classification. 1.2 11 Contributions (a) The vehicle is coming from the rear turning right. 5 Sensor 2 Left EKF Right EKF 0 Sensor 1 −5 −10 −15 Rear EKF −20 −25 −20 −15 −10 −5 0 5 10 15 20 25 (b) The trajectories according to three ekfs with different vehicle position initializations. Normalized filter bank weights Propability [] 1 Left is dropped 0 Left Right Rear Right is dropped 0.5 0 1 2 3 4 5 6 7 Time [s] (c) The probabilities that the vehicle is coming from the left, the right and the rear. Only the hypothesis that the vehicle is coming from the rear survives and the other two are dropped. Figure 1.3: Tracking experiment result with three differently initialized extended Kalman filters estimating the trajectory of the vehicle in Figure 1.3a. 12 1 Introduction (a) Image from camera onboard a uav. (b) Extracted superpixels. (c) Superpixels classified as grass, asphalt or house. (d) Three circular regions used for computing class histograms. 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 (e) Calculated likelihood for all available locations. Figure 1.4: From raw image to position likelihood. Image is classified and class histograms are used to calculate position likelihood. 1.2 Contributions 13 Loop Closure Detection for SLAM The last two publications are spinoffs from the master thesis project undertaken by Karl Granström and the author at Australian Centre for Field Robotics, Sydney University in 2007/08. K. Granström, J. Callmer, F. Ramos, and J. Nieto. Learning to detect loop closure from range data. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2009. J. Callmer, K. Granström, J. Nieto, and F. Ramos. Tree of words for visual loop closure detection in urban SLAM. In Proceedings of the 2008 Australasian Conference on Robotics and Automation (ACRA), 2008. Both papers are about loop closure detection methods for large scale urban simultaneous localization and mapping (slam). Granström et al. (2009) we presented a laser scan based matching method that matched 360◦ 2D range slices of the surroundings using rotation invariant features. Adaboost were used to produce a reliable scan matcher. Callmer et al. (2008) detected loop closures using photos of the surroundings. Visual features were extracted from the images and approximated as one of a large number of predefined words. Two images were matched by comparing the list of words they contained. Both methods were incorporated into a slam estimation system to produce maps of the area, Figure 1.5. Figure 1.5: Laser map of based on the results of a slam experiment, overlaid on an aerial photograph. 14 1 1.2.2 Introduction SenionLab During the fall of 2010, the spinoff company SenionLab was cofounded by the author. The company provides indoor navigation solutions for primarily cell phones, Figure 1.6. The positioning system is intended for facilities like shopping malls, airports, hospitals, stadiums etc. At the time of writing, the largest commercial deployment is 50 malls in Singapore. Figure 1.6: Indoor positioning using smartphone. Courtesy of SenionLab AB. A patent application on the technology has been filed. C. Lundquist, P. Skoglar, F. Gustafsson, D. Törnqvist, and J. Callmer. Method and device for indoor positioning. US Patent Application 20120203453, August 8, 2012. The system uses all available sensors in the device to position the user. Radio environment mapping and sensing enables accurate positioning that is fused with a dead reckoning system for a smooth user experience. Several challenges have been met that greatly illustrate the difference between commercial product research and development on one side and academic research on the other. A major challenge is for example how to handle many different types of sensors with different sampling times to make the system work as well as possible on all types of known and even unknown units. Even more challenging is the difference in what different sensors measure. The received signal strength indicator of WiFi measurements differ for example greatly between different phones. Besides sensor variabilities, the application scenario is a tremendous source of 1.3 Thesis Outline 15 problems that need to be solved. How different users handle the unit and how they move is one such. Even greater are practical matters like errors in floor plans, reconstructions, the frequent magnetic disturbances, WiFi access points that move and WiFi access points that change broadcasted signal strength depending on the current workload. Also, to produce maps of the radio environment, one must have measurements of it, but one must also know exactly where each measurement was taken. And in order to make deployment cheap and fast, a logging tool must be created that is fault tolerant and intuitive enough to be handled by just about anybody. The logging tool should preferably also signal to the one doing the logging that what he or she is doing is important and must be done meticulously. These are challenging and important issues one does not normally experience when doing academic research. But the practical issues can also lead to new research ideas. In fact, the experience of magnetic disturbances in practice has been an inspirational source for Papers A and B. In the end, commercial deployment of a solution to a research problem introduces whole new problems that are at least as hard as the original problem. Constructing a system that should work a billion times on a million different units is very different from academic research. 1.3 Thesis Outline This thesis is divided into two parts. The first part provides background theory and gives context to the second part which is constituted of the five edited publications. Chapter 2 is a brief introduction to the basic sensor fusion tools of sensors, modeling and estimation theory that is the fundament of all publications. It ends with a discussion about a very central problem in this thesis: estimation using disturbed measurements. Chapter 3 describes the problem of indoor positioning. Indoor navigation using dead reckoning for first responders is discussed and one of the systems later used in Paper C is described in more detail. Chapter 4 summarizes the first part of the thesis with conclusions and a discussion about future work. 2 Sensor Fusion Sensor fusion is the problem of estimating some properties xt of a unit, using sensors that provide measurements yt that depend on xt . In order to do this, models of how yt is related to xt and of how xt changes over time, are used. The former are called measurement models and the latter are called process models. The properties xt are called states and can represent any sought system property. The states can for example be related to the sensor platform representing the position or orientation of the unit, they can be some unknown constant properties such as the unit weight or they can be of the surrounding environment such as the positions of environmental landmarks. In the problem of localization the states are commonly position, velocity and orientation of the unit which are key features representing ’where is the unit?’ and ’where is the unit going?’. The states xt are estimated using a filter that fuses the information from all the sensors and the models. Besides from the state estimates x̂t , the filter also provides an estimate of the uncertainties of x̂t . The joint estimate x̂t is in some sense better than what one could get using the sensors individually. The meaning of better is application dependent and could for example mean more accurate estimates, more robust estimates or that the same estimation precision can be achieved using fewer sensors. A schematic overview of a sensor fusion framework is given in Figure 2.1. The sensor measurements enter the estimation system that relates these to the system states using the measurement models. The states are updated using the process models describing the system, which are then fused with the measurements. The system output is the state estimates which can be used by other applications. Three components are needed in sensor fusion: sensors producing measurements 17 18 2 Sensor Fusion Sensor Fusion Sensors State Estimation State Estimates System Models Process Model Measurement Model Figure 2.1: Overview of a sensor fusion framework. Sensor data is fused with dynamic system models using measurement models to produce state estimates. yt that are related to the system states xt , models that describe the dynamic properties of the system and the measurements, and a state estimation system that produces the state estimates. This chapter will describe all three parts and provide the background theory on the subject needed for the publications part of the thesis. 2.1 Sensors The sensors produce measurements that relate to the sought system properties in some way. Which sensors that are used is highly application dependent. In localization problems, the sensors are usually of one of two kinds. The first option is that they produce measurement that are related to the unit directly such as its movement, position, direction etc. The second option is that they are indirectly related to the unit, measuring for example some aspect of the surrounding environment that will change when the unit properties change. They can be cameras filming the surroundings, range finders measuring the distances to objects around the unit, or magnetometers measuring the surrounding magnetic field, among others. The sensor primarily used in this thesis is an inertial magnetic measurement unit (immu). It is actually not just a sensor but a sensor unit containing nine separate sensors: three accelerometers, three gyros and three magnetometers. It has been used in Papers A, B and C. In Paper D, a radar sensor was used for maritime localization experiments. Paper E contains only simulations why the sensor data came from a simulated three axis magnetometer and a pressure sensor. The immu and the radar sensor are described in this section and also a short description of gnss. 2.1 Sensors 19 Figure 2.2: An Xsens MT motion sensor, courtesy of Xsens Technologies B.V. 2.1.1 Inertial Magnetic Measurement Unit An inertial magnetic measurement unit contains an accelerometer, a gyroscope and a magnetometer, all three dimensional. The accelerometer measures acceleration, the gyro measures the angular velocity and the magnetometer measures the magnetic field. Besides from these, the immu often contains a thermometer to enable correcting temperature related sensor errors. There are many different kinds of immus with different price, size and precision but in this section we will focus on only one type: micro-machined electromechanical systems (mems). mems sensors are small, rugged, low cost, lightweight and low on power consumption, making them popular to include in all sorts of devices. On the downside, their performance is in many aspects quite poor even though it is constantly improving. A mems immu can be made to work better through calibration, but this is labor intensive which is expensive. A mems immu is also a strap-down system, meaning that the sensors are mounted on the device making the measurements in the body frame. The immu used in the standstill detection in Chapter 3 is an Xsens MT motion sensor, Figure 2.2. The immu used in Paper C was an MicroStrain 3DM-GX3-25. The signals were sampled in 100 Hz using a 16 bit A/D converter. Accelerometer The accelerometer actually measures the specific force which is a type of acceleration. Specific force is defined as non-gravitational force per unit mass, meaning it is the acceleration relative to free-fall. A free-falling accelerometer therefore experiences no specific force while a sensor at rest senses the normal force from the surface that cancels the gravity. An accelerometer at rest therefore measures the gravitational constant g but pointing upwards, not downwards. There are mainly two types of accelerometers: mechanical sensors and solid state sensors. The mechanical sensor measures how a suspended mass is displaced due to an applied force. Using Newtons second law F = ma, the acceleration can be 20 2 Sensor Fusion measured. A solid state sensor is for example the surface acoustic wave (saw) accelerometer. It uses a mass attached to a beam that is vibrating at a particular frequency. When a force is applied, the beam bends, changing the frequency. Thereby the force can be measured. A mems accelerometer can be based on any of these techniques. The main errors associated with mems accelerometers, besides the ever present additive white noise, are • Bias - the sensor value has a slight offset • Temperature - a change in temperature gives a change in measured output • Calibration errors - such as alignment errors, gain errors and so on Bias errors can sometimes be estimated depending on the application and other sensors available. Temperature errors are commonly handled by the sensor unit. But since the temperature errors are often highly nonlinear the effect is often not completely removed. Calibration errors are very hard to estimate if present, especially alignment errors. Gyro The gyro measures angular velocity, i.e. rate of turn. The gyro is often the weakest point in an inertial navigation system, ins. Accurately estimating the orientation of the device is crucial in such a system and the orientation is tracked using the gyro. A high grade gyro is often based on optics such as ring laser gyros or fibre optic gyros. The sensor is based on light inference. Two light beams are shone into opposite ways of a track. The track can be an optical fibre or a mirror path, for example. When the beams return, the inference, i.e. phase shift, reveals if one of the beams has travelled a shorter path due to that the path has rotated. This is called the Sagnac effect. Optical gyros often have high precision, but are hard to reduce too much in size since a shorter path means worse precision. A mems gyro is based on that a moving element that is effected by a rotation gives away a force in the perpendicular direction F c = −2m(ω × v). (2.1) This is known as the Coriolis effect. The velocity is often represented using a vibrating mass to create F c . Since v is a vibration, F c changes direction with the direction change in v, why it is also vibrating. Today the mems gyros cannot match the precision of the optical gyros. As for the mems accelerometers, the main sources of error are • Bias • Bias stability - the bias actually moves around slightly and is not as constant as a bias should be 2.1 21 Sensors • Temperature effects • Calibration errors. and the additive white noise. Since the rotations are often integrated over time to produce an orientation estimate, the fact that the bias does not even have the decency to be still is integrated into a significant orientation drift over time. Magnetometer Magnetometers measure the magnetic fields. The magnetic fields consists of the earth magnetic field and local magnetic disturbances. If the earth magnetic field is stronger than the disturbances, information of the direction of magnetic north is available. There are many different approaches to magnetic sensing such as Hall effect sensor, magneto-diode, magneto-transistor etc. mems magnetometers are often based on the Lorentz-force which acts on a current-carrying conductor in a magnetic field. F = q[E + (v × B)] (2.2) where q is the charge, E is the electric field, B is the magnetic field and v is the velocity of the charge. This force can be measured in different ways, for example by sensing the strain this force applies on piezo-resistors or by sensing a frequency shift in a beam caused by the force. One can also detect the force by studying the displacement of the mems structure. 2.1.2 RADAR A pulse radar sends out radio waves in different directions which are reflected or scattered when hitting an object. The reflected signals are picked up by a receiver, usually at the same place as the transmitter, and the time of flight for the signal is calculated. This time is proportional to the distance to the object that reflected the signal and the heading of the sensor when the signal was transmitted gives the direction to the object. The strength of the reflected signal can also provide some information about the properties of the reflecting object. Two measurements are provided by each reflected wave: range and angle from the sensor to the object. q (2.3) r = (sx − px )2 + (sy − py )2 α = arctan sy − py sx − px (2.4) where s = (sx , sy ) is the position of the reflecting structure and p = (px , py ) is the position of the radar sensor. Since the uncertainties in angle and range are independent, the total measurement uncertainties will be banana shaped. 22 2 Sensor Fusion A naval radar commonly rotates with a constant speed, transmitting and receiving in one direction at a time. The reflections are plotted in the current direction when they are received. This gives a circular image of the surrounding islands and vessels that is updated one degree at a time. By saving one 360◦ radar sweep as an image, a view of the surroundings is provided. The radar sensor used in Paper D was a military one making the characteristics of that sensor secret. What we do know is that it had a range of roughly 5 km and a range resolution of about 5 meters. It rotates one revolution in 1.5 seconds giving measurements in roughly 2000 directions. One way of using a radar in localization is to take some strong reflections in a full 360◦ radar scan and try to detect them again in the next scan. The objects creating these reflections are called landmarks and are assumed stationary. By measuring the distance and heading to the landmarks and see how these change over time, how the radar equipped unit is moving can be estimated. If some landmarks move in a manner that is inconsistent with the other landmarks, it is probably a different unit and the reflections should not be used for localization. 2.1.3 Global Navigation Satellite System Global Navigation Satellite System use multiple satellites and triangulation to determine the position of a user anywhere on earth. The most well known such system, the Global Positioning System (gps), provides a positioning accuracy of about 10 meters. Besides from location, gps also gives very accurate estimates of current time, making it useful also in applications where only accurate time and not position is needed. This is for example used in cellphone base station synchronization for some systems. The system consists of 30 satellites and free line of sight to at least 4 of them is required for the positioning to work. Other systems exist or are planned. The Russian glonass system mostly covers the northern hemisphere, in particular Russia, and is today short of the 24 satellites needed to cover the whole planet. The European Galileo system will use 30 satellites to cover the entire planet and the full deployment is expected to be finished in 2019. Also a Chinese system, compass, using 35 satellites to cover the planet will be deployed in the future. As of today, a smaller system covering only China and the immediate surroundings is in place. A future gnss receiver, using signals from all systems will pretty much always have free line of sight to at least 4 satellites. This will give accurate positioning also in places that are difficult to cover today such as urban canyons. One shortcoming with gnss systems is the weakness of the signals. The signal is weaker than the background noise and only because the receivers know what to look for can the signals be found. This makes the system sensitive to signal disturbances due to intentional or unintentional jamming. Today, gps jammers that can easily knock out all gps reception in an area of many square kilometers are available at a low cost; Economist (2011); Grant et al. (2009). This problem and a suggested solution for maritime vessels is discussed in more detail in Paper D. 2.2 2.2 23 Models Models In estimation, mathematical models are used to describe how the states are related to eachother and to the measurements. A process model describe the dynamic properties of the system by stating how the states depend on one-another and on additional inputs. For a vehicle model, the process model describes how the velocity states translate into a change in position states over time for example. It will also put restrictions on a system by stating that a vehicle cannot not travel sideways for example. Dynamic system models are often relating the states to eachother using differential equations. To simplify implementation, these models are most often approximated as discrete time difference models. A measurement model relates what is measured by the sensors to the unit states. The measurements can be of the states themselves or they can be functions of one or more states. The mathematical models used to describe the relationship between the measurements and the states are often nonlinear functions. 2.2.1 Continuous Models The models are commonly on a state space form where a state vector x(t) describes the system properties at time t. The process model is f ( · ) and the measurement model is h( · ). The fundamental continuous time model is ẋ(t) = f (x(t), u(t), w(t)) y(t) = h(x(t), u(t), e(t)) (2.5) (2.6) where u(t) is a known input signal and w and e are model and measurement noise terms, respectively. f ( · ) and h( · ) are in general nonlinear functions. Even though the process model (2.5) is often based on fundamental relationships between states described by differential equations, some simplifications have always been made of the true system. The dynamic model is therefore associated with a process noise, which is the assumed input that is driving the true system. The process noise should also incorporate the model uncertainties. Related to each measurement in the measurement model (2.6), is a measurement noise e(t). No matter the sensor, there is always a noise present in the measurements. The noise term e(t) therefore reflects the quality of the sensor, with larger noise covariance terms for poor sensors. For a presentation on random signals in continuous time, see e.g. Jazwinski (1970). 2.2.2 Discrete Time Models Estimation methods are primarily based on discrete time systems due to the implementational simplifications that follow. Therefore, continuous time models need to be discretized before they can be used in an estimation systems. 24 2 Sensor Fusion Discretization Discretization means that the differential equations in a continuous time model are replaces by approximate difference models that resemble the original ones. Most often discretization is a complex task. One exception is a linear continuous time system. ẋ(t) = Fx(t) + Gw(t) y(t) = Cx(t) + e(t) (2.7) To discretize such a system, one must first assume that wk is piecewise constant over the sampling interval T . The matrices of the sampled systems can then be computed as A = e FT ZT B= e Fτ dτ G (2.8) (2.9) 0 giving the discrete time linear system xk+1 = Axk + Bwk yk = Cxk + Dek . (2.10) where wk ∼ N (0, Qk ) and ek ∼ N (0, Rk ) Note that the model matrices A, B, C and D need not be constant. For most other cases sampling a continuous time system is quite challenging. For details see Gustafsson (2010). General Discrete Time model A general description of a physical system as a state space model in discrete time is xk+1 = f (xk , uk , wk ) yk = h(xk , ek ) (2.11) An important special case is when the process and measurement noises are modeled as additive xk+1 = f (xk , uk ) + wk yk = h(xk ) + ek . (2.12) It is an intuitively straightforward model with a deterministic part utilizing basic physical properties and a random part representing everything that is unknown that affects the system. An example of a system with partially nonlinear dynamics and measurements is given in Example 2.1. 2.2 25 Models Often the input uk is unknown making the model xk+1 = f (xk ) + wk yk = h(xk ) + ek (2.13) This is the case when one wants to estimate the properties of a system one does not control, like in target tracking. The linear system (2.10) is a very common special case of modeling since it allows Kalman filter theory to be applied when solving the problem, if the process and measurement noises are assumed Gaussian. 2.1 Example Model of an inertial navigation system estimating the sensor position using an accelerometer and a gyro and also global measurements of position from gps. The states position p, velocity v and acceleration a, all in global coordinates. Orientation is represented by quaternions q and angular velocity ω in the local coordinate system. The measurements acceleration ya and angular velocity yω , both measured in the local coordinate system and global position yp from the gps receiver. All measurements have additive noise Gaussian zero mean noise e. To reduce the model complexity, the acceleration state a can be replaced by the acceleration measurements ya in the dynamic model. The corresponding simplification can be done to the orientation, replacing ω by yω in the dynamic model. The main difference this induces is that high frequency components in ya and yω are not filtered out, Callmer (2011). Quaternion dynamics and properties are described in Appendix A but a very brief explanation will be given here. S 0 (qk )ωk describes how local angular velocities translate into changes in quaternions. R(qk ) is the rotation matrix from the global to the local coordinate system which is based on the quaternions qk . 2 ! 0 T pk+1 I T I 0 pk T2 I R (qk )ya,k − g + ea,k (2.14) vk+1 = 0 I 0 vk + T I 0 yω,k + eω,k T 0 qk+1 0 0 I qk 0 S (q ) k 2 yp,k = pk + ep,k (2.15) where g is the gravity component. 2.2.3 Dynamic Model Restructuring In some cases we have a dynamic model like (2.12) where the input uk is known. We then have xk+1 = f (xk , uk ) + wk xk = f (xk−1 , uk−1 ) + wk−1 (2.16) (2.17) xk+1 = f (f (xk−1 , uk−1 ) + wk−1 , uk ) + wk . (2.18) which can be rewritten as 26 2 Sensor Fusion This procedure can be repeated over and over until xk+1 is only depending on the initial states x0 , the known inputs u0:k and the process noise terms w0:k . In the general case the full expression becomes hideous and unmanageable, but in the special case f (xk , uk ) = xk + uk (2.19) (2.18) becomes xk+1 = x0 + k X ui + k X i=0 (2.20) wi . i=0 That means that in those cases, xk+1 can be written as a simple function of only initial states, inputs and noise terms. The resulting measurement model is yk = h(xk ) + νk = h(x0 + k−1 X ui + i=0 k−1 X wi ) + νk . (2.21) i=0 In this thesis, this form has been applied to the one dimensional heading estimation problem. The heading state ψk is driven using the gyro measurements ykω which have gaussian measurement noise ek . ψk+1 = ψk + T ykω + T ek (2.22) can therefore be written as ψk+1 = ψ0 + T k X yiω + T i=0 k X ei . (2.23) i=0 The state vector ψ0:k+1 can hence be written on batch form very easily. Such an approach also means that we assume that the gyro sensor has the actual bandwidth to capture all the dynamics of the system. This model structure will be used in Papers B and C where heading is estimated in batch form. 2.3 Estimation Theory The estimation problem is the problem of estimating the posterior distribution of the states given the measurements, p(xk |y1:k ). The states are often intricately related to the measurements, making them difficult to estimate. With the use of Bayes’ theorem p(x|y) = p(y|x)p(x) p(y) (2.24) 2.3 Estimation Theory 27 the problem can be reformulated into three straightforward parts. p(y|x) is the likelihood of receiving the measurement y given the states x, p(x) is the prior probability of the states incorporating all our previous knowledge about the states and p(y), the probability of the measurement, normalizes the state probabilities. Estimation theory can be divided into two cases: linear and nonlinear estimation. Linear estimation is straightforward and the results are trustworthy but the problem is in reality rare. Nonlinear estimation is more difficult and the solutions are prone to diverge but unfortunately the problem is very common. In this section we will first present the Kalman filter used for linear estimation problems and the extended Kalman filter used for slightly nonlinear problems. We will then present Kalman filter banks which is a type of filters where multiple Kalman filters with different system assumptions, so called modes, are run in parallel. The final estimate is a mixture between all the filter estimates. This is followed by a presentation of Hidden Markov Models which can be used when only mode is sought. The section ends with a discussion about estimation using disturbed measurements and a suggested solution outline. 2.3.1 Kalman Filter The linear estimation problem where a discrete time linear system (2.10) is assumed to have Gaussian process and measurement noise, is optimally solved using the Kalman filter, Kalman (1960). Since the problem is Gaussian, estimating the mean and the covariance of xk provides the entire solution to p(xk |y1:k ). The Kalman filter works in a two step procedure with a time update and a measurement update. The time update predicts the future states x̂k+1|k using the process model. Since the model is not perfect, the process noise covariance Qk is added to the state covariance Pk|k to illustrate the increase in estimate uncertainty that the model introduces. The measurement update uses the difference between the measurement and the predicted measurement, the so called innovation, to update the states. How much the new measurement should affect the states is decided by the Kalman gain, Kk . Kk depends on Qk and the measurement noise covariance Rk which describes how trustworthy the measurements are. The relation between these two parameters determines the filter performance. If Qk is small in relation to Rk , the model is deemed more reliable than the measurements and vice versa. The ratio between Qk and Rk affects the state estimates while the magnitudes of Qk and Rk determines the size of the state estimate covariances. The equations defining the Kalman filter are shown in Algorithm 1. 2.3.2 Extended Kalman Filter If the problem is of the form (2.11) or (2.12) and only mildly nonlinear, the extended Kalman filter (ekf) can be applied. It approximates the nonlinearities using a first order Taylor approximation around the latest state estimate and then 28 2 Sensor Fusion Algorithm 1 Kalman Filter Require: Signal model (2.10), initial state estimate x̂0|0 and covariance P0|0 . 1: Time Update x̂k+1|k = Ax̂k|k Pk+1|k = APk|k AT + Q 2: (2.25) Measurement Update −1 Kk+1 = Pk+1|k C T CPk+1|k C T + R x̂k+1|k+1 = x̂k+1|k + Kk+1 yk+1 − C x̂k+1|k Pk+1|k+1 = Pk+1|k − Kk+1 CPk+1|k (2.26) applies the Kalman filter to the linearized problem. Convergence cannot be guaranteed, in particular because the ekf gives the optimal solution to the wrong problem. That means, the solution to the linearized problem is the optimal one, unfortunately the linearized problem is not the true problem. Despite this, the ekf most often works well in practice. The ekf is primarily used in Papers C and E. Starting with the nonlinear function (2.12), a first order Taylor expansion of the measurement function h( · ) around the linearization point x̂k is h(xk ) ≈ h(x̂k ) + h0x (x̂k )(xk − x̂k ) (2.27) where h0x (x̂k ) is the Jacobian h0x (x̂k ) ∂h(xk ) = ∂xk xk =x̂k (2.28) The measurement model can now be approximated according to yk = h(x̂k ) + h0x (x̂k )(xk − x̂k ) + ek yk − h(x̂k ) + h0x (x̂k )x̂k = h0x (x̂k )xk + ek ȳk = h0x (x̂k )xk + ek . (2.29) Correspondingly the dynamic model can be expanded around x̂k as f (xk ) ≈ f (x̂k ) + fx0 (x̂k )(xk − x̂k ) (2.30) xk+1 = f (x̂k ) + fx0 (x̂k )(xk − x̂k ) + wk xk+1 − f (x̂k ) + fx0 (x̂k )x̂k = fx0 (x̂k )xk + wk x̄k+1 = fx0 (x̂k )xk + wk (2.31) giving the new model 2.3 29 Estimation Theory where fx0 (x̂k ) = ∂f (xk ) ∂xk xk =x̂k (2.32) If the signal model is (2.11), the Jacobians with respect to the noise parameters w and e are also needed. ∂f (xk , wk ) ∂h(xk , ek ) 0 0 he (x̂k ) = (2.33) fw (x̂k ) = ∂wk ∂ek xk =x̂k xk =x̂k The extended Kalman filter is summarized in Algorithm 2. Algorithm 2 Extended Kalman Filter Require: Signal model (2.11), initial state estimate x̂0|0 and covariance P0|0 . 1: Time Update x̂k+1|k = f (x̂k|k ) Pk+1|k = fx0 (x̂k|k )Pk|k fx0 (x̂k|k )T + fw0 (x̂k|k )Qfw0 (x̂k|k )T 2: (2.34) Measurement Update Sk+1 = h0x (x̂k+1|k )Pk+1|k h0x (x̂k+1|k )T + h0e (x̂k+1|k )Rh0e (x̂k+1|k )T −1 Kk+1 = Pk+1|k h0x (x̂k+1|k )T Sk+1 x̂k+1|k+1 = x̂k+1|k + Kk+1 yk+1 − h(x̂k+1|k ) −1 0 Pk+1|k+1 = Pk+1|k − Pk+1|k h0x (x̂k+1|k )T Sk+1 hx (x̂k+1|k )Pk+1|k 2.3.3 (2.35) Optimization Formulation A system with state vector xk with dynamic model xk+1 = Axk + Buk + wk (2.36) yk = Cxk + ek (2.37) and measurement model can, as was described in Section 2.3.1, be estimated using a Kalman filter. The Kalman filter measurement update can be written as a one step optimization problem. x̂k = arg min (yk − Cxk )T R−1 k (yk − Cxk )+ xk −1 (xk − Axk−1 − Buk )T Pk|k−1 (xk − Axk−1 − Buk ) (2.38) where xk−1 is the previous estimate that is fixed and Pk|k−1 is the time updated state covariance. This is an unconstrained regularized weighted least squares problem. The closed form solution is the Kalman filter. To instead produce a smoothing estimate x̂0:k , (2.38) can be written on batch form. 30 2 Sensor Fusion Thereby, the entire vector x̂0:k is produced in one step using all measurements y0:k . The batch formulation includes both time and measurement update and also a prior on the initial state x0 . x̂0:k = arg min (y0:k − Cx0:k )T R−1 0:k (y0:k − Cx0:k )+ x0:k −1 (Āk x0:k − Bu1:k )T Q1:k (Āk x0:k − Bu1:k ) + x0T P0−1 x0 (2.39) where Āk is I −A 0 0 I −A Āk = . .. .. . 0 0 ... ... ... .. . 0 0 I −A (2.40) In most practical applications, estimating x̂0:k using (2.39) is unnecessary. If one wants to include future measurements in an estimate, a fixed-lag smoothing is computationally more efficient and the estimate is very similar to the one produced using (2.39) due to the exponential forgetting factor of old measurements. More on smoothing in Gustafsson (2010). However, in some application this formulation can be very useful. In this thesis we have one such scenario, in Papers B and C, where heading is estimated on batch form to handle large and frequent disturbances in the measurements. 2.3.4 Kalman Filter Banks In some cases one has a model that depend on a discrete mode δk . It can represent many different features such as type of dynamic model (turning or straight) in target tracking, a faulty or a non-faulty system, missing data or disturbed or undisturbed measurements. In the general case, δ can take on S different values. A common scenario is the binary case S = 2: disturbed/undisturbed, faulty/nonfaulty etc. To handle such systems, a Kalman filter bank can be used. It runs multiple filters in parallel that each have its own assumption of which mode δk the system is currently in. A Kalman filter bank is a group of Kalman filters where each filter at each time instant has a parameter setup that is depending on a discrete mode, δk . Consider the following jump Markov linear system xk+1 = A(δk ) + B(δk )uk + E(δk )wk yk = C(δk )xk + D(δk )uk + ek (2.41) where wk is process noise distributed as wk ∼ N (0, Qk (δk )) and ek is measurement noise distributed as ek ∼ N (0, Rk (δk )). The matrices A( · ), B( · ), C( · ), D( · ) and E( · ) are known. For a dynamic system, each time instant has a mode associated to it. That means 2.3 31 Estimation Theory that for an experiment we will have an unknown mode sequence δ1:k that is sought. i The estimated state sequence x0:k will be based on the assumed mode sequence i δ̂1:k . Each mode sequence has its individual combination hypothesis of what δ1:k has actually been. Since the models are mode dependent, (2.41), different state i sequences x0:k will be acquired for each mode sequence. The mode sequence δ1:k to choose is the one that minimizes the prediction errors of the Kalman filter. To explore the entire solution space, one should evaluate all possible mode combinations δ1:k . In the general case the number of combinations are S k . This becomes unfeasible very soon since the computational complexity grows exponentially with time. Hence, approximations have to be made. General Full Solution The posterior distribution of the state can be expressed as a Gaussian mixture of all possible mode sequence realizations p(xk |y1:k ) = Sk X i i p(δ1:k |y1:k )p(xk |δ1:k , y1:k ) (2.42) i i i , Pk|k ). µ1:k N (xk ; x̂k|k (2.43) i=1 = Sk X i=1 i µ1:k i = p(δ1:k |y1:k ) is subsequently a weight based on the probability of a certain i mode sequence δ1:k given the measurements y1:k . For a specific mode sequence i, i i N (xk ; x̂k|k , Pk|k ) is straightforwardly calculated using a Kalman filter. The minimum variance state estimate is therefore given as x̂k|k = Sk X i µ1:k x̂ki . (2.44) i=1 i are calculated for a certain sequence by recursively applying The weights w1:k Bayes’ theorem i i = p(δ1:k |y1:k ) = µ1:k i p(δ1:k ) i ) p(y1:k |δ1:k p(y1:k ) (2.45) = i i )p(δ1:k−1 ) p(δki |δ1:k−1 i i p(yk |δ1:k , y1:k−1 )p(y1:k−1 |δ1:k ) p(yk |y1:k−1 )p(y1:k−1 ) (2.46) = i i ) , y1:k−1 ) p(δ1:k−1 p(yk |δ1:k i i p(y1:k−1 |δ1:k−1 )p(δki |δ1:k−1 ) p(y1:k−1 ) p(yk |y1:k−1 ) (2.47) i p(yk |δ1:k , y1:k−1 ) . ) k−1 p(yk |y1:k−1 ) i Π(δi ,δi = µ1:k−1 k (2.48) 32 2 Sensor Fusion Π(δk ,δk−1 ) is the mode switching probability that states what the probability is to switch from one mode to another. Π(δk ,δk−1 ) is assumed constant. The mode state is modeled as a time invariant Markov chain why the probability of mode switch is only dependent on the previous mode and not on the full mode history. Implementation Approximations A way of visualizing how the number of mode sequence combinations grows with i time is to see it as a tree. For each new measurement, each combination δ1:k is spawned off into S more branches to provide all possible mode combinations. Since the number of Gaussians in the mixture (2.42) grows exponentially as S k , certain approximations must be applied to implement it. The two main approaches are pruning and merging. Pruning means that mode sequences with a low probability are discarded. In the tree visualization, pruning means that low probably branches are simply cut i off. If p(δ1:k |y1:k ) is very small, continually branching it is a waste of computational resources. For details on pruning and how to implement it, see Gustafsson (2010). In merging, the branches are not cut off, they are joined with other branches, keeping the total number of branches constant. One can for example maintain i , and merge these the full mode sequence over a given time window L, δk−L:k branches when another measurement is available. A mixture of N Gaussians can be approximated as p(xk ) = N X i µ1:k N (xk ; x̂ki , Pki ) i=1 ≈ N (xk ; x̂k , Pk ) (2.49) where x̂k = Pk = N X i=1 N X µik x̂ki (2.50) µik Pki + (x̂ki − x̂k )(x̂ki − x̂k )T (2.51) i=1 This approximation preserves the first and second moments. 2.3.5 Interacting Multiple Model One of the most popular merging methods is the Interacting Multiple Model (imm) filter Bar-Shalom et al. (2001). For a system with S modes, it makes the approximation p(xk |y1:k ) ≈ S X i=1 i i µik N (xk ; x̂k|k , Pk|k ). (2.52) 2.3 33 Estimation Theory Note that the posterior mode probabilities are µik = p(δki |y1:k ), why the entire mode sequence history has been discarded. In the imm filter, only the probability of the current mode is maintained. The imm filter is applied in Paper A. Filter Equations In the imm filter, the states xki with covariance Pki are estimated, one pair for each mode, and the mode probabilities µik , one for each mode, using the measurements y1:k . The algorithm of how to merge the estimates, the time update, the measurement update and the mode probability estimation are given below for convenience. When a new time update is needed, the first step is to calculate the mixing probji Nδ abilities {µk−1|k−1 }i,j=1 j ji µk−1|k−1 Πij µk−1 = PN δ l=1 Πil µlk−1 (2.53) . In doing so it uses the mode switching probabilities Πij that states what the probability is of being in mode i, if one just previously was in mode j. N N δ δ 0i 0i The mixed estimates {x̂k−1|k−1 }i=1 and covariances {Pk−1|k−1 }i=1 are then produced as 0i x̂k−1|k−1 = Nδ X ji j (2.54) µk−1|k−1 x̂k−1|k−1 j=1 0i = Pk−1|k−1 Nδ X ji j µk−1|k−1 [Pk−1|k−1 + j=1 j 0j j 0j + (x̂k−1|k−1 − x̂k−1|k−1 )(x̂k−1|k−1 − x̂k−1|k−1 )T ] (2.55) In this step, a bit of the other state estimates from the other modes are mixed in. How much is mixed in is based on the current mode probabilities and the mode switching probabilities. These mixed estimates are now time updated using i 0i x̂k|k−1 = Aik x̂k−1|k−1 i 0i i i iT Pk|k−1 = Aik Pk−1|k−1 AiT k + Ek Qk Ek . (2.56) In both the time update and the measurement update, the model matrices associated to each corresponding mode is used. That means that when the state vector xki is updated, the state transition matrix Aik = Ak (δ i ) is used, for example. The new measurement yk is used to update the states using the standard Kalman 34 2 Sensor Fusion filter measurement update. i i i x̂k|k = x̂k|k−1 + Kki (yk − Cki x̂k|k−1 ) i Pk|k Ski Kki = = = i − Kki Ski KkiT Pk|k−1 i CkiT + Rik Cki Pk|k−1 i Pk|k−1 CkiT (Ski )−1 (2.57) (2.58) (2.59) (2.60) The mode probabilities wki are then updated using the previous mode probabilities, the mode switching probabilities and the innovation with innovation covariance for each filter. PNδ j i N (yk ; Cki x̂k|k−1 , Ski ) j=1 Πji µk−1 i µk = PN (2.61) j δ i l l PNδ l=1 N (yk ; Ck x̂k|k−1 , Sk ) j=1 Πjl µk−1 The updated mode probabilities µik are finally used to calculate the overall estimate x̂k|k and covariance Pk|k as x̂k|k = Pk|k = Nδ X i=1 Nδ X i µik x̂k|k (2.62) i i i µik [Pk|k + (x̂k|k − x̂k|k )(x̂k|k − x̂k|k )T ]. (2.63) i=1 2.3.6 Hidden Markov Model If a discrete mode δk is the only state that is sought, a Hidden Markov Model (hmm) can be used. In a system with S possible modes, the hmm estimates the probability of being in each mode using a test statistic λk , and a mode switching probability Πi,j . hmms are used in Paper C. The test statistic λk can be constructed using the measurements yk and has a known distribution for each mode δki . For example we could have λik ∼ N (0, σi2 ) j if δk = i and λk ∼ N (mj , σj2 ), if δk = j. To make the modes easily distinguishable, we want σj , σi and mj , 0. The mode switching probability Πi,j introduces a sort of dynamics to the system. Most often, λk depends only on the latest measurement yk , and Πi,j ensures that µk does not solely depend on yk but on previous measurements as well. Πi,j does this by stating the probability of switching from mode j to mode i. So if λk indicates that a very improbable mode switch has occurred, Πi,j states that the final mode probabilities should only indicate a minor change. In short, to facilitate an improbable mode switch, the test statistic likelihood for the new mode has to be very large or else multiple test statistics need to indicate that the switch has occurred for the mode probabilities to change completely. 2.4 35 Estimation under Disturbances When a new measurement yk is available, λk is calculated as λk = g(yk ). The probability of being in mode i at time k, sively (2.64) µik = P (δki |yk ), is calculated recur- µik = P (δki |yk ) ∝ p(yk |δki )P (δki |yk−1 ) = p(yk |δki ) Nδ X j Πji µk−1 (2.65) j=1 = p(λk |δki ) Nδ X j Πji µk−1 (2.66) j=1 since yk and λk contain the same information. µik then has to be normalized. Hence we have PNδ j p(λk |δki ) j=1 Πji µk−1 i . (2.67) µk = PN j δ l PNδ l=1 p(λk |δk ) j=1 Πjl µk−1 If the probability transition matrix is chosen as having the same probability of change between all modes, i.e. 1/S . . . 1/S .. .. Πc = ... (2.68) . . 1/S . . . 1/S the probability of each mode is only depending on the latest measurement. PNδ c j p(λk |δki ) j=1 Πji µk−1 i µk = PN P Nδ δ l c j l=1 p(λk |δk ) j=1 Πjl µk−1 PNδ j p(λk |δki )α j=1 µk−1 = PN P j Nδ δ l l=1 p(λk |δk )α j=1 µk−1 p(λk |δki ) = PN δ l l=1 p(λk |δk ) (2.69) All dynamics are then removed and only the latest measurement determines the mode. This makes it prone to give an erroneous mode classification after receiving just one troublesome measurement. 2.4 Estimation under Disturbances This section discusses a fundamental estimation problem that occurs in many shapes, and has certain applications in this thesis. The situation occurs when 36 2 Sensor Fusion there are two related measurements. The first sensor measures a physical quantity with a large deterministic disturbances, which can hardly be modeled as a stochastic process. The second sensor measures the derivative of the physical quantity, but with a small offset. Thus, integrating the second sensor corresponds to the physical quantity but with a linear drift over time. 2.4.1 Problem Fundamentals We want to estimate a feature pk of a dynamic system like a position or a headp ing. The feature is measured, yk , but the measurements suffer from deterministic p disturbances dk , like location dependent disturbances. Available is also a measurement of the system movements, like the derivative of p pk , called ykv . This measurement is unaffected by dk but the signal is corrupted by noise and slight sensor deficiencies like for example a slight bias. These errors are of the types that cannot be determined once and for all in a calibration procedure, since they might change slowly over time or be different every time the sensor is started. We assign a state vk for the derivative state to get the dynamic model ! ! ! ! 1 T pk pk+1 T 2 /2 + wk = 0 1 vk vk+1 T (2.70) p where wk ∼ N (0, Qk ). We also have the the measurement models where p ek yk = h(pk ) + dk + ek p p (2.71a) ykv ekv (2.71b) = g(vk ) + p ∼ N (0, Rp ) and ekv ∼ N (0, Rv ). p Now, if dk = 0 a nonlinear filter can be applied to estimate pk and vk . If h( · ) and g( · ) are linear a Kalman filter can be used. p If all measurements y1:k are corrupted by large deterministic disturbances, i.e. p d1:k , 0, and p0 is unknown, pk cannot be estimated correctly. This is natural since if all measurements of position is bad, estimating position using only velocity is impossible. p The question is how to estimate pk and vk when some di , 0? The estimation system should first and foremost be robust against the disturp bances dk . By robust we mean that p̂k should not be pulled away by the disturbances. Also, during the disturbed periods, the filter has to rely on the dynamic model only, but despite errors in ykv , p̂k should not drift away. In short, we want the filter to be both resistant to disturbances and movement measurement deficiencies. 2.4 37 Estimation under Disturbances 2.4.2 General Solution Outline p When the disturbances come and go, pk is observable when dk = 0 if we also p p know that dk = 0. So in order to utilize yk in our estimation system at all, we p p need to detect when dk = 0 and when dk , 0. Given that we know or have an p estimate of when dk = 0, pk can be estimated for those time instances. During the disturbed periods, we have to rely on the dynamic model (2.70) and (2.71b). Unfortunately, errors in ykv will cause p̂k to drift off. To be able to handle long periods of disturbances, the sensor inaccuracies corrupting ykv will therefore also have to be modeled and estimated. We assume that the sensor deficiencies can be modeled using the constant error parameters θ. We extend the state vector to also contain the assumed constant fault parameter vector pk+1 1 T 0 pk T 2 /2 vk+1 = 0 1 0 vk + T wk (2.72) θ 0 0 1 θ 0 p p p yk = h(pk ) + dk + ek (2.73a) ykv (2.73b) = g(vk , θ) + ekv If the error modeling is feasible and θ̂ is estimated correctly, this model is a better description of the true system. It can therefore be relied upon during much longer periods of disturbance. In most practical applications though, eventually p̂k will start drifting off. So, not only do we have to estimate pk and vk , we also have to estimate θ. Given p that we know when the measurements yk are disturbed and when they are not, p the undisturbed sections of yk can be used to estimate θ and pk . p p Since we do not know if dk = 0 or dk , 0, this has to be estimated as well. In the p p end, we have to estimate pk , vk , θ and the system mode, i.e. if dk = 0 or dk , 0. 2.4.3 State and Mode Estimation This type of problem fits into the mode based estimation systems such as a Kalman filter bank, Section 2.3.4, or an hmm filter, Section 2.3.6. In a Kalman filter bank solution, the system switches between different models depending on the estimated mode state. The mode estimate depends on the likei lihood of the measurement given the mode and the previous one, p(yk |δ1:k , y1:k−1 ). In the imm filter, this means that the mode estimation is based on the innovation p,i p of each filter, i.e. ỹk = yk − h(p̂ki ). The advantage of estimating state and mode jointly using an imm filter, is that 38 2 Sensor Fusion p when the filter has converged, detecting if dk , 0 is very straightforward. Unp fortunately, if the filter has diverged, all measurements yk:N will be erroneously interpreted as disturbed. The filter has to be reinitialized to function properly again. p Using an hmm, filter mode probabilities µk can be estimated using a test statistic independent of the states. A test statistic can be constructed as p λk = f (yk , ykv ) (2.74) It is quite common that the distribution of the test statistic is known in the usdisturbed case but unknown for the disturbed case, which has to be approximated. Once the state mode has been estimated, the states can be estimated using a nonp linear filter where for example Rk = Rp (µk ). If the vector of estimates p̂0:k is sought and the system has linear dynamics, the state estimation can often be formulated on batch form, see Section 2.3.3. Again, p the measurement noise Rk can be made mode dependent. Using a batch formulation, the smoothing estimate of p̂0:k−1 and the filtering estimate of p̂k is acquired. The number of states can be reduced by using a dynamic model on input form where ykv drives the time update. pk+1 = pk + f (ykv , θ) + ek (2.75) Such a model can be approximated as a function of only p0 and θ, see Section 2.2.3. In this thesis this has been applied on the heading estimation problem, see Papers B and C. 2.4.4 Examples of Problems The problem described above is quite common in practical sensor fusion applications. The simplest case is the scalar one where pk is one-dimensional. • Position estimation on rails or roads from a speedometer, which is reliable and accurate up to scale and bias, and position measurements from for example gps or landmark tracking. The position estimates are uncertain due to satellite occlusion or lack of steady landmarks. • Speed estimation for an autonomous underwater vehicle (auv). pk is vep locity, accelerometer measurements ykv are used as input signal and yk are measurements from an unreliable speedometer, e.g. Doppler velocity. p • Heading estimation where yk are either heading measurements from a magnetometer or difference-of-arrival (doa) from radio transmitters estimated by an antenna array. Both measurement types are prone to large and frequent disturbances. The doa estimates suffer from multipathing, where the angle may correspond to the position of strong reflectors in the environment, see Figure 3.2 from Erkstam and Tjernqvist (2012) for an example. Magnetometers are often disturbed by location dependent interferences indoors, see Paper A. To support the heading estimation, a gyro can be used 2.4 Estimation under Disturbances 39 as ykv but such measurements often have bias and scale errors. The heading estimation problem using a disturbed magnetometer and a low grade gyro will be studied in depth in this thesis, see Section 3 and Papers A, B and C. A two dimensional example of such a system is positioning of a car with gps and wheel encoders. The gps measurements are often good but can be disturbed by large buildings or tunnels. The wheel encoders measure how the wheels are turning, thereby giving estimates of the velocity and turning rate of the vehicle. Unfortunately these movement estimates will have errors due to wheel slip, sensor errors, slightly different wheel diameters etc. So in this scenario, pk is vehicle pop sition and heading, yk is the gps measurement and ykv are the wheel encoders. If the road network is known, the problem complexity can be reduced significantly. 2.4.5 Discussion On most occasions the measurement function h( · ) is just a measurement of the state, h(pk ) = pk . In the case of heading estimation using a magnetometer it is instead h(pk ) = pk mod 2π. How to handle this in the batch estimation case is discussed in Paper B. The question of using the full state model (2.72) or the input model (2.75) is to a large extent a question of how many states one prefer. As was shown in Callmer (2011), the full model introduces a time delay in the system dynamics and also a low pass filtering of the noise in ykv . If ykv does not suffer from outliers, missing data or similar, the input form is the more attractive one because of the delay and lower state dimension. If the dynamic model (2.75) is also on the reduced form presented in Section 2.2.3, the only unknown states are p0 and θ. Estimating only these few constant states p v using y1:k and y1:k on batch form may seem like quite an overkill, but the resulting estimates p̂0:k will be very resistant to both disturbances and sensor errors. More on this in Papers B and C. 3 Indoor Positioning The ability to position people or equipment indoors has become a very hot topic in the last couple of years. What used to be a mostly academic or military field of interest has now also entered the commercial sector. Along the way one thing has been lost though: a clear understanding of what we are actually talking about. The question has become if one can solve the indoor positioning problem (see for example Economist (2012)) but it is not a relevant question. The question in general has no answer since the solution relies heavily on a different question: for whom or what it shall be solved and for what purpose? There is no silver bullet that solves the entire problem, but there are many different types of solutions, each working in its own scenario. The broadest way to divide the indoor positioning issue into smaller manageable ones, is to start with if the indoor environment is known or unknown. There is a huge difference between positioning a soldier inside an unknown building in an unknown country, or to position ones own things in ones own building. If one has control over the environment, two things in particular can be utilized to aid in the positioning. First of all maps of the building can be utilized. They can restrict the possible user movements, thereby significantly lowering the uncertainty in the position estimate. The second thing one can do is to install equipment that aids the positioning such as radio beacons, tags for cameras or reflectors for scanners. Using these, one can produce environmental maps that show what will be measured where, which will provide great support for a positioning system. The other indoor positioning problem is the one in which we have no control over the environment. The positioning should be performed in an unknown building 41 42 3 Indoor Positioning where the only information available is from sensors carried by the subject. This makes this problem scenario much more challenging. Again, how to solve this problem depend on the reason why one wants it to be solved. If the device used is a robot, one can for example equip it with wheel encoders for odometry and cameras and laser scanners to support the positioning. In such a scenario the sensor platform is fixed making the geometrical relation between the sensors known. If the end user is a human such as a first responder or a soldier, there are limits to which sensors can be carried without them affecting the user’s ability to perform his or her task. Also, to keep the cost of the system low, the choice of sensor often becomes a cost/performance tradeoff. The problem of indoor positioning for humans in an unknown environment is the primary one studied in this thesis. Such systems are often based on a dead reckoning system estimating the step-to-step movements. In this chapter we will give a background to that problem and then describe a part of the dead reckoning system in a bit more detail. We will also give a short presentation of additional techniques in the literature that have been used to support the dead reckoning system, utilizing for example information about the building. 3.1 Human Positioning in an Unknown Environment In some scenarios, the operational environment is more or less completely unknown. The chances of there being a digital map available of a building in a warzone is slim at best. Maps of residential homes are also unlikely to be available to aid positioning for police or fire services, for the next couple of years. A positioning system for such environments will therefore have to be based on other techniques. A basic system often used in indoor positioning is the pedestrian dead reckoning system (pdr). It estimates user position relative to a known starting position using the estimated user movements. User movements are measured using an immu and the accelerations measured are translated into a change in position using double integration. For such a system to give useful position estimates, the sensor is often mounted on the foot. By detecting every time the foot is at rest, the accumulated estimation errors can be corrected. For descriptions of pedestrian dead reckoning systems, see for example Beauregard (2007); Feliz et al. (2009); Foxlin (2005); Ojeda and Borenstein (2007); Godha et al. (2006); Woodman and Harle (2009); Jiménez et al. (2010a); Bebek et al. (2010). Such a system will also be briefly described in Section 3.3 and a stand still detection system is presented in Section 3.3.1. Using such a system, the distance traveled can be estimated well but there is a drift in heading causing positioning errors. In this thesis the problem of heading estimation is given a lot of attention, Papers A and B, and when such a system is included in a positioning system, the performance increases dramatically. This is shown in Paper C. Our system is still just a dead reckoning system. To achieve 3.1 Human Positioning in an Unknown Environment 43 even better positioning, more information is needed. A well studied problem in autonomous robotics is the simultaneous localization and mapping (slam) problem. It is the problem of creating a map of the surroundings while at the same time positioning oneself in the very same map. A tutorial on the subject is Durrant-Whyte and Bailey (2006); Bailey and DurrantWhyte (2006). In slam, a key to reducing the errors in estimated position is the so called loop closure. If one can detect that an area is being revisited, the error and uncertainty in estimated user position can be reduced significantly. To produce loop closures in indoor positioning for humans, for example a camera can be used, Rydell and Andersson (2010). If one does not want to add more sensors, user activities can instead be used as loop closure features. In Grzonka et al. (2010), the ’opening door’ activity was detected and such events were connected to each other. By estimating also the number of doors and their specific locations, ’door opening’ events could be used as loop closures. This was shown to significantly reduce the errors in estimated user position. Such passive events could be replaced by active events like user induced markers in the data. For example, if one believes the area one is in will be revisited, a marker in the data, like a special sensor wiggle, could be added. By connecting those markers, the same effect can be achieved. Loop closures can also be made by having the user place out radio beacons along the path, Renaudin et al. (2007). The next time the beacon is passed, a loop closure is called and the built up errors are reduced. More on radio based positioning below. In Angermann and Robertson (2012), slam was performed using only the user movements. By assuming that the user walk the same paths multiple times, the paths can be connected. When backtracking a path, assuming that the two paths are one and the same reduces the drift. That way biases in the system can also be estimated. Even if one does not have a map of the building, some information about it is often still available. In Abdulrahim et al. (2011); Borenstein and Ojeda (2010) the user is assumed to primarily only walk in the principal directions of the building. For any given building, and especially office buildings, the main directions one can walk indoors are aligned with the outer walls. These four directions, sometimes expanded to eight, are the directions one can assume the user will most often be walking in. The estimated heading is therefore pushed towards the nearest principal direction. Only knowing the outer walls of a building can also reduce the accumulated positioning errors, Beauregard et al. (2008). How much information such a map will provide is though strongly correlated to the layout of the building. In that work, the building was L-shaped and narrow, providing quite a lot of information. If the building is large and square, the positioning improvements will most likely be marginal. 44 3.2 3 Indoor Positioning Human Positioning in a Known Environment When one is in control of the building or at least has a solid knowledge of it, positioning can be aided by utilizing this information. A map can be used to put restrictions on where it is actually possible to walk, which can provide a lot of support to a dead reckoning system. To get actual measurements of absolute user positions, location dependent features like visual tags, Zachariah and Jansson (2012), or radio environment measurements can be used. Knowing which wifi access points that can be seen where, provides a lot of support to the positioning system. For many more techniques available for various kinds of indoor positioning, see Muthukrishnan et al. (2005); Gu et al. (2009). 3.2.1 Map Matching The most common approach in map matching is to let the estimate of user position roam free as long as it does not try to walk through a wall. In Woodman and Harle (2008), a pdr system is fused with map matching using a particle filter. The map is represented as a 2.5D set of polygons that have either passable or un-passable edges. Also stairs are included in the same manner, linking the floors. This representation is shown to significantly reduce the error in position, providing a drift free estimate in user position once the filter has converged. Widyawan et al. (2007) also applies a pdr system to a map matching system using a particle filter. The map representation is here based directly on the walls, giving zero weight to particles that want to walk through a wall. A similar approach was taken in Krach and Robertson (2008). A problem with such a system is that a position estimate in a large room will be given a higher weight, and therefore be perceived as more likely, than a position estimate in a more closed space, regardless of actual user position. Since the only thing limiting the system is walls, position estimates where the particles have a high risk of running into the walls, will be bad ones while the open areas will be good ones. One can therefore experience depletion where particles in closed spaces are resampled into open spaces even if the closed space area is the one the user is actually in. In Kaisera et al. (2013) this was handled by weighting the particles using an angular probability density function that specifies some directions as more probable than others. Particles travelling along a corridor then get a higher weight than ones that will hit the wall soon. A map aided dead reckoning system restricts the possible movements of the user but does not provide any measurements of absolute position. If the position estimates have diverged, only the uniqueness of the path the user has travelled can make it possible to rediscover the true position. 3.3 Foot Mounted IMMU for Dead Reckoning 3.2.2 45 Radio Positioning To get a measurement of the absolute position of the user, other features like the radio environment can be used. For example the wifi coverage in a building can be used to greatly restrict the number of possible user positions if measured. Radio based positioning is an entire research area in itself and will here only be covered briefly on a more conceptual level. For more details, Bahl and Padmanabhan (2000); Li et al. (2006); Roos et al. (2002); Youssef and Agrawala (2005); Honkavirta et al. (2009) are a good start. There are two main methods of getting a position measurement from the radio environment: model-based and map-based. Model-based approaches estimates the distance to access points in known locations using radio propagation models and the measured drop in signal strength. Map based methods use a radio map that for a given position specifies which signals that should be measured and what strengths these signals should have. The actual radio signals measured by the user can then be compared to the map to get a measurement of user position. The more radio signals and the more the indoor environment makes them change, the more accurate the position estimate will be. Unfortunately, it can be hard to get a good positioning performance, since also such a simple thing as the user orientation will affect the result, Dil and Havinga (2010) Model-based approaches are cheap since the site need not be visited. Known access point locations and a map can be used to produce an approximate model. The downside is that the model is just approximate if the signals have to travel through walls. The location of the access points must also be known and so also the broadcasted signal strengths. For the map-based approaches it is the complete opposite. The environment is often mapped manually, ignoring the problems of radio propagation models and knowing the access point locations. On the other hand, the map creation part is often tedious and expensive and if the access points move, the mapping has to be remade. In Woodman and Harle (2009), wifi fingerprinting was used to initialize the user position and support the pdr/map matching positioning system. Similar approaches were taken in Seitz et al. (2010); Wang et al. (2007) with equally successful results. As long as the radio map is accurate, a highly robust position estimate is achieved. If there are multiple users and few beacons, collaborative localization can improve the positioning significantly by measuring and sharing the distances between the users, Wymeersch and J. Lien (2009); Rantakokko et al. (2011). 3.3 Foot Mounted IMMU for Dead Reckoning The pedestrian dead reckoning system mentioned above has become a very popular system and will most likely be the foundation of future commercial indoor 46 3 Indoor Positioning navigation systems. It is cheap, hard to jam, easy to operate and gives quite good positioning results. The immu mounted on the boot has three dimensional accelerometers, gyroscopes and magnetometers to measure the movements of the users. Double integrating the accelerometer measurements gives user position relative to the starting point if the gravity component can be removed correctly. Since sensor orientation is estimated using semi grade gyros, the orientation estimate will be a little bit off. This results in parts of the gravity component to be interpreted as user accelerations, resulting in an ever growing position error. By utilizing the stand still phases, i.e. detecting and exploiting when the foot is on the ground, accumulated velocity errors can be corrected. This so called zero velocity update significantly improves the position estimates, and reduces the error in distance travelled from cubic in time to linear. To have robust zero velocity updates, we need robust zero velocity detection. We have therefore derived a stand still detection system with very few false positives. The remainder of this chapter is a presentation of our probabilistic stand still detection system. The system is described in detail and its performance is evaluated for a couple of different sensor positions. This dead reckoning system is described in Paper C, so to avoid too much overlap it is not presented here. 3.3.1 Stand Still Detection A reliable stand still detection system is key to creating a good dead reckoning system. Since most detection systems in the end become a tradeoff between missed detections and false positives, for a system like this, avoiding false positives is much more important than a few missed detections. The main purpose of the stand still updates is to anchor the estimates at a regular basis, clearing the built up errors in estimated velocity. Missing one or two stand stills here and there is therefore not a big problem. A stand still detection framework can be based on two types of sensors. Either one uses special sensors just to detect that the foot is touching the ground, or one uses the immu to detect that the sensor is at rest. Theoretically, the former approach could provide safer stand still detections, but there are also some drawbacks. Often sensors designed to detect contact have some moving parts which are prone to be worn out by usage. Also, if the user is crawling, the foot is sometimes at a stand still even though the sole is not touching the ground. That means, to detect different types of standstill, multiple contact detecting sensors are needed on the boot. And finally, the fewer the sensors, the less that can go wrong. If one can detect the stand stills using the immu data itself, it is therefore better. immu based stand still detection has most often been done by comparing the accelerometer or gyro signal to a threshold. Here we put the stand still detection in a probabilistic framework using a test statistic with known distributions and an hmm. The result is an estimated probability of stand still that is consecutively 3.3 Foot Mounted IMMU for Dead Reckoning 47 calculated at every time instant. This can be used for zero velocity updates in a filtering framework. Parts of our probabilistic framework for stand still detection have previously been presented in Callmer et al. (2010b), Callmer (2011) and Rantakokko et al. (2011). A very compressed version is also given in Paper C. Related Work The most common approach to stand still detection is to use averaged accelerometer or gyro measurement and compare it to a threshold; Beauregard (2007); Feliz et al. (2009); Foxlin (2005); Ojeda and Borenstein (2007). The threshold is chosen ad hoc and is normally quite restrictive to minimize false positives. Another approach is the moving variance used in Godha et al. (2006) where the variance computed over a sliding window is compared to a threshold. One of the problems with this approach is that in order to make it work properly, the time interval the boot needs to be still is quite long. The system can therefore work quite well if the user is walking but not so much during running. Probabilistic zero velocity detection has previously been proposed in Skog (2009) and Skog et al. (2010) where a hypothesis test was used to determine if the foot was stationary or moving. The hypothesis test was performed using a test statistic based on a Generalized Likelihood Ratio Test (glrt). The test statistic had a known stand still distribution and an unknown movement distribution that was approximated as a constant. Since one of the probability density functions was constant, the glrt test boiled down to comparing a test statistic of the norm of the acceleration measurements and the angular velocity measurements, to a threshold. If the test statistic was smaller than the threshold, a stand still was declared. Since the test statistic had an unknown movement distribution, the threshold was chosen ad hoc, making the framework in practice similar to the ones in Beauregard (2007); Feliz et al. (2009); Foxlin (2005); Ojeda and Borenstein (2007). System Outline The stand still detection system is mode based and uses an hmm filter to estimate the probability of stand still and movement, respectively, Section 2.3.6. As input, the hmm uses a test statistic based on the immu signals. The test statistic is based on the latest gyro and accelerometer measurements and has a known distribution during stand still, since the sensor should then be at rest. The immu was mounted by the shoe laces to get a good tradeoff between stand still detection performance and gyro dynamic range. Test Statistics Derivation An example of a walking sequence with a shoe lace mounted immu is shown in Figure 3.1. The foot is stationary around sample 530, 650, 770, 880 and 980. During these phases the norm of the accelerometer signals is the gravitation constant with some added noise. At the same time the norm of the angular velocity signal is zero with some additive noise. These are the key 48 Angular Velocity, [rad/s] Acceleration, [m/s2] 3 Indoor Positioning Accelerometer Data 50 0 ï50 500 600 700 800 900 1000 900 1000 Gyro Data 10 0 ï10 500 600 700 800 Sample Figure 3.1: Example of accelerometer data (where x, y and z is solid blue, dashed green and dashdotted red, respectively) and gyro data (ωx , ωy and ωz is solid blue, dashed green and dashdotted red, ωi is angular rotation rate around axis i) during a walking sequence. The foot is stationary around time instances 530, 650, 770, 880 and 980. characteristics of the test statistic. Sensor Models The signal model is # " a# yak (δk ) v yk = ω + ωk yk (δk ) vk " (3.1) where yak and yω k denote the acceleration measurement vector and the angular velocity measurement vector, respectively. Further, δk denotes the model dependence on the phase of the human step sequence at time k. Naturally, the model differs significantly between when the foot is at stand still and when it is moving. The measurements are assumed to have additive independent identically distributed Gaussian noise va ∼ N (0, σa2 ) and vω ∼ N (0, σω2 ) where σω2 = σω2 I and σa2 = σa2 I and I is the 3 × 3 identity matrix. During stand still the sensor model is " a# " # " a# v yk guk = + ωk , yω 0 v k k (3.2) where uk is the unknown gravitational direction vector and g is the gravitational constant 9.81. Since the orientation of the boot changes over time, so does uk . 3.3 49 Foot Mounted IMMU for Dead Reckoning When the foot is moving the sensor model changes to " a# " # " a# yk v guk + ak = + ωk yω ω v k k k (3.3) where ak is user acceleration and ωk is user angular velocity which therefore have unknown distributions. Test Statistics We construct a test statistic by combining the acceleration and angular velocity measurements λk = kyak k2 σa2 + 2 kyω kk (3.4) σω2 where λk ∼ χ2 (6, λ) during stand still. It has a non-central chi-square distribution since yak has nonzero mean when the foot is stationary. Its non-centrality parameter λ = g 2 /σa2 and 6 is the number of degrees of freedom. Test Statistic Appearance during Walking Sequence The test statistic for the walking sequence in Figure 3.1 is plotted in log-scale in Figure 3.2. The mean of the stand still distribution is marked with a dashed line. The stand still events occurring around time instances 530, 650, 770, 880 and 980 are clearly visible. Combined Test Statistic 5 10 4 10 3 10 2 10 500 600 700 800 Sample 900 1000 Figure 3.2: Logarithmic plot of the test statistic with the mean of the stand still distribution marked with a dashed line. The foot is stationary around time instances 530, 650, 770, 880 and 980. λk has a movement distribution that is significantly larger than the stand still distribution. The stand still phases are all close to the mean of the stand still distri- 50 3 Indoor Positioning bution. Considering the significant spread between the stand still and movement distributions, detecting the stand still phases should be quite straightforward. Test Statistic Distribution Validation The test statistic stand still and movement distributions must be validated using experimental data. We need to make an approximation of the movement distribution for the hmm and also to ensure that the experimental stand still distribution is similar to the theoretical ones. The latter are plotted in Figure 3.3 where the empirical stand still distribution has been approximated using a histogram. There is a slight offset between the theoretical distribution and the empirical distribution. This is mainly related to how the data for the empirical evaluation was chosen. If the stand still data samples are chosen more conservatively, the mean of the empirical distribution will decrease. The empirical movement distribution is shown as a histogram and is plotted with its approximation, Figure 3.4. The movement distribution was approximated using two Gaussians as pm (λ) = 0.92 · N (3000, 7000) + 0.08 · N (600, 150). The histograms were created using a large amount of experimental data. Figure 3.5 show the histograms of both the stand still data and the experimental data. Clearly the two distributions are well separated. The same movement distribution can be used for other types of movement as well like running, since the differences between different movement distributions are quite small, especially in the border region close to the stand still distributions. Mode Probability Estimation To determine the probability of stand still, an hmm is used, Section 2.3.6. In this case it has two modes: stand still and movement, and it estimates the probability of being in each mode at every time instant. The mode transition probability matrix states the probability of switching modes which introduces some dynamics into the mode estimation. A lower mode transition probability requires a measurement with a higher likelihood for a mode switch to occur and vice versa. The mode transition probability matrix used in the experiment is " # 0.98 0.02 Π= 0.02 0.98 (3.5) which states that the probability of going from stand still to moving or vice versa, is 2%. During normal walking the right foot takes about one step per second which results in roughly 2 mode transitions every 100 measurements. The mode probabilities at time k are calculated using the recursion (2.67). The probability density function of movement used in the hmm, is an approximation set to resemble the empirical movement density function, Figures 3.4. 3.3 51 Foot Mounted IMMU for Dead Reckoning Pdfs of Distribution for Test Statistic during Stand Still 0.012 Theoretical Dist Empirical Dist 0.01 0.008 0.006 0.004 0.002 0 300 400 500 600 700 800 λ Figure 3.3: Theoretical stand still distribution of λ and histogram of stand still measurements of λ from experimental data. Offset is mainly due to how empirical data was chosen. For the binary mode case stand still and movement, the algorithm can be summarized as in Algorithm 4. Experimental Results The mode estimation system was evaluated on the data sequence in Figure 3.1. The resulting mode probabilities provided by the hmm are shown in Figure 3.6. The measurement noises were set as σa = 0.5 and σω = 0.08, estimated from data when the sensor was at rest. The stand still detection framework has no trouble detecting the stand still phases, Figure 3.6. The movement probability is very close to 1 during the movement phases while the stand still probability is about 0.999 when the foot is at rest. The stand still probabilities fluctuate a bit because they are quite sensitive to movements. Since a foot mounted immu is not entirely still just because the foot is touching the ground, this is entirely natural. Longer walking experiments with 318 steps reveal that all 318 stationary phases were detected with no false positives. In these experiments a winter boot with a toe mounted sensor was used. One of the big problems when evaluating indoor navigation systems is how to acquire reliable ground truth data. You can count the number of steps you take but that only works when you are just walking straight ahead and that is the least interesting case since it is the simplest. A data set consisting of hundreds of steps 52 3 4.5 Indoor Positioning −4 Histogram and Approx Distribution of T during Movement x 10 Empirical Movement Dist Approx Movement Dist 4 3.5 3 2.5 2 1.5 1 0.5 0 3 4 10 10 λ Figure 3.4: Histogram of movement measurements of λ from experimental data, and the approximated Gaussian sum that resemble it. when you open and close doors, move around furniture and such, is much more difficult to analyze afterwards to detect exactly when the foot was still. One way to evaluate stand still detection performance is to incorporate it in a positioning system. If the positioning works well, the stand still detection is at least not working poorly. Conclusions A test statistics with known stand still distribution has been evaluated for stand still detection. In conjunction with an hmm, the mode probabilities are readily calculated and can be used for zero velocity updates. The framework has been shown to safely detect stand still phases in the data. 3.3 53 Foot Mounted IMMU for Dead Reckoning 0 Histograms of Normalized Test Statistic Distribution 10 Stand Still Movement −1 10 −2 10 −3 10 −4 10 3 10 4 10 Figure 3.5: Histograms of stand still and movement data of λ from experimental data. The two different types of movements are well separated. Algorithm 3 Stand Still Detection Framework Require: Stand still distribution ps and movement distribution pm of test statistic T . Measurements ya and yω with noise parameters σa and σω . Mode transition probability matrix Π. 1: for k = 1, . . . , N do 2: Compute test statistic. kya k2 kyω k2 λk = k2 + k2 (3.6) σa σω 3: Estimate stand still and movement probabilities, µsk and µm k. Ps,k Pm,k wkm = Ps,k + Pm,k Ps,k + Pm,k Ps,k = ps (λk ) Πss µsk−1 + Πsm µm k−1 Pm,k = pm (λk ) Πms µsk−1 + Πmm µm k−1 wks = where 4: end for (3.7) 54 3 Indoor Positioning Probability of Each Mode 1.005 P(still) P(walking) P(mode) 1 0.995 0.99 500 600 700 800 Sample 900 1000 Figure 3.6: Mode probabilities from the data set in Figure 3.1. The foot is stationary around samples 530, 650, 770, 880 and 980. 3.3 Foot Mounted IMMU for Dead Reckoning 3.3.2 55 Stand Still Detection Performance for Different IMMU Positions For a localization framework with a foot mounted immu, the sensor must be mounted on the shoe. Where the immu is attached on the boot affects the performance, not only of the stand still detection but also of the positioning. For stand still detection, the sensor placement affects the length of the stand still phases since different parts of the boot are stationary during different sequences of the stance. Also, during some movements like running, the boot is stationary for a shorter time and parts like the heel are rarely stationary at all. In this segment we will study how the sensor placement affects the stand still detection performance for different movements. The first sensor position is by the heel, Figure 3.7a. In a real end user application one idea is to hide the sensor in the thick sole of the heel to protect it, Nilsson et al. (2012). Another option is to put the sensor by the toes since they are involved in almost all movements, Figure 3.7b. Intuitively, the toes should be stationary during pretty much all conceivable standing motions sequences. Since the sensors are getting smaller and smaller, the problem of hiding the sensor in the thinner sole by the toe could soon be solved. A third option is to put the sensor by the shoelaces, Figure 3.7c. This position could be common if the sensor is not integrated with the shoe, but is instead strapped onto the preexisting boot. The boot type is also important for stand still detection performance. A sturdy boot, Figure 3.7a, rolls over the ground without getting reshaped by the surface while a softer boot, Figure 3.7b, absorbes more of the contact force and alters shape. If the sensor is attached to a sturdy boot, the rolling will result in a sensor that is never really still making stand still phases very hard to detect. A softer boot makes the stand still phases easier to detect but is rarely the boot of choice for firefighters, soldiers etc. The stand still detection performance was evaluated for both boots so the results could be compared. For the experiments, the sensor was attached using duct tape, Figure 3.7. The sensor is thereby sturdily attached to the boot while it is still very easy to setup experiments. All three sensor positions were evaluated using both boots for walking and running. The main problem with evaluating even more realistic firefighter movements like crawling is that it is very difficult to obtain reliable ground truth data for such experiments. The experiment has to take place in a high precision positioning lab, for example a vicon1 lab, but not even such experiments will be completely like actual crawling around furniture and such in an apartment. Since the immu data is not really periodic, the stand still phases are not straightforward to pinpoint. The more distinct and repetitive the movement is, the easier it is to differentiate between true and false positives based on the sensor data. 1 http://www.vicon.com 56 3 (a) Sturdy hiking boot with the sensor by the heel. (b) Softer winter boot with the sensor by the toe. Indoor Positioning (c) Sturdy boot with the sensor by the shoe laces. Figure 3.7: Sensor positions and available boots for stand still detection experiments. Experimental Results A stand still has been assumed detected if the estimated stand still probability is above 90% during a true stand still. If no stand still did occur it is considered a false positive. The 90% threshold is mostly important in the running case. During a walking sequence, the stand still phases are commonly marked out with a stand still probability above 99.9%. In the running sequence the stand still phases are short making it hard to even reach 90% stand still probability. The preferable result is a combination of high stand still detection ability combined with no or very few false positives. All in all, the best sensor position for stand still detection seems to be a toe mounted sensor due to its enhanced ability to detect stand stills while running. Walking The first movement that was evaluated was walking. This is the most common movement used in localization experiments, Most likely, this is because walking is easy to perform, the data is straightforward to analyze and the stand still phases are long and therefore easy to detect. The results from the walking sessions are shown in Table 3.1. In general, all stand still phases are detected with very few false positives, no matter the boot or the sensor position. Walking sequence Robust boot, 50 steps Stand stills detected False positives Soft boot, 50 steps Stand stills detected False positives Heel 50 1 Heel 50 0 Toe 50 0 Toe 50 0 Lace 50 0 Lace 50 0 Table 3.1: Experimental results of the stand still detection performance of a walking sequence using different sensor positions on two different boots. 3.3 57 Foot Mounted IMMU for Dead Reckoning Running The second movement is running which is much more difficult. While running, the stand still phases are very short and even then the boot tends to roll quite a lot. Also, when running with sturdy boots the heel is not always even touching the ground. Table 3.2 shows the stand still detection performance during running. Clearly there are now different results for different settings. It is for once much harder to detect stand stills when a sturdy boot is used than when a soft boot is used. The sturdy boot rolls over the ground making the sensor never really still. Especially the gyro is excited in the angle around the direction pointing straight out to the side. The stand still phases are therefore pretty much non existent when a rigid hiking boot is used. The lace mounted sensors have significant problems detecting any stand stills, even when the softer winter boot is used due to this rolling effect. One way to improve the results was therefore to remove the problematic gyro dimension. In doing so, the lace mounted rigid boot was able to detect 30 out of the 41 running steps without any false positives, compared to just finding 1 before. Unfortunately, for walking this test statistic instead introduced 19 new false positives. Running sequence Robust boot, 41 steps Stand stills detected False positives Soft boot, 41 steps Stand stills detected False positives Heel 0 0 Heel 20 0 Toe 16 0 Toe 37 1 Lace 1 0 Lace 0 0 Table 3.2: Stand still performance during a running sequence using different sensor positions. Discussion The problem of reliable stand still detection using a foot mounted immu is not fully solved yet. In the end the solution will have to be application specific. We have in this section shown that both the type of boot and the position of the sensor can alter the stance detection performance greatly. These results are not final though. The heel mounted sensor for example will probably experience a different type of movements when actually mounted inside the heel. This would also be true for the toe mounted sensor when the immu becomes small enough to hide in the front sole. Even though the toe mounted sensor is the best for stand still detection, the question does not end there. Different sensor positions excite the sensors differently. The toe mounted sensor for example experiences the biggest angular velocity of the three positions, up to almost 20 rad/s compared to about 10-12 rad/s for the other positions. And this is just during regular walking. The sensor position 58 3 Indoor Positioning thereby puts a higher demand on the sensor quality, requiring that it is accurate for a very large dynamic range. 4 Discussion and Future Work This chapter ends the first part of the thesis constituted of background theory. The discussion primarily covers the publications which are the second part of the thesis. We will end with suggested directions for future work. 4.1 Discussion Some of the conclusions have been drawn under their respective sections in the publications, but some will be repeated and extended here for completeness. 4.1.1 Indoor Localization Our work in indoor localization for professional users covers the problem of positioning in small or medium sized venues of which there is no prior information available. The approach taken was to extend and improve the foot mounted immu based dead reckoning systems suggested in the literature. It is a simple yet fundamental system that should be a part of a final positioning system. The main shortcoming of such systems is the drift in position estimate. This is primarily caused by a drift in heading, not in distance traveled. The stand still detection and utilization in the filtering has significantly reduced the latter. To reduce the drift in heading, approaches like adding sensors, for example cameras, have been taken. Also extensive system calibration has been used to reduce the drift but this is not really a solution to the problem, only a postponement. Our feeling is that one can do more with just one immu. Before additional sensors were added, had the limit for positioning using only one immu really been reached? Our primary goal hence became solving the heading estimation problem. If one 59 60 4 Discussion and Future Work could have both a reliable heading estimate and movement length estimate, the final position estimate should be quite good. To do this we decided to use the sensors already available in the immu: the magnetometer and the gyro. Two heading estimation methods have been presented. The first one presented in Paper A is a Kalman filter bank based filtering method. Two modes are estimated, disturbed and undisturbed, deciding which magnetometer measurements can be used for heading estimation and which should be discarded. The final result is a filtering estimate that is significantly better than the raw magnetometer measurements in a vast majority of all experiments. The second system presented in Paper B is an optimization based approach. The estimation is done in batch form over the entire dataset producing a smoothing estimate for the heading of the complete experiment. The strength of the system is its ability to handle significant disturbances while maintaining the smoothness of the gyro integration trajectory. A weakness is the somewhat ad hoc approach and that its basic assumptions of the gyro quality is perhaps not valid for all sensors. The heading estimation approaches have been merged with a dead reckoning system. The system is based on a probabilistic stand still detection framework described in Section 3.3.1. The hmm based stand still detection produces a probability of standstill that experiments verify is very reliable. The best stand still detection ability has turned out to be achieved when the sensor is mounted near the toe. It has also been shown that a more rigid boot makes stand still detection more difficult since it has a tendency to roll over the ground. The stand still detection system cannot handle running well today, but it could probably be solved by also incorporating the step frequency that will be present in such a scenario. To include the heading estimation system in the positioning system, it is crucial that it is only used once per stand still phase. If the heading is estimated multiple times per stand still, basically the exact same measurement of magnetometer heading and system orientation will be used by the heading estimation system over and over again. This will ruin the heading estimation since magnetic disturbances become extremely hard to detect. Including the magnetic heading measurements in the stand still update is not a good approach. It can be done using for example the imm based heading estimation framework in Paper A. Unfortunately, the resulting estimated position trajectory becomes very uncertain. Since a small change in orientation will cause the position estimates to jump significantly, the position trajectory becomes very shaky. To make the trajectory smooth, all previous position estimates must be adjusted using smoothing. The approach we suggest is to use accelerometer and gyro to produce estimates of step to step movements using stand still detection and measurement integration. These estimates are then reduced to estimates in 2D, x̂0:N , ŷ0:N and heading ψ̂0:N . This vector of gyro based heading estimates are then adjusted to match a vector of magnetic heading measurements to remove the drift. These new head- 4.1 Discussion 61 ing estimates ψ̂ˆ 0:N are finally used to produce new position estimates x̂ˆ0:N , ŷˆ0:N . The experimental results show that the estimated user trajectory improves significantly when the magnetometer is included in the estimation. 4.1.2 RADAR SLAM Naval vessels today rely heavily on the gnss system. Not only is it used for positioning, but also for its exact time estimates. It is not unusual that a large number of control and decision systems are receiving information from the gnss system. That means that if gnss fails, a number of crucial systems on the ship will fail simultaneously. In controlled experiments, gnss jamming has turned out to cause complete chaos on the bridge. This makes naval vessels very vulnerable to gnss disturbances, intentional or unintentional, in critical situations. To reduce the impact of gnss outage, we have designed a positioning system that will produce accurate estimates of velocity, heading and position of the vessel throughout the outage, using only the vessel’s own radar sensor. This system is presented in Paper D. It uses the reflections from the surrounding islands and stable landmarks are tracked over time. By studying how the islands move relative to the vessel, its position can be estimated. A strength of the system is its simplicity. All commercial vessels are already equipped with a radar sensor why no new expensive equipment is needed. One weakness of the system is of course that if there are no islands available to track, no position estimate can be produced. This is unfortunate, but if one experiences gnss outage in the middle of the ocean, the situation is not as critical as if one is in an archipelago or harbor, why no backup system is really needed in the first place. So the system will only work if the vessel is surrounded by islands or a coastline, but this is also the only scenario in which it would actually be needed. 4.1.3 Underwater Sensor Positioning A passive underwater sensor localization scheme is presented in Paper E. It uses triaxial magnetometers and a friendly vessel with known magnetic characteristics to determine the sensors positions. Simulations indicate that if the vessel is equipped with gnss, a majority of all sensors can be positioned accurately. The simulations also indicate that our positioning scheme is quite insensitive to minor errors in sensor orientation and magnetic signature, when gnss is used to position the vessel throughout the trajectory. The strength of the system is that it solves a challenging positioning problem using a very cheap method. The only thing needed is a friendly vessel that travels through the area. The weakness is that it requires that the magnetic signature of the vessel is quite well known in advance. That means that a different system is needed to estimate the signature if it is not actively produced on board. There is also quite a lot of synchronization needed to ensure that all measurements can be used jointly. The measurements from all sensors and the vessel must be 62 4 Discussion and Future Work synchronized for this to work in practice. In the end quite a lot of measurement management will probably be needed in the estimation system. 4.2 Future Work The indoor positioning system described in this thesis is performing well but is quite limited. For example, it does not provide any information about the building layout to the operational management. The next step now that the dead reckoning is stable, is to incorporate more sensors in the system to produce more reliable and informative localization. A basic extension is to use multiple immus. When only one foot mounted immu is used, some motions like crawling is hard to track. While crawling, the feet have a tendency of wobbling why correctly detecting stand stills become difficult. A knee mounted immu would solve this since the knee is often stationary while crawling. The system would then switch between using the foot mounted sensor and the knee mounted sensor depending on what the data suggests the user is doing. Joint positioning is another option. If multiple users are in the building, measuring the distances between the users will restrict the overall error growth. One way of solving this would be to communicate the estimated user positions and their relative distances to each other to an outside system that use this to produce a joint estimate of all positions. Other sensors like cameras or infrared cameras can be used. Stable landmarks in the environment can be tracked from image to image, giving estimates of how the user is moving. The camera can be used with an immu to produce even more robust position estimates. If an area is revisited, camera images can be used to detect this, a so called loop closure. The position estimate can then be updated with this information. If multiple cameras equipped users are in the building together, one user can get a loop closure from another user’s images. That means that one user does not have to revisit a location for it to be a loop closure. If the images from one user can be connected to the images from a second user, their estimated positions can be connected. This could be useful in the scenario where police officers or soldiers search through a building. The trucks used to get to the scene can be equipped with transponders. These signals could be picked up by sensors worn by the user to aid positioning. Unfortunately, signal multipathing might be an issue in such a system. Such a system would probably also have deteriorating performance with building size. It might be working well in a residential house but not in a skyscraper. The underwater positioning system needs experimental validation but this requires expensive underwater sensors with cables on the sea floor and a large enough steel vessel to be used as target. Since we currently have neither sensors nor vessel, this has been put on hold. Appendix A Quaternion Properties Quaternions were discovered by Hamilton as an extension for the imaginary numbers into three dimensions, Hamilton (1844). Later, the unit quaternion started to be used for angle representation in rotations providing singularity free rotations. For a thorough description of quaternions see Kuipers (1999). A.1 Operations and Properties A quaternion is a four-tuple of real numbers denoted by q = (q0 , q1 , q2 , q3 ). Alternatively it can be described as consisting of a scalar part q0 and the vector q. q0 ! q q0 1 q = = (A.1) q2 q q3 Quaternion multiplication is denoted as and defined as ! ! ! p q p0 q0 − p · q pq= 0 0 = . p q p0 q + q0 p + p × q 65 (A.2) 66 A Quaternion Properties Some quaternions properties are: (A.3) pq,qp v u t 3 X norm(q) = qi2 (A.4) i=0 q −1 q = 0 q !−1 ! q0 = −q (A.5) The unit quaternion used for rotation operations also fulfills norm(q) = 1. A.2 Describing a Rotation using Quaternions The quaternion ! cos δ q= sin δn (A.6) describes a rotation around the vector n with the angle 2δ. There are two ways of depicting a rotation: either the coordinate frame is rotated and the vector is fixed or the vector is rotated and the coordinate frame is fixed. The difference is in the sign of the rotation. In this work the vector will be assumed constant and the coordinate system is rotated. A rotation of a vector v around n can be written as u = q−1 v q (A.7) where v= 0 v ! and u= ! 0 . u (A.8) This is the assumed standard rotation in this work. The resulting rotation is ! q · uq0 − (q0 u − q × u) · q (A.9) v= (q · u)q + q0 (q0 u − q × u) + (q0 u − q × u) × q which simplifies to ! 0 v= . 2(q · u)q + (q02 − q · q)u − 2q0 q × u A.3 (A.10) Rotation Matrix The quaternion rotation (A.10) can be rewritten as a matrix multiplication v = R(q)u (A.11) A.4 67 Quaternion Dynamics where 2 q0 + q12 − q22 − q32 R(q) = 2(q1 q2 − q0 q3 ) 2(q1 q3 + q0 q2 ) 2(q1 q2 + q0 q3 ) q02 − q12 + q22 − q32 2(q2 q3 − q0 q1 ) 2(q1 q3 − q0 q2 ) 2(q2 q3 + q0 q1 ) . 2 2 2 2 q0 − q1 − q2 + q3 (A.12) See Kuipers (1999) for details. A.4 Quaternion Dynamics In the case of the quaternions describing a rotation between a global coordinate system and a local one attached to a moving sensor, the description of the quaternions will contain some dynamics. The full derivation of the quaternion dynamics can be studied in Kuipers (1999) but parts will be recited here. Let the quaternion qlg represent the rotation of the local coordinate system in the global one. The angular velocity of the sensor unit in the local coordinate system l is ωlg which can be written as l ωlg 0 ! ω 0 x = = ωy ω ωz (A.13) qlg q0 ! q q0 1 = = . q2 q q3 (A.14) while qlg is The quaternion derivative can now be written as ! 1 1 −q · ω l = q̇lg = qlg ωlg 2 2 q0 ω + q × ω −(q1 ωx + q2 ωy + q3 ωz ) 1 −ωz ωy q1 0 = 0 −ωx q2 2 q0 ω − ωz −ω ωx 0 q3 y 0 −ωx −ωy −ωz q0 −q1 1 ωx 0 ωz −ωy q1 1 q0 = = 0 ωx q2 2 q3 2 ωy −ωz q3 −q2 ωz ωy −ωx 0 | | {z } l ) S(ωlg −q2 −q3 q0 q1 {z S 0 (qlg ) −q3 ω q2 x ωy −q1 ωz q0 } 68 A Quaternion Properties If the angular velocity ωk is assumed constant over the sampling interval the noise free discrete time model is 1 qk+1 = e 2 S(ωk )T qk (A.15) where a Taylor series expansion gives e 1 2 S(ωk )T = = ∞ X n=0 ∞ X n=0 n 1 2 S(ωk )T n! T 2 n 1 S(ωk )n . n! (A.16) If the sampling time T is short, the expansion can be approximated with the first two terms 1 T e 2 S(ωk )T ≈ I + S(ωk ) (A.17) 2 giving the discrete time model T S(ωk )qk 2 T = qk + S 0 (qk )ωk . 2 qk+1 = qk + (A.18) If the angular velocity noise term νω is included the discrete model becomes qk+1 = qk + T T 0 S (qk )ωk + S 0 (qk )νω,k . 2 2 (A.19) Bibliography K. Abdulrahim, C. Hide, T. Moore, and C. Hill. Aiding low cost inertial navigation with building heading for pedestrian navigation. Journal of Navigation, 64: 219–4233, 2011. P. Aggarwal, D. Thomas, L. Ojeda, and J. Borenstein. Map matching and heuristic elimination of gyro drift for personal navigation systems in GPS-denied conditions. Measurement Science and Technology, 22(2):025205, 2011. M. Angermann and P. Robertson. FootSLAM: Pedestrian simultaneous localization and mapping without extroceptive sensors – hitchiking on human perception and cognition. Proceedings of the IEEE, 100(13):1840–1848, 2012. P. Bahl and V.N Padmanabhan. RADAR: an in-building rf-based user location and tracking system. In Proceedings of the Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies INFOCOM, 2000. T. Bailey and H. Durrant-Whyte. Simultaneous localization and mapping (SLAM): part II. Robotics & Automation Magazine, IEEE, 13(3):108 – 117, 2006. Y. Bar-Shalom, X. R. Li, and T. Kirubarajan. Estimation with Applications to Tracking and Navigation. Wiley, New York, 2001. S. Beauregard. Omnidirectional pedestrian navigation for first responders. In Proc. of the 4th Workshop on Positioning, Navigation and Communication, WPNC07, Hannover, Germany, 2007. S. Beauregard, Widyawan, and M. Klepal. Indoor PDR performance enhancement using minimal map information and particle filters. In IEEE/ION Position, Location and Navigation Symposium, 2008. Ö. Bebek, M.A. Suster, S. Rajgopal, M.J. Fu, X. Huang, M.C. Çavuşoğlu, D.J. Young, M. Mehregany, A.J. van den Bogert, and C.H. Mastrangelo. Personal navigation via high-resulution gait-corrected inertial measurement units. IEEE Transactions on Instrumentation and Measurement, 59(11):3018–3027, 2010. J. Borenstein and L. Ojeda. Heuristic drift elimination for personnel tracking systems. Journal of Navigation, 63(3):591 – 606, 2010. 69 70 Bibliography J. Callmer. Topics in localization and mapping. Linköping University, Sweden, 2011. Licentiate Thesis No 1489. J. Callmer, K. Granström, J. Nieto, and F. Ramos. Tree of words for visual loop closure detection in urban SLAM. In Proceedings of the 2008 Australasian Conference on Robotics and Automation (ACRA), 2008. J. Callmer, M. Skoglund, and F. Gustafsson. Silent localization of underwater sensors using magnetometers. EURASIP Journal on Advances in Signal Processing, 2010a. J. Callmer, D. Törnqvist, and F. Gustafsson. Probabilistic stand still detection using foot mounted IMU. In Proceedings of the International Conference on Information Fusion (FUSION), 2010b. J. Callmer, D. Törnqvist, H. Svensson, P. Carlbom, and F. Gustafsson. Radar SLAM using visual features. EURASIP Journal on Advances in Signal Processing, 2011. J. Callmer, D. Törnqvist, and F. Gustafsson. Robust heading estimation indoors. IEEE Transactions on Signal Processing, 2013a. Submitted. J. Callmer, D. Törnqvist, and F. Gustafsson. Robust heading estimation indoors using convex optimization. In International Conference on Information Fusion, 2013b. Submitted. J. Callmer, D. Törnqvist, and F. Gustafsson. An inertial navigation framework for indoor positioning with robust heading. IEEE Transactions on Instrumentation and Measurement, 2013c. Submitted. B.J. Dil and P.J.M. Havinga. RSS-based localization with different antenna orientations. In Australasian Telecommunication Networks and Applications Conference, 2010. H. Durrant-Whyte and T. Bailey. Simultaneous localization and mapping (SLAM): part I. Robotics & Automation Magazine, IEEE, 13(2):99 – 110, 2006. The Economist. No jam tomorrow. The Economist Technology Quarterly, 398 (8724):20–21, 2011. The Economist. Finding the way inside. The Economist Technology Quarterly Q4, 2012. E. Erkstam and E. Tjernqvist. Performance enhancement of bearing navigation to known radio beacons. Master’s thesis, Linköping University, 2012. R. Feliz, E. Zalama, and J. G. Garcia-Bermejo. Pedestrian tracking using inertial sensors. Journal of Physical Agents, 3(1):35–43, 2009. E. Foxlin. Pedestrian tracking with shoe-mounted inertial sensors. IEEE Computer Graphics and Applications, 25(6):38–46, 2005. Bibliography 71 S. Godha, G. Lachapelle, and M. E. Cannon. Integrated GPS/INS system for pedestrian navigation in signal degraded environment. In Proc. of ION GNSS, 2006. K. Granström, J. Callmer, F. Ramos, and J. Nieto. Learning to detect loop closure from range data. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2009. A. Grant, P. Williams, N. Ward, and S. Basker. GPS jamming and the impact on maritime navigation. Journal of Navigation, 62(2):173–187, 2009. S. Grzonka, F. Dijoux, A. Karwath, and W. Burgard. Mapping indoor environments based on human activity. In Proc. IEEE International Conference on Robotics and Automation (ICRA), Anchorage, Alaska, 2010. Y. Gu, A. Lo, and I. Niemegeers. A survey of indoor positioning systems for wireless personal networks. IEEE COMMUNICATIONS SURVEYS and TUTORIALS, 11(1):13–32, 2009. F. Gustafsson. Statistical Sensor Fusion. Studentlitteratur, 2010. S.W.R. Hamilton. On quaternions; or on a new system of imaginaries in algebra. Philosophical Magazine, xxv:10–13, 1844. G. Hanning, N. Forslöw, P.-E. Forssén, E. Ringaby, D. Törnqvist, and J. Callmer. Stabilizing cell phone video using inertial measurement sensors. In In Proceedings of the IEEE International Workshop on Mobile Vision (IWMV11), 2011. V. Honkavirta, T. Perala, S. Ali-Loytty, and R. Piché. A comparative survey of WLAN location fingerprinting methods. In Workshop on Positioning, Navigation and Communication (WPNC 2009), 2009. A.H. Jazwinski. Stochastic Processes and Filtering Theory. Academic Press, 1970. A.R. Jiménez, F. Seco, J.C. Prieto, and J. Guevara. Indoor pedestrian navigation using an ins/ekf framework for yaw drift reduction and a foot-mounted imu. In Positioning Navigation and Communication (WPNC), 2010 7th Workshop on, pages 135 –143, march 2010a. A.R. Jiménez, F. Seco, J.C. Prieto, and J. Guevara. Indoor pedestrian navigation using an ins/ekf framework for yaw drift reduction and a foot-mounted imu. In 7th Workshop on Positioning, Navigation and Communication, WPNC, 2010b. S. Kaisera, M. Khidera, and P. Robertson. A pedestrian navigation system using a map-based angular motion model for indoor and outdoor environments. Journal of Location Based Services, 7(1), 2013. R.E. Kalman. A new approach to linear filtering and prediction problems. Trans. ASME J Basic Engr., 82:35–45, 1960. B. Krach and P. Robertson. Cascaded estimation architecture for integration of foot-mounted inertial sensors. In Proc of the IEEE/ION Position, Location and Navigation Symposium, 2008. 72 Bibliography J.B. Kuipers. Quaternions and Rotation Sequences. Princeton University Press, 1999. B. Li, J. Salter, A.G. Dempster, and C. Rizos. Indoor positioning techniques based on wireless LAN. Technical report, School of Surveying and Spatial Information Systems, UNSW, Sydney, Australia, 2006. F. Lindsten, J. Callmer, H. Ohlsson, D. Törnqvist, T. B. Schön, and F. Gustafsson. Geo-referencing for UAV navigation using environmental classification. In Proceedings of 2010 International Conference on Robotics and Automation (ICRA), 2010. C. Lundquist, P. Skoglar, F. Gustafsson, D. Törnqvist, and J. Callmer. Method and device for indoor positioning. US Patent Application 20120203453, August 8, 2012. K. Muthukrishnan, M.E. Lijding, and P.J.M. Havinga. Towards smart surroundings: Enabling techniques and technologies for localization. In Proceedings of the International Workshop on Location-and Context-Awareness, 2005. J.-O. Nilsson, I. Skog, P. Händel, and K. Hari. Foot-mounted INS for everybody an open-source embedded implementation. In Position Location and Navigation Symposium (PLANS), 2012 IEEE/ION, pages 140–145, 2012. L. Ojeda and J. Borenstein. Non-GPS navigation for security personnel and first responders. Journal of Navigation, 60(3):391–407, 2007. J. Rantakokko, J. Rydell, P. Strömbäck, P. Händel, J. Callmer, D. Törnqvist, F. Gustafsson, M. Jobs, and M. Grudén. Accurate and reliable soldier and first responder indoor positioning: multisensor systems and cooperative localization. Wireless Communications, IEEE, 18(2):10–18, 2011. V. Renaudin, O. Yalak, P. Tomé, and B. Merminod. Indoor navigation of emergency agents. European Journal of Navigation, 5(3), 2007. P. Robertson, M. Angermann, and B. Krach. Simultaneous localization and mapping for pedestrians using only foot-mounted inertial sensors. In Proceedings of the 11th international conference on Ubiquitous computing, Ubicomp ’09, pages 93–96, 2009. T. Roos, P. Myllymäki, H. Tirri, P. Misikangas, and J. Sievänen. A probabilistic approach to WLAN user location estimation. International Journal of Wireless Information Networks, 9(3), 2002. J. Rydell and T. Andersson. Camera-based navigation, mapping and 3d model generation for indoor environments. In Proceedings of the 2010 International Technical Meeting of The Institute of Navigation, 2010. J. Seitz, T. Vaupel, J. Jahn, S. Meyer, J.G. Boronat, and J. Thielecke. A hidden markov model for urban navigation based on fingerprinting and pedestrian dead reckoning. In Proceedings of the International Conference on Information Fusion (FUSION), 2010. Bibliography 73 I. Skog. Low-cost Navigation Systems. PhD thesis, KTH, Stockholm, Sweden, 2009. I. Skog, P. Händel, J.-O. Nilsson, and J. Rantakokko. Zero-velocity detection – an algorithm evaluation. IEEE Transactions on Biomedical Engineering, 57, 2010. N. Wahlström, J. Callmer, and F. Gustafsson. Magnetometers for tracking metallic targets. In Proceedings of the International Conference on Information Fusion (FUSION), 2010. N. Wahlström, J. Callmer, and F. Gustafsson. Single target tracking using vector magnetometers. In Proceedings of the International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2011. H. Wang, H. Lenz, A. Szabo, J. Bamberger, and U.D. Hanebeck. WLAN-based pedestrian tracking using particle filters and low-cost MEMS sensors. In 4th workshop in positioning, navigation and communication (WPNC), 2007. Widyawan, M. Klepal, and D. Pesch. A bayesian approach for RF-based indoor localisation. In 4th International Symposium on Wireless Communication Systems ISWCS, 2007. Widyawan, M. Klepal, and S. Beauregard. A backtracking particle filter for fusing building plans with PDR displacement estimates. In Positioning, Navigation and Communication, 2008. WPNC 2008. 5th Workshop on, pages 207 –212, march 2008. O. Woodman and R. Harle. Pedestrian localisation for indoor environments. In Proceedings of the 10th international conference on Ubiquitous computing (UbiComp), 2008. O. Woodman and R. Harle. Rf-based initialisation for inertial pedestrian tracking. In Proceedings of the 7th International Conference on Pervasive Computing, 2009. H. Wymeersch and M.Z. Win J. Lien. Cooperative localization in wireless networks. Proceedings of the IEEE, 97(2):427–450, 2009. M. Youssef and A. Agrawala. The horus WLAN location determination system. In Proceedings of the 3rd international conference on Mobile systems, applications and services (MobiSys), 2005. D. Zachariah and M. Jansson. Fusing visual tags and inertial information for indoor navigation. In IEEE/ION Position Location and Navigation Symposium (PLANS), 2012. PhD Dissertations Division of Automatic Control Linköping University M. Millnert: Identification and control of systems subject to abrupt changes. Thesis No. 82, 1982. ISBN 91-7372-542-0. A. J. M. van Overbeek: On-line structure selection for the identification of multivariable systems. Thesis No. 86, 1982. ISBN 91-7372-586-2. B. Bengtsson: On some control problems for queues. Thesis No. 87, 1982. ISBN 91-7372593-5. S. Ljung: Fast algorithms for integral equations and least squares identification problems. Thesis No. 93, 1983. ISBN 91-7372-641-9. H. Jonson: A Newton method for solving non-linear optimal control problems with general constraints. Thesis No. 104, 1983. ISBN 91-7372-718-0. E. Trulsson: Adaptive control based on explicit criterion minimization. Thesis No. 106, 1983. ISBN 91-7372-728-8. K. Nordström: Uncertainty, robustness and sensitivity reduction in the design of single input control systems. Thesis No. 162, 1987. ISBN 91-7870-170-8. B. Wahlberg: On the identification and approximation of linear systems. Thesis No. 163, 1987. ISBN 91-7870-175-9. S. Gunnarsson: Frequency domain aspects of modeling and control in adaptive systems. Thesis No. 194, 1988. ISBN 91-7870-380-8. A. Isaksson: On system identification in one and two dimensions with signal processing applications. Thesis No. 196, 1988. ISBN 91-7870-383-2. M. Viberg: Subspace fitting concepts in sensor array processing. Thesis No. 217, 1989. ISBN 91-7870-529-0. K. Forsman: Constructive commutative algebra in nonlinear control theory. Thesis No. 261, 1991. ISBN 91-7870-827-3. F. Gustafsson: Estimation of discrete parameters in linear systems. Thesis No. 271, 1992. ISBN 91-7870-876-1. P. Nagy: Tools for knowledge-based signal processing with applications to system identification. Thesis No. 280, 1992. ISBN 91-7870-962-8. T. Svensson: Mathematical tools and software for analysis and design of nonlinear control systems. Thesis No. 285, 1992. ISBN 91-7870-989-X. S. Andersson: On dimension reduction in sensor array signal processing. Thesis No. 290, 1992. ISBN 91-7871-015-4. H. Hjalmarsson: Aspects on incomplete modeling in system identification. Thesis No. 298, 1993. ISBN 91-7871-070-7. I. Klein: Automatic synthesis of sequential control schemes. Thesis No. 305, 1993. ISBN 91-7871-090-1. J.-E. Strömberg: A mode switching modelling philosophy. Thesis No. 353, 1994. ISBN 917871-430-3. K. Wang Chen: Transformation and symbolic calculations in filtering and control. Thesis No. 361, 1994. ISBN 91-7871-467-2. T. McKelvey: Identification of state-space models from time and frequency data. Thesis No. 380, 1995. ISBN 91-7871-531-8. J. Sjöberg: Non-linear system identification with neural networks. Thesis No. 381, 1995. ISBN 91-7871-534-2. R. Germundsson: Symbolic systems – theory, computation and applications. Thesis No. 389, 1995. ISBN 91-7871-578-4. P. Pucar: Modeling and segmentation using multiple models. Thesis No. 405, 1995. ISBN 91-7871-627-6. H. Fortell: Algebraic approaches to normal forms and zero dynamics. Thesis No. 407, 1995. ISBN 91-7871-629-2. A. Helmersson: Methods for robust gain scheduling. Thesis No. 406, 1995. ISBN 91-7871628-4. P. Lindskog: Methods, algorithms and tools for system identification based on prior knowledge. Thesis No. 436, 1996. ISBN 91-7871-424-8. J. Gunnarsson: Symbolic methods and tools for discrete event dynamic systems. Thesis No. 477, 1997. ISBN 91-7871-917-8. M. Jirstrand: Constructive methods for inequality constraints in control. Thesis No. 527, 1998. ISBN 91-7219-187-2. U. Forssell: Closed-loop identification: Methods, theory, and applications. Thesis No. 566, 1999. ISBN 91-7219-432-4. A. Stenman: Model on demand: Algorithms, analysis and applications. Thesis No. 571, 1999. ISBN 91-7219-450-2. N. Bergman: Recursive Bayesian estimation: Navigation and tracking applications. Thesis No. 579, 1999. ISBN 91-7219-473-1. K. Edström: Switched bond graphs: Simulation and analysis. Thesis No. 586, 1999. ISBN 91-7219-493-6. M. Larsson: Behavioral and structural model based approaches to discrete diagnosis. Thesis No. 608, 1999. ISBN 91-7219-615-5. F. Gunnarsson: Power control in cellular radio systems: Analysis, design and estimation. Thesis No. 623, 2000. ISBN 91-7219-689-0. V. Einarsson: Model checking methods for mode switching systems. Thesis No. 652, 2000. ISBN 91-7219-836-2. M. Norrlöf: Iterative learning control: Analysis, design, and experiments. Thesis No. 653, 2000. ISBN 91-7219-837-0. F. Tjärnström: Variance expressions and model reduction in system identification. Thesis No. 730, 2002. ISBN 91-7373-253-2. J. Löfberg: Minimax approaches to robust model predictive control. Thesis No. 812, 2003. ISBN 91-7373-622-8. J. Roll: Local and piecewise affine approaches to system identification. Thesis No. 802, 2003. ISBN 91-7373-608-2. J. Elbornsson: Analysis, estimation and compensation of mismatch effects in A/D converters. Thesis No. 811, 2003. ISBN 91-7373-621-X. O. Härkegård: Backstepping and control allocation with applications to flight control. Thesis No. 820, 2003. ISBN 91-7373-647-3. R. Wallin: Optimization algorithms for system analysis and identification. Thesis No. 919, 2004. ISBN 91-85297-19-4. D. Lindgren: Projection methods for classification and identification. Thesis No. 915, 2005. ISBN 91-85297-06-2. R. Karlsson: Particle Filtering for Positioning and Tracking Applications. Thesis No. 924, 2005. ISBN 91-85297-34-8. J. Jansson: Collision Avoidance Theory with Applications to Automotive Collision Mitigation. Thesis No. 950, 2005. ISBN 91-85299-45-6. E. Geijer Lundin: Uplink Load in CDMA Cellular Radio Systems. Thesis No. 977, 2005. ISBN 91-85457-49-3. M. Enqvist: Linear Models of Nonlinear Systems. Thesis No. 985, 2005. ISBN 91-8545764-7. T. B. Schön: Estimation of Nonlinear Dynamic Systems — Theory and Applications. Thesis No. 998, 2006. ISBN 91-85497-03-7. I. Lind: Regressor and Structure Selection — Uses of ANOVA in System Identification. Thesis No. 1012, 2006. ISBN 91-85523-98-4. J. Gillberg: Frequency Domain Identification of Continuous-Time Systems Reconstruction and Robustness. Thesis No. 1031, 2006. ISBN 91-85523-34-8. M. Gerdin: Identification and Estimation for Models Described by Differential-Algebraic Equations. Thesis No. 1046, 2006. ISBN 91-85643-87-4. C. Grönwall: Ground Object Recognition using Laser Radar Data – Geometric Fitting, Performance Analysis, and Applications. Thesis No. 1055, 2006. ISBN 91-85643-53-X. A. Eidehall: Tracking and threat assessment for automotive collision avoidance. Thesis No. 1066, 2007. ISBN 91-85643-10-6. F. Eng: Non-Uniform Sampling in Statistical Signal Processing. Thesis No. 1082, 2007. ISBN 978-91-85715-49-7. E. Wernholt: Multivariable Frequency-Domain Identification of Industrial Robots. Thesis No. 1138, 2007. ISBN 978-91-85895-72-4. D. Axehill: Integer Quadratic Programming for Control and Communication. Thesis No. 1158, 2008. ISBN 978-91-85523-03-0. G. Hendeby: Performance and Implementation Aspects of Nonlinear Filtering. Thesis No. 1161, 2008. ISBN 978-91-7393-979-9. J. Sjöberg: Optimal Control and Model Reduction of Nonlinear DAE Models. Thesis No. 1166, 2008. ISBN 978-91-7393-964-5. D. Törnqvist: Estimation and Detection with Applications to Navigation. Thesis No. 1216, 2008. ISBN 978-91-7393-785-6. P-J. Nordlund: Efficient Estimation and Detection Methods for Airborne Applications. Thesis No. 1231, 2008. ISBN 978-91-7393-720-7. H. Tidefelt: Differential-algebraic equations and matrix-valued singular perturbation. Thesis No. 1292, 2009. ISBN 978-91-7393-479-4. H. Ohlsson: Regularization for Sparseness and Smoothness — Applications in System Identification and Signal Processing. Thesis No. 1351, 2010. ISBN 978-91-7393-287-5. S. Moberg: Modeling and Control of Flexible Manipulators. Thesis No. 1349, 2010. ISBN 978-91-7393-289-9. J. Wallén: Estimation-based iterative learning control. Thesis No. 1358, 2011. ISBN 97891-7393-255-4. J. Hol: Sensor Fusion and Calibration of Inertial Sensors, Vision, Ultra-Wideband and GPS. Thesis No. 1368, 2011. ISBN 978-91-7393-197-7. D. Ankelhed: On the Design of Low Order H-infinity Controllers. Thesis No. 1371, 2011. ISBN 978-91-7393-157-1. C. Lundquist: Sensor Fusion for Automotive Applications. Thesis No. 1409, 2011. ISBN 978-91-7393-023-9. P. Skoglar: Tracking and Planning for Surveillance Applications. Thesis No. 1432, 2012. ISBN 978-91-7519-941-2. K. Granström: Extended target tracking using PHD filters. Thesis No. 1476, 2012. ISBN 978-91-7519-796-8. C. Lyzell: Structural Reformulations in System Identification. Thesis No. 1475, 2012. ISBN 978-91-7519-800-2.

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising