Nesnelerin Rengini ve Konumunu Algılayan Pixy Kamera Modül

2 8.692

Merhaba arkadaşlar, bu yazımızda Arduino, Raspberry Pi, BeagleBone Black uyumlu, nesnelerin rengini ve konumunu algılayan pixy kamera modülünden bahsedeceğim.

Pixy Nedir? 

Pixy, nesneleri en hızlı şekilde tanıtarak onları bulmak için tasarlanmış bütünleşik bir kamera modülü diyebiliriz.  Üzerinde NXP Firmasının LPC4330 Çift çekirdekli mikrodenetleyici, 204Mhz de çalışan 32bit ARM Cortex-M4 ün yanında ayrıca 204Mhz de çalışan 32bit ARM Cortex-M0 işlemcisi bulunmakta.Nesneleri tanıtmak için yapmanız gereken tek şey, nesneyi kameraya gösterip üzerinde bulunan butona basmak. Modül, turuncu, sarı, kırmızı,  mavi, açık mavi, yeşil ve mor olmak üzere 7 rengi tanıyabiliyor. Ayrıca Kickstarter üzerinden 2013 yılında 274,352$ fon toplamış. Şuan satış fiyatı yurt dışında  69$ iken Türkiye’de ise 500 TL civarında. İşlevine göre fiyatı normal denebilir.

Pixy Teknik Özellikleri

İşlemci: NXP LPC4330, 204 MHz, dual core
Görüntü Sensörü: Omnivision OV9715, 1/4″, 1280×800
Lens Görüş Alanı: 75 degrees horizontal, 47 degrees vertical
Lens Tipi: standard M12 (several different types available)
Güç Tüketimi: 140 mA typical
Güç Girişi: USB input (5V) or unregulated input (6V to 10V)
RAM: 264K bytes
Flaş: 1M bytes
Kullanılabilir Veri Çıktıları: UART serial, SPI, I2C, USB, digital, analog
Boyutlar: 2.1″ x 1.75″ x 1.4″

Bir megapixel çözünürlüğe sahip sensör,  60FPS’de 640×400(WXGA), 30FPS de ise 1280×800(WXGA) çözünürlükte resim alabiliyor.

Pixy, I/O port üzerinden I2C, UART, SPI gibi iletişim protokollerini kullanarak haberleşme sağlıyor. Ayrıca dijital ve analog çıkışları da mevcuttur. Bunların yanı sıra yukarıdaki resimde de görüldüğü üzere 2 adet rc servo motor bağlantısı mevcut. Bu pinlere servo motorları takıp doğrudan pan-tilt mekanizmasını kontrol edebilirsiniz.

Pixy Modülün Kullanımı ve Ayarları

Pixy wiki sayfasını açın >>  http://cmucam.org/projects/cmucam5/wiki/Latest_release

Wiki sayfasında PixyMon adlı programı işletim sisteminize uyumlu linkten indirin.

Pixy Modüle Nesne Tanıtma

Pixy ‘ye nesne tanıtma işlemini iki şekilde yapabilirsiniz. Birincisi PixyMon programı ile ekrandan fare ile nesneyi seçerek, ikincisi ise modül üzerinde bulunan butona basarak nesneyi tanıtabilirsiniz.

Pixy modülü bilgisayara usb ile bağlayın ve PixyMon programını çalıştırın.

 Pixy nesneleri öğretmekle ilgili kısa bir video:

1.Adım: Şimdi öğretmek istediğiniz nesneyi Pixy’nin önünde tutun ve açılan menüden Action-> Set signature 1‘i seçin.

 

2.Adım: Fareyi kullanarak, Pixy’nin nesneyi öğrenmek için kullanmasını istediğiniz bölgeyi seçmek için tıklatın ve sürükleyin.

 

3.Adım: Bölgeyi seçtikten sonra, Pixy, nesnenizi öğrenir ve otomatik olarak video moduna girer, böylece renk imzanızın ne kadar iyi çalıştığını doğrulayabilirsiniz.

Renk İmzası Ayarı

Pixy, nesneyi daha net hatlarıyla tanıması için birkaç ayar yapılmalıdır. Dişli çark simgesini tıklayın ve Pixy Parameters altındaki Signature Tuning bölmesini seçin.

 

Signature 1 kısmından uygun görünümü yakalayana kadar değerleri değiştirin.

 

Tüm imza için algılama doğruluğunu en üst düzeye çıkarmak için yedi renk imzasını bu şekilde ayarlayabilirsiniz. Kaydırıcı aralıklarını kaydetmek için Uygula’ya veya Tamam’a basmayı unutmayın! Ayarlamış olduğunuz değerler, İptal düğmesine basarsanız veya iletişim kutusunu kapattığınızda kaydedilmeyecektir.

Buton İle Nesne Tanıtma

Pixy ‘nin en avantajlı yönlerinden biri üzerinde bulunan butona basarak nesneyi tanıtabiliyoruz. Modüle enerji verin. Önünde bulunan rgb led beyaz yandıktan sonra sönecektir. Söndükten sonra tanıtmak istediğimiz nesneyi kameraya gösterin ve butonu yaklaşık 1.5 saniye basılı tutun. Önünde bulunan ledin beyaz yandığını  göreceksiniz. Bu durum modülün öğrenme modunu aktif ettiği anlamına gelir. Basılı tuttuğunuz sürece ledin rengi kırmızı, turuncu, sarı, açık mavi, mavi, mor şeklinde yanmaya devam eder ve tekrar beyaz renge dönerek tekrarlar. Bu renkler pxymoon programındaki Set Signature 1, Set Signature 2, Set Signature 3, Set Signature 4, Set Signature 5, Set Signature 6, Set Signature 7 adet öğrenme hafızasını temsil eder. Şimdi led renk değiştirirken butonu bıraktığınız anda hangi renk yanıyorsa o rengin karşılığı olan öğrenme hafızasına kaydeder. Örnek verecek olursak, turuncu renk yandığında butonu bırakırsanız ledin rengi kamera önüne koyduğunuz cismin rengine döner ve butona tekrar basıp bıraktığınızda led parlak bir şekilde turuncu flaş yaparak 2. hafıza bölgesine kayıt olur. Bu şekilde diğer hafıza bölgelerine de cisim kaydedebilirsiniz.

Arduino ile Pixy Kamera Kullanımı

Arduino görüntü işleyemediği için pixy kamera bu soruna çözüm olmuş gibi. Pixy kamera ile arduinoyu haberleştirip, robotunuzun nesneyi takip etmesini sağlayabilirsiniz.

Öncelikle pixy modülün arduino kütüphanesini buradan indirin >> http://cmucam.org/projects/cmucam5/wiki/Latest_release

Kütüphane içinde örnek kodlar mevcut. Örnek olarak hello world kodunu açın ve yükleyin. Bu kodla nesnelerin boyutlarını ve konumunu serial monitörden görebileceğiz. Modülü bağlantı kablosu ile arduinonun SPI pinlerine takın. Nesnenizi aynı şekilde tanıtın ve serial monitörü açın. Ekranda nesnenin konumunu ve boyutunu göreceksiniz.

 

Pan-Tilt Uygulaması

Pixy modüle gömülü pan-tilt yazılımı mevcuttur. 2 Adet rc servo motor ile bu motorlara uyumlu pan-tilt mekanizması bizim için yeterli olacaktır. Yani bu uygulamada arduino veya başka bir kart kullanmıyoruz. Servo motorları pixy modül kontrol ediyor. Şimdi aşağıdaki resimde gösterilen rc servo bağlantı yerlerine servo motorları takın. 

Takip ettireceğiniz nesneyi yukarıda anlattığım gibi tanıtın. Pan-tilt uygulamasını aktif etmek için Action menüsünden Run pan-tilt demo yu seçin. Bunu seçtikten sonra servo motorlar hareket etmeye başlayacaktır. Burada dikkat etmemiz gereken nesnenin görüntünün tam ortada durmasını sağlamak. Bunu sağlamak için servoların açılarını ve özellikle pid değerlerini ayarlamamızda fayda var.

Yukarıda servo alt ve üst limit açıları ve frekansı default olarak ayarlıdır. Bunu isterseniz değiştirebilirsiniz.

 

Son olarak pan-tilt mekanizmasının stabil çalışması için yukarıdaki menüden p ve d yani orantı ve türev değerlerini değiştirerek mekanizmayı en stabil hale getirmeye çalışın.

 Pixy hello world ve pan-tilt uygulaması ile ilgili kısa bir video:

Kaynak: http://charmedlabs.com/default/pixy-cmucam5/

 

Bunlar da İlgini Çekebilir
Cevap bırakın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

2 Yorum
  1. Eser

    İki sorum var:
    1.si kameraya 2 tane farklı renkte cisim tanıtmış olsak ve kamera iki farklı cismi de görüyor olsa o zaman pantilt hangi cisme odaklanır?
    2. Si kamera cismi kaybettiğinde pantilt cismi kaybettiği odakta öylece kalıyormu yoksa pantilt in gittiği bir home konumu varmı?
    Bu iki soru için arduino ile kameraya veri göndererek istediğimiz seçimleri yapmasını sağlayabiliyormuyuz? Bunun için bir kütüphane var mı?

  2. Muhammed

    Gerçekten çok faydalı bir paylaşım olmuş teşekkürler