TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ...

38
1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON RAPORU ARAÇ VE TAKIM ADI: BURST TAKIM KAPTANI: Tuna Han Salih Meral DANIŞMAN ADI: Doç. Dr. Ahmet Öncü

Transcript of TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ...

Page 1: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

1

TEKNOFEST İSTANBUL

HAVACILIK UZAY VE TEKNOLOJİ FESTİVALİ

ROBOTAKSİ ndash BİNEK OTONOM ARACcedil YARIŞMASI

OumlN TASARIM ve SİMUumlLASYON RAPORU

ARACcedil VE TAKIM ADI BURST

TAKIM KAPTANI Tuna Han Salih Meral

DANIŞMAN ADI Doccedil Dr Ahmet Oumlncuuml

2

İccedilindekiler

1 Oumlzet 3

2 Takım Organizasyonu 3

3 Yarışma Kurallarının Analizi ve Tasarım Ccedilalışması Hedefleri 5

4 Araccedil Oumlzellikleri 7

5 Sensoumlrler 13

6 Oumlzguumln Bileşenler 20

7 Otonom Suumlruumlş Algoritmaları 21

8 Araccedil Kontrol Uumlnitesi 33

9 Guumlvenlik Oumlnlemleri 35

10 Simuumllasyon 37

11 Referanslar 38

3

1 Oumlzet BURST takımı olarak 2018 Efficiency Challenge iccedilin bir araya gelmiş bir ekibiz O doumlnem ilk kez TUumlBİTAK tarafından duumlzenlenen otonom yarışı bizi ccedilok heyecanlandırdı ve bir ekip kurup bu yarışmaya katılmak istedik Uumlniversitemizden TUumlBİTAK yarışlarına 2008rsquoden beri hiccedil bir ekip katılmadığı iccedilin bilgi birikimimiz yoktu Ccedilok yoğun ccedilalışarak 6 ayda bir araccedil tasarlayıp uumlretmeyi ve bu aracı yarışın teknik kontrollerine yetiştirmeyi başardık Teknik kontrolleri geccedilmek geccediltiğimiz sene olmadı Bu sene daha ccedilok şey oumlğrenmiş bir ekip olarak hazırlanmaya devam ediyoruz Ekibimizin ana uzmanlık alanları otonom navigasyon ve bilgisayarlı goumlrme olarak oumlne ccedilıkıyor Mekanik ve elektronik tasarımda bu alanlarda olduğu kadar bilgi birikimine sahip değiliz Geccedilen seneden kalan ve gurur duyduğumuz bir takım oumlzelliğimiz de ccedilok farklı alanlardan ekiplerin birlikte ccedilalışabilmeyi oumlğrenmiş olması Bu nedenle takımımızın geleceği konusunda ccedilok umutluyuz En başından aracımızın otonom olarak kontrol edilebilmesi iccedilin mekanik elektronik ve otonom ekibi birlikte disiplinli bir şekilde ccedilalışmayı ve alt ekiplere boumlluumlnmeyi ve bu ekiplerde verimli ccedilalışabilmeyi oumlğrendi Tasarımımızı oumlzguumln kılan en oumlnemli oumlzellik aracımızın daha en başından otonom olarak tasarlamamız ve otonom suumlruumlş alt yapımızın da en başından yarışmanın gerektireceği oumllccediluumlde bir otonomluk uumlzerine odaklanmasıydı Oumlrneğin bu goumlrev odaklı otonomluk bizi daha en başından klasik otonom araccedillarda olduğu gibi 3 boyutlu bir LİDARrsquoın aracın tepesinde bulunmasının gerek olmadığına karar verme fırsatını verdi Boumlylece sensoumlr ve mekanik kontrol gereksinimlerini optimize edebildik Otonom suumlruumlş algoritmalarımızı oumlnceden tasarlayabilmek iccedilin Gazebo-ROS ortamında bir simuumllasyon oluşturduk ve testlerimizi orada gerccedilekledik An itibariyle yarışma şartnamesinde yer alan oumlzellikleri simuumllasyonumuzda gerccedilekleyebiliyoruz Goumlreve haritanın bir noktasında başlayıp uygun trafik işaretini algılayıp yolcu indirme ve bindirme yapabiliyoruz Ayrıca yine uygun işaretler doğrultusunda kapalı yolları anlayıp en kısa yolu hesaplayıp bu yolu tamamlayabiliyoruz Goumlrevin en sonunda ise park goumlrevini yerine getiriyoruz Simuumllasyon ekibimiz bu goumlrevleri hazırlarken ekibimizin diğer kısmı da geccedilen sene yarış iccedilin yaptığımız aracın elektronik olarak kontrol edilebilmesi iccedilin ccedilalıştı Bir sonraki hedefimiz ise simuumllasyonda gerccedilekleştirebildiğimiz bu goumlrevleri kendi aracımız ile test etmektir

2 Takım Organizasyonu Takımımız ana 3 alt takımdan oluşmaktadır Mekanik grubunun hedefi geccedilen sene Efficiency Challenge yarışına katılmış aracımızı kontrol edilebilir hale getirmek ve sistemleri daha

4

guumlvenli hale getirmektir Bu amaccedilla yapılanlar raporun devamında detaylı anlatılmıştır Makina muumlhendisliği boumlluumlmuuml oumlğrencilerinden oluşmaktadır Elektronik takımımımızın goumlrevleri araccedil kontrol uumlnitesini tasarlamak ve aracı ldquodrive-by-wirerdquo hale getirmektir Elektrik ve elektronik muumlhendisliği oumlğrencilerinden oluşmaktadır Otonom takımımız bilgisayar muumlhendisliği ve elektrik elektronik muumlhendisliği oumlğrencilerinden oluşmaktadır Takımımızın otonom grubu lideri yuumlksek lisans tez aşamasındaki Kadir Tuumlrksoyrsquodur tOtonom takımında toplamda 3 lisans 4 yuumlksek lisans ve 1 doktora oumlğrencisi bulunmaktadır Takımdaki uumlyelerin goumlrev dağılımları şemada detaylı bir şekilde verilmiştir

Zamanlama planımız Gannt Şeması olarak ifade edilmiştir Temel olarak amacımız kontrol algoritmalarını simuumllasyonda geliştirmeye devam ederken aracımızın da elektro-mekanik kontroluumlnuuml bir kenardan ilerletebilmektir

5

3 Yarışma Kurallarının Analizi ve Tasarım Ccedilalışması Hedefleri

Yarışma kuralları incelendiğinde parkuru başarılı şekilde tamamlamak iccedilin aracın temelde 4 farklı goumlrevi yerine getirmesi beklenmektedir 1 Yolcu alma ve indirme 2 En kısa yolu kullanarak park yerine ulaşma 3 Park etme 4 Aracın o sırada geccedilerli olan trafik kurallarına uyması Aracın bu goumlrevleri yerine getirebilmesi iccedilin sağlaması gereken oumlzelliklerin en başında iccedilereceği sensoumlrler ve kullanılacak kontrol sistemlerinin konfiguumlrasyonu gelmektedir 31 Sensoumlrler Temelde kullanılan sensoumlrleri lokalizasyon ve ccedilevre tanıma ndash algılama sensoumlrleri olarak ikiye ayırabiliriz

311 Lokalizasyon Sensoumlrleri

Oumlncelikle aracın başlangıccedil noktasından itibaren parkurdaki konumunu denetlemek ve hedeflenen goumlrevler iccedilin araccedil kontrol hesaplamalarının sağlıklı yapabilmesi iccedilin temel lokalizasyon araccedilları değerlendirildi Konumun hızın ve youmlnelimin tahmini değerleri iccedilin tekerleklerin doumlnme sayısı ve oumln tekerleğin youmlnelim accedilısı (steering) kullanılarak aracın başlangıccedil noktası referansında konum hesaplaması yapılması tasarlandı Aracın tekerlek doumlnme sayısını hesaplamada arka tekerleklere yerleştirilebilecek enkoder sayacı kullanıldı Enkoder ve aracın direksiyon accedilısından gelen değerlerle odometre hesaplamasının detayları ilerleyen boumlluumlmlerde verilmiştir

6

Bu odometre değerininin olası kayma ve hata birikmelerinden kaynaklanan sapmalarının GPS (Global Positioning System) ve IMU (Inertial Measurement Unit) sensoumlrleri kullanılarak suumlrekli olarak filtrelenmesi hedeflendi Bu odometre - GPS - IMU verilerinin fuumlzyonu iccedilin ccediloklu sensoumlr girişli Kalman filtresi algoritmalarının kullanılması planlandı

312 Ccedilevre Tanıma Sensoumlrleri Yolcu alma ndash indirme trafik kurallarına uyma (hız limiti doumlnuumlş yasakları vb) park etme vbgoumlrevlerin sağlıklı gerccedilekleştirilebilmesi iccedilin trafik işaretlerini tanıma işlemini gerccedilekleştirilmelidir Bunun iccedilin oumlncelikli olarak aracın oumln tarafına geniş accedilılı bir kamera yerleştirilmesi ve temel olarak bu kamera ile şerit trafik işaretleri ve trafik lambalarının tanınması planlandı Geniş accedilılı kamera sayesinde parkurdaki pek ccedilok trafik levhası ndash trafik ışığını kolaylıkla algılanabilir ancak virajlar park alanı vb olası goumlruumlntuuml kayıplarının yaşanabileceği yerlerde araccedil-ccedilevre bağlantısının kopmaması iccedilin aracın 2 yanına benzer kamera uumlniteleri eklendi Ccedilevre algılama ve tanıma işlemi iccedilin kullanılabilecek bir diğer sensoumlr de yakınlık taraması yapabildiğimiz 2D LIDAR sensoumlruumlduumlr 2D LIDAR kullanılarak oumlzellikle yol ccedilevresinde bulunan bariyerlerin algılanması ve otonom suumlruumlş kontroluumlnuumln daha stabil ve sağlıklı ccedilalışabilmesi amaccedillandı

32 Mekanik Tasarım Hedefleri

321 Kontrol Sistemi Kontrol sistemi tasarımında temel ekipmanlar fren sistemi direksiyon kontrol sistemidir Frenlerin tasarımında enerji verimliliği bağlamında en verimli olan rejeneratif elektrik fren ve anlık guumlccedilluuml fren uygulamasının implementasyonu iccedilin hidrolik frenlerin beraber kullanılması planlandı Ek olarak Uzaktan Acil Muumldahale Sistemi (UMS) kriterlerini karşılayacak şekilde iletişim protokollerinin kullanılması bu iletişim iccedilin LoRaWAN kullanılması planlandı Fren sistemi ve UMS kriterlerine uygunluk ve bunların analizi ilerleyen boumlluumlmlerde detaylandırılmıştır

Direksiyon tasarımında pinyon ve Kremayer konfiguumlrasyonları kullanılması hedeflendi Araccedilta direksiyon kontroluuml sağlayan 2 adet pinyon dişlileri bulunmakta bunlardan biri doğrudan direksiyondan gelmekte diğeri de otonom suumlruumlş iccedilin kontrolcuumlden gelmektedir

7

322 Guumlvenlik Donanım Hedefleri Aracımız Teknofest TUumlBİTAK Efficiency Challenge Electric Vehicle yarışmasına katılmak uumlzere tasarlanmıştır Dolayısıyla Efficiency Challenge iccedilin sağlaması gereken guumlvenlik kriterlerini sağlayacak şekilde tasarlanmıştır Batarya grubu kısa devre ve sızıntılardan korunacak şekilde batarya koruma kabı iccediline goumlmuumllmuumlş batarya kabı ise aracın tabanına sabitlenmiş Batarya Youmlnetim Sistemi (BYS) bataryaya entegre olarak tasarlanmıştır Aracın uumlzerinde acil durum butonu bulunmakta aracın tuumlm elektronik aksamları aşırı akım kesicilerle ile korunmaktadır Araccedilta fren sistemi olarak hidrolik frenler kullanılmakta boumlylece ani ve guumlccedilluuml duruşlar muumlmkuumln olabilmektedir

4 Araccedil Oumlzellikleri 41 Fiziksel ve Mekanik Oumlzellikler

Oumlzellik Birim Değer

Uzunluk mm 3990

Genişlik mm 1300

Yuumlkseklik mm 1350

Teker Sayısı 4

Şase Materyal Ccedilelik

Kabuk Materyal Karbon Fiber

Oumln Teker Ccedilapı mm 432

Oumln Teker Genişliği mm 70

Arka Teker Ccedilapı mm 330

Arka Teker Genişliği mm 89

Motor Tipi - BLDC

Motor Guumlcuuml kW 3200

8

Motor Verimliliği 87

Batarya - Li-ion 18650

Batarya Nominal Voltaj V 592

Batarya Maksimum Voltajı V 672

Batarya Toplam Kapasitesi Wh 2700

42 Kontrol Sistemleri

421 Motor Suumlruumlcuumlsuuml Aracın motorunda BLDC (Fırccedilasız DC Motor) motor kullanılmıştır BLDC motorda stator sargıları taşıyan ccedilok tabakalı olarak yığılmış ccedilelik plakalardan oluşur Statoumlrdeki bu sargılar 2 şekilde duumlzenlenebilir yıldız modeli ve delta modeli Bu modeller arasındaki fark yıldız model duumlşuumlk devirde yuumlksek tork verebilirken delta model duumlşuumlk devirde duumlşuumlk tork verebilir BLDC motorun rotoru ise kalıcı mıknatıslardır Uygulama alanına bağlı olarak bu mıknatısların sayısı değişkenlik goumlsterebilir Mıknatıs sayısı arttıkccedila motordan alınan tork miktarı artarken elde edilen maksimum hız azalmaktadır Fırccedilasız DC motorların ccedilalışma prensipleri fırccedilalı motorlarla aynıdır Aralarındaki fark motorların geri besleme mekanizmalarıdır Fırccedilalı DC motorda rotorun pozisyon geri bildirimi motorun fırccedilalarından ve mekanik komuumltatoumlrlerden elde edilirken fırccedilasız DC motorlarda rotor pozisyonu sensoumlrler aracılığıyla bulunur Bu sensoumlrlerden en yaygın olanı Hall efekt sensoumlrleridir Bu sensoumlrler sayesinde motorun istenilen hız ve youmlnde ccedilalışması kontrol altında tutulabilir

9

BLDC motorun ccedilalışması iccedilin kullanılan en yaygın youmlntem H-koumlpruumlsuuml metodudur Buna goumlre H-koumlpruumlsuumlnuumln sayısı motorun faz sayısına bağlıdır Aracımızın motoru 3-fazlı-motor olduğu iccedilin 4 fazlı H-koumlpruumlsuuml kullanılmıştır Kullanımda voltaj ve akım değerleri hayli yuumlksek olacağı iccedilin H-koumlpruumlsuumlnde hangi anahtarların kullanılacağı buumlyuumlk oumlnem arz etmektedir Değerlendirmeler sonucunda anahtar goumlrevi goumlrecek komponent olarak IGBT kullanılması tercih edilmiştir H-koumlpruumlsuuml ile ilgili bir diğer oumlnemli nokta da motor fazları arasında olası kısa devre durumlarına karşı oumlnlem alınmasıdır Ayrıca akımın yuumlksek olduğu durumlarda bu yuumlksek akım IGBT iccedilin tehlike oluşturabilir Bu durum da anahtar komponentler uumlzerinden geccedilen akımı denetleyen suumlruumlcuumller sayesinde kontrol altında tutulur Oumlnceki paragrafta bahsedildiği gibi rotor pozisyonu Hall efekt sensoumlrleri sayesinde elde edilebilir Bu pozisyon verileri sensoumlrlerden kontrolcuumlye aktarılır ve bu sayede motor sabit bir hız ve youmlnde ccedilalıştırılabilir BLDC motorunda kullanılan kontrolcuuml PID tipi kontrolcuuml olduğu iccedilin motor suumlruumlcuuml yuumlksek işlemci kapasiteli olmalıdır BLDC motor suumlruumlcuumlnuumln tipik bir şeması aşağıdaki şekilde goumlsterilmiştir

10

Kaynak Renesascom Motor suumlruumlcuuml sisteminde elektronik gaz pedalı (pedal-by-wire) kullanılmaktadır Buna goumlre araccedil suumlruumlcuumlnuumln pedala basması ya da otonom suumlruumlş kontrolcuumlsuumlnuumln gaza basma sinyali Sinyal Genişlik Moduumllasyonu (PWM) ile motor suumlruumlcuumlye aktarılır Buna goumlre motor suumlruumlcuumlnuumln girdi voltajı goumlrev doumlnguumlsuuml (duty cycle) oranına goumlre belirlenmektedir 422 Fren Sistemi Aracımız iccedilin kullanılabilecek efektif fren youmlntemleri - Rejeneratif elektrik fren - Solenoit eyleyici ile hidrolik fren - Step motor ile hidrolik fren Tasarlanan motor suumlruumlcuumlde halihazırda bulunmakta olan aynı zamanda fren sırasında maksimum enerji verimliliğinin alınabildiği rejeneratif elektrik fren fren uygulaması iccedilin birinci seccedilenek olarak tasarıma dahil edildi Ancak bu tip fren sistemleri yeterince guumlccedilluuml olmadıkları ve ani fren gerccedilekleştirme durumlarında yeterince hızlı olamadıkları iccedilin tasarıma hidrolik fren sistemi eklenmesi gerekli goumlruumllduuml Guumlccedilluuml ve anlık fren yapabilmek olası elektrik problemlerinde aracın sağlıklı durabilmesini sağlamak iccedilin kullanımı daha guumlvenli ve implementasyonu daha kolay olan step motor ile hidrolik fren kullanılmasına karar verildi Fren sisteminin implementasyonunda elektronik fren (brake-by-wire) kullanılmıştır Buna goumlre suumlruumlcuuml fren pedalına bastığında ya da otonom suumlruumlş kontrolcuumlsuumlnden fren sinyali goumlnderildiğinde bu sinyal fren kontrol suumlruumlcuumlsuumlne accedilma - kapama sinyali olarak ulaşmaktadır Fren pedalına bağlanmış bulunan guumlccedilluuml bir step motor durma sinyali gelince aracı durduracak youmlnde fren pedalını ccedilekmeye başlar ve fren sinyali gelmeye devam ettikccedile freni ccedilekmeye devam eder Bunun gibi bir detay olası yokuş aşağı durulması gereken durumlar iccedilin tasarlandı 423 Direksiyon Sistemi Direksiyon sisteminde Kremayer ve pinyon dişliler kullanılmıştır Araccedilta 2 adet pinyon dişlileri direksiyon sisteminin merkezini oluşturur bu dişlilerden biri doğrudan araccedil direksiyonuna biri de otonom suumlruumlş kontrolcuumlsuumlne bağlıdır Bu tip bir sistemde sistem parametreleri - Step motor torku - Pinyon dişlileri yarıccedilapı

11

- Kremayer moduumll sayısı

Kaynak TUBITAK Efficiency Challenge Sunumları

Dinamometreyle yapılan oumllccediluumlmler sonucunda direksiyonu ccedilevirmek iccedilin gereken kuvvet araccedil hareketsizken 120 - 180 Newton araccedil hareket halindeyken 60 ndash 90 Newton olarak hesaplanmıştır Bu fark zeminin statik ve dinamik suumlrtuumlnme katsayılarının farkından kaynaklanmaktadır Kremayer moduumll sayısı kullanmak iccedilin 20rsquoden 50rsquoye kadar pinyon dişlisine izin vermektedir Pinyon dişlerinin yarıccedilapı 2 - 5 cm arası değişmektedir 4 cmrsquolik pinyon dişlileri iccedilin tork hesaplaması

Son olarak 22mm pinyon dişlisi yarıccedilapı ve 85 Nm step motor torkunda karar kılındı

Direksiyon sisteminin implementasyonunda elektronik direksiyon (steer-by-wire) işlevselliği kullanılmıştır Buna goumlre suumlruumlcuumlnuumln direksiyonu doumlnduumlrmesi ya da otonom kontrol uumlnitesinin direksiyonu belirli bir accedilıyla doumlnduumlrmesi komutu direksiyon kontrolcuumlsuumlnde Sinyal Genişlik Moduumllasyonu (PWM) tekniği ile işlenmektedir Buna goumlre direksiyon step motoru suumlruumlcuumlsuumlnuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir

424 Geri Bildirim

Direksiyon youmlnelim geri bildirimi Kremayerrsquoe bağlanan lineer potansiyometre aracılığıyla oumllccediluumllmektedir Boumlylece step motor ve dişli sistemlerden kaynaklanan hatalardan sistem korunmaktadır

Hız geri bildirimi BLDC motorlarda bulunan Hall efekt sensoumlrlerinden alınmaktadır Bu sensoumlrler bize 18 cmrsquoye ve motor tekerinin 5 derece doumlnuumlşuumlne kadar hassasiyetle bize bilgi vermektedir Bunun sebebi Hall efekt sensoumlrlerinin aşağırda goumlsterildiği gibi 6 farklı konfiguumlrasyonda bulunabilmeleridir

12

Kaynak DigiKey 425 Uzaktan Haberleşme Sistemi Yarışma kuralları gereğince aracın goumlreve başlaması sinyali kablosuz haberleşme sistemiyle verilir Aynı zamanda acil kapama sistemi de bu youmlntemle ccedilalıştırılabilmelidir Bu durumda var olan kablosuz haberleşme protokollerinin karşılaştırılması yapılmalı ve avantajları değerlendirilmelidir

Kaynak wwwpostscapescom

13

Otonom suumlruumlş kominikasyonunun temel dizayn parametreleri - 100 metre civarında menzil - Anlık iletişim - Stabil guumlvenli ve hata oranı duumlşuumlk - Duumlşuumlk bilgi yuumlkuuml - Enerji tuumlketimi tolere edilebilir - Duumlşuumlk maliyetli Bu parametreler değerlendirildiğinde aracımıza en uyumlu olacak protokoluumln uzak menzilli duumlşuumlk bit hızlı uumlcretsiz lisanslı LoRaWAN olduğuna karar verildi Moduumlluumlmuumlz 433 Mhz frekans bandında ccedilalışmaktadır 43 Elektronik Hareket Sistemleri 431 Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir Direksiyonun youmlnelimi ve direksiyon step motor suumlruumlcuumlsuumlnuumln youmlnetilmesi iccedilin Sinyal Genişlik Moduumllasyonu (PWM) tekniği kullanılmaktadır Buna goumlre motor suumlruumlcuumlyuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir 432 Elektronik Gaz Pedalı (Steer-by-wire) Araccedil gaz pedalı PWM moduumllasyonuyla araccedil motor suumlruumlcuumlsuumlne bağlıdır Motor suumlruumlcuuml bu sinyali gerekli torka doumlnuumlştuumlrmektedir PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcuuml ile de verilebilmektedir

5 Sensoumlrler 51 Odometre

Odometre temelde hareket eden bir cismin ccedilizgisel hızı ve youmlnelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır Hareketli robotlarda bu hız ve youmlnelim bilgileri birtakım hareket sensoumlrleri aracılığıyla elde edilir Burst aracımızda oumln ve arka tekerlerde tekerleklerin doumlnuumlş sayısını hesaplayan enkoder sayaccedillar ve direksiyonun doumlnme accedilısını elde ettiğimiz suumlruumlcuumller araca entegredir Enkoderler tekerin her 15deg lik doumlnuumlşuumlnuuml tutabilmekte yani enkoder sayacının her 24 sayımı tekerin 1 tam tur doumlnmesi anlamına gelmektedir Direksiyon youmlnelimi bilgisi de hareket

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 2: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

2

İccedilindekiler

1 Oumlzet 3

2 Takım Organizasyonu 3

3 Yarışma Kurallarının Analizi ve Tasarım Ccedilalışması Hedefleri 5

4 Araccedil Oumlzellikleri 7

5 Sensoumlrler 13

6 Oumlzguumln Bileşenler 20

7 Otonom Suumlruumlş Algoritmaları 21

8 Araccedil Kontrol Uumlnitesi 33

9 Guumlvenlik Oumlnlemleri 35

10 Simuumllasyon 37

11 Referanslar 38

3

1 Oumlzet BURST takımı olarak 2018 Efficiency Challenge iccedilin bir araya gelmiş bir ekibiz O doumlnem ilk kez TUumlBİTAK tarafından duumlzenlenen otonom yarışı bizi ccedilok heyecanlandırdı ve bir ekip kurup bu yarışmaya katılmak istedik Uumlniversitemizden TUumlBİTAK yarışlarına 2008rsquoden beri hiccedil bir ekip katılmadığı iccedilin bilgi birikimimiz yoktu Ccedilok yoğun ccedilalışarak 6 ayda bir araccedil tasarlayıp uumlretmeyi ve bu aracı yarışın teknik kontrollerine yetiştirmeyi başardık Teknik kontrolleri geccedilmek geccediltiğimiz sene olmadı Bu sene daha ccedilok şey oumlğrenmiş bir ekip olarak hazırlanmaya devam ediyoruz Ekibimizin ana uzmanlık alanları otonom navigasyon ve bilgisayarlı goumlrme olarak oumlne ccedilıkıyor Mekanik ve elektronik tasarımda bu alanlarda olduğu kadar bilgi birikimine sahip değiliz Geccedilen seneden kalan ve gurur duyduğumuz bir takım oumlzelliğimiz de ccedilok farklı alanlardan ekiplerin birlikte ccedilalışabilmeyi oumlğrenmiş olması Bu nedenle takımımızın geleceği konusunda ccedilok umutluyuz En başından aracımızın otonom olarak kontrol edilebilmesi iccedilin mekanik elektronik ve otonom ekibi birlikte disiplinli bir şekilde ccedilalışmayı ve alt ekiplere boumlluumlnmeyi ve bu ekiplerde verimli ccedilalışabilmeyi oumlğrendi Tasarımımızı oumlzguumln kılan en oumlnemli oumlzellik aracımızın daha en başından otonom olarak tasarlamamız ve otonom suumlruumlş alt yapımızın da en başından yarışmanın gerektireceği oumllccediluumlde bir otonomluk uumlzerine odaklanmasıydı Oumlrneğin bu goumlrev odaklı otonomluk bizi daha en başından klasik otonom araccedillarda olduğu gibi 3 boyutlu bir LİDARrsquoın aracın tepesinde bulunmasının gerek olmadığına karar verme fırsatını verdi Boumlylece sensoumlr ve mekanik kontrol gereksinimlerini optimize edebildik Otonom suumlruumlş algoritmalarımızı oumlnceden tasarlayabilmek iccedilin Gazebo-ROS ortamında bir simuumllasyon oluşturduk ve testlerimizi orada gerccedilekledik An itibariyle yarışma şartnamesinde yer alan oumlzellikleri simuumllasyonumuzda gerccedilekleyebiliyoruz Goumlreve haritanın bir noktasında başlayıp uygun trafik işaretini algılayıp yolcu indirme ve bindirme yapabiliyoruz Ayrıca yine uygun işaretler doğrultusunda kapalı yolları anlayıp en kısa yolu hesaplayıp bu yolu tamamlayabiliyoruz Goumlrevin en sonunda ise park goumlrevini yerine getiriyoruz Simuumllasyon ekibimiz bu goumlrevleri hazırlarken ekibimizin diğer kısmı da geccedilen sene yarış iccedilin yaptığımız aracın elektronik olarak kontrol edilebilmesi iccedilin ccedilalıştı Bir sonraki hedefimiz ise simuumllasyonda gerccedilekleştirebildiğimiz bu goumlrevleri kendi aracımız ile test etmektir

2 Takım Organizasyonu Takımımız ana 3 alt takımdan oluşmaktadır Mekanik grubunun hedefi geccedilen sene Efficiency Challenge yarışına katılmış aracımızı kontrol edilebilir hale getirmek ve sistemleri daha

4

guumlvenli hale getirmektir Bu amaccedilla yapılanlar raporun devamında detaylı anlatılmıştır Makina muumlhendisliği boumlluumlmuuml oumlğrencilerinden oluşmaktadır Elektronik takımımımızın goumlrevleri araccedil kontrol uumlnitesini tasarlamak ve aracı ldquodrive-by-wirerdquo hale getirmektir Elektrik ve elektronik muumlhendisliği oumlğrencilerinden oluşmaktadır Otonom takımımız bilgisayar muumlhendisliği ve elektrik elektronik muumlhendisliği oumlğrencilerinden oluşmaktadır Takımımızın otonom grubu lideri yuumlksek lisans tez aşamasındaki Kadir Tuumlrksoyrsquodur tOtonom takımında toplamda 3 lisans 4 yuumlksek lisans ve 1 doktora oumlğrencisi bulunmaktadır Takımdaki uumlyelerin goumlrev dağılımları şemada detaylı bir şekilde verilmiştir

Zamanlama planımız Gannt Şeması olarak ifade edilmiştir Temel olarak amacımız kontrol algoritmalarını simuumllasyonda geliştirmeye devam ederken aracımızın da elektro-mekanik kontroluumlnuuml bir kenardan ilerletebilmektir

5

3 Yarışma Kurallarının Analizi ve Tasarım Ccedilalışması Hedefleri

Yarışma kuralları incelendiğinde parkuru başarılı şekilde tamamlamak iccedilin aracın temelde 4 farklı goumlrevi yerine getirmesi beklenmektedir 1 Yolcu alma ve indirme 2 En kısa yolu kullanarak park yerine ulaşma 3 Park etme 4 Aracın o sırada geccedilerli olan trafik kurallarına uyması Aracın bu goumlrevleri yerine getirebilmesi iccedilin sağlaması gereken oumlzelliklerin en başında iccedilereceği sensoumlrler ve kullanılacak kontrol sistemlerinin konfiguumlrasyonu gelmektedir 31 Sensoumlrler Temelde kullanılan sensoumlrleri lokalizasyon ve ccedilevre tanıma ndash algılama sensoumlrleri olarak ikiye ayırabiliriz

311 Lokalizasyon Sensoumlrleri

Oumlncelikle aracın başlangıccedil noktasından itibaren parkurdaki konumunu denetlemek ve hedeflenen goumlrevler iccedilin araccedil kontrol hesaplamalarının sağlıklı yapabilmesi iccedilin temel lokalizasyon araccedilları değerlendirildi Konumun hızın ve youmlnelimin tahmini değerleri iccedilin tekerleklerin doumlnme sayısı ve oumln tekerleğin youmlnelim accedilısı (steering) kullanılarak aracın başlangıccedil noktası referansında konum hesaplaması yapılması tasarlandı Aracın tekerlek doumlnme sayısını hesaplamada arka tekerleklere yerleştirilebilecek enkoder sayacı kullanıldı Enkoder ve aracın direksiyon accedilısından gelen değerlerle odometre hesaplamasının detayları ilerleyen boumlluumlmlerde verilmiştir

6

Bu odometre değerininin olası kayma ve hata birikmelerinden kaynaklanan sapmalarının GPS (Global Positioning System) ve IMU (Inertial Measurement Unit) sensoumlrleri kullanılarak suumlrekli olarak filtrelenmesi hedeflendi Bu odometre - GPS - IMU verilerinin fuumlzyonu iccedilin ccediloklu sensoumlr girişli Kalman filtresi algoritmalarının kullanılması planlandı

312 Ccedilevre Tanıma Sensoumlrleri Yolcu alma ndash indirme trafik kurallarına uyma (hız limiti doumlnuumlş yasakları vb) park etme vbgoumlrevlerin sağlıklı gerccedilekleştirilebilmesi iccedilin trafik işaretlerini tanıma işlemini gerccedilekleştirilmelidir Bunun iccedilin oumlncelikli olarak aracın oumln tarafına geniş accedilılı bir kamera yerleştirilmesi ve temel olarak bu kamera ile şerit trafik işaretleri ve trafik lambalarının tanınması planlandı Geniş accedilılı kamera sayesinde parkurdaki pek ccedilok trafik levhası ndash trafik ışığını kolaylıkla algılanabilir ancak virajlar park alanı vb olası goumlruumlntuuml kayıplarının yaşanabileceği yerlerde araccedil-ccedilevre bağlantısının kopmaması iccedilin aracın 2 yanına benzer kamera uumlniteleri eklendi Ccedilevre algılama ve tanıma işlemi iccedilin kullanılabilecek bir diğer sensoumlr de yakınlık taraması yapabildiğimiz 2D LIDAR sensoumlruumlduumlr 2D LIDAR kullanılarak oumlzellikle yol ccedilevresinde bulunan bariyerlerin algılanması ve otonom suumlruumlş kontroluumlnuumln daha stabil ve sağlıklı ccedilalışabilmesi amaccedillandı

32 Mekanik Tasarım Hedefleri

321 Kontrol Sistemi Kontrol sistemi tasarımında temel ekipmanlar fren sistemi direksiyon kontrol sistemidir Frenlerin tasarımında enerji verimliliği bağlamında en verimli olan rejeneratif elektrik fren ve anlık guumlccedilluuml fren uygulamasının implementasyonu iccedilin hidrolik frenlerin beraber kullanılması planlandı Ek olarak Uzaktan Acil Muumldahale Sistemi (UMS) kriterlerini karşılayacak şekilde iletişim protokollerinin kullanılması bu iletişim iccedilin LoRaWAN kullanılması planlandı Fren sistemi ve UMS kriterlerine uygunluk ve bunların analizi ilerleyen boumlluumlmlerde detaylandırılmıştır

Direksiyon tasarımında pinyon ve Kremayer konfiguumlrasyonları kullanılması hedeflendi Araccedilta direksiyon kontroluuml sağlayan 2 adet pinyon dişlileri bulunmakta bunlardan biri doğrudan direksiyondan gelmekte diğeri de otonom suumlruumlş iccedilin kontrolcuumlden gelmektedir

7

322 Guumlvenlik Donanım Hedefleri Aracımız Teknofest TUumlBİTAK Efficiency Challenge Electric Vehicle yarışmasına katılmak uumlzere tasarlanmıştır Dolayısıyla Efficiency Challenge iccedilin sağlaması gereken guumlvenlik kriterlerini sağlayacak şekilde tasarlanmıştır Batarya grubu kısa devre ve sızıntılardan korunacak şekilde batarya koruma kabı iccediline goumlmuumllmuumlş batarya kabı ise aracın tabanına sabitlenmiş Batarya Youmlnetim Sistemi (BYS) bataryaya entegre olarak tasarlanmıştır Aracın uumlzerinde acil durum butonu bulunmakta aracın tuumlm elektronik aksamları aşırı akım kesicilerle ile korunmaktadır Araccedilta fren sistemi olarak hidrolik frenler kullanılmakta boumlylece ani ve guumlccedilluuml duruşlar muumlmkuumln olabilmektedir

4 Araccedil Oumlzellikleri 41 Fiziksel ve Mekanik Oumlzellikler

Oumlzellik Birim Değer

Uzunluk mm 3990

Genişlik mm 1300

Yuumlkseklik mm 1350

Teker Sayısı 4

Şase Materyal Ccedilelik

Kabuk Materyal Karbon Fiber

Oumln Teker Ccedilapı mm 432

Oumln Teker Genişliği mm 70

Arka Teker Ccedilapı mm 330

Arka Teker Genişliği mm 89

Motor Tipi - BLDC

Motor Guumlcuuml kW 3200

8

Motor Verimliliği 87

Batarya - Li-ion 18650

Batarya Nominal Voltaj V 592

Batarya Maksimum Voltajı V 672

Batarya Toplam Kapasitesi Wh 2700

42 Kontrol Sistemleri

421 Motor Suumlruumlcuumlsuuml Aracın motorunda BLDC (Fırccedilasız DC Motor) motor kullanılmıştır BLDC motorda stator sargıları taşıyan ccedilok tabakalı olarak yığılmış ccedilelik plakalardan oluşur Statoumlrdeki bu sargılar 2 şekilde duumlzenlenebilir yıldız modeli ve delta modeli Bu modeller arasındaki fark yıldız model duumlşuumlk devirde yuumlksek tork verebilirken delta model duumlşuumlk devirde duumlşuumlk tork verebilir BLDC motorun rotoru ise kalıcı mıknatıslardır Uygulama alanına bağlı olarak bu mıknatısların sayısı değişkenlik goumlsterebilir Mıknatıs sayısı arttıkccedila motordan alınan tork miktarı artarken elde edilen maksimum hız azalmaktadır Fırccedilasız DC motorların ccedilalışma prensipleri fırccedilalı motorlarla aynıdır Aralarındaki fark motorların geri besleme mekanizmalarıdır Fırccedilalı DC motorda rotorun pozisyon geri bildirimi motorun fırccedilalarından ve mekanik komuumltatoumlrlerden elde edilirken fırccedilasız DC motorlarda rotor pozisyonu sensoumlrler aracılığıyla bulunur Bu sensoumlrlerden en yaygın olanı Hall efekt sensoumlrleridir Bu sensoumlrler sayesinde motorun istenilen hız ve youmlnde ccedilalışması kontrol altında tutulabilir

9

BLDC motorun ccedilalışması iccedilin kullanılan en yaygın youmlntem H-koumlpruumlsuuml metodudur Buna goumlre H-koumlpruumlsuumlnuumln sayısı motorun faz sayısına bağlıdır Aracımızın motoru 3-fazlı-motor olduğu iccedilin 4 fazlı H-koumlpruumlsuuml kullanılmıştır Kullanımda voltaj ve akım değerleri hayli yuumlksek olacağı iccedilin H-koumlpruumlsuumlnde hangi anahtarların kullanılacağı buumlyuumlk oumlnem arz etmektedir Değerlendirmeler sonucunda anahtar goumlrevi goumlrecek komponent olarak IGBT kullanılması tercih edilmiştir H-koumlpruumlsuuml ile ilgili bir diğer oumlnemli nokta da motor fazları arasında olası kısa devre durumlarına karşı oumlnlem alınmasıdır Ayrıca akımın yuumlksek olduğu durumlarda bu yuumlksek akım IGBT iccedilin tehlike oluşturabilir Bu durum da anahtar komponentler uumlzerinden geccedilen akımı denetleyen suumlruumlcuumller sayesinde kontrol altında tutulur Oumlnceki paragrafta bahsedildiği gibi rotor pozisyonu Hall efekt sensoumlrleri sayesinde elde edilebilir Bu pozisyon verileri sensoumlrlerden kontrolcuumlye aktarılır ve bu sayede motor sabit bir hız ve youmlnde ccedilalıştırılabilir BLDC motorunda kullanılan kontrolcuuml PID tipi kontrolcuuml olduğu iccedilin motor suumlruumlcuuml yuumlksek işlemci kapasiteli olmalıdır BLDC motor suumlruumlcuumlnuumln tipik bir şeması aşağıdaki şekilde goumlsterilmiştir

10

Kaynak Renesascom Motor suumlruumlcuuml sisteminde elektronik gaz pedalı (pedal-by-wire) kullanılmaktadır Buna goumlre araccedil suumlruumlcuumlnuumln pedala basması ya da otonom suumlruumlş kontrolcuumlsuumlnuumln gaza basma sinyali Sinyal Genişlik Moduumllasyonu (PWM) ile motor suumlruumlcuumlye aktarılır Buna goumlre motor suumlruumlcuumlnuumln girdi voltajı goumlrev doumlnguumlsuuml (duty cycle) oranına goumlre belirlenmektedir 422 Fren Sistemi Aracımız iccedilin kullanılabilecek efektif fren youmlntemleri - Rejeneratif elektrik fren - Solenoit eyleyici ile hidrolik fren - Step motor ile hidrolik fren Tasarlanan motor suumlruumlcuumlde halihazırda bulunmakta olan aynı zamanda fren sırasında maksimum enerji verimliliğinin alınabildiği rejeneratif elektrik fren fren uygulaması iccedilin birinci seccedilenek olarak tasarıma dahil edildi Ancak bu tip fren sistemleri yeterince guumlccedilluuml olmadıkları ve ani fren gerccedilekleştirme durumlarında yeterince hızlı olamadıkları iccedilin tasarıma hidrolik fren sistemi eklenmesi gerekli goumlruumllduuml Guumlccedilluuml ve anlık fren yapabilmek olası elektrik problemlerinde aracın sağlıklı durabilmesini sağlamak iccedilin kullanımı daha guumlvenli ve implementasyonu daha kolay olan step motor ile hidrolik fren kullanılmasına karar verildi Fren sisteminin implementasyonunda elektronik fren (brake-by-wire) kullanılmıştır Buna goumlre suumlruumlcuuml fren pedalına bastığında ya da otonom suumlruumlş kontrolcuumlsuumlnden fren sinyali goumlnderildiğinde bu sinyal fren kontrol suumlruumlcuumlsuumlne accedilma - kapama sinyali olarak ulaşmaktadır Fren pedalına bağlanmış bulunan guumlccedilluuml bir step motor durma sinyali gelince aracı durduracak youmlnde fren pedalını ccedilekmeye başlar ve fren sinyali gelmeye devam ettikccedile freni ccedilekmeye devam eder Bunun gibi bir detay olası yokuş aşağı durulması gereken durumlar iccedilin tasarlandı 423 Direksiyon Sistemi Direksiyon sisteminde Kremayer ve pinyon dişliler kullanılmıştır Araccedilta 2 adet pinyon dişlileri direksiyon sisteminin merkezini oluşturur bu dişlilerden biri doğrudan araccedil direksiyonuna biri de otonom suumlruumlş kontrolcuumlsuumlne bağlıdır Bu tip bir sistemde sistem parametreleri - Step motor torku - Pinyon dişlileri yarıccedilapı

11

- Kremayer moduumll sayısı

Kaynak TUBITAK Efficiency Challenge Sunumları

Dinamometreyle yapılan oumllccediluumlmler sonucunda direksiyonu ccedilevirmek iccedilin gereken kuvvet araccedil hareketsizken 120 - 180 Newton araccedil hareket halindeyken 60 ndash 90 Newton olarak hesaplanmıştır Bu fark zeminin statik ve dinamik suumlrtuumlnme katsayılarının farkından kaynaklanmaktadır Kremayer moduumll sayısı kullanmak iccedilin 20rsquoden 50rsquoye kadar pinyon dişlisine izin vermektedir Pinyon dişlerinin yarıccedilapı 2 - 5 cm arası değişmektedir 4 cmrsquolik pinyon dişlileri iccedilin tork hesaplaması

Son olarak 22mm pinyon dişlisi yarıccedilapı ve 85 Nm step motor torkunda karar kılındı

Direksiyon sisteminin implementasyonunda elektronik direksiyon (steer-by-wire) işlevselliği kullanılmıştır Buna goumlre suumlruumlcuumlnuumln direksiyonu doumlnduumlrmesi ya da otonom kontrol uumlnitesinin direksiyonu belirli bir accedilıyla doumlnduumlrmesi komutu direksiyon kontrolcuumlsuumlnde Sinyal Genişlik Moduumllasyonu (PWM) tekniği ile işlenmektedir Buna goumlre direksiyon step motoru suumlruumlcuumlsuumlnuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir

424 Geri Bildirim

Direksiyon youmlnelim geri bildirimi Kremayerrsquoe bağlanan lineer potansiyometre aracılığıyla oumllccediluumllmektedir Boumlylece step motor ve dişli sistemlerden kaynaklanan hatalardan sistem korunmaktadır

Hız geri bildirimi BLDC motorlarda bulunan Hall efekt sensoumlrlerinden alınmaktadır Bu sensoumlrler bize 18 cmrsquoye ve motor tekerinin 5 derece doumlnuumlşuumlne kadar hassasiyetle bize bilgi vermektedir Bunun sebebi Hall efekt sensoumlrlerinin aşağırda goumlsterildiği gibi 6 farklı konfiguumlrasyonda bulunabilmeleridir

12

Kaynak DigiKey 425 Uzaktan Haberleşme Sistemi Yarışma kuralları gereğince aracın goumlreve başlaması sinyali kablosuz haberleşme sistemiyle verilir Aynı zamanda acil kapama sistemi de bu youmlntemle ccedilalıştırılabilmelidir Bu durumda var olan kablosuz haberleşme protokollerinin karşılaştırılması yapılmalı ve avantajları değerlendirilmelidir

Kaynak wwwpostscapescom

13

Otonom suumlruumlş kominikasyonunun temel dizayn parametreleri - 100 metre civarında menzil - Anlık iletişim - Stabil guumlvenli ve hata oranı duumlşuumlk - Duumlşuumlk bilgi yuumlkuuml - Enerji tuumlketimi tolere edilebilir - Duumlşuumlk maliyetli Bu parametreler değerlendirildiğinde aracımıza en uyumlu olacak protokoluumln uzak menzilli duumlşuumlk bit hızlı uumlcretsiz lisanslı LoRaWAN olduğuna karar verildi Moduumlluumlmuumlz 433 Mhz frekans bandında ccedilalışmaktadır 43 Elektronik Hareket Sistemleri 431 Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir Direksiyonun youmlnelimi ve direksiyon step motor suumlruumlcuumlsuumlnuumln youmlnetilmesi iccedilin Sinyal Genişlik Moduumllasyonu (PWM) tekniği kullanılmaktadır Buna goumlre motor suumlruumlcuumlyuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir 432 Elektronik Gaz Pedalı (Steer-by-wire) Araccedil gaz pedalı PWM moduumllasyonuyla araccedil motor suumlruumlcuumlsuumlne bağlıdır Motor suumlruumlcuuml bu sinyali gerekli torka doumlnuumlştuumlrmektedir PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcuuml ile de verilebilmektedir

5 Sensoumlrler 51 Odometre

Odometre temelde hareket eden bir cismin ccedilizgisel hızı ve youmlnelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır Hareketli robotlarda bu hız ve youmlnelim bilgileri birtakım hareket sensoumlrleri aracılığıyla elde edilir Burst aracımızda oumln ve arka tekerlerde tekerleklerin doumlnuumlş sayısını hesaplayan enkoder sayaccedillar ve direksiyonun doumlnme accedilısını elde ettiğimiz suumlruumlcuumller araca entegredir Enkoderler tekerin her 15deg lik doumlnuumlşuumlnuuml tutabilmekte yani enkoder sayacının her 24 sayımı tekerin 1 tam tur doumlnmesi anlamına gelmektedir Direksiyon youmlnelimi bilgisi de hareket

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 3: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

3

1 Oumlzet BURST takımı olarak 2018 Efficiency Challenge iccedilin bir araya gelmiş bir ekibiz O doumlnem ilk kez TUumlBİTAK tarafından duumlzenlenen otonom yarışı bizi ccedilok heyecanlandırdı ve bir ekip kurup bu yarışmaya katılmak istedik Uumlniversitemizden TUumlBİTAK yarışlarına 2008rsquoden beri hiccedil bir ekip katılmadığı iccedilin bilgi birikimimiz yoktu Ccedilok yoğun ccedilalışarak 6 ayda bir araccedil tasarlayıp uumlretmeyi ve bu aracı yarışın teknik kontrollerine yetiştirmeyi başardık Teknik kontrolleri geccedilmek geccediltiğimiz sene olmadı Bu sene daha ccedilok şey oumlğrenmiş bir ekip olarak hazırlanmaya devam ediyoruz Ekibimizin ana uzmanlık alanları otonom navigasyon ve bilgisayarlı goumlrme olarak oumlne ccedilıkıyor Mekanik ve elektronik tasarımda bu alanlarda olduğu kadar bilgi birikimine sahip değiliz Geccedilen seneden kalan ve gurur duyduğumuz bir takım oumlzelliğimiz de ccedilok farklı alanlardan ekiplerin birlikte ccedilalışabilmeyi oumlğrenmiş olması Bu nedenle takımımızın geleceği konusunda ccedilok umutluyuz En başından aracımızın otonom olarak kontrol edilebilmesi iccedilin mekanik elektronik ve otonom ekibi birlikte disiplinli bir şekilde ccedilalışmayı ve alt ekiplere boumlluumlnmeyi ve bu ekiplerde verimli ccedilalışabilmeyi oumlğrendi Tasarımımızı oumlzguumln kılan en oumlnemli oumlzellik aracımızın daha en başından otonom olarak tasarlamamız ve otonom suumlruumlş alt yapımızın da en başından yarışmanın gerektireceği oumllccediluumlde bir otonomluk uumlzerine odaklanmasıydı Oumlrneğin bu goumlrev odaklı otonomluk bizi daha en başından klasik otonom araccedillarda olduğu gibi 3 boyutlu bir LİDARrsquoın aracın tepesinde bulunmasının gerek olmadığına karar verme fırsatını verdi Boumlylece sensoumlr ve mekanik kontrol gereksinimlerini optimize edebildik Otonom suumlruumlş algoritmalarımızı oumlnceden tasarlayabilmek iccedilin Gazebo-ROS ortamında bir simuumllasyon oluşturduk ve testlerimizi orada gerccedilekledik An itibariyle yarışma şartnamesinde yer alan oumlzellikleri simuumllasyonumuzda gerccedilekleyebiliyoruz Goumlreve haritanın bir noktasında başlayıp uygun trafik işaretini algılayıp yolcu indirme ve bindirme yapabiliyoruz Ayrıca yine uygun işaretler doğrultusunda kapalı yolları anlayıp en kısa yolu hesaplayıp bu yolu tamamlayabiliyoruz Goumlrevin en sonunda ise park goumlrevini yerine getiriyoruz Simuumllasyon ekibimiz bu goumlrevleri hazırlarken ekibimizin diğer kısmı da geccedilen sene yarış iccedilin yaptığımız aracın elektronik olarak kontrol edilebilmesi iccedilin ccedilalıştı Bir sonraki hedefimiz ise simuumllasyonda gerccedilekleştirebildiğimiz bu goumlrevleri kendi aracımız ile test etmektir

2 Takım Organizasyonu Takımımız ana 3 alt takımdan oluşmaktadır Mekanik grubunun hedefi geccedilen sene Efficiency Challenge yarışına katılmış aracımızı kontrol edilebilir hale getirmek ve sistemleri daha

4

guumlvenli hale getirmektir Bu amaccedilla yapılanlar raporun devamında detaylı anlatılmıştır Makina muumlhendisliği boumlluumlmuuml oumlğrencilerinden oluşmaktadır Elektronik takımımımızın goumlrevleri araccedil kontrol uumlnitesini tasarlamak ve aracı ldquodrive-by-wirerdquo hale getirmektir Elektrik ve elektronik muumlhendisliği oumlğrencilerinden oluşmaktadır Otonom takımımız bilgisayar muumlhendisliği ve elektrik elektronik muumlhendisliği oumlğrencilerinden oluşmaktadır Takımımızın otonom grubu lideri yuumlksek lisans tez aşamasındaki Kadir Tuumlrksoyrsquodur tOtonom takımında toplamda 3 lisans 4 yuumlksek lisans ve 1 doktora oumlğrencisi bulunmaktadır Takımdaki uumlyelerin goumlrev dağılımları şemada detaylı bir şekilde verilmiştir

Zamanlama planımız Gannt Şeması olarak ifade edilmiştir Temel olarak amacımız kontrol algoritmalarını simuumllasyonda geliştirmeye devam ederken aracımızın da elektro-mekanik kontroluumlnuuml bir kenardan ilerletebilmektir

5

3 Yarışma Kurallarının Analizi ve Tasarım Ccedilalışması Hedefleri

Yarışma kuralları incelendiğinde parkuru başarılı şekilde tamamlamak iccedilin aracın temelde 4 farklı goumlrevi yerine getirmesi beklenmektedir 1 Yolcu alma ve indirme 2 En kısa yolu kullanarak park yerine ulaşma 3 Park etme 4 Aracın o sırada geccedilerli olan trafik kurallarına uyması Aracın bu goumlrevleri yerine getirebilmesi iccedilin sağlaması gereken oumlzelliklerin en başında iccedilereceği sensoumlrler ve kullanılacak kontrol sistemlerinin konfiguumlrasyonu gelmektedir 31 Sensoumlrler Temelde kullanılan sensoumlrleri lokalizasyon ve ccedilevre tanıma ndash algılama sensoumlrleri olarak ikiye ayırabiliriz

311 Lokalizasyon Sensoumlrleri

Oumlncelikle aracın başlangıccedil noktasından itibaren parkurdaki konumunu denetlemek ve hedeflenen goumlrevler iccedilin araccedil kontrol hesaplamalarının sağlıklı yapabilmesi iccedilin temel lokalizasyon araccedilları değerlendirildi Konumun hızın ve youmlnelimin tahmini değerleri iccedilin tekerleklerin doumlnme sayısı ve oumln tekerleğin youmlnelim accedilısı (steering) kullanılarak aracın başlangıccedil noktası referansında konum hesaplaması yapılması tasarlandı Aracın tekerlek doumlnme sayısını hesaplamada arka tekerleklere yerleştirilebilecek enkoder sayacı kullanıldı Enkoder ve aracın direksiyon accedilısından gelen değerlerle odometre hesaplamasının detayları ilerleyen boumlluumlmlerde verilmiştir

6

Bu odometre değerininin olası kayma ve hata birikmelerinden kaynaklanan sapmalarının GPS (Global Positioning System) ve IMU (Inertial Measurement Unit) sensoumlrleri kullanılarak suumlrekli olarak filtrelenmesi hedeflendi Bu odometre - GPS - IMU verilerinin fuumlzyonu iccedilin ccediloklu sensoumlr girişli Kalman filtresi algoritmalarının kullanılması planlandı

312 Ccedilevre Tanıma Sensoumlrleri Yolcu alma ndash indirme trafik kurallarına uyma (hız limiti doumlnuumlş yasakları vb) park etme vbgoumlrevlerin sağlıklı gerccedilekleştirilebilmesi iccedilin trafik işaretlerini tanıma işlemini gerccedilekleştirilmelidir Bunun iccedilin oumlncelikli olarak aracın oumln tarafına geniş accedilılı bir kamera yerleştirilmesi ve temel olarak bu kamera ile şerit trafik işaretleri ve trafik lambalarının tanınması planlandı Geniş accedilılı kamera sayesinde parkurdaki pek ccedilok trafik levhası ndash trafik ışığını kolaylıkla algılanabilir ancak virajlar park alanı vb olası goumlruumlntuuml kayıplarının yaşanabileceği yerlerde araccedil-ccedilevre bağlantısının kopmaması iccedilin aracın 2 yanına benzer kamera uumlniteleri eklendi Ccedilevre algılama ve tanıma işlemi iccedilin kullanılabilecek bir diğer sensoumlr de yakınlık taraması yapabildiğimiz 2D LIDAR sensoumlruumlduumlr 2D LIDAR kullanılarak oumlzellikle yol ccedilevresinde bulunan bariyerlerin algılanması ve otonom suumlruumlş kontroluumlnuumln daha stabil ve sağlıklı ccedilalışabilmesi amaccedillandı

32 Mekanik Tasarım Hedefleri

321 Kontrol Sistemi Kontrol sistemi tasarımında temel ekipmanlar fren sistemi direksiyon kontrol sistemidir Frenlerin tasarımında enerji verimliliği bağlamında en verimli olan rejeneratif elektrik fren ve anlık guumlccedilluuml fren uygulamasının implementasyonu iccedilin hidrolik frenlerin beraber kullanılması planlandı Ek olarak Uzaktan Acil Muumldahale Sistemi (UMS) kriterlerini karşılayacak şekilde iletişim protokollerinin kullanılması bu iletişim iccedilin LoRaWAN kullanılması planlandı Fren sistemi ve UMS kriterlerine uygunluk ve bunların analizi ilerleyen boumlluumlmlerde detaylandırılmıştır

Direksiyon tasarımında pinyon ve Kremayer konfiguumlrasyonları kullanılması hedeflendi Araccedilta direksiyon kontroluuml sağlayan 2 adet pinyon dişlileri bulunmakta bunlardan biri doğrudan direksiyondan gelmekte diğeri de otonom suumlruumlş iccedilin kontrolcuumlden gelmektedir

7

322 Guumlvenlik Donanım Hedefleri Aracımız Teknofest TUumlBİTAK Efficiency Challenge Electric Vehicle yarışmasına katılmak uumlzere tasarlanmıştır Dolayısıyla Efficiency Challenge iccedilin sağlaması gereken guumlvenlik kriterlerini sağlayacak şekilde tasarlanmıştır Batarya grubu kısa devre ve sızıntılardan korunacak şekilde batarya koruma kabı iccediline goumlmuumllmuumlş batarya kabı ise aracın tabanına sabitlenmiş Batarya Youmlnetim Sistemi (BYS) bataryaya entegre olarak tasarlanmıştır Aracın uumlzerinde acil durum butonu bulunmakta aracın tuumlm elektronik aksamları aşırı akım kesicilerle ile korunmaktadır Araccedilta fren sistemi olarak hidrolik frenler kullanılmakta boumlylece ani ve guumlccedilluuml duruşlar muumlmkuumln olabilmektedir

4 Araccedil Oumlzellikleri 41 Fiziksel ve Mekanik Oumlzellikler

Oumlzellik Birim Değer

Uzunluk mm 3990

Genişlik mm 1300

Yuumlkseklik mm 1350

Teker Sayısı 4

Şase Materyal Ccedilelik

Kabuk Materyal Karbon Fiber

Oumln Teker Ccedilapı mm 432

Oumln Teker Genişliği mm 70

Arka Teker Ccedilapı mm 330

Arka Teker Genişliği mm 89

Motor Tipi - BLDC

Motor Guumlcuuml kW 3200

8

Motor Verimliliği 87

Batarya - Li-ion 18650

Batarya Nominal Voltaj V 592

Batarya Maksimum Voltajı V 672

Batarya Toplam Kapasitesi Wh 2700

42 Kontrol Sistemleri

421 Motor Suumlruumlcuumlsuuml Aracın motorunda BLDC (Fırccedilasız DC Motor) motor kullanılmıştır BLDC motorda stator sargıları taşıyan ccedilok tabakalı olarak yığılmış ccedilelik plakalardan oluşur Statoumlrdeki bu sargılar 2 şekilde duumlzenlenebilir yıldız modeli ve delta modeli Bu modeller arasındaki fark yıldız model duumlşuumlk devirde yuumlksek tork verebilirken delta model duumlşuumlk devirde duumlşuumlk tork verebilir BLDC motorun rotoru ise kalıcı mıknatıslardır Uygulama alanına bağlı olarak bu mıknatısların sayısı değişkenlik goumlsterebilir Mıknatıs sayısı arttıkccedila motordan alınan tork miktarı artarken elde edilen maksimum hız azalmaktadır Fırccedilasız DC motorların ccedilalışma prensipleri fırccedilalı motorlarla aynıdır Aralarındaki fark motorların geri besleme mekanizmalarıdır Fırccedilalı DC motorda rotorun pozisyon geri bildirimi motorun fırccedilalarından ve mekanik komuumltatoumlrlerden elde edilirken fırccedilasız DC motorlarda rotor pozisyonu sensoumlrler aracılığıyla bulunur Bu sensoumlrlerden en yaygın olanı Hall efekt sensoumlrleridir Bu sensoumlrler sayesinde motorun istenilen hız ve youmlnde ccedilalışması kontrol altında tutulabilir

9

BLDC motorun ccedilalışması iccedilin kullanılan en yaygın youmlntem H-koumlpruumlsuuml metodudur Buna goumlre H-koumlpruumlsuumlnuumln sayısı motorun faz sayısına bağlıdır Aracımızın motoru 3-fazlı-motor olduğu iccedilin 4 fazlı H-koumlpruumlsuuml kullanılmıştır Kullanımda voltaj ve akım değerleri hayli yuumlksek olacağı iccedilin H-koumlpruumlsuumlnde hangi anahtarların kullanılacağı buumlyuumlk oumlnem arz etmektedir Değerlendirmeler sonucunda anahtar goumlrevi goumlrecek komponent olarak IGBT kullanılması tercih edilmiştir H-koumlpruumlsuuml ile ilgili bir diğer oumlnemli nokta da motor fazları arasında olası kısa devre durumlarına karşı oumlnlem alınmasıdır Ayrıca akımın yuumlksek olduğu durumlarda bu yuumlksek akım IGBT iccedilin tehlike oluşturabilir Bu durum da anahtar komponentler uumlzerinden geccedilen akımı denetleyen suumlruumlcuumller sayesinde kontrol altında tutulur Oumlnceki paragrafta bahsedildiği gibi rotor pozisyonu Hall efekt sensoumlrleri sayesinde elde edilebilir Bu pozisyon verileri sensoumlrlerden kontrolcuumlye aktarılır ve bu sayede motor sabit bir hız ve youmlnde ccedilalıştırılabilir BLDC motorunda kullanılan kontrolcuuml PID tipi kontrolcuuml olduğu iccedilin motor suumlruumlcuuml yuumlksek işlemci kapasiteli olmalıdır BLDC motor suumlruumlcuumlnuumln tipik bir şeması aşağıdaki şekilde goumlsterilmiştir

10

Kaynak Renesascom Motor suumlruumlcuuml sisteminde elektronik gaz pedalı (pedal-by-wire) kullanılmaktadır Buna goumlre araccedil suumlruumlcuumlnuumln pedala basması ya da otonom suumlruumlş kontrolcuumlsuumlnuumln gaza basma sinyali Sinyal Genişlik Moduumllasyonu (PWM) ile motor suumlruumlcuumlye aktarılır Buna goumlre motor suumlruumlcuumlnuumln girdi voltajı goumlrev doumlnguumlsuuml (duty cycle) oranına goumlre belirlenmektedir 422 Fren Sistemi Aracımız iccedilin kullanılabilecek efektif fren youmlntemleri - Rejeneratif elektrik fren - Solenoit eyleyici ile hidrolik fren - Step motor ile hidrolik fren Tasarlanan motor suumlruumlcuumlde halihazırda bulunmakta olan aynı zamanda fren sırasında maksimum enerji verimliliğinin alınabildiği rejeneratif elektrik fren fren uygulaması iccedilin birinci seccedilenek olarak tasarıma dahil edildi Ancak bu tip fren sistemleri yeterince guumlccedilluuml olmadıkları ve ani fren gerccedilekleştirme durumlarında yeterince hızlı olamadıkları iccedilin tasarıma hidrolik fren sistemi eklenmesi gerekli goumlruumllduuml Guumlccedilluuml ve anlık fren yapabilmek olası elektrik problemlerinde aracın sağlıklı durabilmesini sağlamak iccedilin kullanımı daha guumlvenli ve implementasyonu daha kolay olan step motor ile hidrolik fren kullanılmasına karar verildi Fren sisteminin implementasyonunda elektronik fren (brake-by-wire) kullanılmıştır Buna goumlre suumlruumlcuuml fren pedalına bastığında ya da otonom suumlruumlş kontrolcuumlsuumlnden fren sinyali goumlnderildiğinde bu sinyal fren kontrol suumlruumlcuumlsuumlne accedilma - kapama sinyali olarak ulaşmaktadır Fren pedalına bağlanmış bulunan guumlccedilluuml bir step motor durma sinyali gelince aracı durduracak youmlnde fren pedalını ccedilekmeye başlar ve fren sinyali gelmeye devam ettikccedile freni ccedilekmeye devam eder Bunun gibi bir detay olası yokuş aşağı durulması gereken durumlar iccedilin tasarlandı 423 Direksiyon Sistemi Direksiyon sisteminde Kremayer ve pinyon dişliler kullanılmıştır Araccedilta 2 adet pinyon dişlileri direksiyon sisteminin merkezini oluşturur bu dişlilerden biri doğrudan araccedil direksiyonuna biri de otonom suumlruumlş kontrolcuumlsuumlne bağlıdır Bu tip bir sistemde sistem parametreleri - Step motor torku - Pinyon dişlileri yarıccedilapı

11

- Kremayer moduumll sayısı

Kaynak TUBITAK Efficiency Challenge Sunumları

Dinamometreyle yapılan oumllccediluumlmler sonucunda direksiyonu ccedilevirmek iccedilin gereken kuvvet araccedil hareketsizken 120 - 180 Newton araccedil hareket halindeyken 60 ndash 90 Newton olarak hesaplanmıştır Bu fark zeminin statik ve dinamik suumlrtuumlnme katsayılarının farkından kaynaklanmaktadır Kremayer moduumll sayısı kullanmak iccedilin 20rsquoden 50rsquoye kadar pinyon dişlisine izin vermektedir Pinyon dişlerinin yarıccedilapı 2 - 5 cm arası değişmektedir 4 cmrsquolik pinyon dişlileri iccedilin tork hesaplaması

Son olarak 22mm pinyon dişlisi yarıccedilapı ve 85 Nm step motor torkunda karar kılındı

Direksiyon sisteminin implementasyonunda elektronik direksiyon (steer-by-wire) işlevselliği kullanılmıştır Buna goumlre suumlruumlcuumlnuumln direksiyonu doumlnduumlrmesi ya da otonom kontrol uumlnitesinin direksiyonu belirli bir accedilıyla doumlnduumlrmesi komutu direksiyon kontrolcuumlsuumlnde Sinyal Genişlik Moduumllasyonu (PWM) tekniği ile işlenmektedir Buna goumlre direksiyon step motoru suumlruumlcuumlsuumlnuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir

424 Geri Bildirim

Direksiyon youmlnelim geri bildirimi Kremayerrsquoe bağlanan lineer potansiyometre aracılığıyla oumllccediluumllmektedir Boumlylece step motor ve dişli sistemlerden kaynaklanan hatalardan sistem korunmaktadır

Hız geri bildirimi BLDC motorlarda bulunan Hall efekt sensoumlrlerinden alınmaktadır Bu sensoumlrler bize 18 cmrsquoye ve motor tekerinin 5 derece doumlnuumlşuumlne kadar hassasiyetle bize bilgi vermektedir Bunun sebebi Hall efekt sensoumlrlerinin aşağırda goumlsterildiği gibi 6 farklı konfiguumlrasyonda bulunabilmeleridir

12

Kaynak DigiKey 425 Uzaktan Haberleşme Sistemi Yarışma kuralları gereğince aracın goumlreve başlaması sinyali kablosuz haberleşme sistemiyle verilir Aynı zamanda acil kapama sistemi de bu youmlntemle ccedilalıştırılabilmelidir Bu durumda var olan kablosuz haberleşme protokollerinin karşılaştırılması yapılmalı ve avantajları değerlendirilmelidir

Kaynak wwwpostscapescom

13

Otonom suumlruumlş kominikasyonunun temel dizayn parametreleri - 100 metre civarında menzil - Anlık iletişim - Stabil guumlvenli ve hata oranı duumlşuumlk - Duumlşuumlk bilgi yuumlkuuml - Enerji tuumlketimi tolere edilebilir - Duumlşuumlk maliyetli Bu parametreler değerlendirildiğinde aracımıza en uyumlu olacak protokoluumln uzak menzilli duumlşuumlk bit hızlı uumlcretsiz lisanslı LoRaWAN olduğuna karar verildi Moduumlluumlmuumlz 433 Mhz frekans bandında ccedilalışmaktadır 43 Elektronik Hareket Sistemleri 431 Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir Direksiyonun youmlnelimi ve direksiyon step motor suumlruumlcuumlsuumlnuumln youmlnetilmesi iccedilin Sinyal Genişlik Moduumllasyonu (PWM) tekniği kullanılmaktadır Buna goumlre motor suumlruumlcuumlyuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir 432 Elektronik Gaz Pedalı (Steer-by-wire) Araccedil gaz pedalı PWM moduumllasyonuyla araccedil motor suumlruumlcuumlsuumlne bağlıdır Motor suumlruumlcuuml bu sinyali gerekli torka doumlnuumlştuumlrmektedir PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcuuml ile de verilebilmektedir

5 Sensoumlrler 51 Odometre

Odometre temelde hareket eden bir cismin ccedilizgisel hızı ve youmlnelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır Hareketli robotlarda bu hız ve youmlnelim bilgileri birtakım hareket sensoumlrleri aracılığıyla elde edilir Burst aracımızda oumln ve arka tekerlerde tekerleklerin doumlnuumlş sayısını hesaplayan enkoder sayaccedillar ve direksiyonun doumlnme accedilısını elde ettiğimiz suumlruumlcuumller araca entegredir Enkoderler tekerin her 15deg lik doumlnuumlşuumlnuuml tutabilmekte yani enkoder sayacının her 24 sayımı tekerin 1 tam tur doumlnmesi anlamına gelmektedir Direksiyon youmlnelimi bilgisi de hareket

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 4: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

4

guumlvenli hale getirmektir Bu amaccedilla yapılanlar raporun devamında detaylı anlatılmıştır Makina muumlhendisliği boumlluumlmuuml oumlğrencilerinden oluşmaktadır Elektronik takımımımızın goumlrevleri araccedil kontrol uumlnitesini tasarlamak ve aracı ldquodrive-by-wirerdquo hale getirmektir Elektrik ve elektronik muumlhendisliği oumlğrencilerinden oluşmaktadır Otonom takımımız bilgisayar muumlhendisliği ve elektrik elektronik muumlhendisliği oumlğrencilerinden oluşmaktadır Takımımızın otonom grubu lideri yuumlksek lisans tez aşamasındaki Kadir Tuumlrksoyrsquodur tOtonom takımında toplamda 3 lisans 4 yuumlksek lisans ve 1 doktora oumlğrencisi bulunmaktadır Takımdaki uumlyelerin goumlrev dağılımları şemada detaylı bir şekilde verilmiştir

Zamanlama planımız Gannt Şeması olarak ifade edilmiştir Temel olarak amacımız kontrol algoritmalarını simuumllasyonda geliştirmeye devam ederken aracımızın da elektro-mekanik kontroluumlnuuml bir kenardan ilerletebilmektir

5

3 Yarışma Kurallarının Analizi ve Tasarım Ccedilalışması Hedefleri

Yarışma kuralları incelendiğinde parkuru başarılı şekilde tamamlamak iccedilin aracın temelde 4 farklı goumlrevi yerine getirmesi beklenmektedir 1 Yolcu alma ve indirme 2 En kısa yolu kullanarak park yerine ulaşma 3 Park etme 4 Aracın o sırada geccedilerli olan trafik kurallarına uyması Aracın bu goumlrevleri yerine getirebilmesi iccedilin sağlaması gereken oumlzelliklerin en başında iccedilereceği sensoumlrler ve kullanılacak kontrol sistemlerinin konfiguumlrasyonu gelmektedir 31 Sensoumlrler Temelde kullanılan sensoumlrleri lokalizasyon ve ccedilevre tanıma ndash algılama sensoumlrleri olarak ikiye ayırabiliriz

311 Lokalizasyon Sensoumlrleri

Oumlncelikle aracın başlangıccedil noktasından itibaren parkurdaki konumunu denetlemek ve hedeflenen goumlrevler iccedilin araccedil kontrol hesaplamalarının sağlıklı yapabilmesi iccedilin temel lokalizasyon araccedilları değerlendirildi Konumun hızın ve youmlnelimin tahmini değerleri iccedilin tekerleklerin doumlnme sayısı ve oumln tekerleğin youmlnelim accedilısı (steering) kullanılarak aracın başlangıccedil noktası referansında konum hesaplaması yapılması tasarlandı Aracın tekerlek doumlnme sayısını hesaplamada arka tekerleklere yerleştirilebilecek enkoder sayacı kullanıldı Enkoder ve aracın direksiyon accedilısından gelen değerlerle odometre hesaplamasının detayları ilerleyen boumlluumlmlerde verilmiştir

6

Bu odometre değerininin olası kayma ve hata birikmelerinden kaynaklanan sapmalarının GPS (Global Positioning System) ve IMU (Inertial Measurement Unit) sensoumlrleri kullanılarak suumlrekli olarak filtrelenmesi hedeflendi Bu odometre - GPS - IMU verilerinin fuumlzyonu iccedilin ccediloklu sensoumlr girişli Kalman filtresi algoritmalarının kullanılması planlandı

312 Ccedilevre Tanıma Sensoumlrleri Yolcu alma ndash indirme trafik kurallarına uyma (hız limiti doumlnuumlş yasakları vb) park etme vbgoumlrevlerin sağlıklı gerccedilekleştirilebilmesi iccedilin trafik işaretlerini tanıma işlemini gerccedilekleştirilmelidir Bunun iccedilin oumlncelikli olarak aracın oumln tarafına geniş accedilılı bir kamera yerleştirilmesi ve temel olarak bu kamera ile şerit trafik işaretleri ve trafik lambalarının tanınması planlandı Geniş accedilılı kamera sayesinde parkurdaki pek ccedilok trafik levhası ndash trafik ışığını kolaylıkla algılanabilir ancak virajlar park alanı vb olası goumlruumlntuuml kayıplarının yaşanabileceği yerlerde araccedil-ccedilevre bağlantısının kopmaması iccedilin aracın 2 yanına benzer kamera uumlniteleri eklendi Ccedilevre algılama ve tanıma işlemi iccedilin kullanılabilecek bir diğer sensoumlr de yakınlık taraması yapabildiğimiz 2D LIDAR sensoumlruumlduumlr 2D LIDAR kullanılarak oumlzellikle yol ccedilevresinde bulunan bariyerlerin algılanması ve otonom suumlruumlş kontroluumlnuumln daha stabil ve sağlıklı ccedilalışabilmesi amaccedillandı

32 Mekanik Tasarım Hedefleri

321 Kontrol Sistemi Kontrol sistemi tasarımında temel ekipmanlar fren sistemi direksiyon kontrol sistemidir Frenlerin tasarımında enerji verimliliği bağlamında en verimli olan rejeneratif elektrik fren ve anlık guumlccedilluuml fren uygulamasının implementasyonu iccedilin hidrolik frenlerin beraber kullanılması planlandı Ek olarak Uzaktan Acil Muumldahale Sistemi (UMS) kriterlerini karşılayacak şekilde iletişim protokollerinin kullanılması bu iletişim iccedilin LoRaWAN kullanılması planlandı Fren sistemi ve UMS kriterlerine uygunluk ve bunların analizi ilerleyen boumlluumlmlerde detaylandırılmıştır

Direksiyon tasarımında pinyon ve Kremayer konfiguumlrasyonları kullanılması hedeflendi Araccedilta direksiyon kontroluuml sağlayan 2 adet pinyon dişlileri bulunmakta bunlardan biri doğrudan direksiyondan gelmekte diğeri de otonom suumlruumlş iccedilin kontrolcuumlden gelmektedir

7

322 Guumlvenlik Donanım Hedefleri Aracımız Teknofest TUumlBİTAK Efficiency Challenge Electric Vehicle yarışmasına katılmak uumlzere tasarlanmıştır Dolayısıyla Efficiency Challenge iccedilin sağlaması gereken guumlvenlik kriterlerini sağlayacak şekilde tasarlanmıştır Batarya grubu kısa devre ve sızıntılardan korunacak şekilde batarya koruma kabı iccediline goumlmuumllmuumlş batarya kabı ise aracın tabanına sabitlenmiş Batarya Youmlnetim Sistemi (BYS) bataryaya entegre olarak tasarlanmıştır Aracın uumlzerinde acil durum butonu bulunmakta aracın tuumlm elektronik aksamları aşırı akım kesicilerle ile korunmaktadır Araccedilta fren sistemi olarak hidrolik frenler kullanılmakta boumlylece ani ve guumlccedilluuml duruşlar muumlmkuumln olabilmektedir

4 Araccedil Oumlzellikleri 41 Fiziksel ve Mekanik Oumlzellikler

Oumlzellik Birim Değer

Uzunluk mm 3990

Genişlik mm 1300

Yuumlkseklik mm 1350

Teker Sayısı 4

Şase Materyal Ccedilelik

Kabuk Materyal Karbon Fiber

Oumln Teker Ccedilapı mm 432

Oumln Teker Genişliği mm 70

Arka Teker Ccedilapı mm 330

Arka Teker Genişliği mm 89

Motor Tipi - BLDC

Motor Guumlcuuml kW 3200

8

Motor Verimliliği 87

Batarya - Li-ion 18650

Batarya Nominal Voltaj V 592

Batarya Maksimum Voltajı V 672

Batarya Toplam Kapasitesi Wh 2700

42 Kontrol Sistemleri

421 Motor Suumlruumlcuumlsuuml Aracın motorunda BLDC (Fırccedilasız DC Motor) motor kullanılmıştır BLDC motorda stator sargıları taşıyan ccedilok tabakalı olarak yığılmış ccedilelik plakalardan oluşur Statoumlrdeki bu sargılar 2 şekilde duumlzenlenebilir yıldız modeli ve delta modeli Bu modeller arasındaki fark yıldız model duumlşuumlk devirde yuumlksek tork verebilirken delta model duumlşuumlk devirde duumlşuumlk tork verebilir BLDC motorun rotoru ise kalıcı mıknatıslardır Uygulama alanına bağlı olarak bu mıknatısların sayısı değişkenlik goumlsterebilir Mıknatıs sayısı arttıkccedila motordan alınan tork miktarı artarken elde edilen maksimum hız azalmaktadır Fırccedilasız DC motorların ccedilalışma prensipleri fırccedilalı motorlarla aynıdır Aralarındaki fark motorların geri besleme mekanizmalarıdır Fırccedilalı DC motorda rotorun pozisyon geri bildirimi motorun fırccedilalarından ve mekanik komuumltatoumlrlerden elde edilirken fırccedilasız DC motorlarda rotor pozisyonu sensoumlrler aracılığıyla bulunur Bu sensoumlrlerden en yaygın olanı Hall efekt sensoumlrleridir Bu sensoumlrler sayesinde motorun istenilen hız ve youmlnde ccedilalışması kontrol altında tutulabilir

9

BLDC motorun ccedilalışması iccedilin kullanılan en yaygın youmlntem H-koumlpruumlsuuml metodudur Buna goumlre H-koumlpruumlsuumlnuumln sayısı motorun faz sayısına bağlıdır Aracımızın motoru 3-fazlı-motor olduğu iccedilin 4 fazlı H-koumlpruumlsuuml kullanılmıştır Kullanımda voltaj ve akım değerleri hayli yuumlksek olacağı iccedilin H-koumlpruumlsuumlnde hangi anahtarların kullanılacağı buumlyuumlk oumlnem arz etmektedir Değerlendirmeler sonucunda anahtar goumlrevi goumlrecek komponent olarak IGBT kullanılması tercih edilmiştir H-koumlpruumlsuuml ile ilgili bir diğer oumlnemli nokta da motor fazları arasında olası kısa devre durumlarına karşı oumlnlem alınmasıdır Ayrıca akımın yuumlksek olduğu durumlarda bu yuumlksek akım IGBT iccedilin tehlike oluşturabilir Bu durum da anahtar komponentler uumlzerinden geccedilen akımı denetleyen suumlruumlcuumller sayesinde kontrol altında tutulur Oumlnceki paragrafta bahsedildiği gibi rotor pozisyonu Hall efekt sensoumlrleri sayesinde elde edilebilir Bu pozisyon verileri sensoumlrlerden kontrolcuumlye aktarılır ve bu sayede motor sabit bir hız ve youmlnde ccedilalıştırılabilir BLDC motorunda kullanılan kontrolcuuml PID tipi kontrolcuuml olduğu iccedilin motor suumlruumlcuuml yuumlksek işlemci kapasiteli olmalıdır BLDC motor suumlruumlcuumlnuumln tipik bir şeması aşağıdaki şekilde goumlsterilmiştir

10

Kaynak Renesascom Motor suumlruumlcuuml sisteminde elektronik gaz pedalı (pedal-by-wire) kullanılmaktadır Buna goumlre araccedil suumlruumlcuumlnuumln pedala basması ya da otonom suumlruumlş kontrolcuumlsuumlnuumln gaza basma sinyali Sinyal Genişlik Moduumllasyonu (PWM) ile motor suumlruumlcuumlye aktarılır Buna goumlre motor suumlruumlcuumlnuumln girdi voltajı goumlrev doumlnguumlsuuml (duty cycle) oranına goumlre belirlenmektedir 422 Fren Sistemi Aracımız iccedilin kullanılabilecek efektif fren youmlntemleri - Rejeneratif elektrik fren - Solenoit eyleyici ile hidrolik fren - Step motor ile hidrolik fren Tasarlanan motor suumlruumlcuumlde halihazırda bulunmakta olan aynı zamanda fren sırasında maksimum enerji verimliliğinin alınabildiği rejeneratif elektrik fren fren uygulaması iccedilin birinci seccedilenek olarak tasarıma dahil edildi Ancak bu tip fren sistemleri yeterince guumlccedilluuml olmadıkları ve ani fren gerccedilekleştirme durumlarında yeterince hızlı olamadıkları iccedilin tasarıma hidrolik fren sistemi eklenmesi gerekli goumlruumllduuml Guumlccedilluuml ve anlık fren yapabilmek olası elektrik problemlerinde aracın sağlıklı durabilmesini sağlamak iccedilin kullanımı daha guumlvenli ve implementasyonu daha kolay olan step motor ile hidrolik fren kullanılmasına karar verildi Fren sisteminin implementasyonunda elektronik fren (brake-by-wire) kullanılmıştır Buna goumlre suumlruumlcuuml fren pedalına bastığında ya da otonom suumlruumlş kontrolcuumlsuumlnden fren sinyali goumlnderildiğinde bu sinyal fren kontrol suumlruumlcuumlsuumlne accedilma - kapama sinyali olarak ulaşmaktadır Fren pedalına bağlanmış bulunan guumlccedilluuml bir step motor durma sinyali gelince aracı durduracak youmlnde fren pedalını ccedilekmeye başlar ve fren sinyali gelmeye devam ettikccedile freni ccedilekmeye devam eder Bunun gibi bir detay olası yokuş aşağı durulması gereken durumlar iccedilin tasarlandı 423 Direksiyon Sistemi Direksiyon sisteminde Kremayer ve pinyon dişliler kullanılmıştır Araccedilta 2 adet pinyon dişlileri direksiyon sisteminin merkezini oluşturur bu dişlilerden biri doğrudan araccedil direksiyonuna biri de otonom suumlruumlş kontrolcuumlsuumlne bağlıdır Bu tip bir sistemde sistem parametreleri - Step motor torku - Pinyon dişlileri yarıccedilapı

11

- Kremayer moduumll sayısı

Kaynak TUBITAK Efficiency Challenge Sunumları

Dinamometreyle yapılan oumllccediluumlmler sonucunda direksiyonu ccedilevirmek iccedilin gereken kuvvet araccedil hareketsizken 120 - 180 Newton araccedil hareket halindeyken 60 ndash 90 Newton olarak hesaplanmıştır Bu fark zeminin statik ve dinamik suumlrtuumlnme katsayılarının farkından kaynaklanmaktadır Kremayer moduumll sayısı kullanmak iccedilin 20rsquoden 50rsquoye kadar pinyon dişlisine izin vermektedir Pinyon dişlerinin yarıccedilapı 2 - 5 cm arası değişmektedir 4 cmrsquolik pinyon dişlileri iccedilin tork hesaplaması

Son olarak 22mm pinyon dişlisi yarıccedilapı ve 85 Nm step motor torkunda karar kılındı

Direksiyon sisteminin implementasyonunda elektronik direksiyon (steer-by-wire) işlevselliği kullanılmıştır Buna goumlre suumlruumlcuumlnuumln direksiyonu doumlnduumlrmesi ya da otonom kontrol uumlnitesinin direksiyonu belirli bir accedilıyla doumlnduumlrmesi komutu direksiyon kontrolcuumlsuumlnde Sinyal Genişlik Moduumllasyonu (PWM) tekniği ile işlenmektedir Buna goumlre direksiyon step motoru suumlruumlcuumlsuumlnuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir

424 Geri Bildirim

Direksiyon youmlnelim geri bildirimi Kremayerrsquoe bağlanan lineer potansiyometre aracılığıyla oumllccediluumllmektedir Boumlylece step motor ve dişli sistemlerden kaynaklanan hatalardan sistem korunmaktadır

Hız geri bildirimi BLDC motorlarda bulunan Hall efekt sensoumlrlerinden alınmaktadır Bu sensoumlrler bize 18 cmrsquoye ve motor tekerinin 5 derece doumlnuumlşuumlne kadar hassasiyetle bize bilgi vermektedir Bunun sebebi Hall efekt sensoumlrlerinin aşağırda goumlsterildiği gibi 6 farklı konfiguumlrasyonda bulunabilmeleridir

12

Kaynak DigiKey 425 Uzaktan Haberleşme Sistemi Yarışma kuralları gereğince aracın goumlreve başlaması sinyali kablosuz haberleşme sistemiyle verilir Aynı zamanda acil kapama sistemi de bu youmlntemle ccedilalıştırılabilmelidir Bu durumda var olan kablosuz haberleşme protokollerinin karşılaştırılması yapılmalı ve avantajları değerlendirilmelidir

Kaynak wwwpostscapescom

13

Otonom suumlruumlş kominikasyonunun temel dizayn parametreleri - 100 metre civarında menzil - Anlık iletişim - Stabil guumlvenli ve hata oranı duumlşuumlk - Duumlşuumlk bilgi yuumlkuuml - Enerji tuumlketimi tolere edilebilir - Duumlşuumlk maliyetli Bu parametreler değerlendirildiğinde aracımıza en uyumlu olacak protokoluumln uzak menzilli duumlşuumlk bit hızlı uumlcretsiz lisanslı LoRaWAN olduğuna karar verildi Moduumlluumlmuumlz 433 Mhz frekans bandında ccedilalışmaktadır 43 Elektronik Hareket Sistemleri 431 Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir Direksiyonun youmlnelimi ve direksiyon step motor suumlruumlcuumlsuumlnuumln youmlnetilmesi iccedilin Sinyal Genişlik Moduumllasyonu (PWM) tekniği kullanılmaktadır Buna goumlre motor suumlruumlcuumlyuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir 432 Elektronik Gaz Pedalı (Steer-by-wire) Araccedil gaz pedalı PWM moduumllasyonuyla araccedil motor suumlruumlcuumlsuumlne bağlıdır Motor suumlruumlcuuml bu sinyali gerekli torka doumlnuumlştuumlrmektedir PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcuuml ile de verilebilmektedir

5 Sensoumlrler 51 Odometre

Odometre temelde hareket eden bir cismin ccedilizgisel hızı ve youmlnelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır Hareketli robotlarda bu hız ve youmlnelim bilgileri birtakım hareket sensoumlrleri aracılığıyla elde edilir Burst aracımızda oumln ve arka tekerlerde tekerleklerin doumlnuumlş sayısını hesaplayan enkoder sayaccedillar ve direksiyonun doumlnme accedilısını elde ettiğimiz suumlruumlcuumller araca entegredir Enkoderler tekerin her 15deg lik doumlnuumlşuumlnuuml tutabilmekte yani enkoder sayacının her 24 sayımı tekerin 1 tam tur doumlnmesi anlamına gelmektedir Direksiyon youmlnelimi bilgisi de hareket

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 5: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

5

3 Yarışma Kurallarının Analizi ve Tasarım Ccedilalışması Hedefleri

Yarışma kuralları incelendiğinde parkuru başarılı şekilde tamamlamak iccedilin aracın temelde 4 farklı goumlrevi yerine getirmesi beklenmektedir 1 Yolcu alma ve indirme 2 En kısa yolu kullanarak park yerine ulaşma 3 Park etme 4 Aracın o sırada geccedilerli olan trafik kurallarına uyması Aracın bu goumlrevleri yerine getirebilmesi iccedilin sağlaması gereken oumlzelliklerin en başında iccedilereceği sensoumlrler ve kullanılacak kontrol sistemlerinin konfiguumlrasyonu gelmektedir 31 Sensoumlrler Temelde kullanılan sensoumlrleri lokalizasyon ve ccedilevre tanıma ndash algılama sensoumlrleri olarak ikiye ayırabiliriz

311 Lokalizasyon Sensoumlrleri

Oumlncelikle aracın başlangıccedil noktasından itibaren parkurdaki konumunu denetlemek ve hedeflenen goumlrevler iccedilin araccedil kontrol hesaplamalarının sağlıklı yapabilmesi iccedilin temel lokalizasyon araccedilları değerlendirildi Konumun hızın ve youmlnelimin tahmini değerleri iccedilin tekerleklerin doumlnme sayısı ve oumln tekerleğin youmlnelim accedilısı (steering) kullanılarak aracın başlangıccedil noktası referansında konum hesaplaması yapılması tasarlandı Aracın tekerlek doumlnme sayısını hesaplamada arka tekerleklere yerleştirilebilecek enkoder sayacı kullanıldı Enkoder ve aracın direksiyon accedilısından gelen değerlerle odometre hesaplamasının detayları ilerleyen boumlluumlmlerde verilmiştir

6

Bu odometre değerininin olası kayma ve hata birikmelerinden kaynaklanan sapmalarının GPS (Global Positioning System) ve IMU (Inertial Measurement Unit) sensoumlrleri kullanılarak suumlrekli olarak filtrelenmesi hedeflendi Bu odometre - GPS - IMU verilerinin fuumlzyonu iccedilin ccediloklu sensoumlr girişli Kalman filtresi algoritmalarının kullanılması planlandı

312 Ccedilevre Tanıma Sensoumlrleri Yolcu alma ndash indirme trafik kurallarına uyma (hız limiti doumlnuumlş yasakları vb) park etme vbgoumlrevlerin sağlıklı gerccedilekleştirilebilmesi iccedilin trafik işaretlerini tanıma işlemini gerccedilekleştirilmelidir Bunun iccedilin oumlncelikli olarak aracın oumln tarafına geniş accedilılı bir kamera yerleştirilmesi ve temel olarak bu kamera ile şerit trafik işaretleri ve trafik lambalarının tanınması planlandı Geniş accedilılı kamera sayesinde parkurdaki pek ccedilok trafik levhası ndash trafik ışığını kolaylıkla algılanabilir ancak virajlar park alanı vb olası goumlruumlntuuml kayıplarının yaşanabileceği yerlerde araccedil-ccedilevre bağlantısının kopmaması iccedilin aracın 2 yanına benzer kamera uumlniteleri eklendi Ccedilevre algılama ve tanıma işlemi iccedilin kullanılabilecek bir diğer sensoumlr de yakınlık taraması yapabildiğimiz 2D LIDAR sensoumlruumlduumlr 2D LIDAR kullanılarak oumlzellikle yol ccedilevresinde bulunan bariyerlerin algılanması ve otonom suumlruumlş kontroluumlnuumln daha stabil ve sağlıklı ccedilalışabilmesi amaccedillandı

32 Mekanik Tasarım Hedefleri

321 Kontrol Sistemi Kontrol sistemi tasarımında temel ekipmanlar fren sistemi direksiyon kontrol sistemidir Frenlerin tasarımında enerji verimliliği bağlamında en verimli olan rejeneratif elektrik fren ve anlık guumlccedilluuml fren uygulamasının implementasyonu iccedilin hidrolik frenlerin beraber kullanılması planlandı Ek olarak Uzaktan Acil Muumldahale Sistemi (UMS) kriterlerini karşılayacak şekilde iletişim protokollerinin kullanılması bu iletişim iccedilin LoRaWAN kullanılması planlandı Fren sistemi ve UMS kriterlerine uygunluk ve bunların analizi ilerleyen boumlluumlmlerde detaylandırılmıştır

Direksiyon tasarımında pinyon ve Kremayer konfiguumlrasyonları kullanılması hedeflendi Araccedilta direksiyon kontroluuml sağlayan 2 adet pinyon dişlileri bulunmakta bunlardan biri doğrudan direksiyondan gelmekte diğeri de otonom suumlruumlş iccedilin kontrolcuumlden gelmektedir

7

322 Guumlvenlik Donanım Hedefleri Aracımız Teknofest TUumlBİTAK Efficiency Challenge Electric Vehicle yarışmasına katılmak uumlzere tasarlanmıştır Dolayısıyla Efficiency Challenge iccedilin sağlaması gereken guumlvenlik kriterlerini sağlayacak şekilde tasarlanmıştır Batarya grubu kısa devre ve sızıntılardan korunacak şekilde batarya koruma kabı iccediline goumlmuumllmuumlş batarya kabı ise aracın tabanına sabitlenmiş Batarya Youmlnetim Sistemi (BYS) bataryaya entegre olarak tasarlanmıştır Aracın uumlzerinde acil durum butonu bulunmakta aracın tuumlm elektronik aksamları aşırı akım kesicilerle ile korunmaktadır Araccedilta fren sistemi olarak hidrolik frenler kullanılmakta boumlylece ani ve guumlccedilluuml duruşlar muumlmkuumln olabilmektedir

4 Araccedil Oumlzellikleri 41 Fiziksel ve Mekanik Oumlzellikler

Oumlzellik Birim Değer

Uzunluk mm 3990

Genişlik mm 1300

Yuumlkseklik mm 1350

Teker Sayısı 4

Şase Materyal Ccedilelik

Kabuk Materyal Karbon Fiber

Oumln Teker Ccedilapı mm 432

Oumln Teker Genişliği mm 70

Arka Teker Ccedilapı mm 330

Arka Teker Genişliği mm 89

Motor Tipi - BLDC

Motor Guumlcuuml kW 3200

8

Motor Verimliliği 87

Batarya - Li-ion 18650

Batarya Nominal Voltaj V 592

Batarya Maksimum Voltajı V 672

Batarya Toplam Kapasitesi Wh 2700

42 Kontrol Sistemleri

421 Motor Suumlruumlcuumlsuuml Aracın motorunda BLDC (Fırccedilasız DC Motor) motor kullanılmıştır BLDC motorda stator sargıları taşıyan ccedilok tabakalı olarak yığılmış ccedilelik plakalardan oluşur Statoumlrdeki bu sargılar 2 şekilde duumlzenlenebilir yıldız modeli ve delta modeli Bu modeller arasındaki fark yıldız model duumlşuumlk devirde yuumlksek tork verebilirken delta model duumlşuumlk devirde duumlşuumlk tork verebilir BLDC motorun rotoru ise kalıcı mıknatıslardır Uygulama alanına bağlı olarak bu mıknatısların sayısı değişkenlik goumlsterebilir Mıknatıs sayısı arttıkccedila motordan alınan tork miktarı artarken elde edilen maksimum hız azalmaktadır Fırccedilasız DC motorların ccedilalışma prensipleri fırccedilalı motorlarla aynıdır Aralarındaki fark motorların geri besleme mekanizmalarıdır Fırccedilalı DC motorda rotorun pozisyon geri bildirimi motorun fırccedilalarından ve mekanik komuumltatoumlrlerden elde edilirken fırccedilasız DC motorlarda rotor pozisyonu sensoumlrler aracılığıyla bulunur Bu sensoumlrlerden en yaygın olanı Hall efekt sensoumlrleridir Bu sensoumlrler sayesinde motorun istenilen hız ve youmlnde ccedilalışması kontrol altında tutulabilir

9

BLDC motorun ccedilalışması iccedilin kullanılan en yaygın youmlntem H-koumlpruumlsuuml metodudur Buna goumlre H-koumlpruumlsuumlnuumln sayısı motorun faz sayısına bağlıdır Aracımızın motoru 3-fazlı-motor olduğu iccedilin 4 fazlı H-koumlpruumlsuuml kullanılmıştır Kullanımda voltaj ve akım değerleri hayli yuumlksek olacağı iccedilin H-koumlpruumlsuumlnde hangi anahtarların kullanılacağı buumlyuumlk oumlnem arz etmektedir Değerlendirmeler sonucunda anahtar goumlrevi goumlrecek komponent olarak IGBT kullanılması tercih edilmiştir H-koumlpruumlsuuml ile ilgili bir diğer oumlnemli nokta da motor fazları arasında olası kısa devre durumlarına karşı oumlnlem alınmasıdır Ayrıca akımın yuumlksek olduğu durumlarda bu yuumlksek akım IGBT iccedilin tehlike oluşturabilir Bu durum da anahtar komponentler uumlzerinden geccedilen akımı denetleyen suumlruumlcuumller sayesinde kontrol altında tutulur Oumlnceki paragrafta bahsedildiği gibi rotor pozisyonu Hall efekt sensoumlrleri sayesinde elde edilebilir Bu pozisyon verileri sensoumlrlerden kontrolcuumlye aktarılır ve bu sayede motor sabit bir hız ve youmlnde ccedilalıştırılabilir BLDC motorunda kullanılan kontrolcuuml PID tipi kontrolcuuml olduğu iccedilin motor suumlruumlcuuml yuumlksek işlemci kapasiteli olmalıdır BLDC motor suumlruumlcuumlnuumln tipik bir şeması aşağıdaki şekilde goumlsterilmiştir

10

Kaynak Renesascom Motor suumlruumlcuuml sisteminde elektronik gaz pedalı (pedal-by-wire) kullanılmaktadır Buna goumlre araccedil suumlruumlcuumlnuumln pedala basması ya da otonom suumlruumlş kontrolcuumlsuumlnuumln gaza basma sinyali Sinyal Genişlik Moduumllasyonu (PWM) ile motor suumlruumlcuumlye aktarılır Buna goumlre motor suumlruumlcuumlnuumln girdi voltajı goumlrev doumlnguumlsuuml (duty cycle) oranına goumlre belirlenmektedir 422 Fren Sistemi Aracımız iccedilin kullanılabilecek efektif fren youmlntemleri - Rejeneratif elektrik fren - Solenoit eyleyici ile hidrolik fren - Step motor ile hidrolik fren Tasarlanan motor suumlruumlcuumlde halihazırda bulunmakta olan aynı zamanda fren sırasında maksimum enerji verimliliğinin alınabildiği rejeneratif elektrik fren fren uygulaması iccedilin birinci seccedilenek olarak tasarıma dahil edildi Ancak bu tip fren sistemleri yeterince guumlccedilluuml olmadıkları ve ani fren gerccedilekleştirme durumlarında yeterince hızlı olamadıkları iccedilin tasarıma hidrolik fren sistemi eklenmesi gerekli goumlruumllduuml Guumlccedilluuml ve anlık fren yapabilmek olası elektrik problemlerinde aracın sağlıklı durabilmesini sağlamak iccedilin kullanımı daha guumlvenli ve implementasyonu daha kolay olan step motor ile hidrolik fren kullanılmasına karar verildi Fren sisteminin implementasyonunda elektronik fren (brake-by-wire) kullanılmıştır Buna goumlre suumlruumlcuuml fren pedalına bastığında ya da otonom suumlruumlş kontrolcuumlsuumlnden fren sinyali goumlnderildiğinde bu sinyal fren kontrol suumlruumlcuumlsuumlne accedilma - kapama sinyali olarak ulaşmaktadır Fren pedalına bağlanmış bulunan guumlccedilluuml bir step motor durma sinyali gelince aracı durduracak youmlnde fren pedalını ccedilekmeye başlar ve fren sinyali gelmeye devam ettikccedile freni ccedilekmeye devam eder Bunun gibi bir detay olası yokuş aşağı durulması gereken durumlar iccedilin tasarlandı 423 Direksiyon Sistemi Direksiyon sisteminde Kremayer ve pinyon dişliler kullanılmıştır Araccedilta 2 adet pinyon dişlileri direksiyon sisteminin merkezini oluşturur bu dişlilerden biri doğrudan araccedil direksiyonuna biri de otonom suumlruumlş kontrolcuumlsuumlne bağlıdır Bu tip bir sistemde sistem parametreleri - Step motor torku - Pinyon dişlileri yarıccedilapı

11

- Kremayer moduumll sayısı

Kaynak TUBITAK Efficiency Challenge Sunumları

Dinamometreyle yapılan oumllccediluumlmler sonucunda direksiyonu ccedilevirmek iccedilin gereken kuvvet araccedil hareketsizken 120 - 180 Newton araccedil hareket halindeyken 60 ndash 90 Newton olarak hesaplanmıştır Bu fark zeminin statik ve dinamik suumlrtuumlnme katsayılarının farkından kaynaklanmaktadır Kremayer moduumll sayısı kullanmak iccedilin 20rsquoden 50rsquoye kadar pinyon dişlisine izin vermektedir Pinyon dişlerinin yarıccedilapı 2 - 5 cm arası değişmektedir 4 cmrsquolik pinyon dişlileri iccedilin tork hesaplaması

Son olarak 22mm pinyon dişlisi yarıccedilapı ve 85 Nm step motor torkunda karar kılındı

Direksiyon sisteminin implementasyonunda elektronik direksiyon (steer-by-wire) işlevselliği kullanılmıştır Buna goumlre suumlruumlcuumlnuumln direksiyonu doumlnduumlrmesi ya da otonom kontrol uumlnitesinin direksiyonu belirli bir accedilıyla doumlnduumlrmesi komutu direksiyon kontrolcuumlsuumlnde Sinyal Genişlik Moduumllasyonu (PWM) tekniği ile işlenmektedir Buna goumlre direksiyon step motoru suumlruumlcuumlsuumlnuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir

424 Geri Bildirim

Direksiyon youmlnelim geri bildirimi Kremayerrsquoe bağlanan lineer potansiyometre aracılığıyla oumllccediluumllmektedir Boumlylece step motor ve dişli sistemlerden kaynaklanan hatalardan sistem korunmaktadır

Hız geri bildirimi BLDC motorlarda bulunan Hall efekt sensoumlrlerinden alınmaktadır Bu sensoumlrler bize 18 cmrsquoye ve motor tekerinin 5 derece doumlnuumlşuumlne kadar hassasiyetle bize bilgi vermektedir Bunun sebebi Hall efekt sensoumlrlerinin aşağırda goumlsterildiği gibi 6 farklı konfiguumlrasyonda bulunabilmeleridir

12

Kaynak DigiKey 425 Uzaktan Haberleşme Sistemi Yarışma kuralları gereğince aracın goumlreve başlaması sinyali kablosuz haberleşme sistemiyle verilir Aynı zamanda acil kapama sistemi de bu youmlntemle ccedilalıştırılabilmelidir Bu durumda var olan kablosuz haberleşme protokollerinin karşılaştırılması yapılmalı ve avantajları değerlendirilmelidir

Kaynak wwwpostscapescom

13

Otonom suumlruumlş kominikasyonunun temel dizayn parametreleri - 100 metre civarında menzil - Anlık iletişim - Stabil guumlvenli ve hata oranı duumlşuumlk - Duumlşuumlk bilgi yuumlkuuml - Enerji tuumlketimi tolere edilebilir - Duumlşuumlk maliyetli Bu parametreler değerlendirildiğinde aracımıza en uyumlu olacak protokoluumln uzak menzilli duumlşuumlk bit hızlı uumlcretsiz lisanslı LoRaWAN olduğuna karar verildi Moduumlluumlmuumlz 433 Mhz frekans bandında ccedilalışmaktadır 43 Elektronik Hareket Sistemleri 431 Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir Direksiyonun youmlnelimi ve direksiyon step motor suumlruumlcuumlsuumlnuumln youmlnetilmesi iccedilin Sinyal Genişlik Moduumllasyonu (PWM) tekniği kullanılmaktadır Buna goumlre motor suumlruumlcuumlyuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir 432 Elektronik Gaz Pedalı (Steer-by-wire) Araccedil gaz pedalı PWM moduumllasyonuyla araccedil motor suumlruumlcuumlsuumlne bağlıdır Motor suumlruumlcuuml bu sinyali gerekli torka doumlnuumlştuumlrmektedir PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcuuml ile de verilebilmektedir

5 Sensoumlrler 51 Odometre

Odometre temelde hareket eden bir cismin ccedilizgisel hızı ve youmlnelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır Hareketli robotlarda bu hız ve youmlnelim bilgileri birtakım hareket sensoumlrleri aracılığıyla elde edilir Burst aracımızda oumln ve arka tekerlerde tekerleklerin doumlnuumlş sayısını hesaplayan enkoder sayaccedillar ve direksiyonun doumlnme accedilısını elde ettiğimiz suumlruumlcuumller araca entegredir Enkoderler tekerin her 15deg lik doumlnuumlşuumlnuuml tutabilmekte yani enkoder sayacının her 24 sayımı tekerin 1 tam tur doumlnmesi anlamına gelmektedir Direksiyon youmlnelimi bilgisi de hareket

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 6: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

6

Bu odometre değerininin olası kayma ve hata birikmelerinden kaynaklanan sapmalarının GPS (Global Positioning System) ve IMU (Inertial Measurement Unit) sensoumlrleri kullanılarak suumlrekli olarak filtrelenmesi hedeflendi Bu odometre - GPS - IMU verilerinin fuumlzyonu iccedilin ccediloklu sensoumlr girişli Kalman filtresi algoritmalarının kullanılması planlandı

312 Ccedilevre Tanıma Sensoumlrleri Yolcu alma ndash indirme trafik kurallarına uyma (hız limiti doumlnuumlş yasakları vb) park etme vbgoumlrevlerin sağlıklı gerccedilekleştirilebilmesi iccedilin trafik işaretlerini tanıma işlemini gerccedilekleştirilmelidir Bunun iccedilin oumlncelikli olarak aracın oumln tarafına geniş accedilılı bir kamera yerleştirilmesi ve temel olarak bu kamera ile şerit trafik işaretleri ve trafik lambalarının tanınması planlandı Geniş accedilılı kamera sayesinde parkurdaki pek ccedilok trafik levhası ndash trafik ışığını kolaylıkla algılanabilir ancak virajlar park alanı vb olası goumlruumlntuuml kayıplarının yaşanabileceği yerlerde araccedil-ccedilevre bağlantısının kopmaması iccedilin aracın 2 yanına benzer kamera uumlniteleri eklendi Ccedilevre algılama ve tanıma işlemi iccedilin kullanılabilecek bir diğer sensoumlr de yakınlık taraması yapabildiğimiz 2D LIDAR sensoumlruumlduumlr 2D LIDAR kullanılarak oumlzellikle yol ccedilevresinde bulunan bariyerlerin algılanması ve otonom suumlruumlş kontroluumlnuumln daha stabil ve sağlıklı ccedilalışabilmesi amaccedillandı

32 Mekanik Tasarım Hedefleri

321 Kontrol Sistemi Kontrol sistemi tasarımında temel ekipmanlar fren sistemi direksiyon kontrol sistemidir Frenlerin tasarımında enerji verimliliği bağlamında en verimli olan rejeneratif elektrik fren ve anlık guumlccedilluuml fren uygulamasının implementasyonu iccedilin hidrolik frenlerin beraber kullanılması planlandı Ek olarak Uzaktan Acil Muumldahale Sistemi (UMS) kriterlerini karşılayacak şekilde iletişim protokollerinin kullanılması bu iletişim iccedilin LoRaWAN kullanılması planlandı Fren sistemi ve UMS kriterlerine uygunluk ve bunların analizi ilerleyen boumlluumlmlerde detaylandırılmıştır

Direksiyon tasarımında pinyon ve Kremayer konfiguumlrasyonları kullanılması hedeflendi Araccedilta direksiyon kontroluuml sağlayan 2 adet pinyon dişlileri bulunmakta bunlardan biri doğrudan direksiyondan gelmekte diğeri de otonom suumlruumlş iccedilin kontrolcuumlden gelmektedir

7

322 Guumlvenlik Donanım Hedefleri Aracımız Teknofest TUumlBİTAK Efficiency Challenge Electric Vehicle yarışmasına katılmak uumlzere tasarlanmıştır Dolayısıyla Efficiency Challenge iccedilin sağlaması gereken guumlvenlik kriterlerini sağlayacak şekilde tasarlanmıştır Batarya grubu kısa devre ve sızıntılardan korunacak şekilde batarya koruma kabı iccediline goumlmuumllmuumlş batarya kabı ise aracın tabanına sabitlenmiş Batarya Youmlnetim Sistemi (BYS) bataryaya entegre olarak tasarlanmıştır Aracın uumlzerinde acil durum butonu bulunmakta aracın tuumlm elektronik aksamları aşırı akım kesicilerle ile korunmaktadır Araccedilta fren sistemi olarak hidrolik frenler kullanılmakta boumlylece ani ve guumlccedilluuml duruşlar muumlmkuumln olabilmektedir

4 Araccedil Oumlzellikleri 41 Fiziksel ve Mekanik Oumlzellikler

Oumlzellik Birim Değer

Uzunluk mm 3990

Genişlik mm 1300

Yuumlkseklik mm 1350

Teker Sayısı 4

Şase Materyal Ccedilelik

Kabuk Materyal Karbon Fiber

Oumln Teker Ccedilapı mm 432

Oumln Teker Genişliği mm 70

Arka Teker Ccedilapı mm 330

Arka Teker Genişliği mm 89

Motor Tipi - BLDC

Motor Guumlcuuml kW 3200

8

Motor Verimliliği 87

Batarya - Li-ion 18650

Batarya Nominal Voltaj V 592

Batarya Maksimum Voltajı V 672

Batarya Toplam Kapasitesi Wh 2700

42 Kontrol Sistemleri

421 Motor Suumlruumlcuumlsuuml Aracın motorunda BLDC (Fırccedilasız DC Motor) motor kullanılmıştır BLDC motorda stator sargıları taşıyan ccedilok tabakalı olarak yığılmış ccedilelik plakalardan oluşur Statoumlrdeki bu sargılar 2 şekilde duumlzenlenebilir yıldız modeli ve delta modeli Bu modeller arasındaki fark yıldız model duumlşuumlk devirde yuumlksek tork verebilirken delta model duumlşuumlk devirde duumlşuumlk tork verebilir BLDC motorun rotoru ise kalıcı mıknatıslardır Uygulama alanına bağlı olarak bu mıknatısların sayısı değişkenlik goumlsterebilir Mıknatıs sayısı arttıkccedila motordan alınan tork miktarı artarken elde edilen maksimum hız azalmaktadır Fırccedilasız DC motorların ccedilalışma prensipleri fırccedilalı motorlarla aynıdır Aralarındaki fark motorların geri besleme mekanizmalarıdır Fırccedilalı DC motorda rotorun pozisyon geri bildirimi motorun fırccedilalarından ve mekanik komuumltatoumlrlerden elde edilirken fırccedilasız DC motorlarda rotor pozisyonu sensoumlrler aracılığıyla bulunur Bu sensoumlrlerden en yaygın olanı Hall efekt sensoumlrleridir Bu sensoumlrler sayesinde motorun istenilen hız ve youmlnde ccedilalışması kontrol altında tutulabilir

9

BLDC motorun ccedilalışması iccedilin kullanılan en yaygın youmlntem H-koumlpruumlsuuml metodudur Buna goumlre H-koumlpruumlsuumlnuumln sayısı motorun faz sayısına bağlıdır Aracımızın motoru 3-fazlı-motor olduğu iccedilin 4 fazlı H-koumlpruumlsuuml kullanılmıştır Kullanımda voltaj ve akım değerleri hayli yuumlksek olacağı iccedilin H-koumlpruumlsuumlnde hangi anahtarların kullanılacağı buumlyuumlk oumlnem arz etmektedir Değerlendirmeler sonucunda anahtar goumlrevi goumlrecek komponent olarak IGBT kullanılması tercih edilmiştir H-koumlpruumlsuuml ile ilgili bir diğer oumlnemli nokta da motor fazları arasında olası kısa devre durumlarına karşı oumlnlem alınmasıdır Ayrıca akımın yuumlksek olduğu durumlarda bu yuumlksek akım IGBT iccedilin tehlike oluşturabilir Bu durum da anahtar komponentler uumlzerinden geccedilen akımı denetleyen suumlruumlcuumller sayesinde kontrol altında tutulur Oumlnceki paragrafta bahsedildiği gibi rotor pozisyonu Hall efekt sensoumlrleri sayesinde elde edilebilir Bu pozisyon verileri sensoumlrlerden kontrolcuumlye aktarılır ve bu sayede motor sabit bir hız ve youmlnde ccedilalıştırılabilir BLDC motorunda kullanılan kontrolcuuml PID tipi kontrolcuuml olduğu iccedilin motor suumlruumlcuuml yuumlksek işlemci kapasiteli olmalıdır BLDC motor suumlruumlcuumlnuumln tipik bir şeması aşağıdaki şekilde goumlsterilmiştir

10

Kaynak Renesascom Motor suumlruumlcuuml sisteminde elektronik gaz pedalı (pedal-by-wire) kullanılmaktadır Buna goumlre araccedil suumlruumlcuumlnuumln pedala basması ya da otonom suumlruumlş kontrolcuumlsuumlnuumln gaza basma sinyali Sinyal Genişlik Moduumllasyonu (PWM) ile motor suumlruumlcuumlye aktarılır Buna goumlre motor suumlruumlcuumlnuumln girdi voltajı goumlrev doumlnguumlsuuml (duty cycle) oranına goumlre belirlenmektedir 422 Fren Sistemi Aracımız iccedilin kullanılabilecek efektif fren youmlntemleri - Rejeneratif elektrik fren - Solenoit eyleyici ile hidrolik fren - Step motor ile hidrolik fren Tasarlanan motor suumlruumlcuumlde halihazırda bulunmakta olan aynı zamanda fren sırasında maksimum enerji verimliliğinin alınabildiği rejeneratif elektrik fren fren uygulaması iccedilin birinci seccedilenek olarak tasarıma dahil edildi Ancak bu tip fren sistemleri yeterince guumlccedilluuml olmadıkları ve ani fren gerccedilekleştirme durumlarında yeterince hızlı olamadıkları iccedilin tasarıma hidrolik fren sistemi eklenmesi gerekli goumlruumllduuml Guumlccedilluuml ve anlık fren yapabilmek olası elektrik problemlerinde aracın sağlıklı durabilmesini sağlamak iccedilin kullanımı daha guumlvenli ve implementasyonu daha kolay olan step motor ile hidrolik fren kullanılmasına karar verildi Fren sisteminin implementasyonunda elektronik fren (brake-by-wire) kullanılmıştır Buna goumlre suumlruumlcuuml fren pedalına bastığında ya da otonom suumlruumlş kontrolcuumlsuumlnden fren sinyali goumlnderildiğinde bu sinyal fren kontrol suumlruumlcuumlsuumlne accedilma - kapama sinyali olarak ulaşmaktadır Fren pedalına bağlanmış bulunan guumlccedilluuml bir step motor durma sinyali gelince aracı durduracak youmlnde fren pedalını ccedilekmeye başlar ve fren sinyali gelmeye devam ettikccedile freni ccedilekmeye devam eder Bunun gibi bir detay olası yokuş aşağı durulması gereken durumlar iccedilin tasarlandı 423 Direksiyon Sistemi Direksiyon sisteminde Kremayer ve pinyon dişliler kullanılmıştır Araccedilta 2 adet pinyon dişlileri direksiyon sisteminin merkezini oluşturur bu dişlilerden biri doğrudan araccedil direksiyonuna biri de otonom suumlruumlş kontrolcuumlsuumlne bağlıdır Bu tip bir sistemde sistem parametreleri - Step motor torku - Pinyon dişlileri yarıccedilapı

11

- Kremayer moduumll sayısı

Kaynak TUBITAK Efficiency Challenge Sunumları

Dinamometreyle yapılan oumllccediluumlmler sonucunda direksiyonu ccedilevirmek iccedilin gereken kuvvet araccedil hareketsizken 120 - 180 Newton araccedil hareket halindeyken 60 ndash 90 Newton olarak hesaplanmıştır Bu fark zeminin statik ve dinamik suumlrtuumlnme katsayılarının farkından kaynaklanmaktadır Kremayer moduumll sayısı kullanmak iccedilin 20rsquoden 50rsquoye kadar pinyon dişlisine izin vermektedir Pinyon dişlerinin yarıccedilapı 2 - 5 cm arası değişmektedir 4 cmrsquolik pinyon dişlileri iccedilin tork hesaplaması

Son olarak 22mm pinyon dişlisi yarıccedilapı ve 85 Nm step motor torkunda karar kılındı

Direksiyon sisteminin implementasyonunda elektronik direksiyon (steer-by-wire) işlevselliği kullanılmıştır Buna goumlre suumlruumlcuumlnuumln direksiyonu doumlnduumlrmesi ya da otonom kontrol uumlnitesinin direksiyonu belirli bir accedilıyla doumlnduumlrmesi komutu direksiyon kontrolcuumlsuumlnde Sinyal Genişlik Moduumllasyonu (PWM) tekniği ile işlenmektedir Buna goumlre direksiyon step motoru suumlruumlcuumlsuumlnuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir

424 Geri Bildirim

Direksiyon youmlnelim geri bildirimi Kremayerrsquoe bağlanan lineer potansiyometre aracılığıyla oumllccediluumllmektedir Boumlylece step motor ve dişli sistemlerden kaynaklanan hatalardan sistem korunmaktadır

Hız geri bildirimi BLDC motorlarda bulunan Hall efekt sensoumlrlerinden alınmaktadır Bu sensoumlrler bize 18 cmrsquoye ve motor tekerinin 5 derece doumlnuumlşuumlne kadar hassasiyetle bize bilgi vermektedir Bunun sebebi Hall efekt sensoumlrlerinin aşağırda goumlsterildiği gibi 6 farklı konfiguumlrasyonda bulunabilmeleridir

12

Kaynak DigiKey 425 Uzaktan Haberleşme Sistemi Yarışma kuralları gereğince aracın goumlreve başlaması sinyali kablosuz haberleşme sistemiyle verilir Aynı zamanda acil kapama sistemi de bu youmlntemle ccedilalıştırılabilmelidir Bu durumda var olan kablosuz haberleşme protokollerinin karşılaştırılması yapılmalı ve avantajları değerlendirilmelidir

Kaynak wwwpostscapescom

13

Otonom suumlruumlş kominikasyonunun temel dizayn parametreleri - 100 metre civarında menzil - Anlık iletişim - Stabil guumlvenli ve hata oranı duumlşuumlk - Duumlşuumlk bilgi yuumlkuuml - Enerji tuumlketimi tolere edilebilir - Duumlşuumlk maliyetli Bu parametreler değerlendirildiğinde aracımıza en uyumlu olacak protokoluumln uzak menzilli duumlşuumlk bit hızlı uumlcretsiz lisanslı LoRaWAN olduğuna karar verildi Moduumlluumlmuumlz 433 Mhz frekans bandında ccedilalışmaktadır 43 Elektronik Hareket Sistemleri 431 Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir Direksiyonun youmlnelimi ve direksiyon step motor suumlruumlcuumlsuumlnuumln youmlnetilmesi iccedilin Sinyal Genişlik Moduumllasyonu (PWM) tekniği kullanılmaktadır Buna goumlre motor suumlruumlcuumlyuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir 432 Elektronik Gaz Pedalı (Steer-by-wire) Araccedil gaz pedalı PWM moduumllasyonuyla araccedil motor suumlruumlcuumlsuumlne bağlıdır Motor suumlruumlcuuml bu sinyali gerekli torka doumlnuumlştuumlrmektedir PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcuuml ile de verilebilmektedir

5 Sensoumlrler 51 Odometre

Odometre temelde hareket eden bir cismin ccedilizgisel hızı ve youmlnelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır Hareketli robotlarda bu hız ve youmlnelim bilgileri birtakım hareket sensoumlrleri aracılığıyla elde edilir Burst aracımızda oumln ve arka tekerlerde tekerleklerin doumlnuumlş sayısını hesaplayan enkoder sayaccedillar ve direksiyonun doumlnme accedilısını elde ettiğimiz suumlruumlcuumller araca entegredir Enkoderler tekerin her 15deg lik doumlnuumlşuumlnuuml tutabilmekte yani enkoder sayacının her 24 sayımı tekerin 1 tam tur doumlnmesi anlamına gelmektedir Direksiyon youmlnelimi bilgisi de hareket

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 7: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

7

322 Guumlvenlik Donanım Hedefleri Aracımız Teknofest TUumlBİTAK Efficiency Challenge Electric Vehicle yarışmasına katılmak uumlzere tasarlanmıştır Dolayısıyla Efficiency Challenge iccedilin sağlaması gereken guumlvenlik kriterlerini sağlayacak şekilde tasarlanmıştır Batarya grubu kısa devre ve sızıntılardan korunacak şekilde batarya koruma kabı iccediline goumlmuumllmuumlş batarya kabı ise aracın tabanına sabitlenmiş Batarya Youmlnetim Sistemi (BYS) bataryaya entegre olarak tasarlanmıştır Aracın uumlzerinde acil durum butonu bulunmakta aracın tuumlm elektronik aksamları aşırı akım kesicilerle ile korunmaktadır Araccedilta fren sistemi olarak hidrolik frenler kullanılmakta boumlylece ani ve guumlccedilluuml duruşlar muumlmkuumln olabilmektedir

4 Araccedil Oumlzellikleri 41 Fiziksel ve Mekanik Oumlzellikler

Oumlzellik Birim Değer

Uzunluk mm 3990

Genişlik mm 1300

Yuumlkseklik mm 1350

Teker Sayısı 4

Şase Materyal Ccedilelik

Kabuk Materyal Karbon Fiber

Oumln Teker Ccedilapı mm 432

Oumln Teker Genişliği mm 70

Arka Teker Ccedilapı mm 330

Arka Teker Genişliği mm 89

Motor Tipi - BLDC

Motor Guumlcuuml kW 3200

8

Motor Verimliliği 87

Batarya - Li-ion 18650

Batarya Nominal Voltaj V 592

Batarya Maksimum Voltajı V 672

Batarya Toplam Kapasitesi Wh 2700

42 Kontrol Sistemleri

421 Motor Suumlruumlcuumlsuuml Aracın motorunda BLDC (Fırccedilasız DC Motor) motor kullanılmıştır BLDC motorda stator sargıları taşıyan ccedilok tabakalı olarak yığılmış ccedilelik plakalardan oluşur Statoumlrdeki bu sargılar 2 şekilde duumlzenlenebilir yıldız modeli ve delta modeli Bu modeller arasındaki fark yıldız model duumlşuumlk devirde yuumlksek tork verebilirken delta model duumlşuumlk devirde duumlşuumlk tork verebilir BLDC motorun rotoru ise kalıcı mıknatıslardır Uygulama alanına bağlı olarak bu mıknatısların sayısı değişkenlik goumlsterebilir Mıknatıs sayısı arttıkccedila motordan alınan tork miktarı artarken elde edilen maksimum hız azalmaktadır Fırccedilasız DC motorların ccedilalışma prensipleri fırccedilalı motorlarla aynıdır Aralarındaki fark motorların geri besleme mekanizmalarıdır Fırccedilalı DC motorda rotorun pozisyon geri bildirimi motorun fırccedilalarından ve mekanik komuumltatoumlrlerden elde edilirken fırccedilasız DC motorlarda rotor pozisyonu sensoumlrler aracılığıyla bulunur Bu sensoumlrlerden en yaygın olanı Hall efekt sensoumlrleridir Bu sensoumlrler sayesinde motorun istenilen hız ve youmlnde ccedilalışması kontrol altında tutulabilir

9

BLDC motorun ccedilalışması iccedilin kullanılan en yaygın youmlntem H-koumlpruumlsuuml metodudur Buna goumlre H-koumlpruumlsuumlnuumln sayısı motorun faz sayısına bağlıdır Aracımızın motoru 3-fazlı-motor olduğu iccedilin 4 fazlı H-koumlpruumlsuuml kullanılmıştır Kullanımda voltaj ve akım değerleri hayli yuumlksek olacağı iccedilin H-koumlpruumlsuumlnde hangi anahtarların kullanılacağı buumlyuumlk oumlnem arz etmektedir Değerlendirmeler sonucunda anahtar goumlrevi goumlrecek komponent olarak IGBT kullanılması tercih edilmiştir H-koumlpruumlsuuml ile ilgili bir diğer oumlnemli nokta da motor fazları arasında olası kısa devre durumlarına karşı oumlnlem alınmasıdır Ayrıca akımın yuumlksek olduğu durumlarda bu yuumlksek akım IGBT iccedilin tehlike oluşturabilir Bu durum da anahtar komponentler uumlzerinden geccedilen akımı denetleyen suumlruumlcuumller sayesinde kontrol altında tutulur Oumlnceki paragrafta bahsedildiği gibi rotor pozisyonu Hall efekt sensoumlrleri sayesinde elde edilebilir Bu pozisyon verileri sensoumlrlerden kontrolcuumlye aktarılır ve bu sayede motor sabit bir hız ve youmlnde ccedilalıştırılabilir BLDC motorunda kullanılan kontrolcuuml PID tipi kontrolcuuml olduğu iccedilin motor suumlruumlcuuml yuumlksek işlemci kapasiteli olmalıdır BLDC motor suumlruumlcuumlnuumln tipik bir şeması aşağıdaki şekilde goumlsterilmiştir

10

Kaynak Renesascom Motor suumlruumlcuuml sisteminde elektronik gaz pedalı (pedal-by-wire) kullanılmaktadır Buna goumlre araccedil suumlruumlcuumlnuumln pedala basması ya da otonom suumlruumlş kontrolcuumlsuumlnuumln gaza basma sinyali Sinyal Genişlik Moduumllasyonu (PWM) ile motor suumlruumlcuumlye aktarılır Buna goumlre motor suumlruumlcuumlnuumln girdi voltajı goumlrev doumlnguumlsuuml (duty cycle) oranına goumlre belirlenmektedir 422 Fren Sistemi Aracımız iccedilin kullanılabilecek efektif fren youmlntemleri - Rejeneratif elektrik fren - Solenoit eyleyici ile hidrolik fren - Step motor ile hidrolik fren Tasarlanan motor suumlruumlcuumlde halihazırda bulunmakta olan aynı zamanda fren sırasında maksimum enerji verimliliğinin alınabildiği rejeneratif elektrik fren fren uygulaması iccedilin birinci seccedilenek olarak tasarıma dahil edildi Ancak bu tip fren sistemleri yeterince guumlccedilluuml olmadıkları ve ani fren gerccedilekleştirme durumlarında yeterince hızlı olamadıkları iccedilin tasarıma hidrolik fren sistemi eklenmesi gerekli goumlruumllduuml Guumlccedilluuml ve anlık fren yapabilmek olası elektrik problemlerinde aracın sağlıklı durabilmesini sağlamak iccedilin kullanımı daha guumlvenli ve implementasyonu daha kolay olan step motor ile hidrolik fren kullanılmasına karar verildi Fren sisteminin implementasyonunda elektronik fren (brake-by-wire) kullanılmıştır Buna goumlre suumlruumlcuuml fren pedalına bastığında ya da otonom suumlruumlş kontrolcuumlsuumlnden fren sinyali goumlnderildiğinde bu sinyal fren kontrol suumlruumlcuumlsuumlne accedilma - kapama sinyali olarak ulaşmaktadır Fren pedalına bağlanmış bulunan guumlccedilluuml bir step motor durma sinyali gelince aracı durduracak youmlnde fren pedalını ccedilekmeye başlar ve fren sinyali gelmeye devam ettikccedile freni ccedilekmeye devam eder Bunun gibi bir detay olası yokuş aşağı durulması gereken durumlar iccedilin tasarlandı 423 Direksiyon Sistemi Direksiyon sisteminde Kremayer ve pinyon dişliler kullanılmıştır Araccedilta 2 adet pinyon dişlileri direksiyon sisteminin merkezini oluşturur bu dişlilerden biri doğrudan araccedil direksiyonuna biri de otonom suumlruumlş kontrolcuumlsuumlne bağlıdır Bu tip bir sistemde sistem parametreleri - Step motor torku - Pinyon dişlileri yarıccedilapı

11

- Kremayer moduumll sayısı

Kaynak TUBITAK Efficiency Challenge Sunumları

Dinamometreyle yapılan oumllccediluumlmler sonucunda direksiyonu ccedilevirmek iccedilin gereken kuvvet araccedil hareketsizken 120 - 180 Newton araccedil hareket halindeyken 60 ndash 90 Newton olarak hesaplanmıştır Bu fark zeminin statik ve dinamik suumlrtuumlnme katsayılarının farkından kaynaklanmaktadır Kremayer moduumll sayısı kullanmak iccedilin 20rsquoden 50rsquoye kadar pinyon dişlisine izin vermektedir Pinyon dişlerinin yarıccedilapı 2 - 5 cm arası değişmektedir 4 cmrsquolik pinyon dişlileri iccedilin tork hesaplaması

Son olarak 22mm pinyon dişlisi yarıccedilapı ve 85 Nm step motor torkunda karar kılındı

Direksiyon sisteminin implementasyonunda elektronik direksiyon (steer-by-wire) işlevselliği kullanılmıştır Buna goumlre suumlruumlcuumlnuumln direksiyonu doumlnduumlrmesi ya da otonom kontrol uumlnitesinin direksiyonu belirli bir accedilıyla doumlnduumlrmesi komutu direksiyon kontrolcuumlsuumlnde Sinyal Genişlik Moduumllasyonu (PWM) tekniği ile işlenmektedir Buna goumlre direksiyon step motoru suumlruumlcuumlsuumlnuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir

424 Geri Bildirim

Direksiyon youmlnelim geri bildirimi Kremayerrsquoe bağlanan lineer potansiyometre aracılığıyla oumllccediluumllmektedir Boumlylece step motor ve dişli sistemlerden kaynaklanan hatalardan sistem korunmaktadır

Hız geri bildirimi BLDC motorlarda bulunan Hall efekt sensoumlrlerinden alınmaktadır Bu sensoumlrler bize 18 cmrsquoye ve motor tekerinin 5 derece doumlnuumlşuumlne kadar hassasiyetle bize bilgi vermektedir Bunun sebebi Hall efekt sensoumlrlerinin aşağırda goumlsterildiği gibi 6 farklı konfiguumlrasyonda bulunabilmeleridir

12

Kaynak DigiKey 425 Uzaktan Haberleşme Sistemi Yarışma kuralları gereğince aracın goumlreve başlaması sinyali kablosuz haberleşme sistemiyle verilir Aynı zamanda acil kapama sistemi de bu youmlntemle ccedilalıştırılabilmelidir Bu durumda var olan kablosuz haberleşme protokollerinin karşılaştırılması yapılmalı ve avantajları değerlendirilmelidir

Kaynak wwwpostscapescom

13

Otonom suumlruumlş kominikasyonunun temel dizayn parametreleri - 100 metre civarında menzil - Anlık iletişim - Stabil guumlvenli ve hata oranı duumlşuumlk - Duumlşuumlk bilgi yuumlkuuml - Enerji tuumlketimi tolere edilebilir - Duumlşuumlk maliyetli Bu parametreler değerlendirildiğinde aracımıza en uyumlu olacak protokoluumln uzak menzilli duumlşuumlk bit hızlı uumlcretsiz lisanslı LoRaWAN olduğuna karar verildi Moduumlluumlmuumlz 433 Mhz frekans bandında ccedilalışmaktadır 43 Elektronik Hareket Sistemleri 431 Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir Direksiyonun youmlnelimi ve direksiyon step motor suumlruumlcuumlsuumlnuumln youmlnetilmesi iccedilin Sinyal Genişlik Moduumllasyonu (PWM) tekniği kullanılmaktadır Buna goumlre motor suumlruumlcuumlyuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir 432 Elektronik Gaz Pedalı (Steer-by-wire) Araccedil gaz pedalı PWM moduumllasyonuyla araccedil motor suumlruumlcuumlsuumlne bağlıdır Motor suumlruumlcuuml bu sinyali gerekli torka doumlnuumlştuumlrmektedir PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcuuml ile de verilebilmektedir

5 Sensoumlrler 51 Odometre

Odometre temelde hareket eden bir cismin ccedilizgisel hızı ve youmlnelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır Hareketli robotlarda bu hız ve youmlnelim bilgileri birtakım hareket sensoumlrleri aracılığıyla elde edilir Burst aracımızda oumln ve arka tekerlerde tekerleklerin doumlnuumlş sayısını hesaplayan enkoder sayaccedillar ve direksiyonun doumlnme accedilısını elde ettiğimiz suumlruumlcuumller araca entegredir Enkoderler tekerin her 15deg lik doumlnuumlşuumlnuuml tutabilmekte yani enkoder sayacının her 24 sayımı tekerin 1 tam tur doumlnmesi anlamına gelmektedir Direksiyon youmlnelimi bilgisi de hareket

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 8: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

8

Motor Verimliliği 87

Batarya - Li-ion 18650

Batarya Nominal Voltaj V 592

Batarya Maksimum Voltajı V 672

Batarya Toplam Kapasitesi Wh 2700

42 Kontrol Sistemleri

421 Motor Suumlruumlcuumlsuuml Aracın motorunda BLDC (Fırccedilasız DC Motor) motor kullanılmıştır BLDC motorda stator sargıları taşıyan ccedilok tabakalı olarak yığılmış ccedilelik plakalardan oluşur Statoumlrdeki bu sargılar 2 şekilde duumlzenlenebilir yıldız modeli ve delta modeli Bu modeller arasındaki fark yıldız model duumlşuumlk devirde yuumlksek tork verebilirken delta model duumlşuumlk devirde duumlşuumlk tork verebilir BLDC motorun rotoru ise kalıcı mıknatıslardır Uygulama alanına bağlı olarak bu mıknatısların sayısı değişkenlik goumlsterebilir Mıknatıs sayısı arttıkccedila motordan alınan tork miktarı artarken elde edilen maksimum hız azalmaktadır Fırccedilasız DC motorların ccedilalışma prensipleri fırccedilalı motorlarla aynıdır Aralarındaki fark motorların geri besleme mekanizmalarıdır Fırccedilalı DC motorda rotorun pozisyon geri bildirimi motorun fırccedilalarından ve mekanik komuumltatoumlrlerden elde edilirken fırccedilasız DC motorlarda rotor pozisyonu sensoumlrler aracılığıyla bulunur Bu sensoumlrlerden en yaygın olanı Hall efekt sensoumlrleridir Bu sensoumlrler sayesinde motorun istenilen hız ve youmlnde ccedilalışması kontrol altında tutulabilir

9

BLDC motorun ccedilalışması iccedilin kullanılan en yaygın youmlntem H-koumlpruumlsuuml metodudur Buna goumlre H-koumlpruumlsuumlnuumln sayısı motorun faz sayısına bağlıdır Aracımızın motoru 3-fazlı-motor olduğu iccedilin 4 fazlı H-koumlpruumlsuuml kullanılmıştır Kullanımda voltaj ve akım değerleri hayli yuumlksek olacağı iccedilin H-koumlpruumlsuumlnde hangi anahtarların kullanılacağı buumlyuumlk oumlnem arz etmektedir Değerlendirmeler sonucunda anahtar goumlrevi goumlrecek komponent olarak IGBT kullanılması tercih edilmiştir H-koumlpruumlsuuml ile ilgili bir diğer oumlnemli nokta da motor fazları arasında olası kısa devre durumlarına karşı oumlnlem alınmasıdır Ayrıca akımın yuumlksek olduğu durumlarda bu yuumlksek akım IGBT iccedilin tehlike oluşturabilir Bu durum da anahtar komponentler uumlzerinden geccedilen akımı denetleyen suumlruumlcuumller sayesinde kontrol altında tutulur Oumlnceki paragrafta bahsedildiği gibi rotor pozisyonu Hall efekt sensoumlrleri sayesinde elde edilebilir Bu pozisyon verileri sensoumlrlerden kontrolcuumlye aktarılır ve bu sayede motor sabit bir hız ve youmlnde ccedilalıştırılabilir BLDC motorunda kullanılan kontrolcuuml PID tipi kontrolcuuml olduğu iccedilin motor suumlruumlcuuml yuumlksek işlemci kapasiteli olmalıdır BLDC motor suumlruumlcuumlnuumln tipik bir şeması aşağıdaki şekilde goumlsterilmiştir

10

Kaynak Renesascom Motor suumlruumlcuuml sisteminde elektronik gaz pedalı (pedal-by-wire) kullanılmaktadır Buna goumlre araccedil suumlruumlcuumlnuumln pedala basması ya da otonom suumlruumlş kontrolcuumlsuumlnuumln gaza basma sinyali Sinyal Genişlik Moduumllasyonu (PWM) ile motor suumlruumlcuumlye aktarılır Buna goumlre motor suumlruumlcuumlnuumln girdi voltajı goumlrev doumlnguumlsuuml (duty cycle) oranına goumlre belirlenmektedir 422 Fren Sistemi Aracımız iccedilin kullanılabilecek efektif fren youmlntemleri - Rejeneratif elektrik fren - Solenoit eyleyici ile hidrolik fren - Step motor ile hidrolik fren Tasarlanan motor suumlruumlcuumlde halihazırda bulunmakta olan aynı zamanda fren sırasında maksimum enerji verimliliğinin alınabildiği rejeneratif elektrik fren fren uygulaması iccedilin birinci seccedilenek olarak tasarıma dahil edildi Ancak bu tip fren sistemleri yeterince guumlccedilluuml olmadıkları ve ani fren gerccedilekleştirme durumlarında yeterince hızlı olamadıkları iccedilin tasarıma hidrolik fren sistemi eklenmesi gerekli goumlruumllduuml Guumlccedilluuml ve anlık fren yapabilmek olası elektrik problemlerinde aracın sağlıklı durabilmesini sağlamak iccedilin kullanımı daha guumlvenli ve implementasyonu daha kolay olan step motor ile hidrolik fren kullanılmasına karar verildi Fren sisteminin implementasyonunda elektronik fren (brake-by-wire) kullanılmıştır Buna goumlre suumlruumlcuuml fren pedalına bastığında ya da otonom suumlruumlş kontrolcuumlsuumlnden fren sinyali goumlnderildiğinde bu sinyal fren kontrol suumlruumlcuumlsuumlne accedilma - kapama sinyali olarak ulaşmaktadır Fren pedalına bağlanmış bulunan guumlccedilluuml bir step motor durma sinyali gelince aracı durduracak youmlnde fren pedalını ccedilekmeye başlar ve fren sinyali gelmeye devam ettikccedile freni ccedilekmeye devam eder Bunun gibi bir detay olası yokuş aşağı durulması gereken durumlar iccedilin tasarlandı 423 Direksiyon Sistemi Direksiyon sisteminde Kremayer ve pinyon dişliler kullanılmıştır Araccedilta 2 adet pinyon dişlileri direksiyon sisteminin merkezini oluşturur bu dişlilerden biri doğrudan araccedil direksiyonuna biri de otonom suumlruumlş kontrolcuumlsuumlne bağlıdır Bu tip bir sistemde sistem parametreleri - Step motor torku - Pinyon dişlileri yarıccedilapı

11

- Kremayer moduumll sayısı

Kaynak TUBITAK Efficiency Challenge Sunumları

Dinamometreyle yapılan oumllccediluumlmler sonucunda direksiyonu ccedilevirmek iccedilin gereken kuvvet araccedil hareketsizken 120 - 180 Newton araccedil hareket halindeyken 60 ndash 90 Newton olarak hesaplanmıştır Bu fark zeminin statik ve dinamik suumlrtuumlnme katsayılarının farkından kaynaklanmaktadır Kremayer moduumll sayısı kullanmak iccedilin 20rsquoden 50rsquoye kadar pinyon dişlisine izin vermektedir Pinyon dişlerinin yarıccedilapı 2 - 5 cm arası değişmektedir 4 cmrsquolik pinyon dişlileri iccedilin tork hesaplaması

Son olarak 22mm pinyon dişlisi yarıccedilapı ve 85 Nm step motor torkunda karar kılındı

Direksiyon sisteminin implementasyonunda elektronik direksiyon (steer-by-wire) işlevselliği kullanılmıştır Buna goumlre suumlruumlcuumlnuumln direksiyonu doumlnduumlrmesi ya da otonom kontrol uumlnitesinin direksiyonu belirli bir accedilıyla doumlnduumlrmesi komutu direksiyon kontrolcuumlsuumlnde Sinyal Genişlik Moduumllasyonu (PWM) tekniği ile işlenmektedir Buna goumlre direksiyon step motoru suumlruumlcuumlsuumlnuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir

424 Geri Bildirim

Direksiyon youmlnelim geri bildirimi Kremayerrsquoe bağlanan lineer potansiyometre aracılığıyla oumllccediluumllmektedir Boumlylece step motor ve dişli sistemlerden kaynaklanan hatalardan sistem korunmaktadır

Hız geri bildirimi BLDC motorlarda bulunan Hall efekt sensoumlrlerinden alınmaktadır Bu sensoumlrler bize 18 cmrsquoye ve motor tekerinin 5 derece doumlnuumlşuumlne kadar hassasiyetle bize bilgi vermektedir Bunun sebebi Hall efekt sensoumlrlerinin aşağırda goumlsterildiği gibi 6 farklı konfiguumlrasyonda bulunabilmeleridir

12

Kaynak DigiKey 425 Uzaktan Haberleşme Sistemi Yarışma kuralları gereğince aracın goumlreve başlaması sinyali kablosuz haberleşme sistemiyle verilir Aynı zamanda acil kapama sistemi de bu youmlntemle ccedilalıştırılabilmelidir Bu durumda var olan kablosuz haberleşme protokollerinin karşılaştırılması yapılmalı ve avantajları değerlendirilmelidir

Kaynak wwwpostscapescom

13

Otonom suumlruumlş kominikasyonunun temel dizayn parametreleri - 100 metre civarında menzil - Anlık iletişim - Stabil guumlvenli ve hata oranı duumlşuumlk - Duumlşuumlk bilgi yuumlkuuml - Enerji tuumlketimi tolere edilebilir - Duumlşuumlk maliyetli Bu parametreler değerlendirildiğinde aracımıza en uyumlu olacak protokoluumln uzak menzilli duumlşuumlk bit hızlı uumlcretsiz lisanslı LoRaWAN olduğuna karar verildi Moduumlluumlmuumlz 433 Mhz frekans bandında ccedilalışmaktadır 43 Elektronik Hareket Sistemleri 431 Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir Direksiyonun youmlnelimi ve direksiyon step motor suumlruumlcuumlsuumlnuumln youmlnetilmesi iccedilin Sinyal Genişlik Moduumllasyonu (PWM) tekniği kullanılmaktadır Buna goumlre motor suumlruumlcuumlyuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir 432 Elektronik Gaz Pedalı (Steer-by-wire) Araccedil gaz pedalı PWM moduumllasyonuyla araccedil motor suumlruumlcuumlsuumlne bağlıdır Motor suumlruumlcuuml bu sinyali gerekli torka doumlnuumlştuumlrmektedir PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcuuml ile de verilebilmektedir

5 Sensoumlrler 51 Odometre

Odometre temelde hareket eden bir cismin ccedilizgisel hızı ve youmlnelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır Hareketli robotlarda bu hız ve youmlnelim bilgileri birtakım hareket sensoumlrleri aracılığıyla elde edilir Burst aracımızda oumln ve arka tekerlerde tekerleklerin doumlnuumlş sayısını hesaplayan enkoder sayaccedillar ve direksiyonun doumlnme accedilısını elde ettiğimiz suumlruumlcuumller araca entegredir Enkoderler tekerin her 15deg lik doumlnuumlşuumlnuuml tutabilmekte yani enkoder sayacının her 24 sayımı tekerin 1 tam tur doumlnmesi anlamına gelmektedir Direksiyon youmlnelimi bilgisi de hareket

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 9: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

9

BLDC motorun ccedilalışması iccedilin kullanılan en yaygın youmlntem H-koumlpruumlsuuml metodudur Buna goumlre H-koumlpruumlsuumlnuumln sayısı motorun faz sayısına bağlıdır Aracımızın motoru 3-fazlı-motor olduğu iccedilin 4 fazlı H-koumlpruumlsuuml kullanılmıştır Kullanımda voltaj ve akım değerleri hayli yuumlksek olacağı iccedilin H-koumlpruumlsuumlnde hangi anahtarların kullanılacağı buumlyuumlk oumlnem arz etmektedir Değerlendirmeler sonucunda anahtar goumlrevi goumlrecek komponent olarak IGBT kullanılması tercih edilmiştir H-koumlpruumlsuuml ile ilgili bir diğer oumlnemli nokta da motor fazları arasında olası kısa devre durumlarına karşı oumlnlem alınmasıdır Ayrıca akımın yuumlksek olduğu durumlarda bu yuumlksek akım IGBT iccedilin tehlike oluşturabilir Bu durum da anahtar komponentler uumlzerinden geccedilen akımı denetleyen suumlruumlcuumller sayesinde kontrol altında tutulur Oumlnceki paragrafta bahsedildiği gibi rotor pozisyonu Hall efekt sensoumlrleri sayesinde elde edilebilir Bu pozisyon verileri sensoumlrlerden kontrolcuumlye aktarılır ve bu sayede motor sabit bir hız ve youmlnde ccedilalıştırılabilir BLDC motorunda kullanılan kontrolcuuml PID tipi kontrolcuuml olduğu iccedilin motor suumlruumlcuuml yuumlksek işlemci kapasiteli olmalıdır BLDC motor suumlruumlcuumlnuumln tipik bir şeması aşağıdaki şekilde goumlsterilmiştir

10

Kaynak Renesascom Motor suumlruumlcuuml sisteminde elektronik gaz pedalı (pedal-by-wire) kullanılmaktadır Buna goumlre araccedil suumlruumlcuumlnuumln pedala basması ya da otonom suumlruumlş kontrolcuumlsuumlnuumln gaza basma sinyali Sinyal Genişlik Moduumllasyonu (PWM) ile motor suumlruumlcuumlye aktarılır Buna goumlre motor suumlruumlcuumlnuumln girdi voltajı goumlrev doumlnguumlsuuml (duty cycle) oranına goumlre belirlenmektedir 422 Fren Sistemi Aracımız iccedilin kullanılabilecek efektif fren youmlntemleri - Rejeneratif elektrik fren - Solenoit eyleyici ile hidrolik fren - Step motor ile hidrolik fren Tasarlanan motor suumlruumlcuumlde halihazırda bulunmakta olan aynı zamanda fren sırasında maksimum enerji verimliliğinin alınabildiği rejeneratif elektrik fren fren uygulaması iccedilin birinci seccedilenek olarak tasarıma dahil edildi Ancak bu tip fren sistemleri yeterince guumlccedilluuml olmadıkları ve ani fren gerccedilekleştirme durumlarında yeterince hızlı olamadıkları iccedilin tasarıma hidrolik fren sistemi eklenmesi gerekli goumlruumllduuml Guumlccedilluuml ve anlık fren yapabilmek olası elektrik problemlerinde aracın sağlıklı durabilmesini sağlamak iccedilin kullanımı daha guumlvenli ve implementasyonu daha kolay olan step motor ile hidrolik fren kullanılmasına karar verildi Fren sisteminin implementasyonunda elektronik fren (brake-by-wire) kullanılmıştır Buna goumlre suumlruumlcuuml fren pedalına bastığında ya da otonom suumlruumlş kontrolcuumlsuumlnden fren sinyali goumlnderildiğinde bu sinyal fren kontrol suumlruumlcuumlsuumlne accedilma - kapama sinyali olarak ulaşmaktadır Fren pedalına bağlanmış bulunan guumlccedilluuml bir step motor durma sinyali gelince aracı durduracak youmlnde fren pedalını ccedilekmeye başlar ve fren sinyali gelmeye devam ettikccedile freni ccedilekmeye devam eder Bunun gibi bir detay olası yokuş aşağı durulması gereken durumlar iccedilin tasarlandı 423 Direksiyon Sistemi Direksiyon sisteminde Kremayer ve pinyon dişliler kullanılmıştır Araccedilta 2 adet pinyon dişlileri direksiyon sisteminin merkezini oluşturur bu dişlilerden biri doğrudan araccedil direksiyonuna biri de otonom suumlruumlş kontrolcuumlsuumlne bağlıdır Bu tip bir sistemde sistem parametreleri - Step motor torku - Pinyon dişlileri yarıccedilapı

11

- Kremayer moduumll sayısı

Kaynak TUBITAK Efficiency Challenge Sunumları

Dinamometreyle yapılan oumllccediluumlmler sonucunda direksiyonu ccedilevirmek iccedilin gereken kuvvet araccedil hareketsizken 120 - 180 Newton araccedil hareket halindeyken 60 ndash 90 Newton olarak hesaplanmıştır Bu fark zeminin statik ve dinamik suumlrtuumlnme katsayılarının farkından kaynaklanmaktadır Kremayer moduumll sayısı kullanmak iccedilin 20rsquoden 50rsquoye kadar pinyon dişlisine izin vermektedir Pinyon dişlerinin yarıccedilapı 2 - 5 cm arası değişmektedir 4 cmrsquolik pinyon dişlileri iccedilin tork hesaplaması

Son olarak 22mm pinyon dişlisi yarıccedilapı ve 85 Nm step motor torkunda karar kılındı

Direksiyon sisteminin implementasyonunda elektronik direksiyon (steer-by-wire) işlevselliği kullanılmıştır Buna goumlre suumlruumlcuumlnuumln direksiyonu doumlnduumlrmesi ya da otonom kontrol uumlnitesinin direksiyonu belirli bir accedilıyla doumlnduumlrmesi komutu direksiyon kontrolcuumlsuumlnde Sinyal Genişlik Moduumllasyonu (PWM) tekniği ile işlenmektedir Buna goumlre direksiyon step motoru suumlruumlcuumlsuumlnuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir

424 Geri Bildirim

Direksiyon youmlnelim geri bildirimi Kremayerrsquoe bağlanan lineer potansiyometre aracılığıyla oumllccediluumllmektedir Boumlylece step motor ve dişli sistemlerden kaynaklanan hatalardan sistem korunmaktadır

Hız geri bildirimi BLDC motorlarda bulunan Hall efekt sensoumlrlerinden alınmaktadır Bu sensoumlrler bize 18 cmrsquoye ve motor tekerinin 5 derece doumlnuumlşuumlne kadar hassasiyetle bize bilgi vermektedir Bunun sebebi Hall efekt sensoumlrlerinin aşağırda goumlsterildiği gibi 6 farklı konfiguumlrasyonda bulunabilmeleridir

12

Kaynak DigiKey 425 Uzaktan Haberleşme Sistemi Yarışma kuralları gereğince aracın goumlreve başlaması sinyali kablosuz haberleşme sistemiyle verilir Aynı zamanda acil kapama sistemi de bu youmlntemle ccedilalıştırılabilmelidir Bu durumda var olan kablosuz haberleşme protokollerinin karşılaştırılması yapılmalı ve avantajları değerlendirilmelidir

Kaynak wwwpostscapescom

13

Otonom suumlruumlş kominikasyonunun temel dizayn parametreleri - 100 metre civarında menzil - Anlık iletişim - Stabil guumlvenli ve hata oranı duumlşuumlk - Duumlşuumlk bilgi yuumlkuuml - Enerji tuumlketimi tolere edilebilir - Duumlşuumlk maliyetli Bu parametreler değerlendirildiğinde aracımıza en uyumlu olacak protokoluumln uzak menzilli duumlşuumlk bit hızlı uumlcretsiz lisanslı LoRaWAN olduğuna karar verildi Moduumlluumlmuumlz 433 Mhz frekans bandında ccedilalışmaktadır 43 Elektronik Hareket Sistemleri 431 Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir Direksiyonun youmlnelimi ve direksiyon step motor suumlruumlcuumlsuumlnuumln youmlnetilmesi iccedilin Sinyal Genişlik Moduumllasyonu (PWM) tekniği kullanılmaktadır Buna goumlre motor suumlruumlcuumlyuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir 432 Elektronik Gaz Pedalı (Steer-by-wire) Araccedil gaz pedalı PWM moduumllasyonuyla araccedil motor suumlruumlcuumlsuumlne bağlıdır Motor suumlruumlcuuml bu sinyali gerekli torka doumlnuumlştuumlrmektedir PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcuuml ile de verilebilmektedir

5 Sensoumlrler 51 Odometre

Odometre temelde hareket eden bir cismin ccedilizgisel hızı ve youmlnelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır Hareketli robotlarda bu hız ve youmlnelim bilgileri birtakım hareket sensoumlrleri aracılığıyla elde edilir Burst aracımızda oumln ve arka tekerlerde tekerleklerin doumlnuumlş sayısını hesaplayan enkoder sayaccedillar ve direksiyonun doumlnme accedilısını elde ettiğimiz suumlruumlcuumller araca entegredir Enkoderler tekerin her 15deg lik doumlnuumlşuumlnuuml tutabilmekte yani enkoder sayacının her 24 sayımı tekerin 1 tam tur doumlnmesi anlamına gelmektedir Direksiyon youmlnelimi bilgisi de hareket

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 10: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

10

Kaynak Renesascom Motor suumlruumlcuuml sisteminde elektronik gaz pedalı (pedal-by-wire) kullanılmaktadır Buna goumlre araccedil suumlruumlcuumlnuumln pedala basması ya da otonom suumlruumlş kontrolcuumlsuumlnuumln gaza basma sinyali Sinyal Genişlik Moduumllasyonu (PWM) ile motor suumlruumlcuumlye aktarılır Buna goumlre motor suumlruumlcuumlnuumln girdi voltajı goumlrev doumlnguumlsuuml (duty cycle) oranına goumlre belirlenmektedir 422 Fren Sistemi Aracımız iccedilin kullanılabilecek efektif fren youmlntemleri - Rejeneratif elektrik fren - Solenoit eyleyici ile hidrolik fren - Step motor ile hidrolik fren Tasarlanan motor suumlruumlcuumlde halihazırda bulunmakta olan aynı zamanda fren sırasında maksimum enerji verimliliğinin alınabildiği rejeneratif elektrik fren fren uygulaması iccedilin birinci seccedilenek olarak tasarıma dahil edildi Ancak bu tip fren sistemleri yeterince guumlccedilluuml olmadıkları ve ani fren gerccedilekleştirme durumlarında yeterince hızlı olamadıkları iccedilin tasarıma hidrolik fren sistemi eklenmesi gerekli goumlruumllduuml Guumlccedilluuml ve anlık fren yapabilmek olası elektrik problemlerinde aracın sağlıklı durabilmesini sağlamak iccedilin kullanımı daha guumlvenli ve implementasyonu daha kolay olan step motor ile hidrolik fren kullanılmasına karar verildi Fren sisteminin implementasyonunda elektronik fren (brake-by-wire) kullanılmıştır Buna goumlre suumlruumlcuuml fren pedalına bastığında ya da otonom suumlruumlş kontrolcuumlsuumlnden fren sinyali goumlnderildiğinde bu sinyal fren kontrol suumlruumlcuumlsuumlne accedilma - kapama sinyali olarak ulaşmaktadır Fren pedalına bağlanmış bulunan guumlccedilluuml bir step motor durma sinyali gelince aracı durduracak youmlnde fren pedalını ccedilekmeye başlar ve fren sinyali gelmeye devam ettikccedile freni ccedilekmeye devam eder Bunun gibi bir detay olası yokuş aşağı durulması gereken durumlar iccedilin tasarlandı 423 Direksiyon Sistemi Direksiyon sisteminde Kremayer ve pinyon dişliler kullanılmıştır Araccedilta 2 adet pinyon dişlileri direksiyon sisteminin merkezini oluşturur bu dişlilerden biri doğrudan araccedil direksiyonuna biri de otonom suumlruumlş kontrolcuumlsuumlne bağlıdır Bu tip bir sistemde sistem parametreleri - Step motor torku - Pinyon dişlileri yarıccedilapı

11

- Kremayer moduumll sayısı

Kaynak TUBITAK Efficiency Challenge Sunumları

Dinamometreyle yapılan oumllccediluumlmler sonucunda direksiyonu ccedilevirmek iccedilin gereken kuvvet araccedil hareketsizken 120 - 180 Newton araccedil hareket halindeyken 60 ndash 90 Newton olarak hesaplanmıştır Bu fark zeminin statik ve dinamik suumlrtuumlnme katsayılarının farkından kaynaklanmaktadır Kremayer moduumll sayısı kullanmak iccedilin 20rsquoden 50rsquoye kadar pinyon dişlisine izin vermektedir Pinyon dişlerinin yarıccedilapı 2 - 5 cm arası değişmektedir 4 cmrsquolik pinyon dişlileri iccedilin tork hesaplaması

Son olarak 22mm pinyon dişlisi yarıccedilapı ve 85 Nm step motor torkunda karar kılındı

Direksiyon sisteminin implementasyonunda elektronik direksiyon (steer-by-wire) işlevselliği kullanılmıştır Buna goumlre suumlruumlcuumlnuumln direksiyonu doumlnduumlrmesi ya da otonom kontrol uumlnitesinin direksiyonu belirli bir accedilıyla doumlnduumlrmesi komutu direksiyon kontrolcuumlsuumlnde Sinyal Genişlik Moduumllasyonu (PWM) tekniği ile işlenmektedir Buna goumlre direksiyon step motoru suumlruumlcuumlsuumlnuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir

424 Geri Bildirim

Direksiyon youmlnelim geri bildirimi Kremayerrsquoe bağlanan lineer potansiyometre aracılığıyla oumllccediluumllmektedir Boumlylece step motor ve dişli sistemlerden kaynaklanan hatalardan sistem korunmaktadır

Hız geri bildirimi BLDC motorlarda bulunan Hall efekt sensoumlrlerinden alınmaktadır Bu sensoumlrler bize 18 cmrsquoye ve motor tekerinin 5 derece doumlnuumlşuumlne kadar hassasiyetle bize bilgi vermektedir Bunun sebebi Hall efekt sensoumlrlerinin aşağırda goumlsterildiği gibi 6 farklı konfiguumlrasyonda bulunabilmeleridir

12

Kaynak DigiKey 425 Uzaktan Haberleşme Sistemi Yarışma kuralları gereğince aracın goumlreve başlaması sinyali kablosuz haberleşme sistemiyle verilir Aynı zamanda acil kapama sistemi de bu youmlntemle ccedilalıştırılabilmelidir Bu durumda var olan kablosuz haberleşme protokollerinin karşılaştırılması yapılmalı ve avantajları değerlendirilmelidir

Kaynak wwwpostscapescom

13

Otonom suumlruumlş kominikasyonunun temel dizayn parametreleri - 100 metre civarında menzil - Anlık iletişim - Stabil guumlvenli ve hata oranı duumlşuumlk - Duumlşuumlk bilgi yuumlkuuml - Enerji tuumlketimi tolere edilebilir - Duumlşuumlk maliyetli Bu parametreler değerlendirildiğinde aracımıza en uyumlu olacak protokoluumln uzak menzilli duumlşuumlk bit hızlı uumlcretsiz lisanslı LoRaWAN olduğuna karar verildi Moduumlluumlmuumlz 433 Mhz frekans bandında ccedilalışmaktadır 43 Elektronik Hareket Sistemleri 431 Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir Direksiyonun youmlnelimi ve direksiyon step motor suumlruumlcuumlsuumlnuumln youmlnetilmesi iccedilin Sinyal Genişlik Moduumllasyonu (PWM) tekniği kullanılmaktadır Buna goumlre motor suumlruumlcuumlyuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir 432 Elektronik Gaz Pedalı (Steer-by-wire) Araccedil gaz pedalı PWM moduumllasyonuyla araccedil motor suumlruumlcuumlsuumlne bağlıdır Motor suumlruumlcuuml bu sinyali gerekli torka doumlnuumlştuumlrmektedir PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcuuml ile de verilebilmektedir

5 Sensoumlrler 51 Odometre

Odometre temelde hareket eden bir cismin ccedilizgisel hızı ve youmlnelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır Hareketli robotlarda bu hız ve youmlnelim bilgileri birtakım hareket sensoumlrleri aracılığıyla elde edilir Burst aracımızda oumln ve arka tekerlerde tekerleklerin doumlnuumlş sayısını hesaplayan enkoder sayaccedillar ve direksiyonun doumlnme accedilısını elde ettiğimiz suumlruumlcuumller araca entegredir Enkoderler tekerin her 15deg lik doumlnuumlşuumlnuuml tutabilmekte yani enkoder sayacının her 24 sayımı tekerin 1 tam tur doumlnmesi anlamına gelmektedir Direksiyon youmlnelimi bilgisi de hareket

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 11: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

11

- Kremayer moduumll sayısı

Kaynak TUBITAK Efficiency Challenge Sunumları

Dinamometreyle yapılan oumllccediluumlmler sonucunda direksiyonu ccedilevirmek iccedilin gereken kuvvet araccedil hareketsizken 120 - 180 Newton araccedil hareket halindeyken 60 ndash 90 Newton olarak hesaplanmıştır Bu fark zeminin statik ve dinamik suumlrtuumlnme katsayılarının farkından kaynaklanmaktadır Kremayer moduumll sayısı kullanmak iccedilin 20rsquoden 50rsquoye kadar pinyon dişlisine izin vermektedir Pinyon dişlerinin yarıccedilapı 2 - 5 cm arası değişmektedir 4 cmrsquolik pinyon dişlileri iccedilin tork hesaplaması

Son olarak 22mm pinyon dişlisi yarıccedilapı ve 85 Nm step motor torkunda karar kılındı

Direksiyon sisteminin implementasyonunda elektronik direksiyon (steer-by-wire) işlevselliği kullanılmıştır Buna goumlre suumlruumlcuumlnuumln direksiyonu doumlnduumlrmesi ya da otonom kontrol uumlnitesinin direksiyonu belirli bir accedilıyla doumlnduumlrmesi komutu direksiyon kontrolcuumlsuumlnde Sinyal Genişlik Moduumllasyonu (PWM) tekniği ile işlenmektedir Buna goumlre direksiyon step motoru suumlruumlcuumlsuumlnuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir

424 Geri Bildirim

Direksiyon youmlnelim geri bildirimi Kremayerrsquoe bağlanan lineer potansiyometre aracılığıyla oumllccediluumllmektedir Boumlylece step motor ve dişli sistemlerden kaynaklanan hatalardan sistem korunmaktadır

Hız geri bildirimi BLDC motorlarda bulunan Hall efekt sensoumlrlerinden alınmaktadır Bu sensoumlrler bize 18 cmrsquoye ve motor tekerinin 5 derece doumlnuumlşuumlne kadar hassasiyetle bize bilgi vermektedir Bunun sebebi Hall efekt sensoumlrlerinin aşağırda goumlsterildiği gibi 6 farklı konfiguumlrasyonda bulunabilmeleridir

12

Kaynak DigiKey 425 Uzaktan Haberleşme Sistemi Yarışma kuralları gereğince aracın goumlreve başlaması sinyali kablosuz haberleşme sistemiyle verilir Aynı zamanda acil kapama sistemi de bu youmlntemle ccedilalıştırılabilmelidir Bu durumda var olan kablosuz haberleşme protokollerinin karşılaştırılması yapılmalı ve avantajları değerlendirilmelidir

Kaynak wwwpostscapescom

13

Otonom suumlruumlş kominikasyonunun temel dizayn parametreleri - 100 metre civarında menzil - Anlık iletişim - Stabil guumlvenli ve hata oranı duumlşuumlk - Duumlşuumlk bilgi yuumlkuuml - Enerji tuumlketimi tolere edilebilir - Duumlşuumlk maliyetli Bu parametreler değerlendirildiğinde aracımıza en uyumlu olacak protokoluumln uzak menzilli duumlşuumlk bit hızlı uumlcretsiz lisanslı LoRaWAN olduğuna karar verildi Moduumlluumlmuumlz 433 Mhz frekans bandında ccedilalışmaktadır 43 Elektronik Hareket Sistemleri 431 Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir Direksiyonun youmlnelimi ve direksiyon step motor suumlruumlcuumlsuumlnuumln youmlnetilmesi iccedilin Sinyal Genişlik Moduumllasyonu (PWM) tekniği kullanılmaktadır Buna goumlre motor suumlruumlcuumlyuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir 432 Elektronik Gaz Pedalı (Steer-by-wire) Araccedil gaz pedalı PWM moduumllasyonuyla araccedil motor suumlruumlcuumlsuumlne bağlıdır Motor suumlruumlcuuml bu sinyali gerekli torka doumlnuumlştuumlrmektedir PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcuuml ile de verilebilmektedir

5 Sensoumlrler 51 Odometre

Odometre temelde hareket eden bir cismin ccedilizgisel hızı ve youmlnelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır Hareketli robotlarda bu hız ve youmlnelim bilgileri birtakım hareket sensoumlrleri aracılığıyla elde edilir Burst aracımızda oumln ve arka tekerlerde tekerleklerin doumlnuumlş sayısını hesaplayan enkoder sayaccedillar ve direksiyonun doumlnme accedilısını elde ettiğimiz suumlruumlcuumller araca entegredir Enkoderler tekerin her 15deg lik doumlnuumlşuumlnuuml tutabilmekte yani enkoder sayacının her 24 sayımı tekerin 1 tam tur doumlnmesi anlamına gelmektedir Direksiyon youmlnelimi bilgisi de hareket

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 12: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

12

Kaynak DigiKey 425 Uzaktan Haberleşme Sistemi Yarışma kuralları gereğince aracın goumlreve başlaması sinyali kablosuz haberleşme sistemiyle verilir Aynı zamanda acil kapama sistemi de bu youmlntemle ccedilalıştırılabilmelidir Bu durumda var olan kablosuz haberleşme protokollerinin karşılaştırılması yapılmalı ve avantajları değerlendirilmelidir

Kaynak wwwpostscapescom

13

Otonom suumlruumlş kominikasyonunun temel dizayn parametreleri - 100 metre civarında menzil - Anlık iletişim - Stabil guumlvenli ve hata oranı duumlşuumlk - Duumlşuumlk bilgi yuumlkuuml - Enerji tuumlketimi tolere edilebilir - Duumlşuumlk maliyetli Bu parametreler değerlendirildiğinde aracımıza en uyumlu olacak protokoluumln uzak menzilli duumlşuumlk bit hızlı uumlcretsiz lisanslı LoRaWAN olduğuna karar verildi Moduumlluumlmuumlz 433 Mhz frekans bandında ccedilalışmaktadır 43 Elektronik Hareket Sistemleri 431 Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir Direksiyonun youmlnelimi ve direksiyon step motor suumlruumlcuumlsuumlnuumln youmlnetilmesi iccedilin Sinyal Genişlik Moduumllasyonu (PWM) tekniği kullanılmaktadır Buna goumlre motor suumlruumlcuumlyuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir 432 Elektronik Gaz Pedalı (Steer-by-wire) Araccedil gaz pedalı PWM moduumllasyonuyla araccedil motor suumlruumlcuumlsuumlne bağlıdır Motor suumlruumlcuuml bu sinyali gerekli torka doumlnuumlştuumlrmektedir PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcuuml ile de verilebilmektedir

5 Sensoumlrler 51 Odometre

Odometre temelde hareket eden bir cismin ccedilizgisel hızı ve youmlnelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır Hareketli robotlarda bu hız ve youmlnelim bilgileri birtakım hareket sensoumlrleri aracılığıyla elde edilir Burst aracımızda oumln ve arka tekerlerde tekerleklerin doumlnuumlş sayısını hesaplayan enkoder sayaccedillar ve direksiyonun doumlnme accedilısını elde ettiğimiz suumlruumlcuumller araca entegredir Enkoderler tekerin her 15deg lik doumlnuumlşuumlnuuml tutabilmekte yani enkoder sayacının her 24 sayımı tekerin 1 tam tur doumlnmesi anlamına gelmektedir Direksiyon youmlnelimi bilgisi de hareket

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 13: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

13

Otonom suumlruumlş kominikasyonunun temel dizayn parametreleri - 100 metre civarında menzil - Anlık iletişim - Stabil guumlvenli ve hata oranı duumlşuumlk - Duumlşuumlk bilgi yuumlkuuml - Enerji tuumlketimi tolere edilebilir - Duumlşuumlk maliyetli Bu parametreler değerlendirildiğinde aracımıza en uyumlu olacak protokoluumln uzak menzilli duumlşuumlk bit hızlı uumlcretsiz lisanslı LoRaWAN olduğuna karar verildi Moduumlluumlmuumlz 433 Mhz frekans bandında ccedilalışmaktadır 43 Elektronik Hareket Sistemleri 431 Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir Direksiyonun youmlnelimi ve direksiyon step motor suumlruumlcuumlsuumlnuumln youmlnetilmesi iccedilin Sinyal Genişlik Moduumllasyonu (PWM) tekniği kullanılmaktadır Buna goumlre motor suumlruumlcuumlyuuml youmlneten voltaj değeri verilen ldquogoumlrev doumlnguumlsuuml (duty cycle)rdquo yuumlzdesine goumlre belirlenmektedir 432 Elektronik Gaz Pedalı (Steer-by-wire) Araccedil gaz pedalı PWM moduumllasyonuyla araccedil motor suumlruumlcuumlsuumlne bağlıdır Motor suumlruumlcuuml bu sinyali gerekli torka doumlnuumlştuumlrmektedir PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcuuml ile de verilebilmektedir

5 Sensoumlrler 51 Odometre

Odometre temelde hareket eden bir cismin ccedilizgisel hızı ve youmlnelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır Hareketli robotlarda bu hız ve youmlnelim bilgileri birtakım hareket sensoumlrleri aracılığıyla elde edilir Burst aracımızda oumln ve arka tekerlerde tekerleklerin doumlnuumlş sayısını hesaplayan enkoder sayaccedillar ve direksiyonun doumlnme accedilısını elde ettiğimiz suumlruumlcuumller araca entegredir Enkoderler tekerin her 15deg lik doumlnuumlşuumlnuuml tutabilmekte yani enkoder sayacının her 24 sayımı tekerin 1 tam tur doumlnmesi anlamına gelmektedir Direksiyon youmlnelimi bilgisi de hareket

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 14: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

14

sensoumlrleri kapsamında bilgi olarak işlemciye ulaşmakta direksiyon her iki youmlne de 20deg derece doumlnebilmektedir Bu iki değer aracın harekete başlama noktası merkeze alınarak konum hesaplamasında kullanılmaktadır Odometre hesaplamalarının temelinde Ackermann Steering prensipleri kullanılmıştır Buna goumlre direksiyonu youmlnelmiş bir aracın buumltuumln tekerleklerinin doumlnuumlş yaparken ccedilizdikleri ccedilemberler eş merkezlidir Boumlylece aracın anlık ccedilizgisel hızını direksiyon youmlnelim accedilısını ve aracın oumln-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak muumlmkuumlnduumlr

Denklemlerde x durum vektoumlruuml x ve y aracın hareket noktasına goumlre koordinat sistemi θ aracın koordinat sistemindeki youmlnelimi s aracın anlık ccedilizgisel hızı l aracın oumln ve arka tekerleri arasındaki uzaklık φ ise direksiyonun youmlnelme accedilısıdır

Aracın direksiyon accedilısı kuumlccediluumlk accedilılarda olduğu iccedilin yuvarlaması yapılabilir

Buna goumlre Aracın ccedilizgisel hızı enkoder sayacından gelen verilere goumlre belirlenir Arka teker enkoderleri her 24 sayımda tekerin 1 tur doumlnmuumlş olduğunu goumlsterir Burst aracının arka tekerin ccedilapı 0430 metre dolayısıyla ccedilevresi 135 metredir Oumlrneğin 01 saniyelik zaman diliminde enkoder sayacında 36 artış varsa aracın ccedilizgisel hızı 2 metresaniyersquodir deriz

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 15: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

15

52 Inertial Measurement Unit (IMU) Uzayda hareket halindeki bir cismin uumlstuumlnde oluşan 3 eksen ivme ve 3 eksen doumlnme kuvvetini oumllccedilmek iccedilin iki tip sensoumlrden oluşan ldquoInertial Measurement Unit (IMU)rdquo adı verilen cihazlar kullanılır Bu cihazlar guumlnuumlmuumlzde uzay araccedilları insansız hava araccedilları gibi bir ccedilok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor IMU ana işlemciye goumlnderilen accedilısal hız ve doğrusal ivme verisini tek bir moduumllde toplayan elektronik bir birimdir IMU temelde iki ayrı sensoumlr iccedilerir Bunlardan biri ivmeoumllccediler diğeri ise jiroskoptur İvmeoumllccediler uumlccedil eksende uumlccedil ayrı analog sinyal uumlretir İtici sistemden ve fiziksel limitlerinden dolayı ivme oumllccedilen bu sensoumlrlerdeki en oumlnemli durum yerccedilekiminden etkilenmeleridir Sensoumlr suumlrekli olarak yerccedilekiminin etkisinde kalır Oumllccediluuml skalası olarak bir iki veya uumlccedil eksende oumllccediluumlm yapabilen tuumlrevleri vardır Bunlar plusmn 1g plusmn 2g plusmn 4g vb gibi değerler ile ifade edilmektedir IMUrsquonun iccedilinde bulunan ikinci sensoumlr ise jiroskoptur Tuumlrkccedile ifade ile kullanırsak doumlnuumloumllccediler diyebiliriz Basitccedile anlatırsak bir tekerleğin ekseni etrafında hızlıca doumlnduumlruumllmesi ile oluşur Tekerleğin etrafındaki ccedilembere dik accedilıyla tutturulan başka bir ccedilember vardır Bu ccedilemberlere dik accedilıyla tutturulmuş başka bir ccedilember jiroskobu temsil eder Jiroskobun temelde iki oumlzelliği vardır Yatay eksende doumlnmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında doumlnmeye başlar Diğer oumlzelliği ise jiroskobun doumlnuumlş eksenine sabit kalmasıdır Bu oumlzellik uyduların duumlnyaya suumlrekli olarak doumlnuumlk kalması otopilot suumlruumlş gibi uygulamalarda kullanılmaktadır Jiroskop ve ivmeoumllccediler tek başlarına guumlvenli ve stabil veriler sağlayamazlar Bu yuumlzden birbirlerini referans alarak iki sensoumlr birleştirilir ve hız pozisyon gibi bilgiler tek bir birimden yani IMUrsquodan alınır Degrees of Freedom (DOF) terimi IMUrsquonun serbestlik derecesini niteler 3 eksen jiroskoplu ve 3 eksen ivmeoumllccedilerli bir IMU 6DOF olarak ifade edilir Aracımızda bu sensoumlrden gelen veriler GPS sensoumlruumlyle birleştirilip kullanılmaktadır ilerde accedilıklanacaktır 53 GPS Duumlzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde youmlruumlnge iccedilerisinde yer alan uyduların kişinin veya cihazın duumlnya uumlzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir İngilizce Global Positioning Systemrsquoin baş harflerinden oluşan GPSlsquoin Tuumlrkccedile karşılığı ise Kuumlresel Konum Belirleme Sistemidir ABD Savunma Dairesi tarafından geliştirilmiştir Duumlzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi oumllccedilerek duumlnya uumlzerindeki kesin yerimizi tespit etmeyi muumlmkuumln kılar

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 16: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

16

Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak uumlzere duumlnya youmlruumlngesinde toplamda 24 adet uydudan oluşmaktadırlar Uydular kendi aralarında ccedilok kuumlccediluumlk dalgalanmalarla sinyaller goumlnderirler Bu da yeryuumlzuumlnde bulunmakta olan GPS alıcılarını tetikleyip kişinin nerede olduğu hakkında net bilgiler yansıtmaktadır Cep telefonlarımızda da yaygınlık goumlsteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar GPSrsquoin veri doğruluğu 49 metre civarındadır Dolayısıyla tek başına konum doğruluğu sağlamak iccedilin kullanılması yeterli değildir 54 GPS ve IMU Fuumlzyon Algoritması Guumlnuumlmuumlzde mutlak bir sensoumlr olan Global Konumlandırma Sistemi (GPS) bir kara konumlandırma sisteminin temel bileşenidir Farklı modda santimetre hassasiyetine ulaşabilir Bununla birlikte bazı durumlarda ccedilok yollu ya da maske kusurları nedeniyle GPSin guumlvenilirliğinin olmayışı genellikle oumlluuml hesaplaşma (dead reckoning) gibi diğer sensoumlrlerle karıştırılmasına neden olur Bu sensoumlrler oumlrneğin atalet sensoumlrleri (jiroskoplar ve ivmeoumllccedilerler) dış ortamdan bağımsız olarak suumlrekli konum bilgisi verme avantajına sahiptir Bir atalet sensoumlrleri paketi iki gruba ayrılabilir jiroskoplardan ve ivmeoumllccedilerlerden ham veri sağlayan Atalet Oumllccediluumlm Birimi (IMU) oumllccedilek faktoumlrlerinden ve oumlnyargılardan duumlzeltilmiş Atalet Oumllccediluumlm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)) Aracın konumunu hızını ve tutumunu sağlamak iccedilin navigasyon algoritmalarına goumlnderilir Bizim ccedilalışmamızda tuumlm yapısını yeniden inşa etmeden ccedilok sayıda sensoumlruuml entegre etmeye uygun olan ccedilok sensoumlrluuml bir Kalman Filtresi (KF) geliştirildi KFye bağlamsal bilgiler getirilerek algılandığında hatalı verileri reddetmek iccedilin her sensoumlruumln 2 geccedilerlilik alanı tanımlanır boumlylece veri kaynaşmasının guumlvenilirliği arttırılır Guumlvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır Bir navigasyon sisteminin buumltuumlnluumlğuuml aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri duumlzeltir veya reddederken guumlvenilir navigasyon bilgileri sağlama yeteneğidir Ccedilok Sensoumlrluuml Kalman Filtresi Ayrık zamanlı bir doğrusal sabit sinyal modeli duumlşuumlnelim

olduğunda durum vektoumlruuml varsayılan bilinen kovaryans matrisinin

varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir durum vektoumlruuml varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss guumlruumlltuumlsuumlnuumln bir dizisidir

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 17: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

17

bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır bilinen durum geccediliş matrisidir En basit durumda oumllccediluumlmler durum uzayı değişkenlerine goumlre doğrusal bir ilişki olarak ifade edilir ve guumlruumlltuuml ile bozulur Aşağıdaki Denklem 2 bir N sensoumlruuml seti iccedilin oumllccediluumlmleri accedilıklamaktadır

iken sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz gauss goumlzlem

guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve denklem 2 ile accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir sensor nin oumllccediluumlm vektoumlruuml sensoumlr iccedilin beyaz

gauss goumlzlem guumlruumlltuumlsuuml sıfır ortalamalı ve kovaryans matrisi sensoumlre bağlı oumllccediluumlm matrisi ve sensoumlr sayısıdır Denklem 1 ve Denklem 2 ile

accedilıklanan model goumlz oumlnuumlne alındığında Ccedilok Sensoumlrluuml Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir

- Bulma aşaması

Denklem 4 sensoumlr ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir

ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir ye bağlı veri fuumlzyonu iccedilin Kalman kazancını belirtir ise sensoumlr den gelen goumlzlemin yarattığı yenilik olarak formuumlle edilir Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir

- Tahmin aşaması

ile goumlsterilmektedir Bağlamsal Bilgi V Nimier bağlamda goumlz oumlnuumlnde bulundurularak ccediloklu sensoumlrluuml veri kaynaşması uumlzerine teorik bir ccedilerccedileve geliştirdi Denetimli bir fuumlzyon işlemine sahip olmak iccedilin sembolik ve sayısal bilgileri birleştirmek iccedilin bir youmlntem oumlnerdi Denetim bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerccedilekleştirilir boumlylece tahmin suumlreci bu bağlamda uyarlanır Sonuccedil iccedileriğe iyi adapte

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 18: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

18

edilmiş sensoumlrler tarafından sağlanan oumllccediluumlmleri desteklemek ve iyi adapte olmayanların oumlnemini en aza indirmektir Sinyal kalitesi ccedilevreye bağlı olan GPS sensoumlruuml bu ccedilerccedileveye uygundur Sensoumlr ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır ve yenilik aşağıdaki ilişki accedilığa ccedilıkmaktadır

ve

oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8d3 teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız oumllccediluumlm tahmini kovaryans matrisi ayrıca yenilik kovaryans matrisi olarak da adlandırılır Kuadratik formda denklem 8de teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır Chi-square tablosundan belirlediğimiz guumlven aralığına goumlre bir seccedilim yapacağız GPSIMU veri fuumlzyonu

- Durumun tanımlanması ve oumllccediluumlm modelleri Durum Modeli

1 denklemiyle tanımlanan bir KFnin standart durum modeli goumlz oumlnuumlne alındığında seccedililen durum modeli bir Wiener proses ivmelenme modelidir Bir kara taşıt dinamiğinin modellenmesinde karmaşıklık ve performans arasında iyi bir denge sağlayan temel bir modeldir uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir par uzey Doğu ve Aşağı youmlnlerde konum hız ve ivmeyi temsil eden durum vektoumlruumlduumlr Boumlyle bir modelde F ve w aşağıdakine eşittir

ve bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr

diyagonal matris ve tuumlm elementleri sıfır olan 3x3 matristir da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı da bilinen kovaryansın varsayılan sıfır beyaz gauss guumlruumlltuumlsuumlduumlr kovaryansı

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 19: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

19

1 eğer ve 0 aksi halde 1 eğer ve 0 aksi halde

- Oumllccediluumlm Modeli

Sensoumlrler tarafından yapılan goumlzlemler mutlak ccedilerccedilevede GPS iccedilin konum ve IMU iccedilin hızlanmadır Bu ikincisi jiroskoplar tarafından iletilen verileri kullanarak ivmeoumllccedilerler tarafından verilen verilerin (IMUnun dahili algoritmalarıyla oumlnyargılardan ve oumllccedilek faktoumlrlerinden duumlzeltilmiş) vuumlcut ccedilerccedilevesinden mutlak referans ccedilerccedilevesine doumlnuumlştuumlruumllmesiyle elde edilir Bu ccedilok basitleştirilmiş bağlamda GPS ve IMU oumllccediluumlm modelleri

iken ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir ve sıfır ortalamaları sırasıyla ve kovaryanslı guumlruumlltuumllerdir

- Bağlamsal Uzayın Accedilıklaması

Denklem 8 ve 9 u kullanarak GPS ve IMU sensoumlrlerinin geccedilerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir Daha oumlnce bahsedilen guumlven aralığı seccedilimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra oumllccediluumlmuumln mantıklı olup olmadığı anlaşılır Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber şimdilik ikili mantık ile ccedilalışmaktayız

- Kalman Filtre Denklemleri

GPS ve IMU verilerinin kaynaştırılmasıyla elde edilen tahmin

iken

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 20: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

20

Veri fuumlzyonu bu iki sensoumlr iccedilin yukarıdaki denklemleri takip ederek yapılmaktadır

55 Kamera Şu anda 78 derecelik yatay goumlruumlş accedilısına (FOV) ve 90 derecelik diyagonal goumlruumlş accedilısına (FOV) sahip olan uumlccedil adet kamera kullanmaktayız Ana kamera suumlruumlcuuml direksiyon ccedilubuğunun hemen altına yerleştirilir ve hafifccedile aşağıya bakar Kamera yuumlksek 30 FPS (frame per second)rsquoe sahiptir ve USB portundan da bağlanabilir Bu noktada bir geniş accedilılı kamera ile ccedilalışmış oluyoruz Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır Bunlardan biri ana kameraya goumlre 60 derece sağa diğeri ise 60 derece sola bakıyor Bunların amacı park ve doumlnuumlş sırasında trafik işaretlerinin takibini suumlrekli olarak yapabilmektir 56 2D LIDAR Havadan tarama yapan Lidar sistemleri Lidar sensoumlruuml IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz Bunların yanında GPS ve INS gibi birccedilok teknolojide yardımcı olarak kullanılır Bizim projemizde LIDARrsquodan gelen bilgiler daha ccedilok algılama goumlrevi iccedilin kullanıcaktır Ancak her iki tuumlr lidar sistemlerinde lazer kaynağından ccedilıkan ışınlar suumlrekli olmayıp periyodik olarak yansıtıcıya ccedilarpıp tarama yapılacak olan alana youmlnlendirilir Boumlylece hava aracından veya karada tripot uumlzerinden tarama yapılacak alanın saniyede 20000 ila 150000 noktasının taraması gerccedilekleştirilir Boumlylece etrafın kabaca bir uzaklık haritası elde edilmiş olur Bizim aracımızda ise 2D LIDAR resimdeki HOKUYO UTM30LX kullanıcak olup aracın oumlnuumlne yerden yaklaşık 40 cm yuumlkseklikte yerleştirilecektir LIDARımızın algılama menzili teoride 30 metre guumlneş ışığında denendiğinde pratikte 22 metredir

6 Oumlzguumln Bileşenler Simuumllasyon aşamasında goumlrevlerin her birini gerccedilekleştirmek iccedilin iyi tanımlanmış ccediloumlzuumlmler geliştirilmiştir Bu ccediloumlzuumlmler goumlreve ve simuumllasyon ortamının koşullarına sıkı sıkıya bağlı olduğu iccedilin genelleştirilebilir ccediloumlzuumlmler değildir Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma goumlrevlerini derin oumlğrenme youmlntemleri kullanarak iyileştirmek ve gerccedilek duumlnya koşullarında işlerlik kazandırmaktır Simuumllasyon ortamında alınan imgelerin guumlruumlltuuml iccedilermemesi geleneksel goumlruumlntuuml işleme youmlntemlerinden alınan performansı yeterli kılmaktadır ancak gerccedilek duumlnya verileriye eğitilmiş derin oumlğrenme mimarileri gerccedilek duumlnyada oumlngoumlruumllemeyen ccedilevresel koşullarda ccedilalışabilmek adına buumlyuumlk bir potansiyele sahiptir

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 21: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

21

Yol şeritlerini tanıma goumlrevinin derin oumlğrenme youmlntemleri ile ccediloumlzuumlmuumlnde genellikle şerit olan boumllgelerin resimdeki pozisyonları ccedilıktı olarak verilmektedir sonrasında bu ccedilıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır Oumlzguumln hedeflerden biri de kuracağımız derin oumlğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip ccedilıktı olarak doğrudan bu polinomun katsayılarını almak ve bu youmlntemin performansını değerlendirmektir Nihai hedef ise tuumlm sensoumlr verileri ve hazırladığımız simuumllasyon ortamını da kullanarak uccediltan uca derin pekiştirmeli oumlğrenme ile tuumlm otonom suumlruumlş suumlrecini gerccedileklemektir

7 Otonom Suumlruumlş Algoritmaları 71 Goumlruumlntuuml İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla goumlruumlntuuml işleme yoğun olarak kullanılmıştır Goumlruumlntuuml işleme youmlntemleri kullanılarak yapılan temel iki goumlrev trafik işaretlerinin tanınması ve yol uumlzerindeki şeritlerin takibidir Bu iki goumlrevi gerccedilekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS moduumllleri olarak eklenmişlerdir 711 Trafik İşareti Tanıma Trafik işaretlerinin tanınması iccedilin yapay oumlğrenme tabanlı bir sınıflandırıcı kullanılmıştır Bu sınıflandırıcının eğitiminde Burst aracı iccedilin geliştirilen simuumllasyon ortamından elde edilen veriler kullanılmıştır Simuumllasyon ortamında trafik işaretlerinin tespit edilmesi iccedilin renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri kullanılmıştır Bu youmlntemler Python dilinde OpenCV ve Numpy kuumltuumlphaneleri kullanılarak uygulandı

7111 Trafik İşareti İmge Ccedilıkarımı Youmlntemi Trafik işaretlerinin simuumllasyon ortamındaki araccedil uumlzerindeki bir kamera vasıtasıyla tespiti iccedilin kamera goumlruumlntuumlleri uumlzerinde yapılan oumln işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır Simuumllasyon uumlzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları uumlzerindeki renkler incelenerek her bir işareti ccedilevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue Green Red OpenCV kuumltuumlphanesi imgeleri BGR formatında ) imgeler HSV (Hue Saturation Value) renk uzayına doumlnuumlştuumlruumllmuumlş renk eşikleri bu renk uzayı kullanılarak belirlenmiştir Trafik işaretlerinin tespiti amacıyla 5 farklı renk iccedilin eşik değeri belirlenmiştir

1 Beyaz Renk Eşiği Beyaz renk eşiği olarak HSV değerleri (0 0 235) ve (0 0 255) aralığı belirlenmiştir

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 22: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

22

2 Siyah Renk Eşiği Siyah renk eşiği olarak HSV değerleri (0 0 0) ve (0 0 5) aralığı belirlenmiştir

3 Kırmızı Renk Eşiği Kırmızı renk eşiği filtresi iki kısımdan oluşmaktadır birinci kısım iccedilin HSV değerleri (0 100 100) ve (10 255 255) aralığı belirlenmiştir İkinci kısım iccedilin de HSV değerleri (160 100 100) ve (179 255 255) aralığı belirlenmiştir Kırmızı eşik değerinin neden iki kısımdan oluştuğu aşağıdaki renk uzayını temsil eden goumlrselden anlaşılabilmektedir HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kuumltuumlphanesi iccedilerisinde 0 ile 10 derece arasında ve 160 ile 180 derece arasında temsil edilmektedir

4 Sarı Renk Eşiği

Sarı renk eşiği olarak HSV değerleri (20 100 100) ve (40 255 255) aralığı belirlenmiştir 5 Yeşil Renk Eşiği

Yeşil renk eşiği olarak HSV değerleri (50 100 70) ve (70 255 255) aralığı belirlenmiştir Bu renk eşikleri uygulanan imge uumlzerinden bir maske elde edilir Elde edilen bu maske uumlzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) youmlntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır Bu morfolojik operasyonlar uygulanan imge uumlzerinde nesnelerin tespiti iccedilin şekil ccedilıkarımı youmlntemleri uygulanmış ve belli bir alan buumlyuumlkluumlğuumlnuumln uumlzerindeki boumllgeler nesne olarak sınıflandırılmıştır 7112 Veri Seti Oluşturulması Renk eşiği morfolojik operasyonlar ve şekil ccedilıkarımı youmlntemleri uygulanan imge uumlzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir Buraya kadar belirtilen youmlntemler hem simuumllasyon uumlzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği goumlruumlntuuml uumlzerinden trafik işareti olabilecek alanların tespiti iccedilin kullanılmıştır Simuumllasyon ortamından elde edilen bazı goumlrseller aşağıdaki şekillerde goumlsterilmiştir

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 23: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

23

Durak

Hız Sınırlaması Sonu (20 kms)

İleri ve sola mecburi youmln

İleri ve sağa mecburi youmln

İleriden sola mecburi youmln

Giriş olmayan yol

Sola doumlnuumllmez

Park etmek yasaktır

Sağa doumlnuumllmez

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 24: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

24

Taşıt trafiğine kapalı yol

Park yeri

İleriden sağa mecburi youmln

Azami hız sınırlaması (20 kmsaat)

Azami hız sınırlaması (30 kmsaat)

Dur

Kırmız Sarı ve Yeşil ışık oumlrnekleri

Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine goumlre davranılmaktadır Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir 7113 Trafik İşareti Tanıma Yapay Oumlğrenme Modeli Simuumllasyon uumlzerinden elde ettiğimiz veri seti her bir trafik işareti ve trafik ışığını barındıracak şekilde elle sınıflandırılmıştır Elle sınıflandırma yapılan trafik işaretleri ve ışıklarından bir eğitim seti oluşturulmuştur Bu eğitim setinde her bir nesne sınıfına ait nesne sayısı şu şekildedir

Arka Plan 2123

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 25: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

25

Yeşil Işık 1176 Giriş Olmayan Yol 1133 Sağa Doumlnuumllmez 1549 İleri Ve Sola Mecburi Youmln 484 Azami Hız Sınırlaması (30 KmSaat) 175 Dur 624 Azami Hız Sınırlaması (20 KmSaat) 309 Sarı Işık 756 Sola Doumlnuumllmez 245 Park Yeri 4819 Durak 425 İleriden Sola Mecburi Youmln 112 Taşıt Trafiğine Kapalı Youmln 184 İleriden Sağa Mecburi Youmln 352 Kırmızı Işık 1716 Park Etmek Yasaktır 3815 İleriden Sağa Mecburi Youmln 1504 Hız Sınırlaması Sonu (20 KmSaat) 242 Toplam 21743 Yukarıda belirtilen nesne sınıfları arasında bir sınıf dengesizliği bulunmaktadır Bu dengesizlik sınıflandırıcı eğitimi sırasında sınıfların sayılarına ters orantılı olarak belirlenen bir sınıf ağırlığı ile giderilmiştir Burst simuumllasyon veri seti oumlncelikle eğitim ve test veri setlerine ayrılmıştır Model eğitim seti uumlzerinde eğitildikten sonra test set uumlzerinde deney yapılarak modelin başarımı oumllccediluumllmuumlştuumlr Model eğitimi iccedilin kullanılacak her bir imge uumlzerinden imgeyi en iyi temsil edecek oumlznitelik vektoumlruumlnuumln ccedilıkarımı hedeflenmiştir Bu oumlznitelik ccedilıkarımı iccedilin iki ana youmlntem kullanılmıştır

1 Histogram of Oriented Gradients (Youmlnlendirilmiş Gradyanların Histogramı) [4] 2 Renk histogramı

Histogram of oriented gradients youmlntemi imge uumlzerindeki her bir boumllgeden elde edilen gradyanların youmlnelimlerinde gradyanların buumlyuumlkluumlklerinin toplandığı histogramlardır Renk histogramları ise imgenin uumlccedil farklı renk kanalında bulunan değerlerin toplandığı histogramlardır Modele girdi olarak verilecek her bir imge 128 piksel x 128 piksel şeklinde boyutlandırılıp her bir imge uumlzeinden ccedilıkarılan youmlnlendirilmiş gradyanların histogramları ve renk histogramları oumlznitelik vektoumlrleri elde edilir Son olarak bu iki vektoumlr ard arda iliştirilerek yeni bir vektoumlr elde edilir Bu yeni vektoumlr yapay oumlğrenme eğitimi iccedilin kullanılacaktır

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 26: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

26

Trafik işaret ve ışıklarının tespiti iccedilin Lineer Support Vector Machine(destek vektoumlr makinesi) sınıflandırıcısı kullanılmıştır Sınıflandırıcının eğitiminde oumlnceki boumlluumlmlerde anlatılan Youmlnelimli gradyanların histogramı ve renk histogramı oumlznitelik vektoumlrleri kullanılmıştır Modelin eğitim başarı oumllccediluumlmuuml olarak sınıflandırma başarımı değeri goumlz oumlnuumlne alınmıştır Bu başarım test verisi uumlzerinde 9880 olup aracın otonom yeteneklerini sergilemesi accedilısından oldukccedila başarılı goumlruumllmuumlştuumlr Sınıflandırma başarımı oumllccediluumlmuumlnuumln yanı sıra sınıf bazla başarım oumllccediluumlmuumlnuumln de incelenebilmesi iccedilin hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir Aşağıdaki şekilde Burst simuumllasyon veri seti uumlzerinde eğitilen Lineer SVM modeline ait hata matrisi goumlruumllmektedir

Oluşturulan modelin simuumllasyon ortamında testleri sonucunda elde edilen bazı goumlruumlntuumller aşağıda verilmiştir

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 27: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

27

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 28: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

28

Burst Simuumllasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin oumlzet akış grafiği yukarıdaki şekilde goumlsterilmiştir İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yuumlksekliğinin sabit olduğu parkur eğiminin ise ihmal edilebilir oumllccediluumlde kuumlccediluumlk olduğu varsayılmıştır Bu varsayımlar altında geometrik olarak işaretlerin araccedil doğrultusunun x sol doğrultunun y kabul edildiği 3 boyutlu koordinat sistemindeki yerinin tespiti ise aşağıdaki gibi hesaplanır

OV (P 2 ) P radsθ = F x x minus spx x x sx = P 2y

(P 2minuss )y py tan(F OV 2)y

h minushişaret camera

tan(s )sy = sx θ

Burada işaretin goumlrece accedilısını ise işaretin aracın sistemindeki goumlrece konumu ifade sθ sxy eder Kamera oumlzellikleri olan olarak kullanılmıştır OV 139 radF xy = 00 pixelP xy = 8 Burada değeri imge uumlzerinde tespit edilen işaretin imge merkezinden pixelP 2 )( y minus spy cinsinden yuumlksekliğidir Bu değer işaretin araccediltan uzaklığı ile ters orantılı olarak değişmektedir terimi ise işaretin kamera goumlruumlş alanından ccedilıkacak kadar yakın tan(F OV 2)y

(h minush )işaret camera

olduğu noktanın x doğrultusundaki uzaklığıdır 712 Yol Şeridi Tanıma

Araccedil simuumllasyonunda yer alan yol şeritlerini tanımak iccedilin OpenCv Numpy ve sklearn kuumltuumlphaneleri kullanılarak ccedileşitli imge işleme youmlntemleri ve denetimsiz oumlğrenme algoritmaları uygulanmıştır Oumlncelikle simuumllasyon kamerasından alınan imge gri tonlamalı formata ccedilevrilmiştir Elde edilen yeni imgeye (120 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu boumllgeler beyaz kalan her yer siyah piksellere boyanmıştır

Elde edilen siyah-beyaz imgeyi kuşbakışı goumlruumlntuumllemek iccedilin perspektif-doumlnuumlşuumlm matrisi ccedilıkarılmıştır Bu matrisi hesaplamak iccedilin kaynak imgeden birbirine paralel 2 doğru uumlstuumlnden seccedililen 4 noktanın koordinatları ile bunlara karşılık ccedilıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge doumlnuumlştuumlruumllmuumlştuumlr Hesapladığımız homografi matrisi otonom aracın kamerasından alınan goumlruumlntuumlnuumln kuşbakışı goumlruumlntuumlsuumlnuumln ccedilıkarılması amacıyla kullanılmıştır Homografi matrisi şu şekilde elde edilmiştir

uşbakışı İmge Koordinatları Homograf i Matrisi x Kamera İmge KoordinatlarıK =

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 29: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

29

Bu denklemde bulunan homografi matrisininde h33 değeri her zaman 1 olarak kabul edilir Bununla birlikte denklemi ccediloumlzebilmek iccedilin şu denklemler elde edilir

Yukarıdaki denklemler duumlzenlendiğinde şu denklemler elde edilecektir

Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi ccediloumlzebilmek iccedilin en az 8 denkleme ihtiyacımız var Kamera girdisi ve ona karşılık gelen kuşbakışı goumlruumlntuumlnuumln koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz iccedilin homografi matrisindeki 8 bilinmeyeni bulabilmek iccedilin kamera goumlruumlntuumlsuuml ve kuşbakışı goumlruumlntuumlde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 30: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

30

Burada elde edilen matris denkleminin ccediloumlzuumllmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir 7121 DBSCAN Algoritması

DBSCAN algoritması [1] yoğunluk-temelli bir kuumlmeleme algoritmasıdır ε maksimum mesafe ve k minimum nokta sayısı olmak uumlzere bu algoritma şu şekilde accedilıklanabilir [2]

- Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p bir ccedilekirdek noktadır

- Eğer bir q noktası p noktasından en fazla ε mesafe uzaklıkta ise q noktası p noktasından doğrudan erişilebilirdir

- Eğer p1 = p ve pn = q ve her bir pi+1 noktası p i noktasından doğrudan erişilebilir olmak şartıyla p1 pn diye tuumlm p noktalarının ( q hariccedil ) ccedilekirdek nokta olduğu bir yol varsa q noktası p noktasından erişilebilirdir

- Hiccedilbir noktadan erişilebilir olmayan noktalar guumlruumlltuuml noktalarıdır - Boumlylece eğer p bir ccedilekirdek noktaysa kendisinden erişilebilir olan tuumlm noktalarla bir

kuumlme oluşturur Doumlnuumlştuumlruumllen imgede 2 grup halinde yayılan beyaz pikseller ε = 100 k = 2 seccedililerek DBSCAN kuumlmeleme algoritması ile kuumlmelere boumlluumlştuumlruumllmuumlştuumlr Sonrasında her bir kuumlmedeki pikseller iccedilin ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler ccedilıkarılmıştır En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu ccedilıkarılmıştır DBSCAN algoritmasına tuumlm beyaz pikseller verildiğinde kuumlmelere boumllme işlemini otonom suumlruumlşuuml aksatacak kadar uzun suumlrduumlğuuml goumlruumllmuumlş ve buna ccediloumlzuumlm olarak Canny Kenar Algılama algoritmasıyla [5] şeritlerin sadece kenarlarını temsil eden pikseller tespit edilmiş ve DBSCAN algoritmasına verilmiştir Bu değişiklik DBSCAN algoritmasını 10 kat kadar hızlandırmıştır

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 31: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

31

72 Kontrol Bu boumlluumlmde simuumllasyon isterlerini sağlayan basit bir kontrolcuuml tanıtılmıştır İlerleyen aşamalarda bu kontrolcuumlnuumln MPC benzeri youmlntemler kullanılarak geliştirilmesi duumlşuumlnuumllmektedir Simuumllasyon denemeleri teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli haritanın kavşak ve doumlnuumlş noktalarına gerekli sayıda duumlğuumlm atanmasıyla oluşturulan toplamda 30 duumlğuumlmluuml ve youmlnelimli bir ccedilizge yapısı uumlzerinde gerccedilekleştirilmiştir Oumlncelikle ccedilizge yapısındaki komşu duumlğuumlmler arasında ccedilift taraflı birer kenar olduğu varsayılmıştır (Şekil 821) Araccedil trafik işaretlerini tespit ettikccedile bu yapıda gerekli guumlncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır 721 Patika Takibi

Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve doumlnuumlş accedilısı değerlerini hesaplayan bir kontrolcuuml tasarlanmıştır ve aracın başlangıccedil noktasına goumlre cx cy koordinatları ve aracın anlık doğrultusu olmak uumlzere aracın anlık durumu cθ c c c ]c = [ x y θ

T

olarak goumlsterilsin Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak uumlzere hedef doğrultu hedef hız ve hedef doumlnuumlş [x y ]pi = i i

T α v accedilısı aşağıda goumlsterilen şekilde hesaplanmaktadırψ

atan2(y ) cα = i minus cy xi minus cx minus θ

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 32: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

32

v sign(α)cos(min(η |α| ))v = max 1 2

π tanh(η α)ψ = ψmax 2

Burada tespit edilen işaretlere goumlre aracın maksimum hızını belirlemektedir ise v max ψmax araccedil oumlzellikleri gereği olarak kullanılmaktadır verilen oumlrnek parkurun 34 rad0 η1 maksimum hızda tuumlm virajları almaya izin vermesi sebebiyle olarak seccedililmiş aracın yol 0 boyu muumlmkuumln olan en yuumlksek hızda seyretmesi sağlanmıştır Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha buumlyuumlk bir değer ile bu tarz boumllgelerde aracın yavaşlaması sağlanabilir değeri ise aracın verilen patikayı takip etme davranışını belirler η2 Testlerde bu değer olarak kullanılmıştır Daha tepkin bir davranış iccedilin bu parametre 5 arttırılabilir veya daha guumlvenli doumlnuumlş yapmak iccedilin azaltılabilir parametresi ise yol τ la takibinde olarak belirlenmiştir Patikaya sadık bir yol izlemek iccedilin bu parametre m4 duumlşuumlruumllebilir ya da patikadaki kısayolları daha iyi kullanmak iccedilin arttırılabilir 722 Yolcu AlmaBırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biccedilimde patika takibi bu alt goumlrevler iccedilin yeterli olmaktadır Araccedil harita uumlzerinde gidilmesi muumlmkuumln olan bir sonraki duumlğuumlmuuml hedef nokta olarak seccediler ve mesafe kalıncaya kadar τ la Boumlluumlm 821rsquode anlatılan youmlntemi kullanarak bu noktaya ulaşmaya ccedilalışır Sonrasında ulaşılması muumlmkuumln olan bir sonraki duumlğuumlmuuml seccedilerek bu duumlğuumlme doğru hareketine devam eder Bu durum araccedil durak işareti ile karşılaşana kadar devam eder Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra goumlreve devam edilir 723 Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araccedil bulunulan duumlğuumlmden daha oumlnceden belirtilmiş olan bitiş duumlğuumlmuumlne olan en kısa patikayı Dijkstrarsquos Shortest Path Algoritması [3] ile hesaplar Bu algoritma hızlı kesin ve kolay uygulanabilir olması ile kullanılan ccedilizge yapılarında negatif kenar bulunmaması gibi sebeplerden seccedililmiştir Hesaplama işaret tespiti durumunda ccedilizge yapısının değişmesi ihtimaline karşı alt goumlrev boyunca devam eder Hesaplanan patika Boumlluumlm 821rsquode anlatılmış olan patika takip youmlntemi ile takip edilir 724 Park Etme Araccedil park noktasına geldiğinde uzaklıkta park edilecek boumlluumlmlere dik 20 mτ search = biccedilimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar Uygun bir park alanına dik youmlnde kadar yaklaşıldığında doumlnuumlş hareketine başlamak iccedilin aşağıdaki mτ turn = 7 koşulun sağlanması beklenir

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 33: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

33

c || px minus cx lt τ turn

sin(θ minus c )0 θminus τ turn

tan(θ minus c )0 θ

Burada belirlenen park noktasının x koordinatı ifade eder ise aracın başlangıccedil cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki accedilıdır ve hazırlanan simuumllasyon ortamı iccedilin rad olarak kabul edilmiştir Bu koşul sağlandıktan sonra park boumlluumlmuumlnuumln konumu 2π hedef konum olarak belirlenir ve Boumlluumlm 821rsquode anlatılan patika takip youmlntemi

ve olacak şekilde tekrar uygulanır Kullanılan parametre0 kmsavmax = 1 mτ la = 2 değerlerine aracın doumlnuumlş yarıccedilapı park alanı boyutu gibi sınırlamalar goumlz oumlnuumlnde bulundurularak deneysel olarak karar verilmiştir

8 Araccedil Kontrol Uumlnitesi Araccedil kontrol uumlnitesinin temel işlevi aracın otonom suumlruumlşuuml sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktuumlatoumlrlerine iletmek ve aynı zamanda aracın sağlık kontrollerini yapmak bu sağlık bilgilerini haberleşme sistemi ile bir merkeze kayıt etmektir Efficiency Challenge raporu iccedilin grafiğini ccedilizmiş bulunduğumuz kontrol uumlnitesinin en ortasında bir adet Arduino Mega bulunuyor Bu kontrolcuuml iki adet BLDC motor suumlruumlcuumlsuuml batarya kontrol uumlnitesi telemetri uumlnitesi ve ekranı kontrol ediyor Aynı zamanda Arduino-ROS kuumltuumlphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol uumlnitelerine aktarıyor 81 Kontrol Mimarisi Arduino Megarsquoda kesme tabanlı (interrupt driven) bir mimari kurduk Bu mimari gereğince her bir kesmenin belli bir oumlnem sırası var ve bu oumlnem sırasına goumlre ana kontrolcuuml tepki veriyor

Sistem dışında ayrıca bir mikro-kontrolcuuml tarafından denetlenen bir fren sistemi daha mevcut Acil durumlarda LoraWan haberleşme altyapısı ile haberleşen bu sistem araca dışardan acil durum freni uygulanmasını muumlmkuumln kılıyor

Kesmelerin oumlnem sırası ise sırasıyla

- fren - batarya sıcaklık uyarısı - direksiyon - gaz kontroluuml - ekran

fonksiyonlarına cevap verecek şekilde kurgulandı Herhangi bir kesme gelmez ise sistem aracın rutin işlerini yapıyor

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 34: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

34

82 Haberleşme Mimarisi Moduumller bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor

A Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kuumltuumlphanesi kullanılarak yapılıyor Fren gaz ve direksiyon komutları iccedilin oumln ve son kodlar (header footer) tanımlanmış durumda ve mesajlarına iccedileriğine goumlre bir ISR uumlretiliyor USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır

B Sistem Uumlniteleri arasında I2C Seri Haberleşme Fren direksiyon ve batarya uumlnitesinin her birinde ayrı kontrolcuumller bulunuyor ve bu kontrolcuumllerle iletişim kurulması iccedilin I2C protokoluuml kullanılıyor

C Kontrol Merkezi ile Tek Youmlnluuml Kablosuz Haberleşme Bu haberleşmenin amacı hız batarya sıcaklığı batarya durumu vb bilgilerin bir kontrol merkezi tarafından takip edilmesine imkan veren sadece araccediltan dışarıya doğru bir haberleşme biccedilimidir Bu iş iccedilin ESP2866 WiFi moduumlluuml kullanılmıştır Bununla birlikte accedilık kaynak kodlu Blynk kuumltuumlphanesi ile merkez istasyonunda ccedilalışan bir uygulama yazılmıştır

D Ekran Kontroluuml iccedilin Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor Belli komutlara karşılık ekrana araccedil durum bilgisi

aktarılıyor E Acil Durum Fren Komutu

Araca dışarıdan verilebilen tek komuttur Sadece frenlere bağlı olan mikro- kontrolcuumlyuuml harekete geccedilirerek aracın acil durumlarda durmasını sağlar

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 35: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

35

83 Ana Ekran

Bu boumlluumlm geccedilen sene Efficiency Challenge iccedilin tasarlamış olduğumuz ekran hakkındadır Hala aynı ekranı kullanmaktayız QT platformu ile Raspberry Pi uumlzerinde ccedilalışan bir ekran tasarladık Aracın kritik bilgilerini kullanıcıya goumlstermek iccedilin kullanılıyor

9 Guumlvenlik Oumlnlemleri

91 Uzaktan Acil Durum Kontrol Sistemi

Bir UADKSnin bu sistemde yerine getirmesi gereken iki ana işlevi vardır acil durumlarda fren yapmak ve goumlreve başlamak UADKSrsquodeki tasarım parametreleri şu şekildedir

- Anlık iletişim - Guumlccedilluuml ve anlık eylem - Ayrılabilir - Guumlvenli

Bu kriterleri yerine getirmek iccedilin ilk oumlnce 100 metrenin (kontrolcuuml ile araccedil arasında olacak maksimum mesafe) oumltesine ulaşan bir iletişim protokoluuml seccediltik Ekibimiz bu iletişimi uygulamak iccedilin LoRaWAN kullanmaya karar verdi Guumlccedilluuml ve anlık kırılma kontroluuml ccedileşitli youmlntemlerle sağlanabilir Seccedilenekler

- Rejeneratif elektronik frenleme - Bir solenoid aktuumlatoumlr kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 36: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

36

Guumlccedilluuml ve anlık olmak iccedilin en iyi ccediloumlzuumlm doğrusal bir solenoid aktuumlatoumlr kullanarak fren yapmaktır Bu fren pedallarında anında bir hareket yaratacaktır Bununla birlikte solenoid aktuumlatoumlrlerle ilgili problem işletmek iccedilin ccedilok fazla enerjiye ihtiyaccedil duymalarıdır ve hareketleri araccedil dinamikleri uumlzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir Rejeneratif elektronik frenler iyi seccedileneklerdir ancak guumlccedilluuml ve acil hidrolik frenler değildir Seccedililen son seccedilenek step motor kullanarak hidrolik frenleme olmuştur Step motor şaftı etrafında metal bir tel bulunan bir makaraya doumlnuumlştuumlruumlluumlr Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde kasnak doumlner ve hidrolik frenleri ccedilalıştırmak iccedilin fren pedalını ccedileker Bu sistem guumlvenilirdir uygulaması kolaydır soumlkuumllebilir (bir metal kabloyu ccedilıkararak) ve anında eyleme duyarlıdır Araccedil ccedilalıştırma sinyali de benzer şekilde verilmiştir LoRaWAN kullanılır ve oumlzerk goumlrevi yuumlruumlten ana VCU uzaktan kumandadan sinyal alır ve goumlrev başlatma sinyali oumlzerk goumlrevi ccedilalıştıran bilgisayara aktarılır Tuumlm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu Linux ccedilalıştıran bir bilgisayarda yapılır Başlama sinyali verildiğinde ROS araccedil ccedilalıştırma sisteminin kontroluumlnuuml alır 92 Sıcaklık Duumlşuumlk Batarya Uyarıları

Telemetri LoRaWAN iletişim protokoluuml kullanılarak yapılır Sadece hız akuuml voltajı ve akuuml sıcaklığı bilgisi baz istasyonundaki LoRa istemcisine goumlnderilir Alternatifler

middot WiFi Yuumlksek bit hızı Duumlşuumlk uzaklık middot Bluetooth Duumlşuumlk bit hızı duumlşuumlk uzaklık middot 3G Pahalı Programlaması kolay değil middot LoraWan Duumlşuumlk Bit hızı Programlanması kolaydır 5 kilometreye kadar

uygulanabilir Ayrıca ucuzdur 93 LIDAR Temelli Acil Durdurma

Alınan uzaktan durdurma oumlnlemlerine ek olarak aracın LIDAR sensoumlruumlnuuml kullanarak acil durumda otonom bir şekilde durabilmesi duumlşuumlnuumllmektedir Oumlyle ki herhangi bir accedilıdaki lazer okuması oumlnceden belirlenen bir eşik değerinden duumlzenli olarak duumlşuumlk olması durumunda araccedil otonom olarak arka motorlara giden guumlcuuml keser ve fren uygular Boumlylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 37: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

37

muumldahaleye gerek kalmaksızın aracın guumlvenli bir şekilde durması tehlike geccediltikten sonra ise aracın goumlreve devamı sağlanmaktadır

10 Simuumllasyon

Simuumllasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Boumlluumlm 4 ila 8rsquode verilmiş olan araccedil oumlzelliklerinde uygun şekilde tasarlanmıştır Teknik şartname Şekil 1rsquode verilmiş olan tam oumllccedilekli harita uumlzerine GIMP imge duumlzenleme programı aracılığıyla yollar yol ccedilizgileri ve park alanı eklenmiştir Trafik işaretleri ve ışıkları iccedilin SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli dae formatına doumlnuumlştuumlruumllmuumlştuumlr Araccedil tasarımı Rhino programı ile tam oumllccedilekli şekilde yapılmış ve stl formatında simuumllasyon ortamına eklenmiştir Araca dair boyut sensoumlr konumu doumlnuumlş ve hız limitleri kontrolcuuml gibi parametreler urdf ve sdf formatlarını kullanarak ortama eklenmiştir Araca hareket komutlarının verilmesinde ve sensoumlr bilgilerinin alınmasında ROS SubscriberPublisher yapısı kullanılır Trafik ışıklarının kontroluuml ise ROS Service yapısı kullanılarak gerccedilekleştirilir Son olarak teknik şartnamede belirtildiği uumlzere tuumlm işaretlerden en az bir tane iccedileren guumlvenlik bariyerleri iki durak noktası ve iki trafik ışığı bulunduran bir world dosyası aracılığıyla yarışma koşullarına uygun bir ortam oluşturulmuştur Simuumllasyon ortamından alınmış oumlrnek bir goumlruumlntuuml Şekil 101rsquoden goumlruumllebilir Bu oumlrnek ortam uumlzerinde yapılan denemelerde araccedil herhangi bir kural ihlali yapmadan tuumlm goumlrevleri 2 dakika 24 saniye iccedilerisinde 2500 puan alarak parkuru tamamlamaktadır Goumlrev boyunca takip edilen patika Şekil 102rsquode verilmiştir Burada durak noktaları patika uumlzerindeki boşluklardan takip edilebilir

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203

Page 38: TEKNOFEST İSTANBUL HAVACILIK, UZAY VE ......1 TEKNOFEST İSTANBUL HAVACILIK, UZAY VE TEKNOLOJİ FESTİVALİ ROBOTAKSİ – BİNEK OTONOM ARAÇ YARIŞMASI ÖN TASARIM ve SİMÜLASYON

38

Simuumllasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz httpsyoutube0W7kRj0Z8I8

11 Referanslar

[1] Ester Martin Kriegel Hans-Peter Sander Joumlrg Xu Xiaowei (1996) Simoudis Evangelos Han Jiawei Fayyad Usama M eds A density-based algorithm for discovering clusters in large spatial databases with noise Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96) AAAI Press pp 226ndash231 [2] DBSCAN Wikipedia httpsenwikipediaorgwikiDBSCAN (Erişim tarihi 12042019) [3] Cormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford (2001) Section 243 Dijkstras algorithm Introduction to Algorithms (Second ed) MIT Press and McGrawndashHill pp 595ndash601 ISBN 0-262-03293-7 [4] DALAL Navneet TRIGGS Bill Histograms of oriented gradients for human detection In international Conference on computer vision amp Pattern Recognition (CVPR05) IEEE Computer Society 2005 p 886--893 [5] CANNY John A computational approach to edge detection In Readings in computer vision Morgan Kaufmann 1987 p 184-203