Kablosuz Gömülü Sistemler˙Için Uyarlanabilir Konum Tespit Sistemi
Transkript
Kablosuz Gömülü Sistemler˙Için Uyarlanabilir Konum Tespit Sistemi
Kablosuz Gömülü Sistemler İçin Uyarlanabilir Konum Tespit Sistemi: UKTS Ramil Agliamzanov Danışman: Yrd. Doç. Dr. Kasım Sinan YILDIRIM Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 35100, Bornova, İzmir 1 İçindekiler 1 Giriş 1.1 Problemin Tanımı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Amaç ve Kapsam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 5 2 İlişkili Çalışmalar 6 3 Sistem Tasarımı 3.1 Haberleşme Modülü . . . . . . . . . . . . . . . . . . 3.2 Saat Eşzamanlaması Modülü . . . . . . . . . . . . . 3.3 Konum Tespit Modülü . . . . . . . . . . . . . . . . . 3.3.1 AVT ile Uzaklık Arama ve Takip Etme . . . 3.3.2 AVT’ler ile Devingen ve Uyarlanabilir Konum . . . . . . . . . . . . . . . . . . . . Tespiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 . 7 . 7 . 8 . 8 . 10 4 Gerçekleştirim 12 4.1 Araçlar, Kütüphaneler ve Konfigürasyon . . . . . . . . . . . . . . . . . . . . . . . 12 4.1.1 Genetlab Platformunda Ultrasonik Algılayıcı Sürücüsü . . . . . . . . . . . 12 4.1.2 Arayüz Tasarımı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5 Proje Takvimi 14 6 Değerlendirme ve Sonuçlar 15 6.1 Sonuçlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7 Projenin Özgünlüğü 19 8 Ekler 21 2 Özet Kablosuz algılayıcı ağları çevreyi algılama yeteneğine sahip, ucuz ve enerji kısıtları olan küçük cihazlardan oluşur. Birbirlerinden fiziksel olarak ayrılmış olan algılayıcı düğümleri, çevresel verileri algılayıcılarını ve kablosuz iletişim donanımlarını kullanarak işbirliği içerisinde toplar, işler ve yayarlar. Hedef takibi gibi temel kablosuz algılayıcı ağı uygulamaları, algılayıcı düğümlerinin kendi konumlarını bilmelerini gerektirmektedir. Düğümlerin kendi konumlarını tahmin edebilmeleri için bir konum tespit protokolüne ihtiyaç vardır. Bu projede konum bulma bir devingen arama problemi olarak ele alınmıştır. Kendi konumunu bilmeyen bir algılayıcı düğümü, kendi konumunu bilen diğer düğümlerden aldığı paketlerle belirli bir arama uzayında kendi konumunu aramakta ve belirli bir hata ile konumlarını tahmin edebilmektedirler. Bu bağlamda geliştirilmiş Uyarlanabilir Konum Tespit Sistemi (UKTS), kullanılan algoritmanın uyarlanabilir yapısı sayesinde ağdaki hatalara ve devingenliğe karşı sağlam ve hızlı tepki verebilen bir sistemdir. Ayrıca sistem oldukça düşük işlemci ve bellek yüküne sahiptir. Anahtar Kelimeler : Gömülü Sistemler, Kablosuz Algılayıcı Ağları, Konum Tespiti 3 Şekil 1: Genetlab Sensenode algılayıcı düğümü [10]. 1 Giriş Sayısal elektronik, kablosuz ağlar ve gömülü sistemler alanlarındaki gelişmeler düşük maliyetli, düşük güç tüketimli, ortamla haberleşme özelliği olan, çok işlevli minyatür algılama aygıtlarının üretilmesine olanak sağlamıştır. Ortamdaki farklı fiziksel olayları algılayabilen bu cihaz ailesine Kablosuz Algılayıcı Ağları (KAA) ismi verilmiştir. KAA’lar ortamın gözlemlenmesi ya da hedef takipi gibi birçok uygulama alanına sahiptir. Askeri uygulamalar, çevre (ve doğa) gözlemleme, sağlık alanındaki uygulamalar, ticari alanlarda uygulamalar ve bilimsel araştırmalarda KAA çok yaygın kullanılmaktadır. Şekil 1’de Genetlab Sensenode platformuna ait bir algılayıcı düğümü gösterilmiştir. KAA’larda ağın her düğümü otonom olarak çalışmaktadır. Bu, büyük bir esneklik getirmekle beraber, bu cihazların getirdiği kısıtlamalar da mevcuttur. Sınırlı güç kaynağı, düşük işlemci, sınırlı bellek kapasitesi bunlar arasındadır. Bu yüzden geliştirilecek sistemler bu kısıtları göz önünde bulundurarak şekillendirilmelidir. Bu kısıtlar KAA’lardaki problemleri oldukça ilginç kılmakta ve bu alandaki araştırmayı devingen tutmaktadır. 1.1 Problemin Tanımı Kapsama alanı (coverage), konuşlandırma (deployment), yönlendirme (routing), konum servisi (location service), hedef takibi (target tracking), kurtarma (rescue) ve olay yerinin tespiti bağlamlarında konum bilgisi KAA için önemli bir gereksinimdir [7]. Algılayıcı düğümler dinamik bir şekilde ortamda konuşlandırılabileceği için (örn. uçaktan aşağıya bırakılma) yada çalışma sırasında konumları değişebileceği için (örn. kargo konteynerine bağlansa), önceden konumlarını bilseler bile belli bir zaman sonra bu bilgi güncelliğini yitirebilir [4]. Geleneksel sistemlerde bu problemi çözmek için Global Positioning System (GPS) türü küresel konumlandırma sistemleri kullanılmaktadır. GPS, 10 metre hassasiyetle konumu tespit edebilir, kullanımı ücretsiz olduğu için çoğu mobil uygulama için mükemmel bir çözümdür. Ama bunun yanında GPS’nin güvenli çalışmadığı durumlar da vardır. Sistem, birden çok uydunun görüş çizgisinde olmasını gerektirdiği için, kentsel, bina içi, yeraltı ya da uzay ortamlarında oluşturulan algılayıcı ağlar GPS’den yararlanamazlar [4]. KAA’ların güç tüketimi sınırlaması da çok güç tüketen GPS modüllerin kullanımı engellemektedir. KAA’nda konum tespitinin zorlukları sıralayacak olursak [3]: • Fiziksel katmanın ölçüm hataları: İki düğüm arasındaki mesafe ölçümü için alınan sinyalin gücü ya da aktarma zamanı kullanılıyorsa, ölçümler donanımdan dolayı ortama göre çok farklılık gösterilebilir. Bu da konum tespitinin yüksek hatalara yol açmaktadır. • Hesaplama kısıtları: Konum tespitin sonuçlarını iyileştirmek için bazı algoritmalar kullanılabilir, ama bu algoritmalar çok hesaplama gerektiriyorsa KAA’lar için uygun değildir. 4 • GPS konum verisinin eksikliği : Yukarıda bahsettiğimiz gibi, çok hassas konum tespiti yapabilen GPS teknolojisi gömülü sistemlerde yaygın olarak kullanılsa da, KAA’larında kullanımı güç tüketimi ve maliyet açısından uygun olmayabilir. • Düşük kaliteli algılayıcı düğümler : Düğümlerin maliyet açısından ucuz olmaları, donanımsal yeteneklerinin düşük kalitede olmaları sonucunu doğurmuştur. Düğümlerin sinyal gücü ölçümleri oldukça gürültülü olabilir, saat eşzamanlaması hataları hesaplamalara oldukça büyük hatalar ekletebilir, düğümler bozularak bazen ağdan kopabilirler. 1.2 Amaç ve Kapsam Bu çalışmada, KAA’ların kısıtları gözetilerek bir uyarlanabilir konum tespit sistemi (UKTS) geliştirilmiştir. UKTS, bir algılayıcı ağındaki her düğümün konumunun devingen ve gerçekzamanlı olarak takip edilmesi için kullanılabilmektedir. Sisteme yeni bir düğüm eklendiğinde ya da düğümlerin yeri değiştirildiğinde, geliştirilecek arayüzler aracılığı ile kullanıcıya ağdaki her elemanın konum bilgisi anında yansıtılabilmektedir. UKTS düğümlerin ortam gürültüsünden ve hesaplama hatalarından en az etkilenmesini Uyarlanabilir Değer İzleyicileri (Adaptive Value Trackers -AVT) [21] ile sağlamaktadır. Geliştirilen sistem, hareketli nesnelerin takipinin de yapılabilmesi için kullanılabilecektir. Özetle, tam anlamıyla devingen bir ortamda çalışabilen uyarlanabilir bir konum tespit sistemi ortaya koyulmuştur. 5 2 İlişkili Çalışmalar Literatürdeki konum bulma protokolleri, uzaklık tayinine dayalı yöntemler kullanmaktadır. Her uzaklık tayin yöntemi özel donanım desteğine ihtiyaç duymakta ve bu durum yöntemlerin uygulanabilirliğini sınırlamaktadır. Ayrıca uzaklık tayininin doğruluğu ve hassasiyeti yöntemden yönteme değişmektedir. Gelen sinyal gücü (Received Signal Strength) uzaklık tayininde kullanılan en yaygın yöntemdir. Ancak bu yöntemin hassasiyeti sınırlıdır ve çevresel faktörlerden oldukça etkilenebilmektedir. Alınan sinyal seviyesi ile uzaklık arasında bir ilişki kurabilmek zordur ve algılayıcıların donanımına ve çevresel değişimlere bağlıdır. Varış zamanı (Time of Arrival ) yöntemleri mesajların gönderim ve alım zamanlarına dayanmaktadır. Saat eşzamanlaması bu yöntemlerin temel gereksinimidir. Ancak görüş açısının (line of sight) olmaması ve sinyallerin doğrudan alınmaması gönderim ve alım zamanlarını etkilemekte ve konum bulma hatalarını arttırmaktadır. Uzaklık tayin edildikten sonra, düğümler kendi konumlarını belirleyebilmek için, kendi konumunu bilen yeterli sayıda düğümden konum bilgilerini toplamaya gereksinim duyarlar. Toplanan bilgilerden konum bilgisini hesaplamak için kullanılan temel yöntemler trilaterasyon (Trilateration), üçgenleme (Triangulation) ve en büyük olabilirlik çoklulaterasyon (Maximum likelihood multilateration) yöntemleridir [20, 8, 19, 17]. Günümüz sistemlerinde, sistem parametrelerin doğru değerlerinin bulunması çok önemlidir. Sistemin bileşenleri belirsizlik içeren ortamla etkileşerek kendi parametrelerini uyarlayabilmeleri için gerekli olan bilgiyi toplamaya çalışırlar. Uyarlanabilir parametre kontrol yöntemlerinde, parametreler geribildirimler sayesinde bir arama süreci sonunda devingen olarak uyarlanmaktadırlar. Bu çalışmada kullanılan parametre kontrol yöntemi olan Uyarlanabilir Değer İzleyicisi (Adaptive Value Tracker - AVT) ilk olarak [15] çalışmasında tanıtılmıştır. Günümüze kadar, bu yöntem deniz gözetlemede [6, 5], kontrol oyunlarında [18], öz-örgütlenen sinir ağlanrında [12, 11], kullanıcı profili çıkarmada [14], KAA’larda öz-örgütlenen ve dağıtık saat eşzamanlaması için [21, 13] kullanılmıştır. 6 UYGULAMA Saat Eşzamanlaması Modülü Konum Tespit Modülü Haberleşme Modülü Saat Donanımı Akustik Algılayıcı Haberleşme Donanımı Şekil 2: UKTS sisteminin genel mimarisi 3 Sistem Tasarımı Uyarlanabilir konum bulma sisteminin genel mimarisi Şekil 2’de gösterilmiştir. Mimari, temel olarak saat eşzamanlaması ve konum tespit modüllerini içermektedir. Haberleşme modülü ise düğümler arasındaki iletişim için gereklidir. 3.1 Haberleşme Modülü Hem Saat Eşzamanlaması Modülü hem de Konum Tespit Modülü diğer düğümlerle haberleşmeye ve bilgi değiş-tokuşuna gereksinim duymaktadır. Haberleşme Modülü, düğümler arası haberleşmede iletişimin düzenli, kayıpsız ve enerji verimli yapılmasından sorumludur. Bu işlevsellik için Bölüm 4.1’te belirteceğimiz gibi, TinyOS [16] işletim sistemi ile gelen yazılım bileşenleri kullanılmıştır. 3.2 Saat Eşzamanlaması Modülü Bölüm 2’te bahsedildiği gibi saat eşzamanlaması, varış zamanlı konum bulma protokolleri için temel bir gereksinimdir. UKTS protokolü de ultrasonik algılayıcıları kullanarak konum tahminleme işlemi yapacağı için, saat eşzamanlamasına ihtiyaç duymaktadır. Dağıtık sistemlerde, bütün düğümlerin ortak bir saat kaynağına doğrudan erişimleri mümkün değildir. Bunun yerine her düğüm bir saat ile donatılmıştır. Düğümlerin saatleri farklı hızlarda tıklayabilmekte ve bunun sonucunda saatlerin gösterdiği değerler birbirinden uzaklaşabilmektedir. Bu durum her düğümün kendi yerel zaman kavramına sahip olmasına yol açmaktadır. Dağıtık sistemlerde, düğümlerin ortak bir zaman kavramına sahip olmalarını sağlayan sürece dağıtık saat eşzamanlaması denilmektedir. Bu süreçte, her düğüm bir dağıtık saat eşzamanlama algoritması çalıştırarak diğer düğümlerle haberleşir ve elde ettiği zaman bilgisini işleyerek bir ortak saat değerini hesaplar. Dağıtık saat eşzamanlama algoritmasının temel hedefi, herhangi bir anda düğümlerin hesapladığı ortak saat değerleri arasındaki farkın en aza indirilmesidir. Saat Eşzamanlaması Modülü kapsamında literatürdeki AVTS protokolü [21] gerçekleştirilecektir. Bu protokol, detayları daha sonra açıklanacak olan Uyarlanabilir Değer İzliyicisi AVT’ler kullanmaktadır. 7 3.3 Konum Tespit Modülü Konum Tespit Modülü ultrasonik algılayıcısından gelen verileri kullanarak, AVT’lerle düğümlerin konumunu özgün bir şekilde bulmaktadır. Bu işlevsellik için öncelikle ultrasonik algılayıcılar kullanılarak uzaklık tahmini yapılmaktadır. Yapılan uzaklık tahmini sonucunda ilgili AVT’ye geribildirimler gönderilerek gerçek uzaklık devingen olarak aranmakta ve takip edilmektedir. 3.3.1 AVT ile Uzaklık Arama ve Takip Etme Bir düğüm, diğer herhangi bir düğüme göreceli olarak uzaklığını hesaplayabilmek için ultrasonik algılayıcısını kullanmaktadır. Mesafe tahmini yapabilmek için, ultrasonik sinyalin göndericiden kendisine ulaşma zamanını hesaplamalıdır. Saat Eşzamanlaması Modülü’nün sunduğu eşzamanlanmış saat bilgisi, bunun için kullanılmaktadır. Bir gönderici, bir ultrasonik sinyali hemen göndermeden önce bir RF sinyali gönderir. Bu sinyalde ultrasonik sinyalin gönderim zamanı t1 taşınmaktadır. Alıcı düğüm ultrasonik sinyalini almadan önce daha hızlı olan RF sinyalini alacaktır. Alıcı düğüm ultrasonik sinyali alınca bu sinyalin alım zamanı olan t2 ’yi saklar. Sesin iletim hızı vses −t1 ile hesaplanır [19]. kullanılarak bu iki düğüm arasındaki tahmini uzaklık dˆ = tv2 ses Düğümler mesafe takipi yapmak istedikleri her diğer düğüm için bir adet AVT içermektedirler. AVT, bir değerin bir arama uzayında aranmasını ve bulunmasını sağlayan yazılım bileşenidir. Ultrasonik sinyal ile yapılan uzaklık tahmini ortamın devingenliğinden ötürü gürültüye sahiptir. Gürültülü uzaklık tahmininden hatalara karşı daha dayanıklı ve devingen uzaklık takipinin yapılması AVT’ler ile sağlanmaktadır. Uyarlanabilir Değer İzleyicisi - AVT Literatürdeki çalışmaların aksine, konum bulma bu projede bir devingen arama problemi olarak ele alınmıştır. Gürültülü ve devingen bir algılayıcı ağında, kendi konumunu bilmeyen bir algılayıcı düğümü, kendi konumunu bilen diğer düğümlerden aldığı paketlerle belirli bir arama uzayında kendi konumunu arayacaktır. Bu devingen arama için yöntem olarak Uyarlanabilir Değer İzleyicisi (Adaptive Value Tracker - AVT) kullanılmıştır [15, 21, 13]. İzleme işlemi, AVT’nin ortamından gelen muhtemelen aranan değere doğru götüren ardışık geribildirimler sayesinde sağlanmaktadır. Biçimsel olarak, bir avt devingen bir değer v ? ’ı (konum bulma probleminde düğümün konumu) vmin alt sınır, vmax üst sınır olmak üzere verilen bir gerçel aralık (arama uzayı) AV Tss = [vmin , vmax ] ⊂ R içerisinde (düğümün konum uzayı) arar (ve izler). Herhangi bir t anında avt, vt = avt.value(t) eylemi şeklinde erişilebilen bir vt ∈ AV Tss değerini (düğümün olası konumunu) ortamına sunabilmektedir. avt’nin ortamının amacı aranan değer v ? ’ın o anda önerilen değer vt ’den küçük, büyük veya vt ’ye eşit olduğunu saptamaktır. Bu saptamadan sonra, ortam avt ile avt.adjust(ft ∈ F) şeklinde bir eylem ile etkileşime geçer ve dolayısıyla F = {f ↑, f ↓, f ≈} kümesinden bir ft geribildirimini gönderir. ft geribildirimi, vt ’yi artırmak (f ↑), azaltmak vt (f ↓) veya vt ’nin iyi olduğunu (f ≈) bildirmek için olabilir [21]. AVT’ler ile örnek devingen arama süreci Şekil 3’te gösterilmiştir. Geribildirimi aldıktan sonra, avt sonraki değeri vt+1 ’yi vt ’den şu şekilde türetir vt+1 vt + ∆t+1 , ft = f ↑ = vt − ∆t+1 , ft = f ↓ vt , ft = f ≈ 8 (1) AVT Environment f " ➊ ➋ vt ➍ f " f # [...] ➎ ➐ ➑ v t +3 v t +2 v t +1 ➒ D t +3 vmin ➏ D t +2 ➌ D t +1 vmax Adaptive Value Tracker (AVT) Şekil 3: AVT ile ortamı arasındaki ilişki. AVT değer izleme süreci bir başlangıç değeri v0 ile başlar ve birçok iterasyon döngüsünden oluşur: örneğin, (1) AVT, ortamına vt−2 değerini sunar, (2) ortam, bir f ↑geribildirimi gönderir, (3) bu geribildirimden (ve muhtemelen diğer eski geribildirimlerden), AVT büyük olasılıkla v ? değerine yakın olan vt−1 = vt−2 + ∆t−1 değerine ulaşmak için en iyi ayar adımı ∆t−1 ’i saptar, (4) yeni değer vt−1 ortama önerilir, (5) sonra ortam tarafından bir başka f ↑ geribildirimi gönderilir, (6) bu geribildirimden AVT daha ileri gitmesi gerektiğini saptar ve ∆t ayar adımını artırır, (7) yeni değer vt ortama önerilir, (8) ancak bu defa ortam tarafından zıt bir f ↓ geribildirimi gönderilir, (9) bu nedenle AVT ayar adımını küçültür ve ters yönde ilerler, sonra bir başka yeni değer önerilir ve süreç v ? ’a erişilinceye dek devam eder [21]. öyle ki ∆t+1 değeri t + 1 anındaki ayar adımıdır1 . Ayar adımı için şu sağlanmalıdır ∆t ∈ [∆min , ∆max ] (2) öyle ki ∆min ∆t ’nin alt sınırıdır ve ∆max da üst sınırıdır . ∆min , avt’nin kullanabileceği en küçük ayar adımıdır bu değere ayrıca hassasiyet denilmektedir. ∆max , öte yandan, avt’nin kullanabileceği en büyük ayar adımıdır ve bunun bir sonucu olarak vt ’nin en büyük evrim hızıdır. Arama süreci boyunca, avt aynı yöndeki geribildirimleri arka arkaya ne kadar çok alırsa, vt değerinin v ? ’dan o kadar uzakta demektedir (ya da daha kötüsü: vt değeri v ? ’dan uzaklaşmaktadır). Böyle bir durumda v ? ’a daha çabuk erişmek için vt ’ın ayarı hızlandırılmalıdır. Bu nedenle, her geribildirim alındığında, ayar adımı şöyle artırılmaktadır ∆t+1 = ∆t · λincr . (3) Öte yandan, avt ters yöndeki geribildirimleri arka arkaya ne kadar çok alırsa, vt değeri az veya çok tutarlı bir v ? değerinin etrafında o kadar dalgalanmaktadır2 . v ? değerine daha fazla yaklaşmak için (başka bir uzak değer aniden zıplamamak için) ve dolayısıyla v ? değerine daha çabuk erişebilmek için, ayarlamanın yavaşlatılması gerekmektedir. Bu nedenle, her geribildirim alındığında, ayar adımı şöyle azaltılmaktadır ∆t+1 = ∆t · λdecr . (4) Son olarak, avt bir iyi geribildirim aldığında, bu demek oluyordur ki vt değeri (en azından kabaca) doğru değere ulaşmıştır. Bu nedenle, vt+1 değeri vt+1 = vt aynı kalır çünkü v ? muhtemelen vt ’ye yakındır. Ayar adımı, öte yandan, eşitlik 4’de gösterildiği gibi azaltılmaktadır, çünkü 1 Dikkat edilirse, vt+1 değeri AV Tss ’nin sınır değerlerini geçemeyeceği için, eğer vt + ∆t+1 > vmax ise vt+1 = vmax ve eğer vt + ∆t+1 < vmin ise vt+1 = vmin . 2 Ortamdan gelen geribildirimlerin doğru olduğu kabul edilmektedir. 9 bir sonraki adımda eğer farklı bir geribildirim alınırsa, v ? değeri muhtemelen vt+1 değerinden daha az uzaktadır. Bu sürecin bir sonucu olarak, yeterli sayıdaki iterasyondan sonra önerilen değer ve ayar adımı değerinin t? anında şunu sağladığı gösterilebilir v ? − ∆min ≤ vt? ∆t? = ≤ v ? + ∆min , (5) ∆min . (6) Şurası not edilmelidir ki bu duruma erişildikten sonra devingen değer v ? bir şekilde değişse bile, avt bu değeri ortamından gelen geribildirimler sayesinde izlemeye devam edebilir. AVT ile Devingen ve Hatalara Karşı Sağlam Uzaklık Tahmini ˆ alıcı düğüm tarafından gönderici Ultrasonik sinyaller vasıtasıyla hesaplanan uzaklık değeri d, düğümün uzaklık değerinin takibi için saklanan AVT’nin önerdiği uzaklık değerinden büyükse konumun arttırılmasına yönetik bir geribildirim f ↑, küçükse konumun azaltılmasına yönetil bir geribildirim f ↓, bu koşul da sağlanmadıysa tahminin iyi olduğuna dair f ≈ geribildirim AVT’ye gönderilir. En son aşamada alıcı düğüm,tüm komşuları için tuttuğu AVTleri kullanarak kendi konumunu güncellemektedir. Bu kapsamda işletilecek algoritma kabaca aşağıdaki şekilde özetlenebilir: Algoritma 1: Bir v düğümü için konum tahmini modülünün temel uzaklık tahminleme algoritması. 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 3.3.2 Bir u komşusundan RF sinyali alındığında Sinyalin alındığı tu1 zamanını kaydet. Bir u komşusundan ultrasonik sinyal alındığında Sinyalin alındığı tu2 zamanını kaydet. tu −tu dˆu = 2vses1 formülü ile tahmini uzaklığı hesapla error = dˆu − avtu .getV alue() if error > 0 then avtu .adjust(f ↑) // u düğümünün konumu arttır else if error < 0 then avtu .adjust(f ↓) // u düğümünün konumu azalt else avtu .adjust(f ≈) // u düğümünün konum gayet iyi AVT’ler ile Devingen ve Uyarlanabilir Konum Tespiti Bir düğümün kendi konumunu bulabilmesi için, kendi konumunu bilen 3 çapa (anchor) düğümden konum bilgilerini alması ve bu düğümlere olan göreceli uzaklıklarını hesaplaması gerekmektedir. Bir önceki alt bölümde belirtilien Algoritma 1 kullanılarak, üç çapa düğüm için üç adet AVT kullanılarak göreceli konumlar hesaplanır. Herhangi bir anda, ilgili u çapa düğümü için kullanılan avtu bileşeninden, avtu .getV alue arayüzü sayesinde o çapa düğümüne ilişkin tahmini uzaklık değeri du elde edilir. Bu düğümden gelen koordinat bilgisi (xu , yu ) da sistemde tutulmaktadır. Diğer k ve z düğümlerinden gelen bilgiler de kullanılarak trilaterasyon yöntemi ile aşağıdaki gibi hesaplanır: 2 xk − xz yk − yz x k − x u yk − yu xv yv = 10 (d2z − d2k ) − (x2z − x2k ) − (yz2 − yk2 ) (d2u − d2k ) − (x2u − x2k ) − (yu2 − yk2 ) d 2z =( x v −x z )2+( y v − y z )2 d2u =(x v −x u)2 +( y v − y u)2 d 2k =(x v − x k )2+( y v − y k )2 Trilateration avt u , x u , y u avt k , x k , y k avt z , x z , y z Şekil 4: Çapa Düğümler kullanılarak koordinat hesaplama adımları. Yukarıdaki formülden hesaplanan (xv , yv ) koordinatının da devingen ve hatalara karşı duyarlı bir şekilde takipinin yapılabilmesi için bu iki değişken için de AVT algoritması kullanılmıştır. Algoritma 2’de ve Şekil 5’te bu adımlar özetlenmiştir. Algoritma 2: Bir v düğümü için konum tahmini modülünün koordinat bulma algoritması. 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Bir u çapasından (xu , yu ) koordinat bilgisi alındığında Kaydedilen diğer 2 çapa bilgisi kullanılarak, tirlaterasyonla (xv , yv ) hesapla xerr = avtxv .getV alue − xv yerr = avtyv .getV alue − yv if xerr > 0 then avtxv .adjust(f ↑) // v düğümünün x konumu arttır else if xerr < 0 then avtxv .adjust(f ↓) // v düğümünün x konumu azalt else avtxv .adjust(f ≈) // v düğümünün x konumu gayet iyi if yerr > 0 then avtyv .adjust(f ↑) // v düğümünün y konumu arttır else if yerr < 0 then avtyv .adjust(f ↓) // v düğümünün y konumu azalt else avtyv .adjust(f ≈) // v düğümünün y konumu gayet iyi 11 Şekil 5: Çapa düğümlerden gelen mesajlarla konum tespiti. 4 Gerçekleştirim 4.1 Araçlar, Kütüphaneler ve Konfigürasyon Konum tespit sisteminin geliştiriminde kullanılan donanım platformu Genetlab Sensenode v.1.3 [10] ’dır. Bu platform 16- bit düşük-güç MSP430 [2] mikrodenetleycisini içermektedir. Mikrodenetleyici 10kB RAM, 48kB program flash ve 1024kB external flash belleğe sahiptir. Platformda bulunan CC2420 [1] haberleşme yongası 2.4 GHz frekansta çalışmaktadır ve 250kbps veri iletim hızına sahiptir. Sistem açık kaynak kodlu bir işletim sistemi olan TinyOS [16] işletim sisteminin son sürümü olan 2.1.2 ve nesC [9] programlama dili kullanılarak geliştirilmiştir. TinyOS kablosuz gömülü sistemler için tasarlanmıştır ve bileşen tabanlı bir mimariye sahiptir. TinyOS’un bileşen kütüphaneleri ağ protokolleri, dağıtık servisler, algılayıcı sürücüleri ve veri toplama araçlarını içermektedir. Geliştirme ortamı olarak Ubuntu 12.04 LTS kullanılmıştır. Sistem ayarları olabildiğince varsayılan olarak tutulmuştur ve geliştirme ortamımız başka yerde yeniden kolayca kurulabilir. 4.1.1 Genetlab Platformunda Ultrasonik Algılayıcı Sürücüsü Kullandığımız Sensenode algılayıcı platformdaki Ultrasonic algılayıcısı, platformuyla gelen sürücü ile calışmamıştır. Bu yüzden algılayıcının sürücüsünü kendimiz gerçekleştirmek zorunda kaldık. Platformun kapalı tasarıma sahip olmasi, geliştirme sürecini oldukça yavaşlatmıştır. Çoğunlukla reverse-engineering ile elde ettigimiz algılayıcının çalışma prensibini çıkarttıktan sonra, msp430 işlemcisi için PWM ile 40khz kare dalga üreten ve DAC ile 2.4V referans degeri üreten ve donanım seviyesinde çalısan bir sürücüyü gerçekleştirdik. 4.1.2 Arayüz Tasarımı Veri toplayan merkezin (sink) işlevini USB portu ile bilgisayara bağlanmış programcı/seri veri bağdaştırıcına takılı ve BaseStation uygulaması yüklenmiş düğüm görmektedir. Bu uygulama TinyOS ile gelmektedir ve çok basit görev yapmaktadır: RF kanalı ile gelen bütün mesajları seri bağlantısı ile bilgisayara aktarmaktır. Seri bağlantısından gelen bit akıntısından, daha önce tanımlanmış mesaj tiplerine göre mesajlar elenmektedir. Java nesnelerine dönüştürülen 12 bu mesajlar ilgili arayüze gönderilmektedir. Her yeni mesaj alan arayüz, içindeki bilgileri alıp ekrana yazdırılmaktadır. Şekil 6: Algılayıcı ağından toplanan konum bilgisini görselleştiren Java programı. Düğümlerin konumun görsel olarak kullanıcılara devingen olarak sunulması için, Java programlama dili tabanlı bir görsel arayüz geliştirilmiştir. Şekil 6’da geliştirilen arayüz yazılımı gösterilmektedir. Arayüz, sisteme yeni düğümler eklendikçe ve bir düğüm konumu değişince kullanıcıya anında görsel bilgi sunmaktadır. Böylece, kullanıcı gerçek zamanlı bir şekilde algılayıcı ağını gözetleyebilmektedir. 13 5 Proje Takvimi Proje Ramil Agliamzanov tarafından gerçekleştirilmiştir. gösterilmiştir. Görev Tanımı Ultrasonik algılayıcıların çalıştırılması Saat eşzamanlaması modülünün çalıştırılması Konum tespit modülünün gerçekleştirimi Arayüz gerçekleştirimi Sistem testleri Proje geliştirme takvimi aşağıda Tarih 16 Mart - 22 Mart 23 Mart - 31 Mart 1 Nisan - 13 Nisan 14 Nisan - 28 Nisan 28 Nisan - 5 Mayıs Özellikle Genetlab platformunda ultrasonik algılayıcıları çalıştırarak mesafe ölçümü yapmak oldukça zaman kaybettirici olmuştur. Bu adım, bir donanım sürücüsü yazılmasını gerektirmiştir. Donanımsal tutarsızlıklar ve geliştirme ortamının oldukça ilkel olması, projenin oldukça zahmetli bir şekilde geliştirilmesi sonucunu doğurmuştur. 14 6 Değerlendirme ve Sonuçlar Geliştirilen sistemin değerlendirilmesi için gerçek donanım platformunda deneyler yapılmıştır. Bu deneylerde AVT’lerin ∆min ve ∆max değerleri 0.1 ve 50, uzaklık arama uzayı ise [0, 300] olarak sınırlandırılmıştır. AVT ile Uzaklık Tahminleme Başarımı Şekil 7: Bir çapa ve bir alıcı düğümden oluşan ağ. Öncelikle AVT ile uzaklık tahminlemenin başarımının değerlendirilmesi için 2 algılayıcı düğümü kullanılmıştır. Bir algılayıcı düğüm, çapa düğüme belirli bir sıklıkta ”REQUEST” mesajı gönderir. Bu mesajı alan çapa düğüm ise bir RF ve bir Ultrasonik sinyal gönderir. Alıcı düğüm, Algoritma 1’deki adımları işleterek uzaklık bilgisini hesaplamaktadır. Şekil 7’de ilgili deney düzeneği gösterilmiştir. Şekil 8’de alıcı düğümün çapa düğüm için çalıştırdığı AVT’nin değerinin ve ∆ parametresinin değişimi gösterilmiştir. İlk başta saat eşzamanlaması olmadığı için, ultrasonik sinyaller ile hesaplanan uzaklık değeri oldukça hatalıdır. Saat eşzamanlaması sağlanıncaya kadar geçen sürede AVT’nin değeri adım adım gerçek uzaklık değerine yaklaşmaktadır. Bu süreçte, ∆ değeri öncelile en yüksek değeri olan 50 değerinde kalmakta, AVT gerçek değere yaklaştıkça bu değer de küçülerek en sonunda ∆min değerine kavuşmaktadır. Alıcı düğümün konumu değiştiğinde, AVT kendisine gelen geribildirimler sayesinde yeni uzaklık değerini aramaya başlamakta, ve devingen bir şekilde kendini uyarlamaktadır. ∆ değeri tekrar büyüyerek AVT’nin hızlı bir şekilde yeni konuma yaklaşması sağlanmakta, sonra bu değer 15 Şekil 8: Uzaklık değişiminden AVT’nin değerinin (kırmızı) ve delta parametresinin (beyaz) evrimi. küçülerek AVT’nin hassas bir şekilde yeni konumu bulması sağlanmaktadır. Şekil 9 AVT ile uzaklık tahmininin ortam gürültüsüne ve hatalı hesaplamalara karşı nasıl dayanıklı olduğunu göstermektedir. Uzaklık hesaplaması için kullanılan yöntemde, ultrasonik sinyallerin yakalanması kendi içinde belirli bir hatayı barındırır. Saat eşzamanlamasının hatası ile beraber, hesaplanan uzaklık değeri sürekli değişkenlik göstermiş ve tutarsızlıklar sergilemiştir. AVT, anlık hatalara karşı oldukça sağlam bir başarım sergilemiş ve oldukça tutarlı uzaklık bilgisi hesaplamıştır. Şekil 9: AVT ile (kırmızı) ve AVT’siz (beyaz) uzaklık tahmini. AVT hatalara karşı oldukça sağlam bir davranış sergilemiştir, diğer yönteme göre oldukça tutarlı ve sabit bir uzaklık değeri döndürmüştür. AVT ile Konum Tespit Başarımı AVT ile konum tespit başarımının değerlendirilmesi için 4 algılayıcı düğümü kullanılmıştır. Bir algılayıcı düğüm, üç çapa düğüme belirli bir sıklıkta ”REQUEST” mesajı gönderir. Bu mesajı alan çapa düğümler sırayla bir RF ve bir Ultrasonik sinyal gönderir. Alıcı düğüm, Algoritma 1’deki adımları işleterek bu üç çapa düğüme olan göreceli uzaklık bilgisini hesaplamaktadır. Daha sonra 2 işletilerek konum bilgisini hesaplar. Bu adımlar Şekil 5’te özetlenmiştir. Şekil 10’de ilgili deney düzeneği gösterilmiştir. Şekil 11 bu deney düzeneğinde AVT ile konum tespitinin ne kadar tutarlı ve ortam devingenliğine karşı sağlam olduğunu göstermektedir. Çapa düğümlere olan uzaklık AVT’ler ile hesaplandığı için bu uzaklıklar oldukça tutarlı ve az değişkenlik göstermektedirler. Bu uzaklık değerleri üzerinden trilaterasyon yapmak ve elde edilen x ve y koordinatı bilgilerini tekrar AVT’ler ile takip etmek, sistemi daha da sağlamlaştırmıştır. Şekilden görüleceği gibi hiç AVT kullanmayan bir sistem oldukça değişken bir konum bilgisi 16 Şekil 10: Üç çapa ve bir alıcı düğümden oluşan ağ. hesaplamaktadır. Şekil 12 AVT ile konum tespitinin devingenliğini ve uyarlanabilirliğini göstermektedir. Alıcı düğümün konumu değiştiğinde AVT hemen yeni bir arama başlatarak yeni konumu hızlı bir şekilde bulmaktadır. Konum bulunduktan sonra, değişkenlik göstermemektedir. AVT’siz konum bulma ise olduka değişken ve tutarsızdır. 6.1 Sonuçlar Yapılan deneyler sonucunda, aşağıdaki gözlemler yapılmış ve sonuçlara varılmıştır: • Yapılan mesafe ölçümlerde AVT mekanizması kullanmadan mesafeyi 10-15 cm hatayla, AVT mekanizması eklendikten sonra mesafe ölçümleri 2-5 cm hata ile yapılmıştır. • Trilaterasyon sonucunda konum tahmini, AVT’siz gerçek konumun 10-15 cm etrafında, AVT mekanizması eklendikten sonra konum tahmini çok az oynamamakla birlikte gerçek konumundan 2-5 cm farkla ölçülmüştür. • AVT yöntemi ile oldukça tutarlı ve hatalara karşı sağlam uzaklık tahmini yapılmaktadır. • AVT, hesaplamalar ve kaynak tüketimi açısından oldukça hafif bir algoritma olduğu için, kablosuz gömülü cihazlar için tam olarak uygundur. • AVT ortamdan gelen geribildirimler sayesinde hızlı bir şekilde değişimlere karşı kendini uyarlayabilmektedir. 17 Şekil 11: AVT ile (kırmızı) ve AVT’siz (beyaz) konum tespiti. AVT diğer yönteme göre oldukça tutarlı ve sabit bir konum değeri döndürmüştür. • AVT’siz hesaplamalar oldukça sapma göstermekte ve tutarsızlıklar barındırmaktadır. • Hassasiyet ve yerleştirme problemleri aşmak için, daha nitelikli algılayıcı donanımları kullanılmalıdır. Daha kaliteli ultrasonic algılayıcıları hassasiyeti arttıracak, 120 derece görüş açısından kaynaklanan yerleştirme problemleri ise omni-directional 360 derece görecek şekilde dizilen birkaç tane algılayıcı ile çözülebilecektir. 18 Şekil 12: AVT ile (kırmızı) konum tespiti devingendir ve değişimlere kendini hemen uyarlamaktadır. AVT’siz (beyaz) konum tespiti oldukça tutarsızdır. 7 Projenin Özgünlüğü Özellikle günümüz uygulamalarının konum bilgisine ihtiyaç duymaları, konum tespit sistemlerini önemli hale getirmiştir. Bu projede gerçek anlamda çalışan bir konum tespit sistemi prototipi geliştirilmiştir. Geliştirdiğimiz sistemde, uzaklık ölçümleri ultrasonik algılayıcılar yardımıyla yapılmaktadır. Ancak, sistemimiz uzaklık ölçümü teknolojisinden bağımsızdır ve diğer ölçüm yöntemleri ile de kullanılabilmektedir. Yani tak-çalıştır özelliğine sahiptir. Daha kaliteli algılayıcılar ve daha az hatalı ölçümler konum tespit sistemimizin başarımını arttıracaktır. Oldukça basit hesaplamalarla oldukça sağlam ve başarılı bir sistem geliştirmiş bulunmaktayız. Sistemin uygulanabilir ve kullanışlı olduğunu deneylerle gözlemledik. Literatürdeki diğer çalışmaların aksine, konum bulma bu projede bir devingen arama problemi olarak ele alınmıştır. Gürültülü ve devingen bir algılayıcı ağında, kendi konumunu bilmeyen bir algılayıcı düğümü, kendi konumunu bilen diğer düğümlerden aldığı paketlerle belirli bir arama uzayında kendi konumunu aramaktadır. Bu devingen arama için yöntem olarak Uyarlanabilir Değer İzleyicisi (Adaptive Value Tracker - AVT) kullanılmıştır. Projenin bilimsel literatüre kattığı yenilikler aşağıdaki gibi özetlenebilir: • Konum bulma problemi literatürde ilk defa bir devingen arama problemi olarak ele alınmıştır. • Literatürde daha önce saat eşzamanlaması problemine uygulanan AVT’ler, ilk defa konum bulma problemi için kullanılmıştır. • Geliştirilen sistem, AVT’lerin uyarlanabilir yapısı sayesinde ağdaki hatalara ve devingenliğe karşı sağlam ve hızlı tepki verebilen bir sistem olmuştur. • Önerilen yöntem tutarlı ve sağlam konum bulmayı çok az işlemci ve bellek yük ile yapmaktadır. 19 Bu çalışmanın daha da geliştirilerek bilimsel bir yayına dönüşmesi, ayrıca sistemin tüm kablosuz gömülü sistem araştırmacılarının kullanımına açılması hedeflenmektedir. Ülkemiz için, uluslararası bağlamda özgün bir akademik çalışma ortaya koyulmuş ve bu alandaki bilgi ileriye götürülmüştür. Buna ek olarak, herhangi bir ticari ürünün içine tak-çalıştır olarak koyulabilecek pratik bir konum tespit yöntemi ortaya koyulmuştur. Bu anlamda, ilgili donanımsal mesafe ölçme yeteneğinin olduğu bir sistemde yazılımsal ve algoritmik bağımlılıklar ortadan kaldırılmıştır. Gelecek çalışmalarımız, geliştirilen sistemin hassasiyet, yerleştirme, güç tüketimi vb. açısından iyileştirilmesini hedeflemektedir. 20 8 Ekler Geliştirilen sisteme ait deneysel görüntüler: Sistemin Yüksek Kaliteli Demo Görüntüsü http://www.youtube.com/watch?v=jVZ-eUdUKIw 1. Grafik: AVT’ler ile devingen ve uyarlanabilir uzaklık tahmini http://www.youtube.com/watch?v=pmgsB0G3Imk 2. Grafik: AVT’ler ile devingen ve uyarlanabilir konum tahmini http://www.youtube.com/watch?v=t1WyYHF5soM 21 Referanslar [1] Cc2420 from texas instruments. http://www.ti.com/product/cc2420. [2] Msp430 from texas instruments. www.ti.com/msp430. [3] I. F. Akyildiz and M. C. Vuran. Wireless Sensor Networks. John Wiley & Sons, 2010. [4] I. Amundson and X. Koutsoukos. A survey on localization for mobile wireless sensor networks. In R. Fuller and X. Koutsoukos, editors, Mobile Entity Localization and Tracking in GPS-less Environnments, volume 5801 of Lecture Notes in Computer Science, pages 235–254. Springer Berlin Heidelberg, 2009. [5] N. Brax, E. Andonoff, M. Gleizes, and P. Glize. Mas4at : un sma auto-adaptatif pour le déclenchement d’alertes dans le cadre de la surveillance maritime. Revue d’Intelligence Artificielle (forthcoming), 2013. [6] N. Brax, E. Andonoff, M. Gleizes, and P. Glize. Self-adapted aided decision-making: Application to maritime surveillance. In 5th International Conference on Agents and Artificial Intelligence, 2013. [7] L. Cheng, C. Wu, Y. Zhang, H. Wu, M. Li, and C. Maple. A survey of localization in wireless sensor network. IJDSN, 2012, 2012. [8] X. Cheng, A. Thaeler, G. Xue, and D. Chen. Tps: a time-based positioning scheme for outdoor wireless sensor networks. In INFOCOM 2004. Twenty-third AnnualJoint Conference of the IEEE Computer and Communications Societies, volume 4, pages 2685–2696 vol.4, March 2004. [9] D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler. The nesc language: A holistic approach to networked embedded systems. In PLDI ’03: Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, pages 1–11, New York, NY, USA, 2003. ACM. [10] Genetlab. Sensenode technical specifications document v1.3b. 2008. [11] O. Gürcan, C. Bernon, K. S. Türker, J.-P. Mano, P. Glize, and O. Dikenelli. Simulating human single motor units using self-organizing agents. In Self-Adaptive and Self-Organizing Systems (SASO), 2012 IEEE Sixth International Conference on, pages 11 –20, sept. 2012. [12] Ö. Gürcan, K. S. Türker, J.-P. Mano, C. Bernon, O. Dikenelli, and P. Glize. Mimicking human neuronal pathways in silico: an emergent model on the effective connectivity. Journal of Computational Neuroscience, pages 1–23, 2013. 2013/07/04/online. [13] Ö. Gürcan and K. S. Yildirim. Self-organizing time synchronization of wireless sensor networks with adaptive value trackers. In Self-Adaptive and Self-Organizing Systems (SASO), 2013 IEEE Sixth Int. Conf. on, pages 91 –100, sept. 2013. [14] S. Lemouzy, V. Camps, and P. Glize. Real time learning of behaviour features for personalised interest assessment. In Y. Demazeau, F. Dignum, J. Corchado, and J. Pérez, editors, Advances in Practical Applications of Agents and Multiagent Systems, volume 70 of Advances in Soft Computing, pages 5–14. Springer Berlin / Heidelberg, 2010. 22 [15] S. Lemouzy, V. Camps, and P. Glize. Principles and properties of a mas learning algorithm: A comparison with standard learning algorithms applied to implicit feedback assessment. In Web Intelligence and Intelligent Agent Technology (WI-IAT), 2011 IEEE/WIC/ACM International Conference on, volume 2, pages 228–235, Aug 2011. [16] P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, and D. Culler. Tinyos: An operating system for sensor networks. In in Ambient Intelligence. Springer Verlag, 2004. [17] D. Moore, J. Leonard, D. Rus, and S. Teller. Robust distributed network localization with noisy range measurements. In Proceedings of the 2Nd International Conference on Embedded Networked Sensor Systems, SenSys ’04, pages 50–61, New York, NY, USA, 2004. ACM. [18] L. Pons, C. Bernon, and P. Glize. Scenario Control for (Serious) Games using Selforganizing Multi-Agent Systems (regular paper). In International Conference on Complex Systems (ICCS), Agadir, Morocco, 05/11/2012-06/11/2012, page (electronic medium), http://ieeexplore.ieee.org/, 2013. IEEExplore digital library. [19] N. B. Priyantha. The cricket indoor location system. Technical report, 2005. [20] A. Savvides, C.-C. Han, and M. B. Strivastava. Dynamic fine-grained localization in ad-hoc networks of sensors. In Proceedings of the 7th Annual International Conference on Mobile Computing and Networking, MobiCom ’01, pages 166–179, New York, NY, USA, 2001. ACM. [21] K. S. Yildirim and Ö. Gürcan. Efficient time synchronization in a wireless sensor network by adaptive value tracking. Wireless Communications, IEEE Tran. on, to appear. 23
Benzer belgeler
Algılayıcılar
karmaşık ölçümlerde birden fazla belirsizlik kaynağı vardır.
Sonuç olarak ise sınırlı kesinlik ve ölçüm hassasiyeti elde edilmektedir. Bunun
giderilmesinde ise bir çok yol kullanılmaktadı...
Bir Platform Oyununa Kullanıcı Performansı - CEUR
çalışır. Yapılan araştırmalar rakip rolünün doğru bir şekilde derecelendirilmesinin önemini vurgulamaktadır. Zira rakip karakterlerin çok zayıf olması oyuna
ilginin kaybedilmesine neden ol...
Önder Gürcan - Ege University
[2] «Mimicking Human Neuronal Pathways in Silico», Department of Neurorehabilitaton
Engineering, BFNG/BCCN, University Medical Center Götngen, Götngen, Germany, 14 December