Trajectory tracking control of a quadrotor with reinforcement learning
Pekiştirmeli öğrenme ile bir quadrotor'un yörünge takip kontrolü
- Tez No: 779380
- Danışmanlar: PROF. DR. MUSTAFA DOĞAN
- Tez Türü: Yüksek Lisans
- Konular: Elektrik ve Elektronik Mühendisliği, Electrical and Electronics Engineering
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2023
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Kontrol ve Otomasyon Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Kontrol Mühendisliği Bilim Dalı
- Sayfa Sayısı: 81
Özet
İnsansız hava araçları artık hayatımızda önemli bir yere sahip. İnsansız savaş araçları günlük yaşantımızda video çekimlerinden, savaş alanlarına kadar her yere nüfuz etmiş durumda. İnsansız hava aracı denince akla en çok quadcopter insansız savaş araçları ve sabit kanatlı savaş alanlarında kullanılan insansız savaş araçları gelmektedir. Fakat insansız savaş araçları genel olarak sabit kanat, çoklu rotorlu döner kanat, tek rotorlu döner kanat ve sabit kanatlı dikey iniş kalkış yapabilen insansız savaş araçları olmak üzere dört gruba ayrılırlar. Çok rotorlu döner kanat insansız hava araçları diğer tipler kadar dayanıklı değildir ancak basit, kararlı, çevik ve düşük maliyetlidir. Çok daha küçük alanlarda çalışabilirler ve karmaşık görevleri yerine getirebilirler. Diğerleri arasında, çok rotorlu insansız hava araçları, kararlı ve çevik oldukları için sahada büyük potansiyele sahiptir. Bu gruptan en popüler olanı ise quadcopterdir. Bu nedenle bu çalışma quadcopterler üzerinedir. İnsansız hava aracı uçuş kontrol algoritmaları genellikle kabaca iki adıma ayrılır: üst seviye kontrol çevrimi ve alt seviye kontrol çevrimi. Bir insansız hava aracı kontrol algoritmasının alt seviye kontrol çevrimlerinden iç çevrimleri açı ve açısal hız kontrol çevrimleridir. İster sabit kanatlı ister döner kanatlı olsun, bu iç çevrimler geleneksel olarak PID tabanlı kontrolörlerden oluşur. Bir PID kontrolör bu iç çevrimleri başarılı bir şekilde kontrol edebilmesine rağmen, dış çevrimleri istenen konumlara veya hızlara yönlendiremeyebilir. Bununla birlikte, bu tür kontrolcüler büyük ölçüde modele bağlıdır ve genellikle tasarım sonrası katsayılarda ayar gerektirir. Bu durumdan hareketle sunulan çalışmanın amacı, pekiştirmeli öğrenmeye dayalı algoritmaların, model hakkında önceden bilgi sahibi olmadan bir quadcopter insansız hava aracını kontrol edebildiğini ve geleneksel kontrolcülere alternatif olduğunu göstermektir. Dört motordan oluşan quadcopterler sadece tek bir eksende kuvvet üretebilirken, motorların ürettiği kuvvet farkları ile 3 eksende moment üretebilmektedirler. Bu sebeple bir quadcopter 3 boyutlu uzayda tamamen özgür olarak hareket edemez. Herhangi bir konum ve oryantasyona gelmesi için bir \textit{yörünge} izlemesi gerekmektedir. Bu yörünge ise yüksek seviye kontrolör tarafından üretilmektedir. Alçak seviye kontrolörün görevi is yörüngeyi takip etmektir. Makine öğrenmesi \textit{Denetimli Öğrenme}, \textit{Denetimsiz Öğrenme} ve \textit{Pekiştirmeli Öğrenme} olmak üzere üç gruba ayrılabilir. Pekiştirmeli öğrenme, çevre ile doğrudan etkileşime giren tek sınıftır, bu nedenle gerçek dünya etkileşimli uygulamalar için en uygun olanıdır. Pekiştirmeli öğrenmede ajan deneme yanılma yoluyla öğrenir. Pekiştirmeli öğrenmede çevre ile etkileşime geçen ajan, çevreden ödül ya da ceza alır. Burada ana hedef, ödülü en üst düzeye çıkarmak, dolayısıyla cezayı en aza indirmektir. Bu nedenle ajan geçmişte ödüllendirilen eylemleri tekrarlama eğilimindedir. Pekiştirmeli öğrenmede temel varsayım, çevde içinde meydana gelen sürecin \textit{Markov Karar Süreci} olarak kabul edilmesidir. Markov karar süreçlerinde, sürecin durumunun yalnızca en son durum ve eyleme bağlı olduğu \textit{Markov Özelliği}'ne sahiptir. Pekiştirmeli öğrenmede teori bu özellik üzerine kurulmuştur. Model bağımsız pekiştirmeli öğrenme algoritmaları \textit{Q-öğrenme} ve \textit{politika optimizasyonu} olmak üzere ikiye ayrılırlar. Şu sıralar insansız hava aracı uçuş kontrolü alanında en başarılı model bağımsız algoritmalar politika optimizasyonudur. Politika gradyan optimizasyonunda temel olarak hedef, amaç fonksiyonunun, yani beklenen kümülatif ödül değerinin, parametrelerdeki değişime göre gradyanı yönünde parametreleri değiştirmektir. Burada amaç fonksiyonun parametrelere göre gradyanı bir \textit{öğrenme oranı} katsayısıyla çarpılarak parametrelere eklenir. Diğer yandan DDPG'deki amaç ise bunulunan durumdan sonsuza kadar yapılacak tüm aksiyonlar karşısında elde edilecek olan ödülleri maksimize etmektir. DDPG algoritmasının Q-öğrenme ile olan benzerliği budur. TRPO algoritmasının temel amacı politika güncellenmesi esnasında, güncellemeyi \textit{Kullback-Liebler (KL)} sapmasını belirli bir katsayıyı aşmayacak şekilde sınırlayarak yapmaktır. Böylece ani ödül artışlarının politikadaki değişimi sınırlanır ve daha stabil bir politika araması sürdürülür. Burada KL sapmasını hesabı karmaşıktır ve algoritmayı yavaşlatan temel etmendir. Bu durumun üstesinden gelmek için PPO-clip algoritması güncellemeleri KL sapmasına göre sınırlamaktansa, önceden belirlenmiş olan bir katsayı ile sınırlar. Bu hem algoritmayı hızlandırır, hem de bir sebepten pratikte daha iyi sonuçlar verir. Literatürde quadcopter kontrol konularında en çok tercih edilen politika optimizasyonu algoritmaları \textit{Derin Deterministik Politika Gradyanı (DDPG)}, \textit{Güvenli Bölge Politika Optimizasyonu (TRPO)} ve \textit{Politika Gradyanı Optimizasyonu}'dur \textit{(PPO)}. Bu algoritmalardan DDPG hem politika optimizasyonu hem de Q-öğrenme algoritmaları arasına girmektedir. Bu algoritmalardan TRPO ve PPO, DDPG'ye göre daha başarı olmuştur. PPO, TRPO'nun daha basitleştirilmiş halidir ve pratik olarak da TRPO'dan daha iyi sonuç vermektedir. PPO'nun iki versiyonu bulunmaktadır: \textit{PPO-clip} ve \textit{Uyarlanabilir KL Ceza Katsayılı PPO}. PPO-clip uygulaması ve anlaması daha kolay olmasının yanısıra, daha da başarılıdır. Bu sebeple bu tezde pekiştirmeli öğrenme algoritması olarak PPO seçilmiştir. Pekiştirmeli öğrenme tabanlı kontrolcüyü eğitmek için gerçek bir ortam veya simülasyon ortamı gerekmektedir. Gerçek bir ortamda deneme yanılma ile bir sistemi öğrenmek neredeyse imkansız olduğundan simülasyon ortamı tercih edilir. Pekiştirmeli öğrenme eğitiminde en çok tercih edilen simulasyon ortamı Gym kütüphanesidir. Gym kütüphanesi çeşitli süreçlere ve kullanışlı fonksiyonlara sahiptir. Fakat Gym kütüphanesi kullanıcılara ne yazık ki quadcopter kontrolüne yönelik bir süreç sunmamaktadır. Öte yandan Gym kullanıcılara kendi ortamlarını kurmaları için olanak sunar. Bu çalışmada Gym'in fonksiyonlarından faydalanabilmek için özel bir ortam oluşturulmuştur. Bu ortamda 3 boyutlu uzayda 6 boyutlu serbestlik değişkenli bir quadcopter \textit{Newton-Euler} denklemleriyle modellenmiştir. Görsellik için 3 boyutlu animasyon oluşturulamamış, sadece \textit{XZ} düzlemini gösteren 2 boyutlu bir animasyon oluşturulmuştur. Özel Gym quadcopter ortamında eğitilen pekiştirme tabanlı kontrolcü farklı durumlar altında askıda kalma ve yörünge takibi senaryolarında 100'er kez test edilmiştir. Bu test sonuçları göstermiştir ki, herhangi bir ek kontrol çevrimi olmadan, model bağımsız, pekiştirmeli öğrenme tabanlı bir sinir ağının bir quadcopteri kontrol edebilir ve geleneksel yöntemlere alternatif olabilir. Bu çalışma altı bölümden oluşmaktadır. Birinci bölümde, quadcopter kontrolü için en son teknoloji pekiştirmeli öğrenme yöntemlerini kullanan çalışmalar karşılaştırılmıştır. Daha sonra PPO'nun başlangıç için en iyi seçim olduğu sonucuna varılmıştır. İkinci bölümde, ilk olarak, bir quadcopter modeli oluşturmak için teorik arka plan verilmektedir. Ardından pekiştirmeli öğrenme ve modelden bağımsız algoritmaların genel bir resmi çizilir. Ardından, örnek bir politika gradyanı metodu, DDPG, TRPO ve PPO'nun iki farklı uygulaması açıklanmıştır. Kolaylık için, metodların algoritmaları gradyan alçalma/yükselme optimizasyonu ile verilmiştir. Üçüncü bölümde Gym kütüphanesinin özellikleri kullanılarak özel bir simülasyon ortamı tasarlanmıştır. Ardından, dördüncü bölümde PPO-clip yöntemi, Adam optimizatörü ile aktör-kritik tabanlı bir sinir ağı olarak kurulur. Daha sonra beşinci bölümde tasarlanan ajan tasarlanan simülasyon ortamında eğitilmektedir. Bu bölümde askıda kalma ve yörünge izleme testlerinin simülasyon sonuçları verilmiştir. Son bölümde ise, çalışmanın sonuçları özetlenmiş ve gelecek çalışmalar tartışılmıştır.
Özet (Çeviri)
Drone control algorithms are usually broken down into several steps. The innermost parts of a drone control algorithm are angle and angular velocity control loops. Whether it is fixed-wing or rotary-wing, these control loops conventionally consist of PID based controllers. Although a PID controller can control these loops successfully, it may not lead the outer loops to desired positions or velocities. An outer loop designed to manage these situations can be done with conventional controller loops. However, these kinds of controllers are heavily model-dependent and often require tuning. Motivated by this situation, the aim of the presented study is to show that reinforcement learning based algorithms can control a quadrotor drone without prior knowledge of the model. The most preferred model-free reinforcement algorithms in the literature are DDPG, TRPO, and PPO. The studies that use state-of-the-art reinforcement learning methods for quadcopter control are compared, and it is concluded that PPO is the best choice to begin with. An actor-critic neural network for PPO-clip, the most successful version of PPO, is built and trained on a custom Gym environment. The environment is a quadrotor model that covers fundamental dynamics. This study is composed of six chapters. In the first chapter, motivation of research and literature review are given. In the second chapter, the theoretical background to construct a quadrotor model is given, and a general picture of reinforcement learning and model-free algorithms is drawn. In the third chapter, a custom simulation environment using the features of Gym library is designed. Then, the neural network based controller is designed, in the fourth chapter. Next, the agent is trained in the custom environment, in the fifth chapter. The simulation results of hovering and trajectory tracking tests are given. In the last chapter, it is concluded that a model-free reinforcement learning-based neural network without any additional control loop can control a quadrotor, and possible future works for this study are discussed.
Benzer Tezler
- Tracking control methodologies for a quadrotor UAV
Dört rotorlu bir İHA için yol takibi kontrol yöntemleri
BORA BAYRAKTAROĞLU
Yüksek Lisans
İngilizce
2017
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiKontrol ve Otomasyon Mühendisliği Ana Bilim Dalı
PROF. DR. MÜJDE GÜZELKAYA
- A model based flight control system design approach for micro aerial vehicles using integrated flight testing and hil simulations
Küçük boyutlu insansız hava araçları üzerinde sistem tanılama, uçuş kontrol sistem tasarımı ve donanım ile benzetim uygulamaları
BURAK YÜKSEK
Doktora
İngilizce
2019
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiMekatronik Mühendisliği Ana Bilim Dalı
PROF. DR. GÖKHAN İNALHAN
- Robust hovering and trajectory tracking control of a quadrotor helicopter using acceleration feedback and a novel disturbance observer
İvme geri bildirimi ve özgün bir bozucu gözlemcisi kullanarak bir quadrotor helikopterin gürbüz havada kalma ve yörünge izleme kontrolü
HAMMAD ZAKI
- Dört pervaneli bir insansız hava aracının takip denetiminde giriş zaman gecikme etkilerinin telafisi
Input time delay compensation in tracking control of a quadrotor UAV
HÜSEYİN YILMAZTEKİN
Yüksek Lisans
Türkçe
2021
Elektrik ve Elektronik MühendisliğiEskişehir Osmangazi ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ SERHAT OBUZ
- Modeling and nonlinear adaptive control of an aerial manipulation system
Bir havada manipulasyon sisteminin modellenmesi ve doğrusal olmayan uyarlamalı denetimi
EMRE YILMAZ