Otopilot Akıllı Robot Projesi Raporu

 

Bu yazımızla yaklaşık 1yıl önce başladığımız OtoPilot akıllı robot projemizi tamamlıyoruz. Son makale olarak bu süreç boyunca yaşadığımız zorluklar, kazandığımız tecrübeler ve elde ettiğimiz sonuçlar hakkında bir yazı hazırlamak istedik.

1 yıldır, yaşadığımız tecrübeleri yazı dizisi olarak yayınlamaktayız. İlk makalelerimizden bugünkü makalelerimize bakacak olursak çok fazla değişiklik olduğunu fark edeceksiniz.  Bu alanda proje yapmak isteyen ve makalelerimizden yararlanmak isteyen arkadaşlar mutlaka bütün yazıları okumalıdır. Çünkü bir yazıda bize doğru gelen bir şey başka bir yazıda güncellenmiş, yenilenmiş olabilir.

Yazılarımızı proje ile eş zamanlı yazdığımız için nasıl tecrübeler edindiysek onları paylaşmaya çalıştık. Umarız faydalı olabilmişizdir.

Bu makaleyi bitirme arkadaşım Bilgin SEÇKİN ve kendi adıma yazıyorum.

 

 

 

[…]

Yazan |1 Kasım 2012, Perşembe|OtoPilot Projesi|11 Yorum|

Otonom Hareket

 

 Bu yazıda projenin son hali ve otopilot hareket için yazılan          algoritmalar açıklanacaktır.

DOSYALAR

              * main.cpp

              * oto_pilot.h

             *data.h

 

[…]

3) [Soket Programlama]-TCP Video Aktarımı- Nesne Takibi

Bilgisayarımızın web kamerasından aldığımız görüntüleri soket programlama kullanarak ortak ağdaki soketlere aktarımın nasıl yapıldığını aktaracağız. Bunun için OpenCv kütüphanelerini kullanmak yükümüzü epey azaltacaktır.

Önceki paylaşımlarda soket oluşturup haberleştirme konularına değinildiği için bu yazıda soket nasıl oluşturulur, veri nasıl gönderilir – yakalanır konularına tekrar girmeye gerek yok. Ağırlıklı olarak

c/c++ programlamada  thread -mutex yapısını kullanabilme

– frame yapısını soketler üzerinden aktarmak ve geri oluşturabilmek

– uzak ağdan seçilen nesnenin takibi üzerinde duracağız.

 

[…]

2) [Soket Programlama]- TCP Data Aktarımı

 

 

Bu yazıda TCP soket oluşturmayı, server-client bağlantısı oluşturup beagleboard a nasıl wifi ile  veri   aktarımı sağlandığını açıklayacağız.

 

 

 

 

[…]

Şase Güncellemesi-Hareketli Sensör Sistemi

GÖRÜNÜŞ

Önceki yazımızda şase üzerine yerleştirdiğimiz sensörleri ve bazı donanımları paylaşmıştık. Sonrasında yaptığımız testlerde ön tarafında tam ortaya koyduğumuz sensör  tüm engelleri tanımlayamıyordu.

Ortaya değilde sağ köşeye ve sol köşeye yerleştirelim dedik. Fakat bu sefer de tam ortadaki egelleri düzgün tanımlayamadık. Peki ortaya, sağa ve sola olmak üzere 3 adet koysak diye düşünürken aracı yan taraflarını da kontrol edip, dönüşlerde bir yere toslamamamız gerektiğini farkettik.

Sonunda da bu yazıda anlatacağımız hem ön tarafı hemde yan tarafı belirli bir mantık çerçevesinde kontrol edeceğimiz sistem tasarlandı.  Tasarımın ayrıntıları şu şekildedir:

[…]

GPS Modülü İle Konum Belirleme


 

Bu yazımızda GPS nedir? GPS ile nasıl konum belirlenir? sorularına cevap vermeye çalışacak, Stellaris üzerinde GPS modülümüz üzerinden verileri okuyacak ve yorumlayacağız. Anlık konum bilgilerimizi hesaplayacağız. Konum bilgilerimizi UART haberleşmesi yardımıyla alıp(UART0), yine aynı haberleştirme protokolü ile ekrana verilerimizi basacağız.(UART1)

 

 

 

 

[…]

Magnetometre İle Yön Tayini

 

 

Bu yazımızda Magnetometre kullanarak aracımızın yönünü tespit edeceğiz ve bu işlemi Stellaris LM3S811 üzerinde gerçekleştireceğiz. Modül arasındaki haberleşme protokolleri ise I2C ve UART üzerinden olacaktır. Bu uygulama ile birlikte aracımızın nereye baktığını bulabilecek ve böylelikle hedef konuma göre yönünü ne tarafa çevirmesi gerektiğini yorumlayabileceğiz.

 

 

 

 

[…]

Stellaris LM3S811 – Araç Kontrol Uygulaması

Aracın hareket fonksiyonlarını yürütecek , önde ve arkada engel ve çukurlar denetleyecek sensörlerin kontrolünü yapacak olan ilk somut uygulamamızı STELLARİS LM3S811 ile gerçekleştirdik.Bu paylaşımda sırası ile :

* Pololu Dual MC33926 motor sürücüsü kullanımı

*PWM ile motor sürme

*Seri Port haberleşmesi ile hareket fonksiyonlarını birleştirme

* ADC yapılarak engel ve çukurların tespiti

hakkında uygulamalar paylaşacağız.

 

    […]

Stellaris-LM3S811 – İlk Uygulamalar

 

Bitirme projemiz kapsamında sensör girdilerini okumak ve motor sürmek için LM3S811 serisini kullanmaya karar verdik. Bu yazımızda uKeil üzerinde proje oluşturmayı ve kiti kullanmayı öğrenmek açısından bir kaç temel uygulama yazacağız.

Bu yazı kapsamında;

* uKeil ile yeni proje oluşturabilme,

* Led kontrol edebilme,

* LCD ekranı kontrol edebilme,

* UART üzerinden haberleşebilme uygulamalarını gerçekleştireceğiz.

 

 

 

 

[…]

OpenCV Görüntü Takibi – İkinci Uygulama

Bu yazımızda kamera üzerinde tıklanan noktaların takibi üzerine yaptığımız ikinci uygulamayı paylaşacağız.

Bu uygulama kapsamında;

* Bir objenin nasıl takip edilebileceği,

* Obje takibi konusunda hangi OpenCV fonksiyonlarının kullanılabileceği

konularında bilgi verilecektir.

 

 

 

 

[…]