You are on page 1of 38

T.C.

İSTANBUL ÜNİVERSİTESİ-CERRAHPAŞA
MÜHENDİSLİK FAKÜLTESİ

BİTİRME PROJESİ

İHA DESTEKLİ İKA

ELEKTRONİK ANA BİLİM DALI

HEDİYE YAĞMUR ÇİFTÇİ 1316150014


BERKAN BOSTANCI 1316140063

DANIŞMAN
Prof. Dr. Fırat KAÇAR

Mayıs, 2019

İSTANBUL
ÖNSÖZ

İleri teknoloji uygulamaları askeri uygulamalar etrafında yoğun bir gelişim


göstermektedir. Bu gelişim otonom araçlar ve uygulamaları olarak gözükmektedir. İnsansız
hava araçları ve insansız kara araçları günümüzde çok önemli bir askeri ve sivil güç
oluşturmaktadır. Arama kurtarma faaliyetlerinden düşman tespitine kadar, hiçbir sivilin canını
tehlikeye atmadan kolay bir şekilde uygulamaları gerçekleşmektedir.
Bu lisans tezinde, İHA ve İKA teknolojisi alanında çalışmalar yürütülmüş olup “İHA
destekli İKA incelemesi ve uygulaması” konusu ele alınmıştır.
Öncelikle tez konumuzu seçerken isteklerimizi göz önünde bulundurup bize yardımcı
olan, tez yazma süresi boyunca eksiklerimizi düzelten ve eğitim hayatımızda bize birçok bilgi
edindiren tez danışmanımız Sayın Prof. Dr. Fırat KAÇAR hocamıza ve lisans eğitimiz boyunca
bizden desteklerini esirgemeyen bölüm hocalarımıza teşekkürlerimizi sunarız. Tüm eğitim
öğretim hayatımız boyunca bizden maddi manevi desteklerini hiçbir zaman eksik etmeyen
ailelerimize teşekkürlerimizi bir borç biliriz.

Mayıs 2019 Hediye Yağmur ÇİFTÇİ (yagmurciftciiu@gmail.com)


Berkan BOSTANCI (bostanciberkan@gmail.com)

i
İçindekiler Sayfa No
ÖNSÖZ ............................................................................................................................. i
İÇİNDEKİLER ............................................................................................................... ii
1. GİRİŞ .......................................................................................................................... 1
2. GENEL KISIMLAR .................................................................................................. 2
3. MATERYAL VE YÖNTEM..................................................................................... 3
3.1 OTONOM KARA ARACININ TEMEL PARÇALARI ........................... 3
3.1.1 L298N Çift Motor Sürücü Kartı ............................................................ 3
3.1.2 Arduino Uno Geliştirme Kartı ............................................................... 3
3.1.3 Motor Tekerlek Seti ............................................................................... 4
3.1.4 Devre Tasarımın Oluşturulması ............................................................ 5
3.1.5 Yazılım .................................................................................................. 6
3.2 QUADROTOR’UN TEMEL PARÇALARI ................................................ 6
3.2.1 Şase ....................................................................................................... 6
3.2.2 Kontrol Kartı ........................................................................................ 9
3.2.3 Motor ve Pervane................................................................................ 11
3.2.4 Motor Sürücüsü(ESC) ....................................................................... 12
3.2.5 Batarya (Pil)........................................................................................ 13
3.2.6 Kumanda + Receiver .......................................................................... 13
3.2.7 GPS ..................................................................................................... 15
3.2.8 Telemetre ............................................................................................ 16
3.2.9 Apm Planner 2 .................................................................................... 16
3.2.10 Quadcopter’ın Devre Şeması ............................................................ 17
3.2.11 Raspberry Pi ..................................................................................... 18
3.2.12 Raspberry Pi Kamera Modülü.......................................................... 18
3.3 QUADROTORUN HAREKET MEKANİZMASI ................................... 19
3.3.1 DİKEY HAREKET ....................................................................................................... 19
3.3.2 YALPALAMA HAREKETİ (ROLL) ........................................................... 20
3.3.3 YUNUSLAMA HAREKETİ (PİTCH) .......................................................... 20
3.3.4 Sapma Hareketi (Yaw) ........................................................................ 21
3.4 GÖRÜNTÜ İŞLEME BİRİMİ ................................................................... 22
3.4.1 Python .................................................................................................. 22
3.4.2 OpenCV ............................................................................................... 22
3.5 RASPBERRY PI’YE UZAKTAN BAĞLANTI ....................................... 23

ii
4. BULGULAR ............................................................................................................. 24
5. TARTIŞMA VE SONUÇ ......................................................................................... 25
KAYNAKLAR .............................................................................................................. 26
EKLER .......................................................................................................................... 27
SEMBOLLER VE KISALTMALAR LİSTESİ ............................................... 27
OTONOM KARA ARACININ KODLARI ...................................................... 28
LABİRENT ÇÖZÜMÜNÜN KODLARI ......................................................... 30
RASPBERRY Pİ’DE OPEN CV KURULUMU .............................................. 31

ii
i
1. GİRİŞ

İHA, İnsansız Hava Aracı'nın kısa adıdır. İngilizce karşılığı, Unmanned Air Vehicle
(UAV)’dir. İnsansız hava aracı (İHA) hava akımı ve itici kuvvetlerinden yararlanarak uçabilen
yerden kumanda edilen (RC-Radio Controlled veya Remote Controlled, uzaktan kumandalı) ya
da otonom yani belli bir uçuş planı üzerinden otomatik hareket eden, uçuş için içerisinde bir
pilota ihtiyaç duymayan hava aracı tipidir.

Helikopterlerin multikopterlerden en büyük farkı; helikopterler yatış manevraları ve


kendi ekseninde dönme hareketini servo motorlar kullanarak tamamen mekanik bir prensiple
yapmaktadır. Multikopterlar ise bu hareketleri farklı motorların devirlerini değiştirerek
gerçekleştirebilir. Kumandadan gelen hareket yönüne karşılık olarak motorların devirlerini
değiştirme işini tamamen kontrol kartı üstlenir.
Havadan görüntülemelerde helikopter gideri ve pilot maliyeti olmadığı için giderlerini
yarı yarıya düşüren ve can kaybı riskini azaltıp askeri kontrol mekanizmalarını kolaylaştıran
insansız hava araçları Dünya’da başta askeri olmak üzere birçok iş için kullanılmaktadır.
İnsansız kara aracı (İKA) yani Otonom araçlar içerisinde bulundurdukları otomatik
kontrol sistemleri sayesinde bir sürücüye ihtiyaç duymadan yolu, trafik akışını ve çevresini
algılayarak sürücünün müdahalesi olmadan seyir halinde gidebilen araçlardır. Otonom araçlar
radar, lidar, GPS, odometri, bilgisayar görüşü gibi teknolojiler ve teknikler kullanarak
çevresindeki nesneleri algılayabilmektedir.

Bu projede yer istasyonundan havalanan insansız hava aracı (projede sözü geçen araç
quadcopterdır) ilgili bölgeye giderek, havadan görüntü alarak haritalama yapar. Elde ettiği
veriler ışığında en uygun rota hesaplanmaya çalışılır. Bizim için en uygun rota minimum sürede
labirenti tamamlayacak yol bilgisidir. Hesaplanan rota insansız kara aracına gönderilir.
Aracımız elindeki veriler ışığında otonom bir şekilde alandan çıkmaya çalışır.

1
2. GENEL KISIMLAR

İnsansız hava araçları; sabit kanatlı ve pervaneli olmak üzere 2’ye ayrılır. Pervaneli
insansız hava araçlarına drone da denmektedir. Uzaktan kontrol edebilen ve belli bir uçuş planı
üzerinde otomatik hareket edebilen araçlardır. Savunma alanında daha iyi istihbarat ve daha iyi
arazi kontrolü yapabilmek adına birçok İHA modeli geliştirilmiştir.
Bu projede yer alan Quadcopter 4 rotora sahip ve 3 eksen (X, Y, Z) üzerinde 9 serbestlik
derecesine sahiptir. İlk defa drone yaptığımız için koyacağımız malzemelerin ağırlık
merkezlerinin yerlerinin farkından oluşabilecek dengesizliğinden fazla etkilenmemek adına X
tipi drone şasesi kullandık. Böylece çeviklik ve hız açısından olumlu etkiler
gözlemleyebileceğiz. Şase üzerindeki güç kartına esc ve motorların bağlantılarını
gerçekleştirdikten sonra bağlantılarımızın kontrolü için kısa devre testi yaptık. Herhangi bir
problem ile karşılaşmadığımızdan ötürü esclerin kullandığımız kontrol kartı olan arducoptera
bağlantılarını gerçekleştirdik. Arducopter içerisinde ivmeölçer, jiroskop sensörü, manyetometre
sensörü (pusula), barometrik basınç sensörü gibi drone’un etkili bir şekilde uçması için gerekli
sensörler yer alır. Arducopter içersinde gps olmadığından harici bir gps bağladık. Drone’umuzu
uzaktan kablosuz bir şekilde kullanabilmek ve daha sonraki evrelerde görüntüişleme ve kara
aracına sinyal yollamak için en az 6 kanala sahip kumandaya ihtiyacımız vardır. Kumandanın
alıcısının düzgün çalışıp çalışmadığını kontrol etmek için esc motorlarını teker teker takıp
kumandadan sinyal yolladık. Herhangi bir problemle karşılaşmadıktan sonra alıcı ile
arducopterı arasındaki bağlantı yapıldı. Ekipmanlarımızın monte ettikten sonra drone’un
düzgün uçabilmesi için gerekli kalibrasyon işlemlerini yapabilmek için iha ile bilgisayar
arasındaki bağlantıyı usb kablosu ile gerçekleştirdik. İlerleyen zamanlarda bilgisayar ile drone
arasında bağlantıyı kablosuz bir şekilde gerçekleştirmek için telemetre kullanılacaktır.
İha sistemi; yer kontrol istasyonu ve araçolmak üzere ikiye ayrılır. Drone’a temel uçma
işlemini yapabilmesi gerekli olan materyalleri takıldıktan sonra apm yazılımı ile elektronik
cihazların kalibrasyon işlemlerini yapıldı. Apm programında uygun olan drone iskeleti
seçilerek takılı ekipmanlar seçilir, kullanılan kumandanın modu ayarlanılır. Gps’in
kalibrasyonunun yapılabilmesi açık alana çıkarılması gereklidir. Kalibrasyon işleminin düzgün
yapılası son derece önemlidir. Çünkü düzgün kalibrasyonu yapılmamış olan sensörü drone
algılayamayacağından drone motorlara sinyal yollamayacaktır. Bu nedenle havalanmayacaktır.

Quadcopter üzerinde bulunan raspberry pi kamera modülü ile labirentin net bir şekilde
fotoğrafı çekilecektir. Çekilen fotoğraf raspberry pi içerisinde bulunan pyhton programlama
dilinin bir kütüphanesi olan opencv işlenerek çıkışa giden en kısa rota bulunacaktır. Rasperry
pi’ye uzaktan erişerek otonom kara aracı için rota bilgisi anlamlı hale getirilerek kara aracına
iletilecek. Böylece labirent içerisinde engellerden kaçınılmış ve daha kısa zamanda hedefe
ulaşılmış olunacaktır.

2
3. MATERYAL VE YÖNTEM

Projemizde insansız hava aracı (quadcopter) ve otonom kara aracı yapılacaktır.


Kullanılacaklar malzemelerin ve içerikleri ilgili bölümlerde açıklanmıştır.
3.1 OTONOM KARA ARACININ TEMEL PARÇALARI
1) Şase
2) L298N Çift motor sürücükartı
3) Kontrol kartı
4) Dc motor
5) Robot tekerleği
6) Kontrol kartı
7) Batarya

3.1.1 L298N Çift Motor SürücüKartı

L298N motor sürücüdevresi (Şekil 3.1) aracılığı ile iki ayrı DC motor kontrol edilebilir.
Çalışma prensipleri çok basittir. Motoru besleyeceğimiz gerilim entegrenin VCC bacağına
bağlanır. GND bacağı ise toprak hattına bağlanır. Motor A ve Motor B bacaklarından DC motor
bağlantıları yapılır.IN1 ve IN2 bacaklarından mantıksal “0” veya “1” uygulanarak motorun
hareket yönü belirlenir. Aynı işlem diğer motor için IN3 ve IN4 bacaklarından yapılır. ENA
bacağına 0V ile 5V arası gerilim uygulanarak motorun hızı belirlenebilir. Aynı işlem diğer
motor için ENB bacağından gerçekleştirilir.

Şekil 3.1: L298N Motor Sürücü Devresi

3.1.2 ARDUİNO UNO GELİŞTİRME KARTI

Arduino Uno (Şekil 3.3) ATmega 328 tabanlı bir mikroişlemci geliştirme kartıdır. Kart,
14 adet dijital giriş/çıkış bağlantısına (bunların 6 tanesi PWM çıkışı olarak
kullanılabilmektedir), 6 analog girişe, 16 Mhz kristal osilatöre, USB bağlantısına, güç
bağlantısına, ICSP bağlantısına ve reset tuşuna sahiptir. Bilgisayar ile USB portu üzerinden
bağlanması kartın çalışması için yeterlidir. Buna ilaveten pil ya da adaptör ile de
kullanılabilmektedir.

3
Arduino geliştirme kartı üzerindeki mikroişlemci (AtmegaXX) Arduino programlama
dili ile programlanır ve bu program Processing tabanlı Arduino Yazılım Geliştirme Ortamı (IDE)
yardımı ile karta yüklenir.

Şekil 3.3: Arduino Uno ve geliştirme ortamı

3.1.3 Motor Tekerlek Seti

6V gerilim ile çalışan ve 250 RPM hıza ulaşabilen DC motor ile çalışır (Şekil 3.4).
Basit uygulamalarda ve projelerde kullanılmak üzere tekerlek ile set halinde olarak
hazırlanmıştır. İki yönlü dönebilirler kullanılışı çok basittir verilen potansiyel farka göre hız
üretirler.

Şekil 3.4: DC motor ve tekerlek seti

4
3.1.4 Devre Tasarımının Oluşturulması

Devre simülasyonu (Şekil 3.5) Proteus programı ile oluşturulmuştur. Böylece devreyi
somut olarak gerçekleştirmeden önceden olası bir istenmeyen durumun malzemelere zarar
vermeden önce gözlemlenebilmiştir. Böylece elektronik tabanlı projelerde prototipten üretime
geçerken üretim maliyetlerini azaltıp ortaya çıkabilecek fiziksel sorunları en aza indirebiliriz.
Proteus açık kaynaklı bir programdır. Çoğu işletim sistemi bu programı
desteklemektedir.
Malzemelerin açıklamalarındaki bilgiler ışığında şekildeki gibi bir devre şeması
oluşturulmuştur.

Şekil 3.5: Proteus ortamında araba devresinin çizimi

5
3.1.5 Yazılım

Motor uygulanan gerilim ile iki yönlü dönme sağlayabilir. Aracımıza yön verme
işlemini bu şekilde yapacağız. Motorlar ileri yönlü dönme yaptığında ileri, motorlar geri yönlü
döndüğünde araç geri hareketi yapacaktır. Aracın sağa dönmesi için sağ motor geri sol motor
ileri dönmeli bu şekilde aracın sağa dönmesi sağlanır. Aracın sola dönmesi için ise sağ dönme
hareketinin tersi sol motor geri sağ motor ileri dönmelidir. Bu dönme hareketlerine araç motor
sürücüden aldığı logic 0’lar ve 1’ler sayesinde yapar.
Opencv ortamında labirentin çözümün çıktısı şekildeki gibi olacaktır. Labirentin gerçek
en ve boy uzunluğu ve otonom kara aracının hızı bilindiğinden Yol=Hız*Zaman formülünden
otonom kara aracımızın kodlarını zamana göre değiştirerek oluşturduk. Araç için gerekli
yazılımlar arduino ide ortamında hazırlanmış olup, kodun tamamı ek-2’dedir.

Şekil 3.6 Labirent Devresi Şekil 3.7 Labirent Devresinin Çözümü

3.2 QUADROTOR’UN TEMEL PARÇALARI

1) Şase
2) Kontrol kartı
3) Motor ve Pervane
4) Motor sürücüsü(ESC)
5) Batarya
6) Kumanda
7) GPS
8) Telemetre

3.2.1 Şase

Şase, multikopter’in iskeletidir, genellikle karbon fiber ve alüminyum malzemeler


tercih edilerek üretilmektedir. Şase tercihinde dikkat edilmesi gereken konular, devre koruması
mevcut olup olmaması, iniş takımının yerden yüksekliği ve yeri kavraması, kolların titreşim
oluşturmayacak şekilde üretilmiş olması, eksenlerde eğrilik ve kayıklık olmaması, batarya
sabitlenecek kısmın belirli ve bataryanın kaymayacağı şekilde sabit olmasıdır.

6
BOYUTLAR
130-280 boyutları arası en çok kullanılan boyutlardır. Aşağıdaki görselde A-B harfleri
arasında ki uzaklık şasenin sınıfını belirler. Milimetre cinsinden telaffuz edilir. Yani A-B arası
250mm ise 250 sınıfı bir multikopteriniz vardır (Şekil 3.6).

Şekil 3.8: 250 Sınıfı Multikopter [3]


Diğer bir yöntem ise motorların oluşturduğu çemberin çapının milimetre cinsinden
okunuşu multikopterimizin sınıfını belirtir. (Şekil 3.7)

Şekil 3.9: Drone Boyutu Belirleme (Çember Metodu) [3]

7
FİZİKSEL GÖRÜNÜŞE GÖRE ŞASE TİPLERİ
Temel olarak X ve H olarak ikiye ayrılır:

Şekil 3.10: H Tipi Şase [3] Şekil 3.11: X Tipi şase


[2] H TİPİ ŞASELER;
Artılar;
✓ Multikopterimizi oluşturan elementleri yerleştirmek açısından faydalı, bol bol yer var.
✓ Üstüne kayıt kamerası ve pil koymak için yeterli alan olur genelde.
✓ Çarpmalarda fc,pdb vb içine yerleştirdiğimiz malzemeler daha korunaklı halde olurlar.
Eksiler;
o Rüzgar ile temas yüzeyi fazla olduğundan, sürtünme katsayısı fazladır.
o Ağırlık merkezi (COG – Center Of Gravity)’nin dengesini kurmak birazcık daha
zordur.
X TİPİ ŞASELER;
Avantajlar;
✓ Ağırlık merkezi ortada olur.
✓ Fiziki yapısı itibari ile çeviklik ve hız açısından olumlu etkisi vardır.
Dezavantajlar;
o Malzemelerin yerleşeceği alan çok dar ve küçüktür. (İlk kez multikopter toplayacak
arkadaşlar zorlanabilir.)
o Pili ve kayıt kamerasına yer bulmak mesele haline gelebilir.
Projemizde F450 X tipi şase kullanılmıştır.

8
3.2.2 Kontrol Kartı

Bu birim sistemin beynidir ve tüm dengede kalma, kumanda verisi okuma, batarya
kontrolü gibi kritik işlemler bu birim sayesinde gerçekleştirilmektedir. Bu kapsamda sistem
üzerindeki en kritik parçadır. Temel görevi denetim birimi ve algılayıcılardan gelen bilgiyi alma,
işleme ve gerekli şekilde çıkışa aktarmaktır.
Kontrol kartları, yine multikopterin kullanım amacına göre farklı özelliklerde ve farklı
sensörlere sahip olabilmektedir. Bir kontrol kartının olmazsa olmazı jiroskop sensörüdür.

Bunun yanında ivmeölçer barındıran kartlar otomatik denge yeteneğine de sahip olur.
Barometre sensörü bulunduran kartlar kullanılırsa, drone’un sabit bir irtifada kalabilmesi
sağlanır. İleri seviye kartlarda GPS bulunur ve bu sayede drone, bilgisayarda harita üzerinde
belirlenen rotaya bağlı kalarak otonom uçuş gerçekleştirebilir, kumanda ile uçulduğunda menzil
aşılma durumunda kalkış yaptığı yere geri dönebilir (return to home).

Şekil 3.12: Ardupilot (Uçuş Kontrol Kartı) [1]

9
ARDUCOPTER

APM 2.6 açık kaynaklı bir otopilot sistemidir (Şekil 3.10). Uçak, helikopter, multikopter
veya tekerlekli araçları tam otonom çalışmasını sağlar. Özellikle multikopterler için çok güçlü
bir kontrolcüdür. Kartın bu sürümü dâhili bir pusulaya sahip değildir. Manyetik alandan
etkilenen kolayca etkilenen pusulanın harici olarak bağlanması sayesinde, manyetik alanın
dışına monte edilebilir bir hal almıştır. Özellikle multikopter tasarımları için bu özellik çok
hayati bir önem arz etmektedir. APM 2.6 modülüne güçbağlantısı yaptıktan sonra herhangi bir
modül bağlayıp çıkarmayınız aksi takdirde kart içinde dahili olarak bulunan regülatör
yanabilmektedir ve bu hata garanti kapsamı dışındadır.
Özellikler:

➢ Arduino tabanlıdır ama raspberry pi ile de kullanılabilir.


➢ Tamamen açık kaynak kodlu, uçak, multikopter (quadcopter, tricopter, hexacopter vb.),
helikopter ve kara araçlarını destekler
➢ Kolay kullanımlı yer istasyonu ve firmware yükleme yazılımları
➢ İki yönlü telemetri desteği
➢ Otonom kalkış, iniş ve özel komutlar
➢ Otomatik veri kaydı için dahili 4 megabyte Dataflash
➢ 6-DOF MPU6000 ivmeölçer/jiroskop sensörü
➢ 3-DOF HMC5883L-TR manyetometre sensörü(pusula)
➢ MS5611-01BA03 barometrik basınç sensörü (irtifa sabitlemek için)
➢ Harici GPS bağlantısı destekler

10
3.2.3 Motor ve Pervane

Motor seçiminde motorun itiş gücü önemli bir faktördür. Seçilen motorun itiş gücüne
karar verebilmek için bilinmesi gereken en önemli husus bitmiş haldeki multikopterin, uçuş
sırasındaki toplam ağırlığının ne kadar olacağıdır. Gövde, pervaneler, piller, kartlar, ESC ‘ler,
kablolar, motorlar, eğer varsa FPV donanımları dâhil uçuş sırasındaki toplam ağırlık, AUW
(All-Up-Weight) olarak adlandırılır.

Kullanılan pervaneler seçilirken, motorlar arası uzaklığa dikkat edilmelidir çünkü


pervanelerin uçları birbirine çarpabilir. Motor tek başına değil, seçilen pervane ile beraber itiş
sağlamaktadır.

AUW (toplam ağırlık) hesaplandıktan sonra gerekli itiş gücü hesaplanır. Multikopter‘ler
uçaklar gibi kanatların taşıması sonucu değil saf olarak pervanelerin itişi sayesinde
havalanabilirler. Eğer itiş gücü, multikopter ’in ağırlığına eşit olursa multikopter havalanamaz
ya da sadece olduğu yerde durur. Multikopter ’in havalanabilmesi için yerçekimini yenebilmesi
ve bunun üstüne hala itiş kuvveti uygulayabiliyor olması gerekmektedir.
Motor seçiminde fırçasız DC motor tercih edilir. Bu alanda kullanılmalarının ana
sebeplerinden biri diğer motorlara göre yüksek performans sergilemeleridir. Fırçasız motorların
(Şekil 3.11) diğer motorlara göre daha sessiz çalışma, elektriksel gürültü oluşturmama, daha
kolay bakım, daha uzun ömür, daha hızlı çalışma ve daha güçlü torklara sahip olma gibi
avantajları vardır.

Fırçasız motorlar diğer DC motorlar gibi direk bataryaya bağlanarak çalıştırılamazlar.


Böyle bir yanlışlığın yapılması motorun yanmasına neden olur. Bu sebepten fırçasız motorların
çalıştırılabilmesi için ESC ’lere ihtiyaç duyulur.

Şekil 3.13: Kullanılan A2212 Fırçasız Dc Motor Modeli

Motorları önerilen pervane seçimi ile birlikte kullanmak verimi yükseltmektedir.


Quadrotor ‘larda 2 tip pervane kullanılır:

➢ Saat yönüdönen (clockwise)


➢ Saat yönütersi dönen (counter clockwise)

11
Şekil 3.12’de görüldüğü gibi quadcopterlarda 2 farklı dönüş yönüne sahip pervane
kullanılır. Bunun sebebi gövde üzerinde oluşabilecek anti tork etkisini yok etmektir.
Motorların 2 farklı yöne düzgünce dönebilmesi için hem pervane yönleri hem de esc-
motor bağlantılarının ters olması gerekmektedir.

Şekil 3.14: Pervane Dönüş Yönleri [11]

3.2.4 Motor Sürücüsü(ESC)

Fırçalı ve fırçasız motorların hızını ayarlayan, hız kontrol ünitesidir. Diğer bir ifade ile
pilden aldıkları elektrik enerjisini, alıcının gaz kanalından aldığı sinyal ile sürerek motorlara
ileten ve motor devrini kontrol eden hız kontrolcüleridir. Motor fazla akım çektiğinde motorun
yanmaması için akımı keserek motoru durdurur. Bir diğer önemli görevi ise pil belli bir voltajın
altına düştüğünde motora giden akımı keserek pilin tehlikeli sınırın altında boşalmasını
önlemektir. En önemli seçim ESC’nin amperine bağlı olarak değişir. ESC maksimum amperi
verebilmeli, hatta biraz daha üstünü de verebilmeli ama daha fazlasına izin vermemelidir.
Örneğin motor 20 saniye süreyle 35A akım çekmeye dayanıyorsa ESC’yi 40A seçmek yeterli
olacaktır.
ESC’lerin birbirinin aynısı olması denge açısından çok önemlidir. ESC 'lerin yazılımı
SimonK/BLHeli bile olsa, ESC’lerin PCB ve FET’lerin farklı olması, ESC’lerin birbirinden
farklı davranmasına yol açar. ESC 'ler, SimonK/BLHeli yazılımının sürümü de dâhil olmak
üzere tamamı ile birbirinin aynısı olmalıdır. İstatistik olarak en çok kazaya sebep veren parçadır,
bu sebeple yüksek kaliteli ve önerilen ürünlerin kullanılması önemlidir.

Şekil 3.15: Kullanılan 30A’lik ESC Modeli


12
3.2.5 Batarya (Pil)

Quadrotor’larda kullanılan fırçasız motorların devir hızları 10000 rpm (Revolutions per
minute – 1 dakika içerisinde gerçekleştirilen dönüş/devir sayısı) civarlarında olmaktadır.
Yüksek rpm sebebiyle fırçasız motorlar yüksek akım veren ve yüksek kapasiteye sahip pillere
ihtiyaçduymaktadırlar. Li-po (lityum-polimer) piller yüksek akım ve yüksek kapasite ihtiyacını
en yüksek verimde karşılayan besleme kaynaklarıdır.
Pilin kapasitesi ve ağırlığı doğru oranda artmaktadır. Çok ağır pil model uçak
kanatlarının taşımayacağı kadar ağır olabilir. Pilin voltajı, motorun özelliklerine göre ve
istenilen devire göre ayarlanır.

Kullanılan pervanenin belirlenen voltaja uygun olması gerekir. Genellikle tercih edilen
11.V = 3S (Şekil 3.14) lipolardır. Amperi ise model uçağın taşıyabileceği, güvenli uçabileceği
ağırlığı geçmeyecek büyüklükte seçilir.

Pilde dikkat edilmesi gereken değer “C” değeridir. Lipoların üzerinde 15C, 20C, 30C
gibi değerler vardır. Bu C değerini pilin amperi ile çarpıldığında liponun anlık olarak
verebileceği amper değeri ortaya çıkar. Örneğin 2200mA 20C lipo (2200×20=44,000) 44A
akım verir. Motor maksimum 35A çekiyorsa, ESC 40A ise bu 44A verebilen pil uçuş sırasında
ısınmadan yeterli beslemeyi sağlayacaktır. Düşük C değerli lipolar kullanılır ise pil ısınır,
yıpranır ve çabuk bozulur.

Şekil 3.16: Kullanılan 4000 mAh 3S Li-po Pil

3.2.6 Kumanda + Receiver

Ekipmanlarını uzaktan kontrol etmek için kullanılan kablosuz bir sistemdir. Bu


sistemler kullanım alanlarına ve kullanılan frekansa göre farklılık gösterir. RC çalışma prensibi
osilatör ile yaratılan taşıyıcı frekansa data bilgisinin yüklenip paketlenmesidir (Moduled).
Kablosuz olarak gönderilip alıcı tarafından sinyal alınıp (Demoduled) ayrıştırılıp kullanılması
esasına dayanmaktadır.

Kumanda denilince bir verici (Tx) (Şekil 3.17), bir alıcı (Rx) (Şekil 3.18) akla gelmelidir.
Bu projede kullandığımız sistem Spread Spectrum olarak adlandırılan 2.4GHz

13
sistemlerdir. Bu sistemlerde verici ve alıcı birbirine kilitlenip dışarıdan gelen sinyallerden
etkilenmez.

Şekil 3.17: 2.4GHz’lik 6 Kanallı Kumanda(Verici) Şekil 3.18: Alıcı [4]

Bir drone’u uçurmak için en az 4 kanala (Thorttle,Elevator,Aileron ve Rudder ) sahip


bir hava aracı kumandası kullanılmalıdır. Kanallar Şekil 3.17’deki gibi arducopterin input
pinlerine takılır.

Şekil 3.19: Kanal bağlantıları [1]

Kullandığımız kanallar:

1- Throttle: Throttle ile uçağın motoru ile üretilen itki kuvveti kontrol edilir ki bu da uçağın daha
hızlı ya da daha yavaş gitmesine olanak sağlar.

2- Elevator: Uçağı tırmandırmak için ya da daldırması (pik yapması) için kullanılır.


Dronumuzun yukarı ve aşağı hareketini kontrol amaçlı elevators komutunu kullanırız.

3- Aileron: Aileronlar, uçağın dönme hareketini kontrol eder. Çalışma prensipleri elevatörler ile
aynıdır.

4- Rudder: Rudder’lar uçağı sağa sola yönlendirebilmek için kullanılırlar.

14
Kumandalardaki modlar temel olarak aynı işlemi yapar. Sadece mod numarası
değiştikçe sticklerin yaptığı işlerin yeri değişir. Yaygın olarak ülkemizde mode 2 kullanılır.
Kumandaki çeşitli modlardaki stick komutlarını şekil 3.20’de gösterilmiştir.

Şekil 3.20: Kumanda Mod’ları [6]

3.2.7 GPS

GPS (Şekil 3.21) alıcısı ile multikopter dünya üzerinde bulunduğu enlem boylam
bilgisini alır ve bu sayede belli bir enlem boylamda sabitleme yapılabilir. İstenilen
koordinatlarda (waypoint) uçması sağlanabilir veya bulunduğu noktadan ilk kalkış yaptığı
yere geri dönmesi sağlanabilir (return to home özelliği). Gps bağlantısı arducopter üzerinde
kendine ait pini vardır. Gps, arducopter içindeki sensörlerin mayetik alanlarından
etkilenmemek için genellikle bir çubuk ile daha yüksek bir yere sabitlenir. Gps monte edilirken
dikkat edilmesi bir gereken husus ise gps ile arducopter ve dronun önü aynı yöne bakmalıdır.

Şekil 3.21: GPS Modülü

15
3.2.8 Telemetre

Telemetre (Şekil 3.22), herhangi bir sistemin ulaşılamayan bir kısmının uzaktan kablolu
veya kablosuz olarak izlenmesi veya kontrol edilmesidir. Telemetre kelimesi Yunanca ’dan
türetilmiştir. Tele: Uzak ve Metron: Ölçü kelimelerinden oluşmaktadır. Bir telemetre sensörü,
bir iletim yolu, görüntü, kayıt veya kontrol aygıtından oluşur. Bir aygıtı yer istasyonuna
(bilgisayar) diğer ucu ise arducoptera takılır.

Şekil 3.22: Telemetre ground modülü Şekil 3.23: Drona takılan telemetre modülü

Tablo 1 Telemetre sinyal tablosu

3.2.9 APM PLANNER 2

Arducopterı yapılandırmak ve kalibre etmek için kullanılan bir yazılımdır. Apm


cihazınızı(arducopter) usb aracılığıyla bilgisayara bağlayıp yazılım açılır. İlk önce drone’un
model tipi seçilir. Daha sonra drone’a eklediğimiz ek sensörlerin ya da ardupilot içerisinde yer
alan sensörlerin kalibrasyon işlemi yapılır. Tüm ayarlamaları doğru yaptıktan sonra flight data
sekmesinin sağ tarafında gps drone’unuzun yerini görebilirsiniz. GPS ile ihanızın konumunu
anlık olarak görüntüleyebilir ve uçuş sırasında görev tanımlayabilirsiniz. Şekil 3.23’de
dronumuzun konumu apm programı üzerinde gösterilmektedir

16
Şekil 3.24: Apm planner ekran görüntüsü

3.2.10 Quadcopter’ın Devre Şeması

Şekil 3.25: Quadcopter bağlantı şeması [6]


Şekil 3.25’deki quadcopter devre şemasını incelyecek olursak; esc ve motor arasındaki
sarı kablo sinyali, kırmızı kablo besleme, kahverengi kablo toprağı temsil eder. Escler ve
motorlar uygun bir şekilde bağlantı edilir. Esclerden çıkan kablolar ardupilotun outputa dronun
modeline göre sırasıyla takılır. Quadcoptere’a göre; ön sağ motor 1. pine, arka sol motor 2, ön
17
sol motor 3, arka sağ motor 4 nolu pine takılır. Gps ve telemetre arducopter üzerinde kendilerine
ait pinlere takılır. Kumandanın alıcısı kanal sayısına göre ardupilotun input ucuna takılır. Güç
modülübir ucu drone’un şasesinde yer alan güç kartının artı ve eksi uçlarına lehimlenir. Güç
modülü lipo pile takılarak devremiz tamamlanmış olunur.

3.2.11 Raspberry Pi

Raspberry Pi, Birleşik Krallık’ta Raspberry Pi Vakfı tarafından okullarda bilgisayar


bilimini öğretmek amacılığıyla geliştirilmiş, kredi kartı büyüklüğünde tek kart olarak adlandırılan
bir bilgisayardır. Pi’nin başarısının en büyük kaynağı 40 dolardan daha az bir fiyata el yapımı
elektronik ürünleri oluşturma ve program yazma imkanı sağlıyor oluşudur. Şekil 3.31deki en iyi
modellerden biri olan ve projemizde kullanmış olduğumuz Raspberry Pi 3 Model B+
bulunmaktadır. ARMv6 mimarisine sahip tek çekirdek işlemciye sahiptir. 1 GB RAM, HD video
oynatma yetenekli 400 Mhz grafik bağdaştırıcısı, 802.11ac Wi-Fi, ethernet desteği, 4 adet USB 2.0
portu 26-pinli GPIO konnektörü ve kompozit video çıkışları bulunur. Dahili hafızaya sahip değil.
Hafıza gereksinimini Micro SD kart ile gerçekleştirebilirsiniz

Şekil 3.26: Raspberry Pi 3 Model B+ [14]

3.2.12 Raspberry Pi Kamera Modülü

Raspberry Pi'yi kamera modülüne takarak fotoğraf ve video çekimi yapılabilmektedir.


Kameranın üzerinde bulunduğu kartın boyutları 25x20mm olup, kamera dahil derinliği 9mm'dir.
2592 x 1944 piksel statik resim çözünürlüğü sunan kamera, video çekimlerinde ise 1080p, 720p ve
480p çözünürlüğünü desteklemektedir.
Hafif ve ufak olması ile quadcopter üzerinde denge problemine neden olmamaktadır. 5 MP
çözünürlüklükamera üzerinde sabit odaklı bir lens bulunmaktadır.Kamera modülü Raspberry Pi
üzerinde çalışan tüm işletim sistemlerini desteklemektedir.
sudo raspi-config  komutu ile kameramızı enable ediyoruz.
raspistill -o labirent.jpg  komutu ile “labirent” isimli bir jpg (resim) belgesi oluşturulur.
raspivid -o labirent.h264 -t 60000  60 saniyelik “labirent” adında video kaydı yapar.

18
3.3 QUADROTORUN HAREKET MEKANİZMASI

Quadrotor‘un 4 temel hareket yeteneği vardır;

1) Dikey Hareketi
2) Yalpalama Hareketi (Roll)
3) Yunuslama Hareketi (Pitch)
4) Sapma Hareketi (Yaw)

Şekil 3.27: Quadrotor Uçuş Eksenleri (Yaw, Pitch, Roll, Altitude) [13]

3.3.1 DİKEY HAREKETİ

İtme hareketinde hava aracı düzgün bir şekilde havalanıp irtifa kazanır, kaybeder veya
havada asılı kalır. Bütün rotorların hızları aynı miktarda değiştirilerek yerçekimi yenilip araç
irtifa kazanabilir, yerçekimi kuvveti ile eşitlenerek havada sabit kalabilir ya da toplam kaldırma
yerçekiminin altına indirilerek irtifa kaybedilebilir.

Şekil 3.28: Dikey Hareket [13]

19
3.3.2 YALPALAMA HAREKETİ (ROLL)

Yalpalama hareketinde araçXb ekseni etrafında döner. Bu hareketi elde etmek için 2.
Ve 4. rotorun hızları arasında bir fark yaratmak gerekir. Bu hız farkı rotorların kaldırma
kuvvetleri arasında bir farka neden olacaktır ve daha yavaş dönen rotorun bulunduğu taraf
ağırlık merkezinin altına doğru yönelirken, hızlı dönen rotorun tarafı yukarı eğilecektir. Eğer
bu hareket esnasında aracın dikey yönde hareket etmemesi isteniyorsa, rotorlardaki hız
değişiklikleri toplam kaldırma kuvveti değişmeyecek bir şekilde ayarlanmalıdır.

Şekil 3.29: Yalpalama Hareketi [13]

3.3.3 YUNUSLAMA HAREKETİ (PİTCH)

Yunuslama hareketinde araçYb ekseni etrafında döner. Bu hareketi elde etmek için 1.
ve 3. rotorların hızları arasında bir fark yaratmak gerekir. Bu hız farkı rotorların kaldırma
kuvvetleri arasında bir farka neden olacaktır ve daha yavaş dönen rotorun bulunduğu taraf
ağırlık merkezinin altına doğru yönelirken, hızlı dönen rotorun tarafı yukarı doğru eğilecektir.
Yalpalama hareketinde olduğu gibi, eğer bu hareket sırasında aracın dikey yönde hareket
etmemesi isteniyorsa, rotordaki hız değişiklikleri toplam kaldırma kuvveti değişmeyecek
şekilde ayarlanmalıdır.

Şekil 3.30: Yunuslama hareketi [13]

20
3.3.4 SAPMA HAREKETİ (YAW)

Sapma hareketinde araç Zb ekseni etrafında döner. Bu hareketi elde etmek için 1. ve 3.
rotorların toplam hızları ile 2. ve 4. rotorların toplam hızları arasında bir fark oluşturulmalıdır.
Bu rotor çiftleri birbirine zıt yönlerde döndükleri için, aracı zıt yönde döndürmeye çalışan
torklar üretmektedirler. Bu torklar birbirine eşit oldukları sürece araç Zb ekseni etrafında
dönmez. Eğer rotorların ürettikleri torklar T1, T2, T3 ve T4 olarak adlandırılırsa: T1 + T2 – T3
– T4 ≠ 0 olduğu sürece araç Zb ekseni etrafında dönecektir.

Şekil 3.31: Sapma Hareketi [13]

Şekil 3.32: Quadrotorun Yapacağı Harekete Göre Motorların Dönme Yönleri [13]

21
3.4 GÖRÜNTÜ İŞLEME BİRİMİ
3.4.1 Python

Yorumlanan ve dinamik bir dil olan Python, esas olarak nesne tabanlı programlama
yaklaşımlarını ve belli bir oranda da fonksiyonel programlamayı desteklemektedir. Kolay
öğrenilen bir programlama dilidir ve kodun okunulabilirliği ön plandadır. Böylece geliştirmeye
açıktır. Çok geniş devamlı gelişen kütüphanelere sahiptir. Özellikle yapay zeka işlemleri ve
örneklendirmeleri için önemli bir kriterdir. C ve C++ ile ek modüllerde yazılabilir. Ekstra
araçlarla kodu derleyip çalıştırmak da mümkündür.

Açık kaynak kod olarak İnternet’ten ücretsiz ve herhangi bir lisans sorunu yaşanmadan
indirilebilmektedir. Dolayısıyla bilimsel hesaplama derslerindeki tüm öğrenciler istedikleri her
yerde bu araçları serbestçe kullanabilmektedir.

Labirentin çözülmesi için gerekli olan kodlar ek-3’de yer almaktadır.

3.4.2 OpenCV

OpenCV (Open Source Computer Vision) açık kaynak kodlu görüntü işleme kütüphanesidir.
Open source yani açık kaynak kodlu bir kütüphanedir ve BSD lisansı ile altında geliştirilmektedir.
BSD lisansına sahip olması bu kütüphaneyi istediğiniz projede ücretsiz olarak kullanabileceğiniz
anlamına gelmektedir. OpenCV platform bağımsız bir kütüphanedir, bu sayede Windows, Linux,
FreeBSD, Android, Mac OS ve iOS platformlarında çalışabilmektedir. C++, C, Python, Java,
Matlab, EmguCV kütüphanesi aracılığıyla da Visual Basic.Net, C# ve Visual C++ dilleri ile
topluluklar tarafından geliştirilen farklı wrapperlar aracılığıyla Perl ve Ruby programlama dilleri
ile kolaylıkla OpenCV uygulamaları geliştirilebilir.

OpenCV kütüphanesi içerisinde görüntü işlemeye (image processing) ve makine


öğrenmesine (machine learning) yönelik 2500’den fazla algoritma bulunmaktadır. Bu
algoritmalar ile yüz tanıma, nesneleri ayırt etme, insan hareketlerini tespit edebilme, nesne
sınıflandırma, plaka tanıma, üç boyutlu görüntü üzerinde işlem yapabilme, görüntü karşılaştırma,
optik karakter tanımlama OCR (Optical Character Recognition) gibi işlemler rahatlıkla
yapılabilmektedir.

Rasperry Pi cihazına Open CV kurulumunu komut ekranı aracılığıyla ile yapılmaktadır. Adımlar
açıklamalarıyla ek-4’de yer almaktadır. OpenCv’de yer alan bazı özel komutlar:

● HighGui: Resim görüntüleme, pencereleri yönetme ve grafiksel kullanıcı arabirimleri için


gerekli olabilecek metotları barındırır. 3.0 öncesi sürümlerde dosya sistemi üzerinden resim
dosyası okuma ve yazma işlemlerini yerine getiren metotları barındırmaktaydı.
● Imgproc: Filtreleme operatörleri, kenar bulma, nesne belirleme, renk uzayı yönetimi, renk
yönetimi ve eşikleme gibi neredeyse tüm fonksiyonları içine alan bir pakettir. 3 ve sonra
sürümlerde bazı fonksiyonlar değişmiş olsada 2 ve 3 sürümünde de bir çok fonksiyon aynıdır.

22
● Imgcodecs: Dosya sistemi üzerinden resim ve video okuma/yazma işlemlerini yerine getiren
metotları barındırmaktadır.

3.5 RASPBERRY PI’YE UZAKTAN BAĞLANTI

Raspberry pi'ye VNC, SSH, TTL adında çeşitli uzaktan bağlantı yöntemleri vardır.
Projemizde ise en kolay yöntemlerden biri olan Şekil 3.33’deki gibi VNC’yi kullandık. VNC
(Virtual Network Computing) herhangi bir ağ sunucusu üzerinde çalışan grafik arayüz
uygulamalarına (Raspberry Pi) herhangi bir başka ağ üzerindeki bir bilgisayardan kolaylıkla ve
hızla erişerek bu uygulamaları kullanabilmemizi ve yönetmemizi sağlayan bağımsız ve açık
kaynak kodlu bir uygulamadır. Bağlantı süresince her iki ağında internete bağlı olması
gerekmektedir. Alttaki şekillerde Raspberry pi’mize bağlanarak uzaktan 60 saniyelik bir video
kaydı oluşturduk.

Şekil 3.33: Raspberry pi’ye uzak bağlantı arayüzü

23
3. BULGULAR

Şekil 4.1: Geliştirilen araçlar Şekil 4.2: Labirent


Şekil 4.1’de gösterilen quadcopterın yapımı aşamasında ilk önce F450 X tipi drone
şasesi üzerindeki güç kartına esclerin beslemeleri lehimlendi. 4000 mAh’lik Lipo pilimizi güç
modülümüz aracılığıyla güçkartına bağlantısı sağlandı. Böylesi motorların hareketi için gerekli
güç bağlantısı kurulmuş oldu. Gps, telemetre, esc ve kumandanın alıcısı arducoptera takılarak
ihamızın elektronik devresi tamamlanmış oldu. Drone’un uçabilmesi için motorların yeteri
kadar güçlü olması gerekir. Buna bağlı olarak pilin ve esclerin değerleri motorun desteklediği
güce göre seçilmelidir.
Quadcopter üzerinde bulunan raspberry pi kamera modülü ile labirentin net bir şekilde
fotoğrafı çekildi. Çekilen fotoğraf raspberry pi içerisinde bulunan opencv kütüphanesinde renk
tonları aracılığıyla işlenerek çıkışa giden en kısa rota bulundu. Rota bilgisi otonom kara aracı
için anlamlı hale getirilerek araca iletildi. Böylece labirent yapay zeka aracılığıyla çözülmüş
olundu.

24
4. TARTIŞMA VE SONUÇ

Ülkelerin birbirleri arasındaki mücadeleleri, kendilerini korumak ve güçlü olmak adına


yeni ve ileri teknojiler üretmeye itiyor. Operasyonlar sırasında güvenli yolu bulmaya çalışan
askerler ister karadan ister havadan gözlemliyor olsun trajik olaylar yaşanabilir. Bu durumun
önüne geçmek amacıyla daha iyi istihbarat ve daha iyi arazi kontrolü yapabilmek için insansız
hava aracı destekli otonom kara aracı yapıldı.
Projenin başında çeşitli şekillerde ve özelliklerdeki insansız hava araçları araştırıldı.
Sabit kanatlı hava aracının kalkışa geçmesi için belli bir yol kat etmesi, havada asılı kalma
özelliğinin olmayışı ve havadaki ani manevralar yapacağı zaman geçen fazla süreyi göz
değerlendirerek projemizde kullanmak için pervaneli dikey iniş kalkış yapabilen bir hava aracı
olan quadcopter yapıldı.
Çalışmada kara aracı ve iha için gerekli materyaller belirlenmiş olup yapım aşamaları
ve gerekli olan yazılımlar anlatılmıştır.
Uzaktan verilecek görevlendirme ile en az elle müdahale ile uçuş planı gerçekleştirilip
yerdeki araca veri aktarılmıştır.

25
KAYNAKLAR

[1] Arducopter, http://www.arducopter.co.uk [Ziyaret Tarihi: Ekim, 2018].


[2] Decipher Techic, Install OpenCV Python on Raspberry Pi3,
https://www.deciphertechnic.com/install-opencv-python-on-raspberry--pi/ [Ziyaret Tarihi:
Nisan, 2019].
[3] Drone Yarışcıları Spor Kulubü, Şaseler, https://www.dyd.org.tr/saseler-frame/
[ZiyaretTarihi: Kasım, 2018].
[4] Flysky, Kumanda, http://flyskyrc.com/ [Ziyaret Tarihi: Kasım, 2018].
[5] GÖL, Gökhan, Quadcopter nedir, nasıl uçar, https://academia.edu/ [Ziyaret Tarihi: Kasım,
2018].
[6] Hazelhurst, Jethro, https://diydrones.com/profile/JethroHazelhurst [Ziyaret Tarihi: Kasım,
2018].
[7] İnstructables, Building Quadcopters, Drones and Uav's- a Explanation and Easy Build of a
Basic Quad., https://www.instructables.com/id/Basic-Quads-Systems-My-Easy-Quad-Build/
[Ziyaret Tarihi: Aralık, 2018].
[8] KARABULUT, OGÜN, İnsansız Hava Aracı Sistem Tasarımı, https://academia.edu/
[Ziyaret Tarihi: Kasım, 2018].
[9] ÖNKOL, Mert, 2010, Dönerkanat Tipinde Bir İnsansız Hava Aracının Tasarımı
Modellenmesi ve Kontrolü, TOBB Ekonomi ve Teknoloji Üniversitesi Fen Bilimleri Enstitüsü

[10] PİŞKİN, Mesut, 2016 , Opencv nedir, http://mesutpiskin.com/blog/opencv-nedir.html


[Ziyaret Tarihi: Mayıs, 2019].

[11] Quadrotor nedir, http://bolubeyi.net/quadrotorquadcopter-nedir.html [Ziyaret Tarihi:


Kasım, 2018].
[12] SAĞLAM, Merve ve AYDINOĞLU, Bahadır, 2013, Görüntü Aktarmalı Quadrotor,
Lisans, Karadeniz Teknik Üniversitesi Fen Bilimleri Enstitüsü

[13] www.okuizleogren.com, Quadrotor (Quadcopter) nedir?


http://www.okuizleogren.com/quadrotor-nedir/ [Ziyaret Tarihi: Aralık, 2018].

[14] YILDIZ, Egemen , 2018, Raspberry Pi nedir , https://www.technopat.net/2018/07/14/


raspberry-pi-hakkinda-bilmeniz-gereken-her-sey/ [Ziyaret Tarihi: Mayıs, 2019].

26
EKLER

1- Semboller ve Kısaltma Listesi


AUW : All Up Weight
BEC : Battery Eliminator Circuit
CNC : Computer Numerical Control
DC : Direct Current
ESC : Electronic Speed Control
FPV : First-Person View
GPS : Global Positioning System
GSM : Global System for Mobile Communications
I2C : Inter-Integrated Circuit
IHA : İnsansız Hava Aracı
LED : Light Emitting Diode
Li-Po : Lityum-Polimer
PID : Proportional–İntegral–Derivative Control
PPM : Pulse Position Modulation
PWM : Pulse Width Modulation
RC : Radio Controlled
RPM : Returns Per Minute
SMS : Short Message Service
UART : Universal Asynchronous Receiver/Transmitter
UAV : Unmanned Aerial Vehicle
UBEC : Universal Battery Eliminator Circuit
USB : Universal Serial Bus

27
2- Otonom Kara Aracının Kodları

28
29
3- OpenCv’de Labirent Çözüm Kodları

30
4- Raspberry Pi’de Open CV Kurulumu

Adım 1: Mevcut paketleri güncelleme

1. sudo apt-get update

Mevcut Pi yazılımını yükseltme

1. sudo apt-get upgrade

Raspberry Pi yazılımı güncelleme

1. sudo rpi-update

Adım 2: Ekleri yükleme

1. sudo apt-get install build-essential cmake pkg-config


2. sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
3. sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
4. sudo apt-get install libxvidcore-dev libx264-dev
5. sudo apt-get install libgtk2.0-dev libgtk-3-dev
6. sudo apt-get install libatlas-base-dev gfortran

Adım 3: Python 3 geliştirme araçlarını kurma

1. sudo apt-get install python3 python3-setuptools python3-dev

Adım 4: Pip aracını kurma


1. wget https://bootstrap.pypa.io/get-pip.py

2. sudo python3 get-pip.py

31
Adım 5: OpenCV 3.4.1 ve OpenCV'yi içeren arşivleri indirme

1. cd ~
2. wget -O opencv.zip
https://github.com/Itseez/opencv/archive/3.4.1.zip
3. Wget -O opencv_contrib.zip
https://github.com/Itseez/opencv_contrib/archive/3.4.1.zip
4. unzip opencv.zip
5. unzip opencv_contrib.zip

Adım 6: Numpy yükleme

1. sudo pip3 install numpy

Adım 7: OpenCV klasörü oluşturma

1. cd ~/opencv-3.4.1/
2. mkdir build
3. cd build
4. cmake -D CMAKE_BUILD_TYPE=RELEASE \
5. -D CMAKE_INSTALL_PREFIX=/usr/local \
6. -D INSTALL_PYTHON_EXAMPLES=ON \
7. -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.1/modules \
8. -D ENABLE_PRECOMPILED_HEADERS=OFF \
9. -D BUILD_EXAMPLES=ON ..

Adım 8: Yazma alanınını arttırma

OpenCV'nin Pi'nin dört çekirdeğinin tamamında derlenmesini kolaylaştırmak için yazma


boyutunu 100 MB'den 1024 MB'a çıkaracağız.Nano editörünü kullanarak / etc / dphys-
swapfile dosyasını açın. CONF_SWAPSIZE değişkenini 1024 olarak

32
değiştirin.Düzenlenmiş dosyayı kaydedin ve hizmeti yeniden başlatmak için aşağıdaki
komutları kullanarak yeni takas alanını etkinleştirin

1. sudo /etc/init.d/dphys-swapfile stop


2. sudo /etc/init.d/dphys-swapfile start

Adım 9: OpenCV'yi Derleme ve Kurma

1. make -j4 // Bu kod pi’nin hızına göre yaklaşık 2 saat sürer

2. sudo make install


3. sudo ldconfig

Adım 10: OpenCV Kurulumunu Test Etme

Pinizde bir metin dosyası açın ve bunu .py uzatısı ile kaydedin bu metin dosyasının içine
aşağıdaki kodu yapıştırın ve klavyenizden ‘F5’ tuşuna basın .

1. import cv2
2. cv2.__version__

Eğer açılan pencerede şekil 5.1’deki versiyon ‘3.4.1’ yazılı ise yükleme başarılı demektir.

Şekil 5.1: Opencv versiyon kontrolü[2]

33
34

You might also like