Elde taşınabilir bir gömülü sistem üzerinde kapalı alan konum tahmin yöntemlerinin gerçeklenmesi ve karşılaştırılması
Implementation and comparison of indoor location estimation methods on a handheld embedded system
Yazar: OZAN VAHİT ALTINPINAR
Danışman: PROF. DR. MÜŞTAK ERHAN YALÇIN
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Mekatronik Mühendisliği Ana Bilim Dalı / Mekatronik Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2017
Konu: Mekatronik Mühendisliği = Mechatronics Engineering

Özet:
Günümüzde küresel konum belirleme sistemleri (GNSS) kişi veya araçların konumunu çok yüksek doğrulukta tahmin edebilmektedir. Ancak bazı çevre koşullarının yarattığı problemlerden dolayı uydu sinyallerinin tam alınamaması veya tamamen kesilmesi gibi durumlarla karşılaşılmaktadır. Karşılaşılan bu problemleri çözmek için son zamanlarda kişisel navigasyon sistemleri (PNS) üzerine çalışmalar artmıştır. Kişisel navigasyon sistemleri, uzun mesafelerde konum hatalarının birikimli olarak artmasından dolayı  GNSS gibi çok yüksek doğrulukta konum tahmini yapamadığı için ancak bu tür sistemler tamamlayıcı sistem olarak kullanılabilir. 
Kişisel konum tahmin araçları,  dünyanın coğrafi özelliklerine ve  koordinat sistemine bağlı kalmadan kendi üzerindeki algılayıcı biriminden topladığı veriler ile konum tahmini yapmaktadır. Bu algılayıcılar atalet ölçüm birimi (IMU) adı altında toplanmıştır ve genelde 3-eksen ivme ölçer, 3-eksen dönü ölçer ve 3-eksen manyetometreden oluşmaktadır. Mikro-elektro-mekanik-sistem (MEMS) teknolojisinin  gelişmesiyle birlikte bu algılayıcılar mikrometre boyutlarına kadar küçültülmüş ve elektronik devreler ile entegrasyonu kolaylaşmıştır. Boyutlarının bu kadar küçük olmasıyla güç tüketimleri çok asgari düzeye çekilmiş ve maliyeti de azalmıştır. Bu çok önemli avantajların yanında birtakım dezavantajlar da bulunmaktadır. Bunlardan en önemlisi algılayıcının küçülmesiyle beraber ölçüm hatalarının ve elektriksel gürültülerinin de artmasıdır.
Bu çalışmada hem günlük yaşamda kullanılması kolay hem de  algılayıcıların hatalı ölçümlerini ve elektriksel gürültülerini giderecek ve mümkün olduğunca doğru konum tahmini yapacak bir cihaz tasarlanması amaçlanmıştır. Bununla ilgili araştırmalar incelendiğinde vücudun farklı bölgelerine konumlandırılmış kişisel konum tahmin cihazlarının yapıldığı görülmüştür. Bunlar içinde en uygun olanlarından biri de elde taşınabilir cihazlardır. Bu çalışmada elde taşınabilen bir cihaz yapılmış ve karşılaşılan sorunları çözmek için çeşitli algoritmalar önerilmiştir. 
Öncelikle yönelim tahmini için Madgwick Algoritması kullanılmış ve bu algoritmayla hesaplanan yönelim sonuçları verilmiştir. Diğer bölümde, yürüme esnasında yönelim açısı üzerinde mekanik ve elektriksel gürültülerin Kalman ve Butterworth filtresiyle giderilmeye çalışılması anlatılmış, gene yürüme esnasında el sapmalarından dolayı meydana gelen hataları gidermek için de bir algoritma önerilmiştir. Son olarak adım tespiti için  literatürde kullanılan iki filtre karşılaştırılmış ve bunlardan en iyisi seçilmiş, adım uzunluğu tahmini içinse farklı adım hızlarında bile güzel tahminler yapabilen uyarlamalı adım uzunluğu tahmin algoritması kullanılmıştır. Tüm bu algoritmalar birleştirilerek konum tahmini yapılmıştır.

Konum tahmini için üç farklı deney parkurunda üç farklı algoritma denenmiş ve sonuçlar karşılaştırılmıştır. Önce sadece Madgwick Algoritması kullanılmış, sonra Madgwick+Koşullu Yönelim Algoritması kullanılmış son olarak da Madgwick+Kalman+Koşullu Yönelim Algoritması kullanılmıştır. En iyi yöntemin Madgwick+Kalman+Koşullu Yönelim algoritması olduğu görülmüş ve tasarlanan cihazda bu algoritma kullanılmıştır.
Üç farklı parkurda kullanılan bu algoritmanın performansı ise dikdörtgen parkurda %1.94 mesafe hatası ve % 0.364 konum sapması, labirent parkurda % 0.42 mesafe hatası ve % 0.34 konum sapması ve son olarak 45°'lik zikzak parkurda % 0.331 mesafe hatası ile % 2.017 konum sapması şeklinde gözlemlenmiştir.

Abstract:
Nowadays, Global Navigation Satellite Systems, which is called GNSS, has estimated the location of the person or vehicle with high accuracy. However, not exactly receiving of satallite signals or interruption of them has been observerd due to some disturbances. The studies about Personal Navigation Systems, which is called PNS, has recently been increasing to overcome these problems. Since the error of positioning increases cumulatively, PNS can not make accurately dead reckoninig whereas GNSS can do. Therefore, PNS can be used as complementary system.
PNS devices can perform the estimation of the position of an object via detecting unit gathering data without depennding on geographical features and coordinate system of the world. This detecting unit is an electronic device and called Inertial Measurement Unit (IMU) consisting of  three axis accelerometer, three axis gyroscope and three axis magnetometer. The integration of the electronic devices whose the sizes are reduced in micrometer into detecting device has been facilitated thanks to development of the technology of the micro electro mechanical sensor, which is called MEMS. Power consumption and cost of them decreases due to very small size of detecting unit. However, there are some disadvanteges. Measurement errors and electrical noise due to small size are the most disadvanteges.
In this study, a device that can perform the position of an object as accurate as possible, overcome measurement errors and electircal noise of them, be easy to use in daily life and  was designed. Different types of personal position estimating devices that can be placed on different location of human body are observed when researching recent studies about it. The most suitable and useful device among them is the one that can be handheld. Therefore, handheld devices are produced and various algorthims are used to solve the issues. 
Firstly, estimation of orientation was performed. There are Extended Kalman Filter, Linear Kalman Filter, Particle Filter and Madgwick Algorithm among algorithms estimating orientation in literature. In this study, it is proved that Madgwick Algorithm is better than Kalman Filters and Madgwick Algorithm was used. The estimation of orientation was performed by using quaternion after collecting data from 3 axis gyroscope, accelerometer and magnetometer. Secondly, it was explained how to mechanical and electrical noises on orientation angle during walking can be eliminated by using Kalman and Butterworth Filter.In this section, Kalman Filter and Butterworth filter were compared and it was showed that Kalman Filter was better than Butterworth filter because Kalman Filter could both estimate the next state vecor and filter the noises with noise variance. In addition to this section, an algorithm was proposed to prevent the error due to the hand deviation during walking.
 This algorithm is thought for labyrinth or corridor tracks. It is aimed that if the deviation angle is less than 5°, it will be round off the closest predefined eight special angles  which are 0°, 45°, 90°, 135°, 180°, 225°, 270° and 315°. Finally, step detection and step length estimation algorithms were implemented. Several methods were proposed for step detection and an algorithm which detects the step by determining the maximum, minimum and zero points of 3 axis acceleration norm was used. Two filtersfrom literature, used for filtering the noises loaded on acceleration norm, were compared and best one was chosen. These filters are  eight-step moving average filter and fourth-order low pass Butterworth filter with 2.5 Hz cut- off frequency.
The next section is step length estimation after step detection. The most widely used method for step length estimation is the method proposed by Weinberg.In this method, since the step length coefficient is constant, it gives wrong results when walking in different step speeds. Adaptive step length estimation algorithms are studied in order to estimate step lengths at high accuracy in different step speeds and step lengths. Ho et al. also proposed a method of adaptively calculating the step length coefficient for handheld devices. In our work, this method was  used to estimate the step length.
A system was designed to implement the indoor location algorithms which were used in our work. This system consists of two units.The first one is the receiver unit and the other is the transmitter unit. The receiver unit provides the location mapping by sending the data to the laptop. This unit consists of an Arduino Uno card and a NRF24L01 2.4 GHz transreceiver.The data received by the receiving unit is sent to the laptop with serial communication at 115200        kb/s baud rate. The transmitting unit is the handheld device itself.This device sends the positioning data to the receiver after performing position estimation using the raw acceleration, angular velocity and magnetic field data from the intelligent IMU sensor. An intelligent LCDto display information , an intelligent IMU sensor, a NRF24L01 2.4 GHz transreceiver, and an Arduino Due card are on the transmitter unit. These raw datas from IMU sensor were processed with indoor location algorithms , the results are displayed on the LCD and they are sent to the receiver unit by Arduino Due, which has 32 bit Arm Cortex-M3 processor.
After the system was designed, three different algorithms were tested at three different test fields and results were compared. Firstly, Madgwick Algorithm was used. Secondly, Madgwick+Conditional Orientation Algorithm was used. Lastly, Madgwick+Kalman+Conditional Orientation Algorithm was used. It was observed that best method is the algorithm combined with Madgwick, Kalman and Conditional Orientation algorithms. 
The performances of the algorithm combined with Madgwick, Kalman and Conditional Orientation algorithms used in three different test filed are %1.94 of distance error and % 0.364 of position deviation in rectengular test field, % 0.42 of distance error and % 0.34 of position deviation in labyrinthian test filed, % 0.331 distance error and % 2.017 position deviation in 45° inclined zig-zag test field.
Recommendations that can be given from this work are that the preferred handheld position estimation devices due to the ease of use are more suitable if not used at the  trajectories whose rotation angle is continuously changing. These trajectories cause the error accumulation. 
In addition, since the Kalman Filter runs slowly on the designed system, it must be designed specifically for applications where the orientation estimation needs to be calculated very quickly. Lastly, The hand should be released so that the handheld device can accelerate freely.