Dört rotorlu bir insansız hava aracına field programmable gate array tabanlı irtifa kontrolcüsü tasarımı
Field programmable gate array based altitude controller design for a four rotor unmanned aerial vehicle
Yazar: BEKİRCAN KEÇEOĞLU
Danışman: PROF. DR. COŞKU KASNAKOĞLU
TOBB Ekonomi ve Teknoloji Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik ve Elektronik Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2021
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering

Özet:
Günümüz modern dünyasında, insansız hava araçları otonom hareket eden veya uzaktan bir insan tarafından kontrol edilebilen araçlar anlamına gelmektedir. İnsansız hava araçları farklı alanlarda kullanılmakta ve bu alanlara göre farklı tasarımları bulunmaktadır. İnsansız hava araçlarının başlıca kullanıldığı yerler; askeri amaçlı keşif, sınır gözetleme ve saldırıdır. Askeri amaçlar dışında İHA'lar; tarımda gözetleme ve ilaçlama faaliyetlerinde, taşımacılıkta, orman yangını tespiti ve söndürme çalışmalarında, doğal afet bölgelerinde arama faaliyetlerinde ve bölgeyi haritalamada kullanılmaktadır. İnsansız hava araçlarının otopilotlarında genel olarak mikroişlemciler tercih edilmektedir. Ancak yüksek hız gerektiren uygulamalarda Field Programmable Gate Array'ler (FPGA) işlemciler yerine tercih edilebilir. Bu işlemciler gelen sensör ve komuta kontrol verilerini okuyarak, gerekli olan karar mekanizmasını gerçeklerler. İnsansız hava araçları uçuş eksenleri için oransal, integral, diferansiyel kapalı çevrim kontrolcüleri bulundurmaktadır. Bu üç yapı kazanç olarak nitelendirilmektedir ve testler ile beraber değerleri ayarlanmalıdır. İnsansız hava araçlarından biri olan dört rotorlu insansız hava araçları dikey iniş – kalkış yapabilmeleri ve kapalı alanlarda da kullanılabilir olmaları sebebiyle farklı sektörler tarafından yaygın olarak kullanılmaktadır. Bu tez çalışması kapsamında bir Quadrotorun doğrusal olmayan matematiksel modeli oluşturulmuştur. İrtifa modeli Simulink üzerinde gerçeklenmiştir. Model üzerine PID kontrolcü eklenmiş ve simülasyonları yapılmıştır. Sonraki adımda irtifa kontrolcünün FPGA üzerinde
gerçeklendiği adıma geçilmiştir. İrtifa kontrolcü FPGA üzerinde farklı yöntemler ve yazılımlar ile gerçeklenebilmektedir. İlk uygulamada FPGA tabanlı kontolcü, Xilinx FPGA tasarım blokları ile Xilinx System Generator üzerinde oluşturulmuştur. Farklı irtifa değerleri ile test edilmiştir ve referans takibi doğrulanmıştır. İkinci uygulamada ise HDL coder ile sentezlenebilir kodları üretmek için PID irtifa kontrolcü Matlab üzerinde gerçeklenmiştir. Referans takibi doğrulandıktan sonra sentezlenebilir VHDL kodları oluşturulmuştur. Üçüncü yöntemde, popülaritesi artmakta olan high level synthesis ile irtifa kontrolcü oluşturulmuş ve HLS üzerinde test edilmiştir. Dördüncü ve beşinci yöntemler FPGA üzerinde gerçeklenmiştir. Dördüncü yöntemde PID irtifa kontrolcü Xilinx FPGA üzerine yerleştirilen softcore işlemci "MicroBlaze" üzerinde gerçeklenmiştir. Beşinci uygulamada sayısal irtifa kontrolcü IP'si VHDL ile oluşturulmuş ve Zynq ile entegre edilerek testleri gerçekleştirilmiştir. İki yöntemde de referans takibi "Hardware in Loop" yöntemi ile Matlab Intrumentation Toolbox kullanılarak test edilmiştir. Test sistemine parametre belirsizliği ve gürültü eklenerek irtifa kontrolcüsünün işlevselliği doğrulanmıştır. Sonuç bülümünde ise FPGA tabanlı irtifa kontrolcü tasarımlarında kullanılan farklı yöntemlerin performans, kaynak kullanımı ve güç tüketimi yönünden karşılaştırması yapılmıştır.

Abstract:
In today's modern world, unmanned aerial vehicles mean vehicles that can move autonomously or can be controlled remotely by a human. Unmanned aerial vehicles are used in different areas and have different designs according to these areas. The fields where unmanned aerial vehicles are mainly used; military reconnaissance, border surveillance and attack. Other than military purposes UAV's are used for; in monitoring and spraying activities in agriculture, in transportation by commercial companies, in forest fire detection and extinguishing works, exploration activities and mapping in natural disaster areas. Microprocessors are generally preferred for autopilots of unmanned aerial vehicles. However, in applications requiring high speed, Field Programmable Gate Arrays (FPGA) can be preferred over processors. These processors read the incoming sensor and command control data and make the necessary decision mechanism. Unmanned aerial vehicles have proportional, integral and differential closed loop controllers for vehicle flight axes. These three elements are considered gains and their values must be tunned with the experiments. Four – rotor unmanned aerial vehicles, which are one of the unmanned aerial vehicles, are frequently preferred by researchers because they can take off and land vertically. They can also be used in indoor environments. Within the scope of this thesis non-linear mathematical model of a quadrotor was created. Quadrotor altitude model was implemented on Simulink. PID altitude controller was added to the realized model and simulations were made. In the next step, FPGA based altitude controller is presented.
Altitude controller can be implemeted with different approaches and software design tools. At first method, FPGA based altitude controller was designed with Xilinx FPGA design blocks on Xilinx System Generator. Controller was tested with different referance altitudes and reference tracking also verified. At second method, altitude controller was implemeted on Matlab and reference tracking was verified. After reference tracking was verified, HDL codes were generated using HDL coder. At third method, altitude controller was implemented and tested with HLS which is growing in popularity recent years. Fourth and fifth methods were implemented on FPGA. At fourth method, PID altitude controller was implemented on FPGA using softcore microprocessor called "Microblaze". At fifth method, digital altitude controller IP was implemeted using VHDL and integrated with Zynq before testing functionality. At fourth and fifth methods reference tracking was verified using "Hardware in Loop" technique with Matlab Instrumentation Toolbox. Parameter uncertainty and noise parameters were added to design and alttitude controller functionality was tested. At final section of thesis, different approaches that were used at FPGA based alttitude controller, were compared to their performance, resource utility and power consumption.