Quadcopter orientációszabályzó tervezése
A Quadcopter projekt a tavalyi évben elhatározta, hogy a bolti copter átalakítása mellet megkezdi egy teljesen saját fejlesztésű quadcopter építését.
A szükséges alkatrészek (motorok, motorvezérlők, akkumulátor) ez év első felében kerültek beszerzésre, ezután külső segítséggel terveztünk egy egyedi vázat, majd nekikezdtünk a repülésvezérlő fejlesztésének. Ennek alapja egy STM32 Nucleo fejlesztőkártya, melyhez kiegészítő áramkörként csatlakoztattuk egy saját fejlesztésű shield-et. Ez tartalmazza a szükséges szenzorokat, a tápszűrést és a csatlakozási pontokat. A mikrokontrolleren futó vezérlőprogram része a szabályzási algoritmus, ez a cikk ennek a működését tárgyalja.
A szabályzóalgoritmus feladata a quadcopter kívánt orientációban való tartása. A szabályzó tervezését nehezíti, hogy a szabályzandó rendszer erősen instabil és nemlineáris. Az algoritmus választása során a piacon található kész megoldásokból indultunk ki, így esett a választásunk egy kaszkád PID struktúrára. Szakaszunkat a három orientációtengelye mentén kívánjuk szabályozni, ezen tengelyek elnevezése a merevszárnyú repülőktől öröklődik: pitch (előre-hátra dőlés), roll (oldalirányú dőlés) és yaw (függőleges tengelyű elfordulás). Ezen tengelyek egymástól függetlenek, így a szabályzó is szétbontható három, teljesen független komponensre. A pitch és roll tengelyek esetében az általános használat során az előírt alapjel a kívánt szög, azaz hogy mennyire térjen el a vízszintestől a quadcopter. Ezzel ellentétben a yaw tengelyen a kívánt szögsebességet írjuk elő, ennek értelmében amennyiben az alapjel nulla, akkor az aktuális szög tartása a cél.
A fent leírtak alapján a roll és pitch szabályzók felépítése teljesen megegyezik, ennek blokkdiagramja az alábbi ábrán látható:
A struktúra alapja, hogy a beavatkozójelünk a motorok fordulatszámával arányos, ami a quadcopter pitch és roll irányú szöggyorsulásával arányos. Az alapjelünk a kívánt szög, ami természetesen a szöggyorsulás kétszeres integrálja. Az IMU (Inertial Measurement Unit) méri mind az aktuális szöget, mind az aktuális szöggyorsulást. A szabályzó két hurokból épül fel, a külső hurkot szögszabályzónak, a belsőt pedig szögsebesség-szabályzónak fogom nevezni a cikkben. A szögszabályzó feladata a belső hurok alapjelének előállítása. Ez egy egyszerű P szabályzó, a kimenete így az előírt és az aktuális szög különbsége. Ennek értelmében minél nagyobb ezen két érték különbsége, azaz minél távolabb van a quadcopter a kívánt orientációtól, annál nagyobb szögsebességgel szeretnénk kompenzálni a hibát, majd ahogy a különbség a nullához tart, úgy a kívánt szögsebesség értéke is. Ezáltal az alapjel által előírt szöghöz közeledve finoman lelassul a rendszer. A szögsebesség-szabályzó már PID algoritmust valósít meg, ez a külső hurok által előírt szögsebességet igyekszik érvényre juttatni. Fontos, hogy a külső hurok frissítési frekvenciája elég lassú legyen ahhoz, hogy a szögsebesség-szabályzónak legyen ideje kifejteni a hatását. A yaw szabályzó felépítése ennél egyszerűbb, mivel ebben az esetben az alapjel a szögsebesség, így csak a belső hurok került implementálásra. A stabilitás érdekében további kiegészítések is belekerültek a szabályzóba, mint például a bemeneti jelváltozási sebesség limitálása, vagy a nemlineáris viselkedés kompenzálása érdekében a P szabályzó mellett egy négyzetgyökszabályzó alkalmazása.
Nagy kihívás volt a szabályzó biztonságos tesztelése is, ugyanis a nagy fordulatszámmal forgó rotorok komoly veszélyt jelentettek a quadcopter környezetére, és a szabályzó paramétereinek változtatásával könnyen instabillá vállt a rendszer. Így a fejlesztés során több lépcsőben történt a tesztelés, míg megbizonyosodtunk, hogy a szabályzó kellően stabil a szabad repüléshez. Jelenleg a tesztelés utolsó fázisa zajlik. Eddigi eredményeink alapján a szabályzóstruktúrával sikerült elég megbízható és stabil működést elérni, annak ellenére, hogy egészen egyszerű, lineáris rendszerekre tervezett szabályzót alkalmaztunk. Reményeink szerint a copter hamarosan képes lesz hosszabb repülések végrehajtására is, amennyiben továbbra is megfelelő eredményeket kapunk nekilátunk a pozíció és magasságszabályzó tervezésének. Hosszútávú tervünk a teljesen autonóm repülés, és az önálló feladat-végrehajtás kivitelezése. Ha cikkünk felkeltette érdeklődésedet, várunk a csapatunkba!