• Sonuç bulunamadı

Ultrasound Mesafe Algılayıcılar (Sonar)

5 YAPAY ZEKA İLE MOBİL ROBOT KONTROLÜ PROJESİ .1Hedefler

6.6 Algılayıcılar

6.6.2 Ultrasound Mesafe Algılayıcılar (Sonar)

Sonarlar yayılan ses dalgalarının yansımasının ölçülmesi ile çalışan algılayıcılardır. Sonar günümüzde deniz taşıtlarında (özellikle denizaltı ve savaş gemilerinde), balık sürülerinin tespit vb uygulamalarda yaygın olarak kullanılan bir teknolojidir. Doğa’da ise yarasalar benzer bir sistemi kullanarak yollarını ve hatta avlarını bulurlar. Robotik uygulamalarında ise engellerin algılanmasında sonarlar yaygın olarak kullanılmaktadır [45].

Sonar ilk olarak ultrasonik bir ses dalgası yayar ve ardından yankıları dinlemeye başlar. Ses dalgasının yayılmasından yankının algılanmasına kadar geçen süre ölçülerek yankının gerçekleştiği nesnenin uzaklığı hesaplanabilir. Sesin havada yaklaşık 340,29 metre/saniye hızla ilerlediği düşünülürse oldukça hızlı bir ölçüm yapılabildiği görülmektedir.

Sonarların bu avantajlarının yanı sıra bazı dezavantajları da bulunmaktadır. Ultrasonla mesafe ölçümündeki ana dezavantaj, nesnelerin yüzeyinden gerçekleşen yansıma ile ilgili problemlerdir. Buna aynasal yansıma adı da verilmektedir. Yansıma yönü gelen ses dalgasının yüzeyle yaptığı açıyla ve yüzeyin şekliyle ilgilidir. Geliş açısı ne kadar küçük olursa, sesin yansıma yapmadan yüzeyi sıyırması ihtimali o kadar yükselir ve hatalı bir uzak mesafe ölçümü yapılır. Bu duruma aynasal denmesinin sebebiyse, kaygan yüzeylerin, yansıtıcı özellikleri ile bu sorunun büyümesine yol açmalarıdır. Kaba yüzeylerde ise düzensiz yansımalardan birinin geri dönme ihtimali daha yüksektir.

Uzak mesafelerde ise ölçümlerin kesinliği büyük oranda düşecektir, bunun sebebi yanlış ölçümlerin dönmesi ihtimalinin yüksek olmasıdır. Özellikle sesin ışıktan daha yavaş hareketi göz önüne alındığında yansımaların oluşturduğu girişim yanlış okumalara sebep olabilmektedir. Aynı zamanda ses dalgalarının kızılötesi ışınlarda olduğu gibi bir demet halinde odaklanamaması çok geniş bir yayılma alanı oluşturmakta ve bazı durumlarda zeminden yansıyan ses dalgalarının yanlış okumalara sebep olmasına rastlanmaktadır. Tüm bu dezavantajlarına rağmen ultrason

ölçümleri hareketli robot uygulamalarında sıklıkla uygulanmaktadır. Bu uygulamalar arasında iç mekan ve dış mekan haritalarının çıkarılması da yer almaktadır.

Şekil 6.35 : Ultrasonik Mesafe Algılayıcılar

Bu projede devantech firmasının diğer ultrasonik algılayıcılara göre daha ekonomik47 olarak piyasaya sürdüğü SRF10 (sağda) [47] ve SRF08 (solda) [48] ultrasonik mesafe algılayıcıları kullanılmıştır (Şekil 6.35). Her iki algılayıcı 5v besleme gerilimine ihtiyaç duymakta, çalışma anında 15mA, bekleme konumunda ise yaklaşık 3mA güç tüketmektedirler. 40KHz frekansında ultrasonik dalgalar kullanan bu sonarlar 3cm-6m arasında engelleri algılayabilmektedirler.

SRF10 PIC16F87 mikroişlemci SRF08 ise PIC16F872 mikro işlemci barındırmaktadır. Her iki algılayıcının tetiklenmesi ve okunması I2C veri yolu üzerinden yapılmaktadır. SRF10 ve SRF08’in varsayılan fabrika çıkışı I2C adresi 0xE0’dır [47,48]. Ancak I2C veri yolu üzerinden gönderilecek komutlarla E0, E2, E4, E6, E8, EA, EC, EE, F0, F2, F4, F6, F8, FA, FC veya FE şeklinde değiştirilebilmekte aynı anda 16 sonarın aynı veri yolu üzerinde kullanılabilmesi sağlanmaktadır. SRF10 I2C üzerinden erişilebilen 4 adet yazmaç (Tablo 6.3) barındırırken SRF08 36 adet yazmaç (Tablo 6.4) barındırmaktadır. Sadece 0, 1, 2 numaralı yazmaçlara yazılabilmektedir. 0x00 yazmaçı komut yazmaçıdır. Buraya yazılan değere göre algılayıcı üzerindeki mikro işlemci ölçüm yapmakta 16 bitlik ölçüm değerinin ilk 8 bitini 2 numaralı ikinci 8 bitini 3 numaralı yazmaça yazmaktadır. 1 numaralı yazmaç ise ana mikro işlemci tarafından okunduğunda 0x80

değerini vermektedir. Bu değer test edilerek cihazın çalışıp çalışmadığı kontrol edilebilmektedir.

Tablo 6.3 : SRF10 Yazmaç Adresleri

Yazmaç Adresi Okuma Yazma

0x00 Yazılım versiyonu Komut Yazmaçı

0x01 Kullanılmıyor (0x80 okunur) Sinyal Kazancı Yazmaçı (varsayılan 16)

0x02 Mesafe ilk Byte Menzil Yazmaçı (varsayılan t 255)

0x03 Mesafe ikinci Byte Salt okunur

Tablo 6.4 : SRF08 Yazmaç Adresleri

Yazmaç Adresi Okuma Yazma

0 Yazılım versiyonu Komut Yazmaçı

1 Işık Şiddeti Algılayıcı Sinyal Kazancı Yazmaçı (varsayılan 31) 2 1. yankı ilk Byte Menzil Yazmaçı (varsayılan t 255) 3 1. yankı ikinci Byte Salt okunur

~~~~ ~~~~ ~~~~

34 17. yankı ilk Byte Salt okunur 35 17. yankı ikinci Byte Salt okunur

SRF10 ve SRF08 ana mikro işlemci tarafından kontrol edilirken komut yazmaçına yazılan değer algılayıcının mesafeyi nasıl bildireceğini belirlemektedir. 0x50 inç, 0x51 santimetre, 0x52 değeri ise mikro saniye cinsinden uzaklığın okunmasını sağlamaktadır. Her ölçüm başladığında algılayıcı mesafe yazmaçlarını silmekte ve ölçüm tamamlandığında komut yazmaçında verilen değere göre mesafeyi hesaplayıp bu yazmaçlara işlemektedir. Ölçümün tamamlanması için varsayılan süre (algılayıcının yankıları beklediği süre) 65ms’dir. Ancak bu süre istenirse ölçüm komutu verilmeden önce menzil yazmaçının değeri değiştirilerek kısaltılabilmektedir.

Algılayıcının dahili zamanlayıcısı ile ölçülen bekleme süresi normalde 65ms, yaklaşık 11metredir. Ancak bu rakam srf10 ve srf08’in ölçüm yeteneği olan 6 metrenin çok üstündedir. Bu nedenle menzil yazmaçının değeri değiştirilerek srf10’un yankıyı beklediği süre dolayısıyla menzil, 43mm’lik adımlarla 43mm-11m arasında değiştirilebilmektedir. Menzilin değiştirilmek istenmesinin iki önemli

nedeni bulunmaktadır. Bunlardan biri okumanın daha hızlı olarak alınması diğeri ise sonarın daha sık aralıklarla tetiklenmek istenmesidir.

Sonarlar daha sıklıkla ateşlendiklerinde (bekleme süresi ve mesafe kapasitesi azaltıldığında) bir önceki ateşlemenin yankıları ölçüm sırasında alınabilmekte ve yanlış okumalar oluşabilmektedir. Bu nedenle SRF10 ve SRF08’un mesafe ölçümünün analog safhalarında kullandıkları analog sinyal kazancı 1 numaralı kazanç yazmaçının değeri ile oynanarak değiştirilebilmektedir. Bu sayede algılayıcıların hassasiyeti ayarlanmakta, uzak bir nesneden gelen yankı daha zayıf olacağı için bu yankının göz ardı edilmesi sağlanmaktadır.

Her güç çevriminde mesafe ve kazanç yazmaçları varsayılan değerlere dönmektedir. Bu nedenle her seferinde bu yazmaçların değerlerinin atanması gerekmektedir. SRF10 ve SRF08 çalışma prensibi olarak benzer olmalarına rağmen teknik özellikleri açısından farklılıklar göstermektedirler. SRF10 32mm x 15mm x 10mm boyutlarında iken SRF08 43mm x 20mm x 17mm boyutlarındadır. SRF10’un küçük boyutları daha küçük robotlarda kullanılmasına ve daha küçük motorlarla hareket ettirilebilmesine olanak sağlamaktadır.

SRF10 algıladığı ilk yankı için ölçüm değerlerini bildirebilirken SRF08 ilk 17 yankı için mesafe ölçümü yapabilmektedir. Ayrıca SRF08 üzerinde barındırdığı ışık şiddeti algılayıcı sayesinde değişik uygulamalara adapte edilebilmektedir. SRF08 desteklediği komutlar açışından da farklılık göstermektedir. SRF10’un desteklediği komutların yanı sıra 0x53, 0x54, 0x55 komutları ile yapay sinir ağlarında kullanılmak üzere sonuçlar üretebilmektedir. Yapay sinir ağı modunda çalışırken mesafe yazmaçları (4-35 nolu yazmaçlar) 32 byte uzunluğunda bir tampon bellek görevi yapmaktadır. Bu modda 65ms’lik (65536uS) toplam bekleme süresi 2048uS’lik 32 eşit parçaya bölünmektedir. 2048uS’lik her bir parça 352mm’lik bir mesafeyi kapsamaktadır. Eğer ilgili yazmaçın zaman dilimi içerisinde bir yankı algılanırsa o yazmaçın değeri 1 olarak atanmaktadır. Böylece 32 nörona sahip bir yapay sinir ağının eğitilmesi sağlanabilmektedir.

İki algılayıcı yaydıkları ultrasonik dalga yayım deseni açısından da farklılık göstermektedir. SRF08 55°’lik konik bir yayım desenine (Şekil 6.36) sahipken srf10

72°lik bir desene (Şekil 6.37) sahiptir. 48 Robotta biri (SRF08) ön algılayıcı tareti diğeri (SRF10) arka algılayıcı tareti üzerinde olmak üzere 2 adet ultrasonik mesafe algılayıcı yer almaktadır. Bu algılayıcıların ana mikro işlemci tarafından sürülmeleri ile ilgili yazılım detayları 7. bölümde incelenecektir.

Şekil 6.36 : SRF08 Dalga Deseni Şekil 6.37 : SRF10 Dalga Deseni

Benzer Belgeler