teknofest İstanbul havacilik, uzay ve ......1 teknofest İstanbul havacilik, uzay ve teknolojİ...

Click here to load reader

Post on 01-Apr-2021

3 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • 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ü

     

  • 2

    İçindekiler

    1. Özet 3

    2. Takım Organizasyonu 3

    3. Yarışma Kurallarının Analizi ve Tasarım Çalışması Hedefleri 5

    4. Araç Özellikleri 7

    5. Sensörler 13

    6. Özgün Bileşenler 20

    7. Otonom Sürüş Algoritmaları 21

    8. Araç Kontrol Ünitesi 33

    9. Güvenlik Önlemleri 35

    10. Simülasyon 37

    11. Referanslar 38

     

  • 3

    1. Özet   BURST takımı olarak 2018 Efficiency Challenge için bir araya gelmiş bir ekibiz. O dönem ilk kez TÜBİTAK tarafından düzenlenen otonom yarışı bizi çok heyecanlandırdı ve bir ekip kurup bu yarışmaya katılmak istedik. Üniversitemizden TÜBİTAK yarışlarına 2008’den beri hiç bir ekip katılmadığı için bilgi birikimimiz yoktu. Çok yoğun çalışarak 6 ayda bir araç tasarlayıp üretmeyi ve bu aracı yarışın teknik kontrollerine yetiştirmeyi başardık. Teknik kontrolleri geçmek geçtiğimiz sene olmadı. Bu sene daha çok şey öğrenmiş bir ekip olarak hazırlanmaya devam ediyoruz. Ekibimizin ana uzmanlık alanları otonom navigasyon ve bilgisayarlı görme olarak öne çıkıyor. Mekanik ve elektronik tasarımda bu alanlarda olduğu kadar bilgi birikimine sahip değiliz. Geçen seneden kalan ve gurur duyduğumuz bir takım özelliğimiz de çok farklı alanlardan ekiplerin birlikte çalışabilmeyi öğrenmiş olması. Bu nedenle takımımızın geleceği konusunda çok umutluyuz. En başından aracımızın otonom olarak kontrol edilebilmesi için mekanik, elektronik ve otonom ekibi birlikte disiplinli bir şekilde çalışmayı ve alt ekiplere bölünmeyi ve bu ekiplerde verimli çalışabilmeyi öğrendi. Tasarımımızı özgün kılan en önemli özellik aracımızın daha en başından otonom olarak tasarlamamız ve otonom sürüş alt yapımızın da en başından yarışmanın gerektireceği ölçüde bir otonomluk üzerine odaklanmasıydı. Örneğin bu görev odaklı otonomluk bizi daha en başından, klasik otonom araçlarda olduğu gibi 3 boyutlu bir LİDAR’ın aracın tepesinde bulunmasının gerek olmadığına karar verme fırsatını verdi. Böylece sensör ve mekanik kontrol gereksinimlerini optimize edebildik. Otonom sürüş algoritmalarımızı önceden tasarlayabilmek için Gazebo-ROS ortamında bir simülasyon oluşturduk ve testlerimizi orada gerçekledik. An itibariyle, yarışma şartnamesinde yer alan özellikleri simülasyonumuzda gerçekleyebiliyoruz. Göreve 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. Görevin en sonunda ise, park görevini yerine getiriyoruz. Simülasyon ekibimiz bu görevleri hazırlarken, ekibimizin diğer kısmı da geçen sene yarış için yaptığımız aracın elektronik olarak kontrol edilebilmesi için çalıştı. Bir sonraki hedefimiz ise, simülasyonda gerçekleştirebildiğimiz bu görevleri 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 geçen sene Efficiency Challenge yarışına katılmış aracımızı kontrol edilebilir hale getirmek ve sistemleri daha

     

  • 4

    güvenli hale getirmektir. Bu amaçla yapılanlar raporun devamında detaylı anlatılmıştır. Makina mühendisliği bölümü öğrencilerinden oluşmaktadır. Elektronik takımımımızın görevleri araç kontrol ünitesini tasarlamak ve aracı “drive-by-wire” hale getirmektir. Elektrik ve elektronik mühendisliği öğrencilerinden oluşmaktadır. Otonom takımımız bilgisayar mühendisliği ve elektrik elektronik mühendisliği öğrencilerinden oluşmaktadır. Takımımızın otonom grubu lideri yüksek lisans tez aşamasındaki Kadir Türksoy’dur. tOtonom takımında toplamda 3 lisans, 4 yüksek lisans ve 1 doktora öğrencisi bulunmaktadır. Takımdaki üyelerin görev 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ı simülasyonda geliştirmeye devam ederken, aracımızın da elektro-mekanik kontrolünü bir kenardan ilerletebilmektir.

     

  • 5

    3. Yarışma Kurallarının Analizi ve Tasarım Çalışması Hedefleri

    Yarışma kuralları incelendiğinde, parkuru başarılı şekilde tamamlamak için, aracın temelde 4 farklı görevi 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 geçerli olan trafik kurallarına uyması. Aracın bu görevleri yerine getirebilmesi için sağlaması gereken özelliklerin en başında içereceği sensörler ve kullanılacak kontrol sistemlerinin konfigürasyonu gelmektedir. 3.1 Sensörler Temelde kullanılan sensörleri lokalizasyon ve çevre tanıma – algılama sensörleri olarak ikiye ayırabiliriz.

    3.1.1 Lokalizasyon Sensörleri

    Öncelikle aracın başlangıç noktasından itibaren parkurdaki konumunu denetlemek ve hedeflenen görevler için araç kontrol hesaplamalarının sağlıklı yapabilmesi için temel lokalizasyon araçları değerlendirildi. Konumun, hızın ve yönelimin tahmini değerleri için tekerleklerin dönme sayısı ve ön tekerleğin yönelim açısı (steering) kullanılarak, aracın başlangıç noktası referansında konum hesaplaması yapılması tasarlandı. Aracın tekerlek dönme sayısını hesaplamada arka tekerleklere yerleştirilebilecek enkoder sayacı kullanıldı. Enkoder ve aracın direksiyon açısından gelen değerlerle odometre hesaplamasının detayları ilerleyen bölümlerde 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) sensörleri kullanılarak sürekli olarak filtrelenmesi hedeflendi. Bu odometre - GPS - IMU verilerinin füzyonu için, çoklu sensör girişli Kalman filtresi algoritmalarının kullanılması planlandı.

    3.1.2 Çevre Tanıma Sensörleri Yolcu alma – indirme, trafik kurallarına uyma (hız limiti, dönüş yasakları vb.), park etme vb.görevlerin sağlıklı gerçekleştirilebilmesi için trafik işaretlerini tanıma işlemini gerçekleştirilmelidir. Bunun için öncelikli olarak aracın ön tarafına geniş açılı bir kamera yerleştirilmesi ve temel olarak bu kamera ile şerit, trafik işaretleri ve trafik lambalarının tanınması planlandı. Geniş açılı kamera sayesinde parkurdaki pek çok trafik levhası – trafik ışığını kolaylıkla algılanabilir; ancak virajlar, park alanı vb. olası görüntü kayıplarının yaşanabileceği yerlerde araç-çevre bağlantısının kopmaması için aracın 2 yanına benzer kamera üniteleri eklendi. Çevre algılama ve tanıma işlemi için kullanılabilecek bir diğer sensör de yakınlık taraması yapabildiğimiz 2D LIDAR sensörüdür. 2D LIDAR kullanılarak, özellikle yol çevresinde bulunan bariyerlerin algılanması ve otonom sürüş kontrolünün daha stabil ve sağlıklı çalışabilmesi amaçlandı.

    3.2 Mekanik Tasarım Hedefleri

    3.2.1 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, güçlü fren uygulamasının implementasyonu için hidrolik frenlerin beraber kullanılması planlandı. Ek olarak Uzaktan Acil Müdahale Sistemi (UMS) kriterlerini karşılayacak şekilde iletişim protokollerinin kullanılması, bu iletişim için LoRaWAN kullanılması planlandı. Fren sistemi ve UMS kriterlerine uygunluk ve bunların analizi ilerleyen bölümlerde detaylandırılmıştır.

    Direksiyon tasarımında pinyon ve Kremayer konfigürasyonları kullanılması hedeflendi. Araçta direksiyon kontrolü sağlayan 2 adet pinyon dişlileri bulunmakta, bunlardan biri doğrudan direksiyondan gelmekte, diğeri de otonom sürüş için kontrolcüden gelmektedir.

     

  • 7

    3.2.2. Güvenlik Donanım Hedefleri Aracımız Teknofest TÜBİTAK Efficiency Challenge Electric Vehicle yarışmasına katılmak üzere tasarlanmıştır. Dolayısıyla Efficiency Challenge için sağlaması gereken güvenlik kriterlerini sağlayacak şekilde tasarlanmıştır. Batarya grubu, kısa devre ve sızıntılardan korunacak şekilde batarya koruma kabı içine gömülmüş, batarya kabı ise aracın tabanına sabitlenmiş, Batarya Yönetim Sistemi (BYS) bataryaya entegre olarak tasarlanmıştır. Aracın üzerinde acil durum butonu bulunmakta; aracın tüm elektronik aksamları, aşırı akım kesicilerle ile korunmaktadır. Araçta fren sistemi olarak hidrolik frenler kullanılmakta, böylece ani ve güçlü duruşlar mümkün olabilmektedir.

    4. Araç Özellikleri 4.1. Fiziksel ve Mekanik Özellikler

    Özellik Birim Değer

    Uzunluk mm 3990

    Genişlik mm 1300

    Yükseklik mm 1350

    Teker Sayısı # 4

    Şase Materyal Çelik

    Kabuk Materyal Karbon Fiber

    Ön Teker Çapı mm 432

    Ön Teker Genişliği mm 70

    Arka Teker Çapı mm 330

    Arka Teker Genişliği mm 89

    Motor Tipi - BLDC

    Motor Gücü kW 3200

     

  • 8

    Motor Verimliliği % 87

    Batarya - Li-ion 18650

    Batarya Nominal Voltaj V 59.2

    Batarya Maksimum Voltajı V 67.2

    Batarya Toplam Kapasitesi Wh 2700

    4.2. Kontrol Sistemleri

    4.2.1 Motor Sürücüsü Aracın motorunda BLDC (Fırçasız DC Motor) motor kullanılmıştır. BLDC motorda stator, sargıları taşıyan çok tabakalı olarak yığılmış çelik plakalardan oluşur. Statördeki bu sargılar 2 şekilde düzenlenebilir: yıldız modeli ve delta modeli. Bu modeller arasındaki fark, yıldız model düşük devirde yüksek tork verebilirken, delta model düşük devirde düşük 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 gösterebilir. Mıknatıs sayısı arttıkça motordan alınan tork miktarı artarken elde edilen maksimum hız azalmaktadır. Fırçasız DC motorların çalışma prensipleri, fırçalı motorlarla aynıdır. Aralarındaki fark motorların geri besleme mekanizmalarıdır. Fırçalı DC motorda rotorun pozisyon geri bildirimi motorun fırçalarından ve mekanik komütatörlerden elde edilirken, fırçasız DC motorlarda rotor pozisyonu sensörler aracılığıyla bulunur. Bu sensörlerden en yaygın olanı Hall efekt sensörleridir. Bu sensörler sayesinde motorun istenilen hız ve yönde çalışması kontrol altında tutulabilir

     

  • 9

    BLDC motorun çalışması için kullanılan en yaygın yöntem H-köprüsü metodudur. Buna göre H-köprüsünün sayısı motorun faz sayısına bağlıdır. Aracımızın motoru 3-fazlı-motor olduğu için, 4 fazlı H-köprüsü kullanılmıştır. Kullanımda voltaj ve akım değerleri hayli yüksek olacağı için H-köprüsünde hangi anahtarların kullanılacağı büyük önem arz etmektedir. Değerlendirmeler sonucunda anahtar görevi görecek komponent olarak IGBT kullanılması tercih edilmiştir. H-köprüsü ile ilgili bir diğer önemli nokta da motor fazları arasında olası kısa devre durumlarına karşı önlem alınmasıdır. Ayrıca akımın yüksek olduğu durumlarda bu yüksek akım IGBT için tehlike oluşturabilir. Bu durum da anahtar komponentler üzerinden geçen akımı denetleyen sürücüler sayesinde kontrol altında tutulur. Önceki paragrafta bahsedildiği gibi rotor pozisyonu Hall efekt sensörleri sayesinde elde edilebilir. Bu pozisyon verileri sensörlerden kontrolcüye aktarılır ve bu sayede motor sabit bir hız ve yönde çalıştırılabilir. BLDC motorunda kullanılan kontrolcü PID tipi kontrolcü olduğu için, motor sürücü yüksek işlemci kapasiteli olmalıdır. BLDC motor sürücünün tipik bir şeması aşağıdaki şekilde gösterilmiştir.

     

  • 10

    Kaynak: Renesas.com Motor sürücü sisteminde elektronik gaz pedalı (pedal-by-wire) kullanılmaktadır. Buna göre araç sürücünün pedala basması ya da otonom sürüş kontrolcüsünün gaza basma sinyali, Sinyal Genişlik Modülasyonu (PWM) ile motor sürücüye aktarılır. Buna göre motor sürücünün girdi voltajı görev döngüsü (duty cycle) oranına göre belirlenmektedir. 4.2.2. Fren Sistemi Aracımız için kullanılabilecek efektif fren yöntemleri: - Rejeneratif elektrik fren - Solenoit eyleyici ile hidrolik fren - Step motor ile hidrolik fren Tasarlanan motor sürücüde halihazırda bulunmakta olan, aynı zamanda fren sırasında maksimum enerji verimliliğinin alınabildiği rejeneratif elektrik fren, fren uygulaması için birinci seçenek olarak tasarıma dahil edildi. Ancak bu tip fren sistemleri yeterince güçlü olmadıkları ve ani fren gerçekleştirme durumlarında yeterince hızlı olamadıkları için tasarıma hidrolik fren sistemi eklenmesi gerekli görüldü. Güçlü ve anlık fren yapabilmek, olası elektrik problemlerinde aracın sağlıklı durabilmesini sağlamak için, kullanımı daha güvenli 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 göre sürücü fren pedalına bastığında ya da otonom sürüş kontrolcüsünden fren sinyali gönderildiğinde, bu sinyal fren kontrol sürücüsüne açma - kapama sinyali olarak ulaşmaktadır. Fren pedalına bağlanmış bulunan güçlü bir step motor, durma sinyali gelince aracı durduracak yönde fren pedalını çekmeye başlar ve fren sinyali gelmeye devam ettikçe freni çekmeye devam eder. Bunun gibi bir detay olası yokuş aşağı durulması gereken durumlar için tasarlandı. 4.2.3. Direksiyon Sistemi Direksiyon sisteminde Kremayer ve pinyon dişliler kullanılmıştır. Araçta 2 adet pinyon dişlileri direksiyon sisteminin merkezini oluşturur, bu dişlilerden biri doğrudan araç direksiyonuna, biri de otonom sürüş kontrolcüsüne bağlıdır. Bu tip bir sistemde sistem parametreleri: - Step motor torku - Pinyon dişlileri yarıçapı

     

  • 11

    - Kremayer modül sayısı

    Kaynak: TUBITAK Efficiency Challenge Sunumları

    Dinamometreyle yapılan ölçümler sonucunda direksiyonu çevirmek için gereken kuvvet; araç hareketsizken 120 - 180 Newton, araç hareket halindeyken 60 – 90 Newton olarak hesaplanmıştır. Bu fark zeminin statik ve dinamik sürtünme katsayılarının farkından kaynaklanmaktadır. Kremayer modül sayısı, kullanmak için 20’den 50’ye kadar pinyon dişlisine izin vermektedir. Pinyon dişlerinin yarıçapı 2 - 5 cm arası değişmektedir. 4 cm’lik pinyon dişlileri için tork hesaplaması:

    Son olarak, 22mm pinyon dişlisi yarıçapı ve 8.5 N.m step motor torkunda karar kılındı.

    Direksiyon sisteminin implementasyonunda elektronik direksiyon (steer-by-wire) işlevselliği kullanılmıştır. Buna göre sürücünün direksiyonu döndürmesi ya da otonom kontrol ünitesinin direksiyonu belirli bir açıyla döndürmesi komutu, direksiyon kontrolcüsünde Sinyal Genişlik Modülasyonu (PWM) tekniği ile işlenmektedir. Buna göre direksiyon step motoru sürücüsünü yöneten voltaj değeri, verilen “görev döngüsü (duty cycle)” yüzdesine göre belirlenmektedir.

    4.2.4. Geri Bildirim

    Direksiyon yönelim geri bildirimi, Kremayer’e bağlanan lineer potansiyometre aracılığıyla ölçülmektedir. Böylece step motor ve dişli sistemlerden kaynaklanan hatalardan sistem korunmaktadır.

    Hız geri bildirimi, BLDC motorlarda bulunan Hall efekt sensörlerinden alınmaktadır. Bu sensörler bize 1.8 cm’ye ve motor tekerinin 5 derece dönüşüne kadar hassasiyetle bize bilgi vermektedir. Bunun sebebi Hall efekt sensörlerinin aşağırda gösterildiği gibi 6 farklı konfigürasyonda bulunabilmeleridir.

     

  • 12

    Kaynak: DigiKey 4.2.5 Uzaktan Haberleşme Sistemi Yarışma kuralları gereğince aracın göreve başlaması sinyali kablosuz haberleşme sistemiyle verilir. Aynı zamanda acil kapama sistemi de bu yöntemle çalıştırılabilmelidir. Bu durumda var olan kablosuz haberleşme protokollerinin karşılaştırılması yapılmalı ve avantajları değerlendirilmelidir.

    Kaynak: www.postscapes.com

     

    http://www.postscapes.com/

  • 13

    Otonom sürüş kominikasyonunun temel dizayn parametreleri: - 100 metre civarında menzil - Anlık iletişim - Stabil, güvenli ve hata oranı düşük - Düşük bilgi yükü - Enerji tüketimi tolere edilebilir - Düşük maliyetli Bu parametreler değerlendirildiğinde, aracımıza en uyumlu olacak protokolün; uzak menzilli, düşük bit hızlı, ücretsiz lisanslı LoRaWAN olduğuna karar verildi. Modülümüz 433 Mhz frekans bandında çalışmaktadır. 4.3. Elektronik Hareket Sistemleri 4.3.1. Elektronik Direksiyon (Steer-by-wire) Aracımızda kullandığımız direksiyon sistemi Kremayer ve pinyon dişliler sistemiyle kontrol edilmektedir. Direksiyonun yönelimi ve direksiyon step motor sürücüsünün yönetilmesi için Sinyal Genişlik Modülasyonu (PWM) tekniği kullanılmaktadır. Buna göre motor sürücüyü yöneten voltaj değeri, verilen “görev döngüsü (duty cycle)” yüzdesine göre belirlenmektedir. 4.3.2. Elektronik Gaz Pedalı (Steer-by-wire) Araç gaz pedalı PWM modülasyonuyla araç motor sürücüsüne bağlıdır. Motor sürücü, bu sinyali gerekli torka dönüştürmektedir. PWM sinyali aracın gaz pedalına bağlı bir potansiyometre ile alınabildiği gibi 0-5 Volt arası bir sinyal veren bir mikrokontrolcü ile de verilebilmektedir.

    5. Sensörler 5.1. Odometre

    Odometre temelde, hareket eden bir cismin çizgisel hızı ve yönelimi bilgilerini kullanarak bir sonraki konumunu hesaplamaktır. Hareketli robotlarda bu hız ve yönelim bilgileri birtakım hareket sensörleri aracılığıyla elde edilir. Burst aracımızda, ön ve arka tekerlerde tekerleklerin dönüş sayısını hesaplayan enkoder sayaçlar ve direksiyonun dönme açısını elde ettiğimiz sürücüler, araca entegredir. Enkoderler tekerin her 15° lik dönüşünü tutabilmekte, yani enkoder sayacının her 24 sayımı tekerin 1 tam tur dönmesi anlamına gelmektedir. Direksiyon yönelimi bilgisi de hareket

     

  • 14

    sensörleri kapsamında bilgi olarak işlemciye ulaşmakta, direksiyon her iki yöne de 20° derece dönebilmektedir. 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 göre, direksiyonu yönelmiş bir aracın bütün tekerleklerinin dönüş yaparken çizdikleri çemberler, eş merkezlidir. Böylece, aracın anlık çizgisel hızını, direksiyon yönelim açısını ve aracın ön-arka teker mesafesini kullanarak aracın bir sonraki konumunu hesaplamak mümkündür.

    Denklemlerde; x durum vektörü, x ve y aracın hareket noktasına göre koordinat sistemi, θ aracın koordinat sistemindeki yönelimi; s aracın anlık çizgisel hızı, l aracın ön ve arka tekerleri arasındaki uzaklık, φ ise direksiyonun yönelme açısıdır.

    Aracın direksiyon açısı küçük açılarda olduğu için, yuvarlaması yapılabilir.

    Buna göre Aracın çizgisel hızı, enkoder sayacından gelen verilere göre belirlenir. Arka teker enkoderleri her 24 sayımda tekerin 1 tur dönmüş olduğunu gösterir. Burst aracının arka tekerin çapı 0.430 metre, dolayısıyla çevresi 1.35 metredir. Örneğin 0.1 saniyelik zaman diliminde enkoder sayacında 36 artış varsa, aracın çizgisel hızı 2 metre/saniye’dir deriz.

     

  • 15

    5.2. Inertial Measurement Unit (IMU): Uzayda hareket halindeki bir cismin üstünde oluşan 3 eksen ivme ve 3 eksen dönme kuvvetini ölçmek için iki tip sensörden oluşan “Inertial Measurement Unit (IMU)” adı verilen cihazlar kullanılır. Bu cihazlar günümüzde uzay araçları, insansız hava araçları gibi bir çok hareketli platformun hareketinin stabilize edilmesinde kullanılıyor. IMU, ana işlemciye gönderilen açısal hız ve doğrusal ivme verisini tek bir modülde toplayan elektronik bir birimdir. IMU temelde iki ayrı sensör içerir. Bunlardan biri ivmeölçer, diğeri ise jiroskoptur. İvmeölçer üç eksende üç ayrı analog sinyal üretir. İtici sistemden ve fiziksel limitlerinden dolayı, ivme ölçen bu sensörlerdeki en önemli durum yerçekiminden etkilenmeleridir. Sensör sürekli olarak yerçekiminin etkisinde kalır. Ölçü skalası olarak bir, iki veya üç eksende ölçüm yapabilen türevleri vardır. Bunlar ± 1g, ± 2g, ± 4g vb. gibi değerler ile ifade edilmektedir. IMU’nun içinde bulunan ikinci sensör ise jiroskoptur. Türkçe ifade ile kullanırsak dönüölçer diyebiliriz. Basitçe anlatırsak bir tekerleğin ekseni etrafında hızlıca döndürülmesi ile oluşur. Tekerleğin etrafındaki çembere dik açıyla tutturulan başka bir çember vardır. Bu çemberlere dik açıyla tutturulmuş başka bir çember jiroskobu temsil eder. Jiroskobun temelde iki özelliği vardır. Yatay eksende dönmekte olan bir jiroskoba yatay eksende bir kuvvet uygulandığında eksen etrafında dönmeye başlar. Diğer özelliği ise jiroskobun dönüş eksenine sabit kalmasıdır. Bu özellik uyduların dünyaya sürekli olarak dönük kalması, otopilot sürüş gibi uygulamalarda kullanılmaktadır. Jiroskop ve ivmeölçer tek başlarına güvenli ve stabil veriler sağlayamazlar. Bu yüzden birbirlerini referans alarak iki sensör birleştirilir ve hız, pozisyon gibi bilgiler tek bir birimden yani IMU’dan alınır. Degrees of Freedom (DOF) terimi IMU’nun serbestlik derecesini niteler. 3 eksen jiroskoplu ve 3 eksen ivmeölçerli bir IMU 6DOF olarak ifade edilir. Aracımızda bu sensörden gelen veriler, GPS sensörüyle birleştirilip kullanılmaktadır, ilerde açıklanacaktır. 5.3. GPS Düzenli olarak kodlanmış sistemlerin birbirleri arasında yaptıkları sinyal alışverişlerinde yörünge içerisinde yer alan uyduların kişinin veya cihazın dünya üzerindeki kesin konumu belirlemesine GPS (Global Positioning System) denilmektedir. İngilizce Global Positioning System’in baş harflerinden oluşan GPS‘in Türkçe karşılığı ise Küresel Konum Belirleme Sistemidir. ABD Savunma Dairesi tarafından geliştirilmiştir. Düzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır ve uydularla aramızdaki mesafeyi ölçerek dünya üzerindeki kesin yerimizi tespit etmeyi mümkün kılar.

     

  • 16

    Bu uydular Amerika Birleşik Devletleri Savunma Bakanlığına ait olmak üzere dünya yörüngesinde toplamda 24 adet uydudan oluşmaktadırlar. Uydular kendi aralarında çok küçük dalgalanmalarla sinyaller gönderirler. Bu da yeryüzünde 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 gösteren GPS sistemleri haritalarda nerede olduğumuzu ve sistemden nasıl faydalanacağımız hakkında bilgiler sunmaktadırlar. GPS’in veri doğruluğu 4.9 metre civarındadır. Dolayısıyla tek başına konum doğruluğu sağlamak için kullanılması yeterli değildir. 5.4. GPS ve IMU Füzyon Algoritması Günümüzde, mutlak bir sensör olan Global Konumlandırma Sistemi (GPS), bir kara konumlandırma sisteminin temel bileşenidir. Farklı modda, santimetre hassasiyetine ulaşabilir. Bununla birlikte, bazı durumlarda çok yollu ya da maske kusurları nedeniyle GPS'in güvenilirliğinin olmayışı, genellikle ölü hesaplaşma (dead reckoning) gibi diğer sensörlerle karıştırılmasına neden olur. Bu sensörler, örneğin atalet sensörleri (jiroskoplar ve ivmeölçerler), dış ortamdan bağımsız olarak sürekli konum bilgisi verme avantajına sahiptir. Bir atalet sensörleri paketi iki gruba ayrılabilir: jiroskoplardan ve ivmeölçerlerden ham veri sağlayan Atalet Ölçüm Birimi (IMU), ölçek faktörlerinden ve önyargılardan düzeltilmiş Atalet Ölçüm Birimi (ve IMU olan Atalet Navigasyon Sistemi (INS)). Aracın konumunu, hızını ve tutumunu sağlamak için navigasyon algoritmalarına gönderilir. Bizim çalışmamızda, tüm yapısını yeniden inşa etmeden, çok sayıda sensörü entegre etmeye uygun olan çok sensörlü bir Kalman Filtresi (KF) geliştirildi. KF'ye bağlamsal bilgiler getirilerek, algılandığında hatalı verileri reddetmek için her sensörün 2 geçerlilik alanı tanımlanır, böylece veri kaynaşmasının güvenilirliği arttırılır. Güvenilirlik burada sistem arızalarına sağlamlık olarak tanımlanır. Bir navigasyon sisteminin bütünlüğü, aynı zamanda navigasyon verilerinin sağlığını izlerken ve hatalı verileri düzeltir veya reddederken güvenilir navigasyon bilgileri sağlama yeteneğidir. Çok Sensörlü Kalman Filtresi: Ayrık zamanlı bir doğrusal sabit sinyal modeli düşünelim:

    olduğunda, durum vektörü, varsayılan bilinen kovaryans matrisinin

    varsayılan ortalama beyaz gauss gürültüsünün bir dizisidir. durum vektörü, varsayılan bilinen kovaryans matrisinin varsayılan ortalama beyaz gauss gürültüsünün bir dizisidir.

     

    https://www.codecogs.com/eqnedit.php?latex=%20x(k%2B1)%3D%20Fx(k)%2Bw(k)%20%0https://www.codecogs.com/eqnedit.php?latex=%20x(k)%20%5Cin%20R%5En%20%0https://www.codecogs.com/eqnedit.php?latex=w(k)%20%5Cin%20R%5En%0https://www.codecogs.com/eqnedit.php?latex=Q(k)%3DE%5Bw(k)w(k)%5ET%5D%0

  • 17

    bilinen durum geçiş matrisidir. En basit durumda, ölçümler, durum uzayı değişkenlerine göre doğrusal bir ilişki olarak ifade edilir ve gürültü ile bozulur. Aşağıdaki Denklem 2 bir N sensörü seti için ölçümleri açıklamaktadır. bilinen durum geçiş matrisidir. En basit durumda, ölçümler, durum uzayı değişkenlerine göre doğrusal bir ilişki olarak ifade edilir ve gürültü ile bozulur. Aşağıdaki Denklem 2 bir N sensörü seti için ölçümleri açıklamaktadır.

    iken, sensor 'nin ölçüm vektörü, sensör için beyaz gauss gözlem

    gürültüsü sıfır ortalamalı ve kovaryans matrisi , sensöre bağlı ölçüm matrisi ve sensör sayısıdır. Denklem 1 ve denklem 2 ile açıklanan model göz önüne alındığında, Çok Sensörlü Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir. sensor 'nin ölçüm vektörü, sensör için beyaz

    gauss gözlem gürültüsü sıfır ortalamalı ve kovaryans matrisi , sensöre bağlı ölçüm matrisi ve sensör sayısıdır. Denklem 1 ve Denklem 2 ile

    açıklanan model göz önüne alındığında, Çok Sensörlü Kalman Filtresi bir bulma aşaması ve bir tahmin aşaması olarak hesaplanabilir.

    - Bulma aşaması:

    Denklem 4 sensör 'ye bağlı veri füzyonu için Kalman kazancını belirtir.

    ise sensör den gelen gözlemin yarattığı yenilik olarak formüle edilir. Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir: 'ye bağlı veri füzyonu için Kalman kazancını belirtir. ise sensör den gelen gözlemin yarattığı yenilik olarak formüle edilir. Tahmini belirsizlik aşağıdaki matris tarafından verilmektedir:

    - Tahmin aşaması:

    ile gösterilmektedir. Bağlamsal Bilgi: V. Nimier, bağlamda göz önünde bulundurularak çoklu sensörlü veri kaynaşması üzerine teorik bir çerçeve geliştirdi. Denetimli bir füzyon işlemine sahip olmak için sembolik ve sayısal bilgileri birleştirmek için bir yöntem önerdi. Denetim, bağlamsal değişkenleri kullanarak bağlamı analiz eden bir işlem seviyesi ile gerçekleştirilir, böylece tahmin süreci bu bağlamda uyarlanır. Sonuç, içeriğe iyi adapte

     

    https://www.codecogs.com/eqnedit.php?latex=F%20%5Cin%20R%5E%7Bnxn%7D%0https://www.codecogs.com/eqnedit.php?latex=%20z_i(k)%3DH_ix(k)%2Bb_i(k)%2Ci%3D1%20%5Ccdots%20N%20%0https://www.codecogs.com/eqnedit.php?latex=z_i(k)%20%5Cin%20R%5El%0http://www.texrendr.com/?eqn=i%0https://www.codecogs.com/eqnedit.php?latex=b_i(k)%20%5Cin%20R%5El%0https://www.codecogs.com/eqnedit.php?latex=i%0https://www.codecogs.com/eqnedit.php?latex=R_i(k)%3DE%5Bb_i(k)b_(k)%5ET%5D%0https://www.codecogs.com/eqnedit.php?latex=H_i%20%5Cin%20R%5E%7Blxn%7D%0https://www.codecogs.com/eqnedit.php?latex=i%0https://www.codecogs.com/eqnedit.php?latex=N%0https://www.codecogs.com/eqnedit.php?latex=%5Cwidehat%7Bx%7D%20(k%7Ck)%20%3D%20%5Cwidehat%7Bx%7D(k%7Ck-1)%20%2B%20%5Csum_i%5EN%20K_i(k)%5Bz_i(k)-H_i%20%5Cwidehat%7Bx%7D(k%7Ck-1)%5D%0https://www.codecogs.com/eqnedit.php?latex=K_i(k)%3DP(k%7Ck)K_i%5ET%20R_%2C%5E%7B-1%7D(k)%0https://www.codecogs.com/eqnedit.php?latex=i%0https://www.codecogs.com/eqnedit.php?latex=z_i(k)-H_i%20%5Cwidehat%7Bx%7D(k%7Ck-1)%20%3D%20%5Cnu_i%20(k)%0https://www.codecogs.com/eqnedit.php?latex=i%0https://www.codecogs.com/eqnedit.php?latex=%20P%5E%7B-1%7D(k%7Ck)%3DP%5E%7B-1%7D(k%7Ck-1)%2B%5Csum_%7Bi%3D1%7D%5EN%20H_%2C%5ET%20R_i%5E%7B-1%7D(k)H_i%20%0https://www.codecogs.com/eqnedit.php?latex=%20%5Cwidehat%7Bx%7D(k%2B1%7Ck)%3DF%5Cwidehat%7Bx%7D(k%7Ck)%20%0https://www.codecogs.com/eqnedit.php?latex=%20P(k%2B1%7Ck)%20%3D%20FP(k%7Ck)F%5ET%20%2B%20Q(k)%20%0

  • 18

    edilmiş sensörler tarafından sağlanan ölçümleri desteklemek ve iyi adapte olmayanların önemini en aza indirmektir. Sinyal kalitesi çevreye bağlı olan GPS sensörü bu çerçeveye uygundur. Sensör ve yenilik , aşağıdaki ilişki açığa çıkmaktadır. ve yenilik , aşağıdaki ilişki açığa çıkmaktadır.

    ve,

    ölçüm tahmini kovaryans matrisi, ayrıca yenilik kovaryans matrisi olarak da adlandırılır. Kuadratik formda , denklem 8'd3, teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır. Chi-square tablosundan, belirlediğimiz güven aralığına göre bir seçim yapacağız. ölçüm tahmini kovaryans matrisi, ayrıca yenilik kovaryans matrisi olarak da adlandırılır. Kuadratik formda , denklem 8'de, teorik olarak serbestlik dereceli chi-square dağılımına oturmaktadır. Chi-square tablosundan, belirlediğimiz güven aralığına göre bir seçim yapacağız. GPS/IMU veri füzyonu:

    - Durumun tanımlanması ve ölçüm modelleri: Durum Modeli:

    1 denklemiyle tanımlanan bir KF'nin standart durum modeli göz önüne alındığında, seçilen 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ğı yönlerde konum, hız ve ivmeyi temsil eden durum vektörüdür. Böyle bir modelde, F ve w aşağıdakine eşittir: \par uzey, Doğu ve Aşağı yönlerde konum, hız ve ivmeyi temsil eden durum vektörüdür. Böyle bir modelde, F ve w aşağıdakine eşittir:

    ve bilinen kovaryansın varsayılan sıfır beyaz gauss gürültüsüdür,

    bilinen kovaryansın varsayılan sıfır beyaz gauss gürültüsüdür,

    , diyagonal matris, ve tüm elementleri sıfır olan 3x3 matristir. da bilinen kovaryansın varsayılan sıfır beyaz gauss gürültüsüdür, kovaryansı: da bilinen kovaryansın varsayılan sıfır beyaz gauss gürültüsüdür, kovaryansı:

     

    https://www.codecogs.com/eqnedit.php?latex=i%0https://www.codecogs.com/eqnedit.php?latex=%5Cnu_i(k)%20%5Cin%20R%5El%0https://www.codecogs.com/eqnedit.php?latex=%20q_i%20%3D%20v_i%5ET(k)S_i%5E%7B-1%7D%5Cnu_i(k)%20%0https://www.codecogs.com/eqnedit.php?latex=%20S_i(k)%3DH_iP(k%7Ck-1)H_i%5ET%2BR_i(k)%20%0https://www.codecogs.com/eqnedit.php?latex=S%0https://www.codecogs.com/eqnedit.php?latex=q_i%20%5Cin%20R%5E%2B%0https://www.codecogs.com/eqnedit.php?latex=l%0https://www.codecogs.com/eqnedit.php?latex=x(k)%20%5Cin%20R%5E9%0https://www.codecogs.com/eqnedit.php?latex=F%20%3D%20%20%5Cbegin%7Bbmatrix%7DI_3%26TI_3%26%5Cfrac%7BT%5E2%7D%7B2%7DI_3%5C%5C0_3%26I_3%26TI_3%5C%5C0_3%260_3%26I_3%5Cend%7Bbmatrix%7D%20%0https://www.codecogs.com/eqnedit.php?latex=w(k)%3D%20%5Cbegin%7Bbmatrix%7D%5Cfrac%7BT%5E3%7D%7B6%7DB%5C%5C%5Cfrac%7BT%5E2%7D%7B2%7DB%5C%5CTB%5Cend%7Bbmatrix%7D%20%5Cgamma%20(k)%20%0https://www.codecogs.com/eqnedit.php?latex=%5Cgamma(k)%20%5Cin%20R%0https://www.codecogs.com/eqnedit.php?latex=B%3D%20%5Cbegin%7Bbmatrix%7D1%5C%5C1%5C%5C1%5Cend%7Bbmatrix%7D%20%0https://www.codecogs.com/eqnedit.php?latex=I_3%0https://www.codecogs.com/eqnedit.php?latex=0_3%0https://www.codecogs.com/eqnedit.php?latex=w(k)%0

  • 19

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

    - Ölçüm Modeli:

    Sensörler tarafından yapılan gözlemler, mutlak çerçevede, GPS için konum ve IMU için hızlanmadır. Bu ikincisi, jiroskoplar tarafından iletilen verileri kullanarak, ivmeölçerler tarafından verilen verilerin (IMU'nun dahili algoritmalarıyla önyargılardan ve ölçek faktörlerinden düzeltilmiş) vücut çerçevesinden mutlak referans çerçevesine dönüştürülmesiyle elde edilir. Bu çok basitleştirilmiş bağlamda, GPS ve IMU ölçüm modelleri:

    iken, ve sıfır ortalamaları, sırasıyla ve kovaryanslı gürültülerdir. ve sıfır ortalamaları, sırasıyla ve kovaryanslı gürültülerdir.

    - Bağlamsal Uzayın Açıklaması:

    Denklem 8 ve 9 u kullanarak, GPS ve IMU sensörlerinin geçerlilik alanları bağlamsal değişkenlerin tanımlanması ile belirlenir. Daha önce bahsedilen güven aralığı seçimini bağımsız değişken sayısı ve chi-square dağılım tablosundan belirledikten sonra, ölçümün mantıklı olup olmadığı anlaşılır. Bunu Fuzzy mantık ile yapmak ilerideki hedefimiz olmakla beraber, şimdilik ikili mantık ile çalışmaktayız.

    - Kalman Filtre Denklemleri:

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

    iken,

     

    https://www.codecogs.com/eqnedit.php?latex=E%5Bw(k)w(j)%5ET%5D%3DQ(k)%20%20%5Cbigtriangleup%20(k%2Cj)%20%0https://www.codecogs.com/eqnedit.php?latex=%5Cbigtriangleup%20(k%2Cj)%0https://www.codecogs.com/eqnedit.php?latex=k%3Dj%0https://www.codecogs.com/eqnedit.php?latex=%20z_%7BGPS%7D%3DH_%7BGPS%7Dx(k)%2B%20b_%7BGPS%7D%2C%20H_%7BGPS%7D%3D%20%20%5Cbegin%7Bbmatrix%7DI_3%260_3%260_3%5C%5C0_3%260_3%260_3%5C%5C0_3%260_3%260_3%5Cend%7Bbmatrix%7D%20%0https://www.codecogs.com/eqnedit.php?latex=%20z_%7BIMU%7D%3DH_%7BIMU%7Dx(k)%2B%20b_%7BIMU%7D%2C%20H_%7BIMU%7D%3D%20%20%5Cbegin%7Bbmatrix%7D0_3%260_3%260_3%5C%5C0_3%260_3%260_3%5C%5C0_3%260_3%26I_3%5Cend%7Bbmatrix%7D%20%0https://www.codecogs.com/eqnedit.php?latex=b_%7BGPS%7D%0https://www.codecogs.com/eqnedit.php?latex=b_%7BIMU%7D%0https://www.codecogs.com/eqnedit.php?latex=R_%7BGPS%7D(k)%0https://www.codecogs.com/eqnedit.php?latex=R_%7BIMU%7D(k)%20%0https://www.codecogs.com/eqnedit.php?latex=%5Cwidehat%7Bx%7D_%7Bx%7D(k%7Ck)%3D%5Cwidehat%7Bx%7D(k%7Ck-1)%2BK_%7BGPS%7C(GPS%2BIMU)%7D(k)(z_%7BGPS%7D(k)-H_%7BGPS%7D%5Cwidehat%7Bx%7D(k%7Ck-1))%2B%0https://www.codecogs.com/eqnedit.php?latex=K_%7BIMU%7C(GPS%2BIMU)%7D(k)(z_%7BIMU%7D(k)-H_%7BIMU%7D%5Cwidehat%7Bx%7D(k%7Ck-1))%0https://www.codecogs.com/eqnedit.php?latex=K_%7BIMU%7C(GPS%2BIMU)%7D(k)(z_%7BIMU%7D(k)-H_%7BIMU%7D%5Cwidehat%7Bx%7D(k%7Ck-1))%0https://www.codecogs.com/eqnedit.php?latex=K_%7BGPS%7C(GPS%2BIMU)%7D(k)%3DP_%7BGPS%2BIMU%7D(k%7Ck)(H_%7BGPS%7D)%5ET(R_GPS)%5E%7B-1%7D%0

  • 20

    Veri füzyonu, bu iki sensör için yukarıdaki denklemleri takip ederek yapılmaktadır.

    5.5. Kamera Şu anda 78 derecelik yatay görüş açısına (FOV) ve 90 derecelik diyagonal görüş açısına (FOV) sahip olan üç adet kamera kullanmaktayız. Ana kamera, sürücü direksiyon çubuğunun hemen altına yerleştirilir ve hafifçe aşağıya bakar. Kamera yüksek 30 FPS (frame per second)’e sahiptir ve USB portundan da bağlanabilir. Bu noktada, bir geniş açılı kamera ile çalışmış oluyoruz. Ana bir kameramızın yanında 2 adet yan kemaramız da bulunmaktadır. Bunlardan biri ana kameraya göre 60 derece sağa, diğeri ise 60 derece sola bakıyor. Bunların amacı park ve dönüş sırasında trafik işaretlerinin takibini sürekli olarak yapabilmektir. 5.6. 2D LIDAR Havadan tarama yapan Lidar sistemleri, Lidar sensörü, IMU ve dahili bilgisayardan oluşurken karadan tarama yapan sistemlerde IMU bulunmaz. Bunların yanında GPS ve INS gibi birçok teknolojide yardımcı olarak kullanılır. Bizim projemizde LIDAR’dan gelen bilgiler daha çok algılama görevi için kullanıcaktır. Ancak, her iki tür lidar sistemlerinde lazer kaynağından çıkan ışınlar sürekli olmayıp periyodik olarak yansıtıcıya çarpıp tarama yapılacak olan alana yönlendirilir. Böylece hava aracından veya karada tripot üzerinden tarama yapılacak alanın saniyede 20.000 ila 150.000 noktasının taraması gerçekleştirilir. Böylece, 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 önüne, yerden yaklaşık 40 cm yükseklikte yerleştirilecektir. LIDAR'ımızın algılama menzili teoride 30 metre, güneş ışığında denendiğinde pratikte 22 metredir.

    6. Özgün Bileşenler Simülasyon aşamasında görevlerin her birini gerçekleştirmek için iyi tanımlanmış çözümler geliştirilmiştir. Bu çözümler göreve ve simülasyon ortamının koşullarına sıkı sıkıya bağlı olduğu için genelleştirilebilir çözümler değildir. Bundan sonraki aşamada ilk hedef trafik işareti ve yol şeritlerini tanıma görevlerini derin öğrenme yöntemleri kullanarak iyileştirmek ve gerçek dünya koşullarında işlerlik kazandırmaktır. Simülasyon ortamında alınan imgelerin gürültü içermemesi geleneksel görüntü işleme yöntemlerinden alınan performansı yeterli kılmaktadır ancak gerçek dünya verileriye eğitilmiş derin öğrenme mimarileri gerçek dünyada öngörülemeyen çevresel koşullarda çalışabilmek adına büyük bir potansiyele sahiptir.

     

    https://www.codecogs.com/eqnedit.php?latex=K_%7BIMU%7C(GPS%2BIMU)%7D(k)%3DP_%7BGPS%2BIMU%7D(k%7Ck)(H_%7BIMU%7D)%5ET(IMU)%5E%7B-1%7D%0

  • 21

    Yol şeritlerini tanıma görevinin derin öğrenme yöntemleri ile çözümünde genellikle şerit olan bölgelerin resimdeki pozisyonları çıktı olarak verilmektedir, sonrasında bu çıktı işlenerek alınacak patikayı en iyi ifade eden polinomun katsayıları hesaplanmaktadır. Özgün hedeflerden biri de kuracağımız derin öğrenme mimarisiyle yolun imgesini sisteme girdi olarak verip çıktı olarak doğrudan bu polinomun katsayılarını almak ve bu yöntemin performansını değerlendirmektir. Nihai hedef ise tüm sensör verileri ve hazırladığımız simülasyon ortamını da kullanarak uçtan uca derin pekiştirmeli öğrenme ile tüm otonom sürüş sürecini gerçeklemektir.

    7. Otonom Sürüş Algoritmaları 7.1. Görüntü İşleme Burst aracımızın otonom kapasitelerini arttırmak amacıyla görüntü işleme yoğun olarak kullanılmıştır. Görüntü işleme yöntemleri kullanılarak yapılan temel iki görev trafik işaretlerinin tanınması ve yol üzerindeki şeritlerin takibidir. Bu iki görevi gerçekleştirmek amacıyla iki farklı sistem tasarlanmış ve araca ROS modülleri olarak eklenmişlerdir. 7.1.1. Trafik İşareti Tanıma Trafik işaretlerinin tanınması için yapay öğrenme tabanlı bir sınıflandırıcı kullanılmıştır. Bu sınıflandırıcının eğitiminde Burst aracı için geliştirilen simülasyon ortamından elde edilen veriler kullanılmıştır. Simülasyon ortamında trafik işaretlerinin tespit edilmesi için renk eşiği, morfolojik operasyonlar ve şekil çıkarımı yöntemleri kullanılmıştır. Bu yöntemler Python dilinde OpenCV ve Numpy kütüphaneleri kullanılarak uygulandı.

    7.1.1.1. Trafik İşareti İmge Çıkarımı Yöntemi Trafik işaretlerinin simülasyon ortamındaki araç üzerindeki bir kamera vasıtasıyla tespiti için kamera görüntüleri üzerinde yapılan ön işleme aşamalarından ilki renk eşikleri kullanılarak trafik işaretlerinin ortam renklerinden ayrıştırılmasıdır. Simülasyon üzerinde kullanılan 15 farklı trafik işareti ve trafik ışıkları üzerindeki renkler incelenerek her bir işareti çevredeki cisimlerden ayırabilecek renk eşikleri belirlenmiştir. Renk eşiklerinin tam olarak belirlenmesi amacıyla kameradan gelen BGR (Blue, Green, Red, OpenCV kütüphanesi imgeleri BGR formatında ) imgeler HSV (Hue, Saturation, Value) renk uzayına dönüştürülmüş, renk eşikleri bu renk uzayı kullanılarak belirlenmiştir. Trafik işaretlerinin tespiti amacıyla 5 farklı renk için 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 için HSV değerleri (0, 100, 100) ve (10, 255, 255) aralığı belirlenmiştir. İkinci kısım için 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 görselden anlaşılabilmektedir. HSV renk uzayında kırmızı rengi temsil eden Hue değerleri OpenCV kütüphanesi içerisinde 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 üzerinden bir maske elde edilir. Elde edilen bu maske üzerinde sırasıyla yayma(dilation) ve aşındırma(erosion) yöntemleri uygulanarak nesne sınırlarının belirlenmesi sağlanmıştır. Bu morfolojik operasyonlar uygulanan imge üzerinde nesnelerin tespiti için şekil çıkarımı yöntemleri uygulanmış ve belli bir alan büyüklüğünün üzerindeki bölgeler nesne olarak sınıflandırılmıştır. 7.1.1.2. Veri Seti Oluşturulması Renk eşiği, morfolojik operasyonlar ve şekil çıkarımı yöntemleri uygulanan imge üzerinde belirlenen trafik işaretleri imgeden kırpılarak ayrı birer imge olarak kaydedilmiştir. Buraya kadar belirtilen yöntemler hem simülasyon üzerinden trafik işaretleri veri seti elde etmek hem de hareket halindeki aracın elde ettiği görüntü üzerinden trafik işareti olabilecek alanların tespiti için kullanılmıştır. Simülasyon ortamından elde edilen bazı görseller aşağıdaki şekillerde gösterilmiştir.

     

  • 23

    Durak

    Hız Sınırlaması Sonu (20 km/s)

    İleri ve sola mecburi yön

    İleri ve sağa mecburi yön

    İleriden sola mecburi yön

    Giriş olmayan yol

    Sola dönülmez

    Park etmek yasaktır

    Sağa dönülmez

     

  • 24

    Taşıt trafiğine kapalı yol

    Park yeri

    İleriden sağa mecburi yön

    Azami hız sınırlaması (20 km/saat)

    Azami hız sınırlaması (30 km/saat)

    Dur

    Kırmız, Sarı ve Yeşil ışık örnekleri

    Bu trafik işaretlerinin yanı sıra trafik ışıklarının tespitinde o anda yanmakta olan ışığın rengine göre davranılmaktadır. Bu sayede trafik ışığının tespiti ve yanan ışığın tespiti tek aşamada yapılabilmektedir. 7.1.1.3 Trafik İşareti Tanıma Yapay Öğrenme Modeli Simülasyon üzerinden 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 Dönülmez: 1549, İleri Ve Sola Mecburi Yön: 484, Azami Hız Sınırlaması (30 Km/Saat): 175, Dur: 624, Azami Hız Sınırlaması (20 Km/Saat): 309, Sarı Işık: 756, Sola Dönülmez: 245, Park Yeri: 4819, Durak: 425, İleriden Sola Mecburi Yön: 112, Taşıt Trafiğine Kapalı Yön: 184, İleriden Sağa Mecburi Yön: 352, Kırmızı Işık: 1716, Park Etmek Yasaktır: 3815, İleriden Sağa Mecburi Yön: 1504, Hız Sınırlaması Sonu (20 Km/Saat): 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 simülasyon veri seti, öncelikle eğitim ve test veri setlerine ayrılmıştır. Model eğitim seti üzerinde eğitildikten sonra, test set üzerinde deney yapılarak modelin başarımı ölçülmüştür. Model eğitimi için kullanılacak her bir imge üzerinden imgeyi en iyi temsil edecek öznitelik vektörünün çıkarımı hedeflenmiştir. Bu öznitelik çıkarımı için iki ana yöntem kullanılmıştır:

    1. Histogram of Oriented Gradients (Yönlendirilmiş Gradyanların Histogramı) [4] 2. Renk histogramı

    Histogram of oriented gradients yöntemi, imge üzerindeki her bir bölgeden elde edilen gradyanların yönelimlerinde gradyanların büyüklüklerinin toplandığı histogramlardır. Renk histogramları ise, imgenin üç 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 üzeinden çıkarılan yönlendirilmiş gradyanların histogramları ve renk histogramları öznitelik vektörleri elde edilir. Son olarak bu iki vektör ard arda iliştirilerek yeni bir vektör elde edilir. Bu yeni vektör yapay öğrenme eğitimi için kullanılacaktır.

     

  • 26

    Trafik işaret ve ışıklarının tespiti için Lineer Support Vector Machine(destek vektör makinesi) sınıflandırıcısı kullanılmıştır. Sınıflandırıcının eğitiminde önceki bölümlerde anlatılan Yönelimli gradyanların histogramı ve renk histogramı öznitelik vektörleri kullanılmıştır. Modelin eğitim başarı ölçümü olarak sınıflandırma başarımı değeri göz önüne alınmıştır. Bu başarım test verisi üzerinde % 98.80 olup aracın otonom yeteneklerini sergilemesi açısından oldukça başarılı görülmüştür. Sınıflandırma başarımı ölçümünün yanı sıra sınıf bazla başarım ölçümünün de incelenebilmesi için hata matrisi oluşturulmuş ve bu hata matrisi de incelenmiştir. Aşağıdaki şekilde, Burst simülasyon veri seti üzerinde eğitilen Lineer SVM modeline ait hata matrisi görülmektedir

    Oluşturulan modelin simülasyon ortamında testleri sonucunda elde edilen bazı görüntüler aşağıda verilmiştir:

     

  • 27

     

  • 28

    Burst Simülasyon Trafik İşareti ve Işığı Sınıflandırıcı Modelinin özet akış grafiği yukarıdaki şekilde gösterilmiştir. İşaretlerin yaklaşık konumu hesaplanırken işaretlerin yüksekliğinin sabit olduğu, parkur eğiminin ise ihmal edilebilir ölçüde küçük olduğu varsayılmıştır. Bu varsayımlar altında geometrik olarak işaretlerin araç 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 − spx x x sx =

    P /2y(P /2−s )y py tan(F OV /2)y

    h −hişaret camera

    tan(s )sy = sx θ

    Burada işaretin görece açısını, ise işaretin aracın sistemindeki görece konumu ifade sθ sx,y eder. Kamera özellikleri olan , olarak kullanılmıştır. OV 1.39 radF x,y = 00 pixelP x,y = 8 Burada değeri imge üzerinde tespit edilen işaretin imge merkezinden pixelP /2 )( y − spy cinsinden yüksekliğidir. Bu değer işaretin araçtan uzaklığı ile ters orantılı olarak değişmektedir. terimi ise işaretin kamera görüş alanından çıkacak kadar yakın tan(F OV /2)y

    (h −h )işaret camera

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

    Araç simülasyonunda yer alan yol şeritlerini tanımak için OpenCv, Numpy ve sklearn kütüphaneleri kullanılarak çeşitli imge işleme yöntemleri ve denetimsiz öğrenme algoritmaları uygulanmıştır. Öncelikle simülasyon kamerasından alınan imge gri tonlamalı formata çevrilmiştir. Elde edilen yeni imgeye (120, 255) değerleri ile ikili renk eşiği uygulanarak şeritin olduğu bölgeler beyaz, kalan her yer siyah piksellere boyanmıştır.

    Elde edilen siyah-beyaz imgeyi kuşbakışı görüntülemek için perspektif-dönüşüm matrisi çıkarılmıştır. Bu matrisi hesaplamak için kaynak imgeden birbirine paralel 2 doğru üstünden seçilen 4 noktanın koordinatları ile bunlara karşılık çıktıda olması istenen koordinatlar kullanılarak gerekli homografi matrisi hesaplanarak imge dönüştürülmüştür. Hesapladığımız homografi matrisi, otonom aracın kamerasından alınan görüntünün kuşbakışı görüntüsünün çı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 çözebilmek için şu denklemler elde edilir:

    Yukarıdaki denklemler düzenlendiğinde şu denklemler elde edilecektir:

    Homografi matrisinde elde etmemiz gereken 8 bilinmeyen değer olması nedeniyle denklemi çözebilmek için en az 8 denkleme ihtiyacımız var. Kamera girdisi ve ona karşılık gelen kuşbakışı görüntünün koordinatları bilindiğinde homografi matrisi değerlerini bulabileceğimiz 2 farklı denklem elde edebildiğimiz için, homografi matrisindeki 8 bilinmeyeni bulabilmek için kamera görüntüsü ve kuşbakışı görüntüde karşılıklı 4 koordinatın bilinmesi yeterli olmuştur.

     

  • 30

    Burada elde edilen matris denkleminin çözülmesiyle homografi matrisindeki bilinmeyen değerler elde edilmiştir. 7.1.2.1 DBSCAN Algoritması

    DBSCAN algoritması [1] yoğunluk-temelli bir kümeleme algoritmasıdır. ε maksimum mesafe ve k minimum nokta sayısı olmak üzere bu algoritma şu şekilde açıklanabilir [2]:

    - Eğer bir p noktası kendisine ε mesafe uzaklıkta k noktaya sahipse p, bir çekirdek 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 tüm p noktalarının ( q hariç ) çekirdek nokta olduğu bir yol varsa, q noktası p noktasından erişilebilirdir.

    - Hiçbir noktadan erişilebilir olmayan noktalar gürültü noktalarıdır. - Böylece eğer p bir çekirdek noktaysa kendisinden erişilebilir olan tüm noktalarla bir

    küme oluşturur. Dönüştürülen imgede 2 grup halinde yayılan beyaz pikseller ε = 100, k = 2 seçilerek DBSCAN kümeleme algoritması ile kümelere bölüştürülmüştür. Sonrasında her bir kümedeki pikseller için ayrı ayrı olarak yapılan polinomsal regresyon ile bu şeritleri en iyi şekilde ifade eden polinomik ifadeler çıkarılmıştır. En sonunda bu polinomların ortalaması alınarak yolun ortasında takip edilmek istenen patika polinomu çıkarılmıştır. DBSCAN algoritmasına tüm beyaz pikseller verildiğinde kümelere bölme işlemini otonom sürüşü aksatacak kadar uzun sürdüğü görülmüş ve buna çözüm 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.

     

    https://www.codecogs.com/eqnedit.php?latex=%20%20%5Cbegin%7Bbmatrix%7D%20x_1%20%26%20y_1%20%26%201%20%26%200%20%26%200%20%26%200%20%26%20-x_1%20x_1%27%20%26%20-y_1%20x_1%27%20%5C%5C%200%20%26%200%20%26%200%20%26%20x_1%20%26%20y_1%20%26%201%20%26%20-x_1%20y_1%27%20%26%20-y_1%20y_1%27%20%5C%5C%20x_2%20%26%20y_2%20%26%201%20%26%200%20%26%200%20%26%200%20%26%20-x_2%20x_2%27%20%26%20-y_2%20x_2%27%20%5C%5C%200%20%26%200%20%26%200%20%26%20x_2%20%26%20y_2%20%26%201%20%26%20-x_2%20y_2%27%20%26%20-y_2%20y_2%27%20%5C%5C%20x_3%20%26%20y_3%20%26%201%20%26%200%20%26%200%20%26%200%20%26%20-x_3%20x_3%27%20%26%20-y_3%20x_3%27%20%5C%5C%200%20%26%200%20%26%200%20%26%20x_3%20%26%20y_3%20%26%201%20%26%20-x_3%20y_3%27%20%26%20-y_3%20y_3%27%20%5C%5C%20x_4%20%26%20y_4%20%26%201%20%26%200%20%26%200%20%26%200%20%26%20-x_4%20x_4%27%20%26%20-y_4%20x_4%27%20%5C%5C%200%20%26%200%20%26%200%20%26%20x_4%20%26%20y_4%20%26%201%20%26%20-x_4%20y_4%27%20%26%20-y_4%20y_4%27%20%5C%5C%20%5Cend%7Bbmatrix%7D%20%20%5Cbegin%7Bbmatrix%7D%20h_%7B11%7D%20%5C%5C%20h_%7B12%7D%5C%5C%20h_%7B13%7D%5C%5C%20h_%7B21%7D%5C%5C%20h_%7B22%7D%5C%5C%20h_%7B23%7D%5C%5C%20h_%7B31%7D%5C%5C%20h_%7B32%7D%5C%5C%20%20%5Cend%7Bbmatrix%7D%20%3D%20%5Cbegin%7Bbmatrix%7D%20%20x_1%27%20%5C%5C%20y_1%27%20%5C%5C%20x_2%27%20%5C%5C%20y_2%27%20%5C%5C%20x_3%27%20%5C%5C%20y_3%27%20%5C%5C%20x_4%27%20%5C%5C%20y_4%27%20%5C%5C%20%5Cend%7Bbmatrix%7D%20%0

  • 31

    7.2. Kontrol Bu bölümde simülasyon isterlerini sağlayan basit bir kontrolcü tanıtılmıştır. İlerleyen aşamalarda bu kontrolcünün MPC benzeri yöntemler kullanılarak geliştirilmesi düşünülmektedir. Simülasyon denemeleri teknik şartname Şekil 1’de verilmiş olan tam ölçekli haritanın kavşak ve dönüş noktalarına gerekli sayıda düğüm atanmasıyla oluşturulan toplamda 30 düğümlü ve yönelimli bir çizge yapısı üzerinde gerçekleştirilmiştir. Öncelikle çizge yapısındaki komşu düğümler arasında çift taraflı birer kenar olduğu varsayılmıştır (Şekil 8.2.1.). Araç trafik işaretlerini tespit ettikçe bu yapıda gerekli güncellemeler yapılarak trafik kurallarına uygun bir hareket sağlanmıştır. 7.2.1. Patika Takibi

    Patika takibinde verilen hedef noktalarını sırasıyla takip edecek hız ve dönüş açısı değerlerini hesaplayan bir kontrolcü tasarlanmıştır. ve aracın başlangıç noktasına göre cx cy koordinatları ve aracın anlık doğrultusu olmak üzere, aracın anlık durumu, cθ c c c ]c = [ x y θ

    T

    olarak gösterilsin. Verilen hedef noktalardan parametresi ile belirlenen miktarda uzak τ la olan ilk hedef nokta olmak üzere, hedef doğrultu , hedef hız ve hedef dönüş [x y ]pi = i i

    T α v açısı aşağıda gösterilen şekilde hesaplanmaktadır:ψ

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

     

  • 32

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

    π tanh(η α)ψ = ψmax 2

    Burada tespit edilen işaretlere göre aracın maksimum hızını belirlemektedir. ise v max ψmax araç özellikleri gereği olarak kullanılmaktadır. verilen örnek parkurun .34 rad0 η1 maksimum hızda tüm virajları almaya izin vermesi sebebiyle olarak seçilmiş, aracın yol 0 boyu mümkün olan en yüksek hızda seyretmesi sağlanmıştır. Maksimum hızda alınamayacak sertlikte virajların olması durumunda daha büyük bir değer ile bu tarz bölgelerde 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ış için bu parametre 5 arttırılabilir veya daha güvenli dönüş yapmak için azaltılabilir. parametresi ise yol τ la takibinde olarak belirlenmiştir. Patikaya sadık bir yol izlemek için bu parametre m4 düşürülebilir ya da patikadaki kısayolları daha iyi kullanmak için arttırılabilir. 7.2.2. Yolcu Alma/Bırakma Yolcu alma noktasına giden yolun sabit olacağı belirtildiğinden işaret tespiti ve uygun biçimde patika takibi bu alt görevler için yeterli olmaktadır. Araç harita üzerinde gidilmesi mümkün olan bir sonraki düğümü hedef nokta olarak seçer ve mesafe kalıncaya kadar τ la Bölüm 8.2.1.’de anlatılan yöntemi kullanarak bu noktaya ulaşmaya çalışır. Sonrasında ulaşılması mümkün olan bir sonraki düğümü seçerek bu düğüme doğru hareketine devam eder. Bu durum araç durak işareti ile karşılaşana kadar devam eder. Durak işaretinin tespit edilmesi durumunda işaretin hizasında 30 saniye beklendikten sonra göreve devam edilir. 7.2.3. Park Alanına Ulaşma İkinci durak işaretinde yolcu bırakıldıktan sonra araç bulunulan düğümden daha önceden belirtilmiş olan bitiş düğümüne olan en kısa patikayı Dijkstra’s Shortest Path Algoritması [3] ile hesaplar. Bu algoritma hızlı, kesin ve kolay uygulanabilir olması ile kullanılan çizge yapılarında negatif kenar bulunmaması gibi sebeplerden seçilmiştir. Hesaplama, işaret tespiti durumunda çizge yapısının değişmesi ihtimaline karşı, alt görev boyunca devam eder. Hesaplanan patika Bölüm 8.2.1’de anlatılmış olan patika takip yöntemi ile takip edilir. 7.2.4. Park Etme Araç park noktasına geldiğinde uzaklıkta park edilecek bölümlere dik 20 mτ search = biçimde sabit hızla hareket ederek uygun bir park alanı aramaya başlar. Uygun bir park alanına dik yönde kadar yaklaşıldığında dönüş hareketine başlamak için aşağıdaki mτ turn = 7 koşulun sağlanması beklenir:

     

  • 33

    c || px − cx <

    τ turnsin(θ − c )0 θ

    − τ turntan(θ − c )0 θ

    Burada belirlenen park noktasının x koordinatı ifade eder. ise aracın başlangıç cpx θ0 doğrultusu ile park alanına giriş doğrultusu arasındaki açıdır ve hazırlanan simülasyon ortamı için rad olarak kabul edilmiştir.. Bu koşul sağlandıktan sonra park bölümünün konumu /2π hedef konum olarak belirlenir ve Bölüm 8.2.1.’de anlatılan patika takip yöntemi

    ve olacak şekilde tekrar uygulanır. Kullanılan parametre0 km/savmax = 1 mτ la = 2 değerlerine aracın dönüş yarıçapı, park alanı boyutu gibi sınırlamalar göz önünde bulundurularak deneysel olarak karar verilmiştir.

    8. Araç Kontrol Ünitesi Araç kontrol ünitesinin temel işlevi, aracın otonom sürüşü sağlayan bilgisayardan aldığı kontrol komutlarını aracın aktüatörlerine 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 için grafiğini çizmiş bulunduğumuz kontrol ünitesinin en ortasında bir adet Arduino Mega bulunuyor. Bu kontrolcü iki adet BLDC motor sürücüsü, batarya kontrol ünitesi, telemetri ünitesi ve ekranı kontrol ediyor. Aynı zamanda Arduino-ROS kütüphaneleri sayesinde kontrol bilgisayarından aldığı bilgileri kontrol ünitelerine aktarıyor. 8.1 Kontrol Mimarisi Arduino Mega’da kesme tabanlı (interrupt driven) bir mimari kurduk. Bu mimari gereğince her bir kesmenin belli bir önem sırası var ve bu önem sırasına göre ana kontrolcü tepki veriyor.

    Sistem dışında ayrıca bir mikro-kontrolcü 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ı mümkün kılıyor.

    Kesmelerin önem sırası ise, sırasıyla

    - fren - batarya sıcaklık uyarısı - direksiyon - gaz kontrolü - ekran

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

     

  • 34

    8.2 Haberleşme Mimarisi Modüler bir yapıda olan sistemimizde 4 noktada haberleşme kullanılıyor.

    A. Otonom Kontrol Bilgisayarı ile USB Seri Haberleşme ROS-Arudino kütüphanesi kullanılarak yapılıyor. Fren, gaz ve direksiyon komutları için ön ve son kodlar (header, footer) tanımlanmış durumda ve mesajlarına içeriğine göre bir ISR üretiliyor. USB kablosu ile arduino ana bilgisayara bağlanmış durumdadır.

    B. Sistem Üniteleri arasında I2C Seri Haberleşme Fren, direksiyon ve batarya ünitesinin her birinde ayrı kontrolcüler bulunuyor ve bu kontrolcülerle iletişim kurulması için I2C protokolü kullanılıyor.

    C. Kontrol Merkezi ile Tek Yönlü 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 araçtan dışarıya doğru bir haberleşme biçimidir. Bu iş için ESP2866 WiFi modülü kullanılmıştır. Bununla birlikte açık kaynak kodlu Blynk kütüphanesi ile merkez istasyonunda çalışan bir uygulama yazılmıştır.

    D. Ekran Kontrolü için Raspberry Pi ile Seri Haberleşme USART ile haberleşiliyor. Belli komutlara karşılık ekrana araç durum bilgisi

    aktarılıyor. E. Acil Durum Fren Komutu

    Araca dışarıdan verilebilen tek komuttur. Sadece frenlere bağlı olan mikro- kontrolcüyü harekete geçirerek aracın acil durumlarda durmasını sağlar.

     

  • 35

    8.3 Ana Ekran

    Bu bölüm geçen sene Efficiency Challenge için tasarlamış olduğumuz ekran hakkındadır. Hala aynı ekranı kullanmaktayız. QT platformu ile Raspberry Pi üzerinde çalışan bir ekran tasarladık. Aracın kritik bilgilerini kullanıcıya göstermek için kullanılıyor.

    9. Güvenlik Önlemleri

    9.1 Uzaktan Acil Durum Kontrol Sistemi

    Bir UADKS'nin bu sistemde yerine getirmesi gereken iki ana işlevi vardır; acil durumlarda fren yapmak ve göreve başlamak. UADKS’deki tasarım parametreleri şu şekildedir:

    - Anlık iletişim - Güçlü ve anlık eylem - Ayrılabilir - Güvenli

    Bu kriterleri yerine getirmek için, ilk önce 100 metrenin (kontrolcü ile araç arasında olacak maksimum mesafe) ötesine ulaşan bir iletişim protokolü seçtik. Ekibimiz bu iletişimi uygulamak için LoRaWAN kullanmaya karar verdi. Güçlü ve anlık kırılma kontrolü çeşitli yöntemlerle sağlanabilir. Seçenekler;

    - Rejeneratif elektronik frenleme - Bir solenoid aktüatör kullanarak hidrolik frenleme - Step motor kullanarak hidrolik frenleme

     

  • 36

    Güçlü ve anlık olmak için, en iyi çözüm doğrusal bir solenoid aktüatör kullanarak fren yapmaktır. Bu, fren pedallarında anında bir hareket yaratacaktır. Bununla birlikte, solenoid aktüatörlerle ilgili problem, işletmek için çok fazla enerjiye ihtiyaç duymalarıdır ve hareketleri, araç dinamikleri üzerinde beklenmeyen davranışlara neden olabilecek kadar hızlı olabilir. Rejeneratif elektronik frenler iyi seçeneklerdir ancak güçlü ve acil hidrolik frenler değildir. Seçilen son seçenek, step motor kullanarak hidrolik frenleme olmuştur. Step motor şaftı, etrafında metal bir tel bulunan bir makaraya dönüştürülür. Telin bir ucu pedalın ucuna takılıdır ve fren komutu verildiğinde, kasnak döner ve hidrolik frenleri çalıştırmak için fren pedalını çeker. Bu sistem güvenilirdir, uygulaması kolaydır, sökülebilir (bir metal kabloyu çıkararak) ve anında eyleme duyarlıdır. Araç çalıştırma sinyali de benzer şekilde verilmiştir. LoRaWAN kullanılır ve özerk görevi yürüten ana VCU uzaktan kumandadan sinyal alır ve görev başlatma sinyali özerk görevi çalıştıran bilgisayara aktarılır. Tüm hesaplamalar ROS (Robot Operating System) kullanarak Ubuntu, Linux çalıştıran bir bilgisayarda yapılır. Başlama sinyali verildiğinde ROS, araç çalıştırma sisteminin kontrolünü alır. 9.2 Sıcaklık, Düşük Batarya Uyarıları

    Telemetri, LoRaWAN iletişim protokolü kullanılarak yapılır. Sadece hız, akü voltajı ve akü sıcaklığı bilgisi, baz istasyonundaki LoRa istemcisine gönderilir. Alternatifler:

    · WiFi: Yüksek bit hızı. Düşük uzaklık · Bluetooth: Düşük bit hızı, düşük uzaklık. · 3G: Pahalı. Programlaması kolay değil. · LoraWan: Düşük Bit hızı. Programlanması kolaydır. 5 kilometreye kadar

    uygulanabilir. Ayrıca ucuzdur. 9.3 LIDAR Temelli Acil Durdurma

    Alınan uzaktan durdurma önlemlerine ek olarak aracın LIDAR sensörünü kullanarak acil durumda otonom bir şekilde durabilmesi düşünülmektedir. Öyle ki herhangi bir açıdaki lazer okuması önceden belirlenen bir eşik değerinden düzenli olarak düşük olması durumunda araç otonom olarak arka motorlara giden gücü keser ve fren uygular. Böylece bariyerlere aşırı yaklaşma veya beklenmeyen bir dış etkenin parkura girmesi gibi durumlarda uzaktan

     

  • 37

    müdahaleye gerek kalmaksızın aracın güvenli bir şekilde durması, tehlike geçtikten sonra ise aracın göreve devamı sağlanmaktadır.

    10. Simülasyon

    Simülasyon Gazebo 7 ortamında ROS (Robot Operating System) Kinetic altyapısı kullanılarak Bölüm 4 ila 8’de verilmiş olan araç özelliklerinde uygun şekilde tasarlanmıştır. Teknik şartname Şekil 1’de verilmiş olan tam ölçekli harita üzerine GIMP imge düzenleme programı aracılığıyla yollar, yol çizgileri ve park alanı eklenmiştir. Trafik işaretleri ve ışıkları için SolidWorks programı ile oluşturulan taslaklar 3Ds Max programı aracılığıyla renkli .dae formatına dönüştürülmüştür. Araç tasarımı Rhino programı ile tam ölçekli şekilde yapılmış ve .stl formatında simülasyon ortamına eklenmiştir. Araca dair boyut, sensör konumu, dönüş ve hız limitleri, kontrolcü gibi parametreler .urdf ve .sdf formatlarını kullanarak ortama eklenmiştir. Araca hareket komutlarının verilmesinde ve sensör bilgilerinin alınmasında ROS Subscriber/Publisher yapısı kullanılır. Trafik ışıklarının kontrolü ise ROS Service yapısı kullanılarak gerçekleştirilir. Son olarak teknik şartnamede belirtildiği üzere tüm işaretlerden en az bir tane içeren, güvenlik 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. Simülasyon ortamından alınmış örnek bir görüntü Şekil 10.1’den görülebilir. Bu örnek ortam üzerinde yapılan denemelerde araç herhangi bir kural ihlali yapmadan tüm görevleri 2 dakika 24 saniye içerisinde 2500 puan alarak parkuru tamamlamaktadır. Görev boyunca takip edilen patika Şekil 10.2’de verilmiştir. Burada durak noktaları patika üzerindeki boşluklardan takip edilebilir.

     

  • 38

    Simülasyon ortamımıza ait videoyu bu YouTube linkinde bulabilirsiniz: https://youtu.be/0W7kRj0Z8I8

    11. Referanslar

    [1] Ester, Martin; Kriegel, Hans-Peter; Sander, Jörg; 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. 226–231 [2] DBSCAN, Wikipedia, https://en.wikipedia.org/wiki/DBSCAN (Erişim tarihi: 12.04.2019) [3] Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001). "Section 24.3: Dijkstra's algorithm". Introduction to Algorithms (Second ed.). MIT Press and McGraw–Hill. pp. 595–601. ISBN 0-262-03293-7. [4] DALAL, Navneet; TRIGGS, Bill. Histograms of oriented gradients for human detection. In: international Conference on computer vision & Pattern Recognition (CVPR'05). 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.

     

    https://youtu.be/0W7kRj0Z8I8https://youtu.be/0W7kRj0Z8I8https://en.wikipedia.org/wiki/DBSCAN