projeler · robot proje · 2011-11-04 · OTOKON Bilişim Ekibi

İyi tasarlanmış ortaklaşa çalışan çoklu-robot sistemleri, arama kurtarma çalışmaları, uzay araştırmaları ve korumaya yönelik askeri uygulamalarda etkin şekilde kullanılmak üzere geniş bir kullanım alanı sunar.

Çoklu robot sistemleri genel olarak bir grup basit fiziksel yapıya sahip robotun birbirleri ve çevreleri ile etkileşime girerek ortak bir görevin gerçekleştirilmesini amaçlayan sistemlerdir. Görevin gerçekleştirilmesi esnasında robotların ortak bir bilinç altında birbirleriyle koordineli olarak hareket etmesi hedeflenir. Bu sistemlerin sürü robot sistemlerinden temel farkı, robotların davranışlarını kontrol eden merkezi bir birim olmasıdır. Bu sistemler çok sayıda robot içerdiklerinden robotların yapılarının mümkün olduğu kadar basit ve maliyetlerinin düşük olması hedeflenir. Robotların ayrı ayrı değil; grup halinde çalışarak görevleri tamamlanması asıl hedeftir.

Bu sistemlerde merkezin robotların konumları ve durumları hakkında bilgi sahibi olması ve robotlarla etkili bir şekilde haberleşebilmesi çok önemli bir rol oynamaktadır. Robotların haberleşmesi için birçok farklı yöntem kullanılmaktadır: Radyo dalgaları ve kızılötesi haberleşme bunlara örnek olarak gösterilebilir. Robotların konum ve durum bilgilerinin elde edilmesi için ise genellikle bir kamera aracılığıyla elde edilen görüntünün işlenmesi kullanılsa da, farklı ihtiyaçlara sahip uygulamalar için özelleşmiş yöntemler de kullanılabilmektedir.

Kulübümüz bünyesinde yürüttüğümüz projede ana hedefimiz çeşitli çoklu robot algoritmalarının üzerinde kolayca denenebileceği, ihtiyaca göre kolayca geliştirilecek esnek bir platform oluşturmaktır.

Bilgisayar üzerinde koşan merkezi uygulama birden fazla aynı uygulamadan ve bunları koordine eden bir yönetici uygulamadan oluşmaktadır. Görüntüyü işleme, yapay zeka ve haberleşme katmanları yönetici uygulamaya TCP soketler aracılığıyla bağlıdır. Yönetici uygulama bu parçalar arasındaki veri akışını koordine etmektedir. Soket haberleşmesi sayesinde platformdan bağımsız bir yapı elde edilmiş, tek bir platforma bağımlılıktan kurtulunmuştur. Ek olarak ilerideki özelleşmiş uygulamaların ihtiyaçlarına göre yeni katmanları da eklenebilir kılmıştır.

Robotların haberleşmesi için düşük maliyeti sebebiyle piyasada kolayca bulunabilen RF haberleşme modülleri tercih edildi. Bilgisayara bir USB portu aracılığıyla bağlanan haberleşme devresi, bilgisayardan gelen veriyi robotların anlayacağı formata dönüştürüp ilgili robota iletmektedir. Bu nokta ek bir USB devresinin kullanılmasının amacı projenin daha esnek ve evrensel bir hale getirilmesidir. Günümüzde her bilgisayarda en azından bir USB portu bulunmaktadır, ayrıca uygulamanın ihtiyaçlarına göre haberleşme devresi üzerindeki mikrokontrolör aracılığıyla ek işlemler de yapılabilecek şekilde tasarlanmıştır.

Haberleşme katı sistemin diğer parçalarından gelen verileri önceden belirlenen formatta paketleyerek RF verici modülü aracılığıyla yayınlanmaktadır. Robotlar bu paketlerde bulunan ID bilgilerini kendi içlerinde kayıtlı olan ID ile karşılaştırmakta ve bu şekilde mesajın kendilerine gelip gelmediğini anlamaktadırlar. Bir paketin boyutu sabit ve robotlarda kayıtlı olduğu için mesaj sonunu ayrıca belirtmeye gerek kalmamıştır.

Robotların konumu ve doğrultuları bölgenin üzerine yerleştirilen bir kamera aracılığıyla tespit edilmektedir. Kameradan gelen görüntü önce robotları diğer cisimlerden ayrıştırmakta ve konumlarını tespit etmekte ve robotların üzerindeki işaretleyiciler aracılığıyla robotların kimlik ve doğrultu bilgileri elde edilmektedir.

Robotların üzerinde bulunacak işaretlerde, ortadaki büyük dairenin içindeki daireler robotun kaç numaralı robot olduğunu, kenarındaki daire ise yönünü belirlemek için kullanılacaktır. Görüntü işleme yazılımı Visual Studio 2008 ortamında C++ dili ve OpenCN 2.0 kütüphanesi kullanılarak gerçeklenmektedir.

Şu anda kullanılan sistemde öncelikle alınan resime Dairesel Hough Dönüşümü uygulanır. Hough Dönüşümü, verilen parametrelere bağlı olarak alınan resimdeki dairesel şekillerin koordinatlarını belirlemeyi sağlar. Daha sonra bulunan dairesel şekillerin her biri ayrılarak analiz edilir.

Ayrılan şekillerin analizi üç aşamadan oluşur: Öncelikle incelenecek bölge ayrılarak dairesel kısmı maskelenir, 8-bitlik gri ton resmi haline getirilir. Daha sonra bu tanım kümesinde histogramı elde edilir. Ardından histogram verilerinden yola çıkılarak resme yüksek geçirgen bir filtre uygulanır. Bunun ardından resmin beklenen bölgelerinde beklenen şekillerin görülüp görülmediği test edilip şekle uygunluğuna göre bir değer verilir. Bu değer, şeklin merkezinde tespit edilen dairenin merkezden uzaklığı, şeklin histogram dağılımı gibi verilerden yola çıkarak belirlenmiş bir formülle hesaplanır.

Mekanik olarak ise robotlar mümkün olduğu kadar basit ve yapılacak eklemelere açık bir şekilde tasarlandı. Robotlara yapılabilecek eklentiler için (sensör, kol vb.) güç ve veri girişleri ayrıldı ve uygun şekilde konumlandırıldı. Bütün çalışmaların sonunda ise proje, çoklu robot algoritmalarının üzerinde denenebileceği esnek bir platform haline gelmiştir.