Please use this identifier to cite or link to this item: http://hdl.handle.net/11527/15497
Title: Indoor Self Localization For Mobile Robots In 2d Environment
Other Titles: İç Ortamlarda 2 Boyutlu Mobil Robot Lokalizasyonu
Authors: Temeltaş, Hakan
Erdoğan, Hatice
10064172
Kontrol ve Otomasyon Mühendisliği
Control and Otomation Engineering
Keywords: Lazer Sensör
Lokalizasyon
Laser Sensor
Localization
Issue Date: 4-Feb-2015
Publisher: Fen Bilimleri Enstitüsü
Institute of Science and Technology
Abstract: Yön bulmayı başarılı bir şekilde gerçekleştirmek için bir objenin yerini belirleme (lokalizasyonu) önemli bir konudur. Bu tez çalışmasında lolalizasyon konusu mobil robotlar üzerinden ele alınmıştır. İç ortamlarda mobil robotlar için 2 boyutlu lokalizayon bilgisinin elde edilmesi çalışmaları gerçekleştirilmiştir. Günümüzde mobil robotların kullanımı çok geniş bir alana yayılmış durumdadır. Mobil robotlar engellerden sakınarak hedefe ulaşma, belirli bir yol planını takip etme gibi görevleri yerine getirdiği alanlarda kullanılmaktadır. Mobil robotların kendilerine yüklenen bu görevleri gerçekleştirebilmeleri için nerede olduklarını bilmeleri gerekmektedir. Bu nedenle lokalizasyon hesaplamaları ile bir mobil robotun sürekli olarak ‘Ben neredeyim?’ sorusuna cevap aranmaktadır. Bu nedenlerden dolayı bir mobil robotun etkili bir şekilde kullanılabilmesi için lokalizasyon verileri öenmli bir yere sahip olmaktadır. Lokalizasyon ile yer bulma birçok yöntem ile gerçekleştirilebilmektedir. Bu yöntemlerden en bilineni odometre ile lokalizasyon hesaplamaktır. Ancak odometre yönteminde mobil robot tekerlerinden alınan dönme bilgisi integral hesaplamalarında kullanarak mobil robotun pozisyon bilgisi hesaplandığından bu yönteme alternatif olacak yöntemler ihtiyacı ortaya çıkmıştır. Çünkü integral hesaplamalarında yer alan hata katsayısı her yeni hesaplamada bir önceki hata değerine eklenerek artmaktadır. Bu nedenle tarama sayısı arttıkça hata katsayısı da artacağından zamanla gerçek pozisyon bilgisi ve hesaplanan pozisyon bilgisi arasındaki fark artmaktadır. Giderek lokalizayon hesaplamasının gerçekliğini kaybetmesinden dolayı yeni yöntemlere ihtiyaç artmıştır. Bu ihtiyaca bir kaşılık lazer sensör ile çevrenin taranarak lokalizayon hesaplamalarının yapılmasıdır. Bu yöntem ile mobil robotlarda lokalizasyon herhangi bir hata paramatresi içermeden  koordinat noktaları ve açı değeri ile ölçümlendirilmektedir. Bu tez çalışmasında da  mobil robotlar için iç ortamlarda 2 boyutlu lokalizyon tekniği ile ilgili çalışmalar yapılmıştır. Bu çalışma için çevreyi tarayan bir adet lazer sensör kullanılmıştır. Lazer sensör 0 ̊ ile 180 ̊ arasında saat yönünün tersinde tarama yaparak 8191 cm’ye kadar ölçüm alabilmektedir. Ölçüm çözünürlüğü 0.25 ̊, 0.5 ̊ ve 1 ̊ olarak seçilebilmektedir. Bu çalışmada lazer sensör ile 1 ̊’lik çözünürlükte tarama yapılmıştır. Lazer sensörde toplanan tarama verilerinin işlenip sonuca ulaşılabilmesi için bu verilerin bilgisayara aktarılması gerekmektedir. Bu veri aktarımı için bilgisayar ve lazer sensör arasındaki iletişim seri haberleşme yoluyla sağlanmıştır. Seri haberleşme üzerinden bilgisayara aktarılan veriler MATLAB programı üzerinden işlenmiştir. Lazer sensörün sahip olduğu komut yapıları MATLAB üzerinden seri haberleşme ile lazer sensöe gönderilerek lazer sensörün istenilen ölçüm ayarları yapılmış sensörden istenilen komutun cevapları alınmıştır.    MATLAB ile lazer sensör bağlantısı kurulup çevre taramaları yapıldıktan sonra elde eidlen çevre verileri MATLAB veritabına kaydedilmiştir. Bu çalışma boyunca kaydedilen bu veriler üzerinden işlemler gerçekleştirilmiştir. Tüm çalışma boyunca farklı pozisyonlarda art arda yapılmış 3 tarama verisi üzerinden lokalizasyon adımları gerçekleştirilmiştir. Bu tez çalışmasında lokalizasyon; öznitelik çıkarma, öznitelikleri eşleştirme ve öznitelikleri ilişkilendirme olmak üzere 3 adımda tamamlanmıştır.  Lokalizasyon için ilk adım öznitelik çıkarımı ile başlamaktadır. Lazer sensörün 180 ̊lik bir çevreyi 1̊lik çözünürlükle taraması sonucu taranan çevreye ait 181 nokta lazer sensörden MATLAB’e aktarılmaktadır. 181 nokta üzerinden hesaplamalar yapmak yerine noktalar taranan çevre bilgisi kaybedilmeyecek şekilde daha az sayıdaki öznitelikler aracılığıyla tanımlanmıştır. Öznitelikler taranan çevredeki köşelere karşılık gelmektedir. Böylece 181 nokta yerine 181 noktanın içerdiği köşeler üzerinden hesaplamalar yapılmıştır. Köşeleri belirleyerek öznitelikleri çıkarmak için Bölme ve Birleştirme (Split&Merge) yöntemi kullanılmıştır. Bu yöntem ile köşeleri belirlemek, adından da anlaşılacağı gibi 2 aşamada gerçekleştirilmektedir. Bölme aşamasında elde olan veri kümesine bölünecek nokta kümesi kalmayana kadar belirlenmiş bölme adımları uygulanarak köşeler bulunmaktadır. İkinci aşama olan birleştirme bölümünde ise  bölme aşamasında  bulunmuş olan köşelerden yanlış olanlar elenmektedir. Bölme ve Birleştirme yönteminin sonunda her bir çevre taraması için nopktalar yerine köşelerin ifade edildiği öznitelik haritaları elde edilmiştir. Lokalizasyon için ikinci adım ilk adımda her bir tarama verisi için elde edilen özniteliklerin ardışıl iki tarama arasında eşleştirilmesini sağlamaktır. Öznitelik eşleştirmesi bulunan bütün öznitelikler yerine ilk taramada referans olarak rastgele seçilen iki öznitelik üzerinden gerçekleştirilmiştir. Bu adım aşamalı olarak gerçekleştirilerek öncelikle birince ve ikinci tarama arasında br eşleştirme yappılmakta sonrasında ise ikinci ve üçüncü tarama arasında eşleştirme yapılmaktadır. Eşleştirme işlemine başlamak için öncelikle ilk taramadan rastgele iki öznitelik seçilmektedir. Uzaklık ve açıya bağlı olarak uygulanan ‘Distance&Angle’ yöntemi ile rastgele seçilen bu iki özniteliğe ikinci taramada karşılık gelen öznitelikler bulunmaktadır. Aynı işlemler ikinci ve üçüncü taramada da tekrarlanarak ikinci tarama için rastgele 2 öznitelik seçilmiş ve bu özniteliklerin üçüncü taramadaki karşılıkları uzaklık ve açı hesaplamalarına göre bulunmuştur. Öznitelik eşleştirme işlemlerinin sonucunda ardışıl iki çevre taraması için birbirlerine karşılık gelen ikişer tane öznitelik elde edilmiştir. Lokalizasyon için son adım olan üçüncü adımda bir önceki adımda eşleştirilmiş olan özniteliklerin birbirlerine göre değişimi ilişkilendirilerek pozisyonun başlangıç anından itibaren ne kadar değiştiği hesaplanmaktadır. Bu adımda ilk taramanın yapıldığı nokta referans nokta olarak kabul edilmiş ve koordinat noktaları (0,0) olarak alınmıştır. Böylece ardışıl yapılan ilk iki tarama için ilk taramanın koordinat bilgileri bilinirken ikinci taramada bu koordinat değerlerinin ne kadar değiştiği bulunmuştur. Değişimin ilişkilendirilmesinde MATLAB ‘Estimate Geometric Transform’ fonksiyonu kullanılmıştır. Bu fonksiyon ile iki farklı tarama haritasında eşleşen öznitelikler kullanılarak koordinat ekseni üzerindeki öteleme ve dönme miktarları elde edilmektedir. İlk iki tarama için elde edilen öteleme ve dönme miktarları referans değerler üzerine eklenerek yeni koordinat noktalarına ulaşılmıştır. İkinci ve üçüncü tarama içinde aynı ilişkilendirme yapılarak elde edilen öteleme ve  dönme değerleri bir önceki ilişkilendirmede elde edilen koordinat değerleri üzerine eklenerek son pozisyon noktası bulunmuştur. Sonuç olarak, lazer sensörden elde edilen nokta kümelerinden 3 adımda gerçekleştirilen lokalizasyon  işlemleri sonucunda başlangıç noktası (0,0) olan pozisyonunun ne kadar ötelendiği ve döndürüldüğü bilgisi elde edilmiştir.
Localization of an object is an important issue in order to achive navigation successfully. In this study, localization is used for a mobile robot navigation for indoor environment. A mobile robot is used in a wide range and also it has lots of missions. The mobile robot has to know its current poisition in order to perform its assignments such as path following, reaching target positon, etc.  So, localization is a paramount case for a mobile robot in order to carry out its assignments. Localization with odometry technique is the most known in this area. Odometry is based on integration in order to find position parameters. So, this integration basis causes error parameter for each calculation. For each scan, the error paramater is added the previous error value and error is getting bigger with each environment. When the error increases, the difference between current position parameters and calculated position parameters also increase. Because of this, localization does not give reliable solution. In order to overcome this disadvantageous method, the necessity of new techniques occurs. One of the alternatives is scanning environment with a laser. To accomplish localization for mobile robots with laser scanning, position coordinates and rotation angle parameters are correlated during the process without any error parameters. In this study, localization technique for a mobile robot is performed for 2D indoor environment. In order to carry out this study, laser sensor is used to scan environment. When laser sensor scans environment and collect data, these data have to be transferred to the computer to process and apply localization procedure. The communation and transformation between laser sensor and computer is provided by serial interface RS422. In the computer, MATLAB programme is used to process data.  The laser sensor scans the environment with 180̊ scanning angle and 1̊ resoluion. Thus, at the end of one scan 181 data point is transferred to MATLAB. First of all, these 181 points’ are extracted to features with split and merge algorithm. So, less number of features are obtained instead of points. This split and merge algorithm is applied for each scan data. At the result of split and merge algorithm, there are feature maps for each scan.  Features have to be associated between each consecutive two feature maps in order to obtain common fetaures. These common features provide calculating changes on the position in the next step, data relation. Data association is carried out by distance and angle algorithm. In this method, not for all features, only two chosen features for each maps are associated and the result is obtained via these features. At the end of this step,  there is one couple random feature for the first map and another couple   feature in the second map which correspond to the features in the first map. In this way, associated features are obtained. In the final step, it is known that which feature in the first map match which feature  in the second map. Therefore, the changes between these associated features gives the changes  for the position in the same time. These changes are deal with translational on x coordinate, translational on y coordinate and rotation. In this step first of all, it is assumed that the start point cartesian coordinates is known for the first map as a reference point (0,0) and also the rotation angle is 0. Thus, for the first consecutive scans, the difference is obtained according to this reference point assumption and calculated new position values. Then, for the second consecutive scan, the new position parameters is calculated with the previous position values.  Finally, in order to obtain rotation and translational paramaters between two featıure sets ‘MATLAB Estimate Geometric Transform’ function is used. This function matches point pairs. Thus, current position can be calculated with these parameters with konwledge of translation from the reference point and also its rotation according to the reference point.
Description: Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2015
Thesis (M.Sc.) -- İstanbul Technical University, Institute of Science and Technology, 2015
URI: http://hdl.handle.net/11527/15497
Appears in Collections:Kontrol ve Otomasyon Mühendisliği Lisansüstü Programı - Yüksek Lisans

Files in This Item:
File Description SizeFormat 
10064172.pdf1.83 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.