Erről a témáról már többször írtam és említettem, hogy az egész quad témának az egyik legképlékenyebb területe. Sokat olvastam utána, de teljesen nem értettem meg egészen addig, amikor is először végigcsináltam saját magma nulláról a gépem tuningolását. Akkor már sok minden összeállt. Nem mondom, hogy profi vagyok, de talán tudok néhány érthető tanáccsal szolgálni a hasonló gondokkal küzkődőknek.
A PID egy vezérlési logikai mechanizmus, amely bizonyos paraméterek alapján módosítja a visszacsatolási ágakat, ezáltal befolyásolva a vezérlési láncot és lényegében a vezérlő viselkedését (és persze a quadunk repülési tulajdonságát). A Proportinal, Integral és Derivative fogalmak sokaknak (köztük nekem is) nem sokat mondanak néhány elvont matematikai kifejezésen kívül. Lejjebb megpróbálom elmagyarázni, hogy mit is jelentenek ezek.
forrás: blog.oscarliang.net
Először azonban a PID tuningolásról. A PID-eket hatékonyan csak Rate/Acro/Manual módban tudjuk tuningolni. Aki még nem érzi magát biztosnak ebben a módban, az inkább használja a CleanFlight – egyébként egész jó – alapbeállításait, vagy keressen a neten egy a sajátjához hasonló konfigurációhoz tartozó beállítást és egyelőre használja azt.
Hozzáteszem, nem kell tudni profin Rate módban repülni, elég, ha egy nagyobb területen (réten, placcon) viszonylag kordában tudjuk tartani a gépet. Nem kell kanyarodni, trükközni, elég nagyjából egy helyben tartani, kisebb ide-oda mozgásokat végezni vele.
A CC3D-OpenPilothoz van egy kezdők számára is elég jól használható metódus, arról korábban már írtam. A CleanFlight esetébene is van egy AutoTune névre hallgató kísérleti funkció, de amit olvastam róla, az alapján tényleg csak a nagyon bátrak próbálják ki és ők is csak valami kihalt helyen, saját felelősségre.
Mit csinál a P-I-D?
A dolog lényege nem olyan bonyolult. A legfontosabb, hogy a következőket megértsük.
P: azt adja meg, hogy a vezérlő milyen agresszívan próbálja elérni azt a szöget/irányt, amit távirányítóval megadtunk neki.
I: azt adja meg, hogy milyen erősen, szilárdan tartsa a beállított szöget/irányt/állást
D: ellentételezőként működik elsősorban a P-vel szemben. Kicsit úgy, mint bejárati ajtókon a hidraulika, ami nem engedi, hogy az ajtó nagy erővel visszacsapódjon, vagy hirtelen meg lehessen rántani, hanem kicsit ellentart, hogy finom legyen a mozgás.
CleanFlight PID Controllerrek
A CleanFlight Configuratorban a PID beállításoknál több PID Controller, azaz PID vezérlési logika között választhatunk. A legelterjedtebb az 1-es és 2-es PID Controller alkalmazása. Ha fogalmad sincs, hogy most miről beszélek, akkor válaszd ki a PID Controller 1 (Multiwii - Rewrite) beállítást a legördülő menüből.
Ezt a Controllert azért is szereték, mert egy viszonylag széles beállítási tartományban is abszolút repülhető, kezelhető a gép vele. Ráadásul az alapbeállításai is elég jók a legtöbb Mini H Quad számára.
PID tuningolás a gyakorlatban
A tuningolás megkezdése előtt még a Rate értékeket is érdemes megnézni. A RC Rate, azaz a külön állítható Pitch/Roll/Yaw Rate-ek finomhangolása is befolyásolja a repülési élményt és a gép irányíthatóságát. Megint csak azt mondom, ha nem ismerősek ezek a fogalmak, hagyjuk őket alapbeállításon, abból még nem lett baj.
Ha fentieket megértettük, akkor következhet a gyakrolati alkalmazás.
Valamilyen PID állítási metódust kell választanunk az alábbiak közül:
- Számítógép csatlakoztatása USB-n, vagy Bluetooth modulon keresztül és konfigurátoron keresztüli állítás. Jól átlátható, de lassú, macerás.
- A CleanFlight Configurator Adjustments fülében a távvezérlő kapcsolóit felkonfiguráljuk, hogy azokkal tudjuk akár menet közben állítani a PID értékeket. Ez egy elég jó megoldás, a gond csak az, hogy állítgatás közben nem látjuk az aktuális értékeket.
- MinimOSD-n keresztül az FPV monitoron látva az értékeket a távvezérlő joystickjaival tudjuk az értékekt állítnai. Nekem ez az abszolut kedvencem. A megvalósításról majd később írok még egy bejegyzést.
1. Első lépésben nullázuk le a Roll/Pitch/Yaw I és D értékeket. A P értékeket vegyük relatív alacsonyra (mondjuk 3-3-6 érétkekre) Figyelem, így a quad eléggé vándorolni fog, kenődős lesz a mozgás, szóval folyamatosan korrigálni kell és ezért is kell neki egy méretes terület. Ha nagyon nem bírunk vele, akkor az I értéekekt feljebb vehetjük nulláról, de továbbra is csak egy alacsony értékre.
2. Kezdjük el az egyik (Pitch vagy Roll) P értéket növelni. Repülés közben váltogassuk az irányokat az adott tengely mentén ide-oda. Néha adjunk neki egy gázfröccsöt. Észrevesszük, hogy a gép egyre határozottabban, agresszívebben reagál. Eljön az a pont, amikor az irányváltásoknál, illetve a gázadásoknál elkezd oszcillálni. Ezt először a motorok hangján, majd a gép mozgásán is látjuk. Ezt a pontot keressük. Egyes leírások szerint a hirtelen váltás utáni 2-3 rezgés elfogadható, mások azt mondják, egy kicsit innen vegyük vissza a P-t, kb. 10-20%-nyit, de van aki egyenesen 40-50% korrekciót javasol (attól a ponttól, amikor már folyamatos az oszcilláció). Én a 10-20%-ot egészségesnek tartom, ami egyébként kb. az lesz, mint amikor nagyon hirtelen váltásnál egy-két oszcilláció bejön, de aztán el is tűnik.
Ha az egyik tengellyel megvagyunk, jöhet a másik (Roll vagy Pitch) a feladat ugyanaz.
3. Ha a P értékeket fentiek szerint belőttük, jöhet az I érték. Szintén tengelyenként kezdjük el növelni az I értéket. Érezzük, hogy az adott tengelyen kezd megszűnni a bizonytalanság, a gép egyre stabilabban tartja a beállított szöget. Növeljük, amíg nem tapasztalunk rendellenességet. Mikor túl magas az I? Itt is jelentkezhet oszcilláció de alacsonyabb frekvencián. Valamint egy nagyobb gáz után, ha vissza vesszük mondjuk 30%-ra és engedjük lefelé jönni a gépet, akkor elkezd imbolyogni, beremegni. Ha ezt látjuk menjünk vissza 10-20%-ot és jók vagyunk.
Itt is jöhet a másik tengely és már jók vagyunk.
4. Most jön a D érték. A D érték növelése kompenzálni fogja azt az esetlegesen még meglévő rezgést, amit a P érték beállítása után a hirtelen mozudlatoknál még láthattunk. Ha felhúzzuk a D-t, akkor a quadnak határozottan be kell állnia az irányba és a hirtelen váltás után mindenféle rezgés, hezitálás nélkül azonnnal át kell állnia a másik irányba, ugyanilyen határozottan. A D interakcióban van a P-vel, így előfordulhat, hogy kicsit újra a P-hez is hozzá kell nyúlnunk, hogy a megfelelő egyensúlyt megtaláljuk. Ha a D túl magas, akkor a gép lomha lesz, hezitálva követi az utasításokat, furcsán repül.
5. Ha a Roll és Pitch tengelyek P, I és D beállításavail megvagyunk, akkor a jó hír, hogy már sokkal stabilabban repül a gép, jóval könnyebb lesz a tuningolás folytatása. Most már csak a Yaw tengely van vissza. Itt is a P érték növelésével kezdünk és mindaddig növeljük, amíg nem tapasztaljuk, hogy hirtelen 180, illetve 360 fokos fordulók után a gép megugrik, nem tartja a magasságt, esetleg berezonál. Ha elérjük ezt a pontot, akkor szokás szerint 10-20% vissza és jók vagyunk. Jöhet tehát az I érték. Itt egy javaslat szerint átlós iráníú repülés közben figyeljük, hogy a gép elfordul-e picit a Yaw tengely mentén. Ha igen, azaz nem tartja az irányt, növeljük az I-t, egészen addig, amíg már szépen tartja a Yaw szöget. Végül jühet a D. D-nél nem szoktak nagy értéket megadni a Yaw esetében 2-5 között számokat láttam. Ez is a P értékből esetlegesen még megmaradó kis ugráls kompenzálására kellhet.
Végül, nincs már hátra, mint elkezdeni repülni. A valós repülés közben még kijöhetnek aprób hibák, rezgések, megugrások, túlkompenzációk, amik az értéket finomhangolását igényelhetik, de jó eséllyel ezen beállítások után egy nagyon jól repülhető kis gépünk lesz.
Én azt tapasztaltam, hogy a gyári beállításokhoz képest sokkal szilárdabb lett a gép, sokkal pontosabbak lettek a kormánymozdulatok és jobban megy a repülés.
Az igazi "nagykirályok" a CleanFlight BlackBox funkcióját használva nézegetik a PID értékek grafikonjait és abból igyekeznek kibogozni, hogy mit kellene még hangolni. Ez már egy elég haladó szint, ahova én is csak sokára fogok megérkezni.
Remélem azért segíthettem. Kérdéseket és kommenteket szívesen látok. Jó repkedést!
Használt források:
http://blog.oscarliang.net/understanding-pid-for-quadcopter-rc-flight/
http://myfirstdrone.com/tutorials/how-to-tune-a-quadcopter/
http://blog.oscarliang.net/quadcopter-pid-explained-tuning/
Tipikus Quad viselkedési formákat demonstráló videó: https://www.youtube.com/watch?v=YNzqTGEl2xQ