Stap 13: Feedback controle
1. storingen zoals wind- en niet-idealities zoals de verschillen in de motoren, propellers ertoe leiden dat de dynamiek van de levensechte luidruchtig en variabele. Directe opdracht toewijzing niet neem deze in aanmerking, en onze geest, ogen en handen zou niet snel genoeg te reageren op deze in real time, vooral op een kleine quadrotor.
2. Wij willen het quadrotor tot een zekere mate van "autonomie". Met name, zou het mooi zijn als de quadrotor zelf kon herverdeelt, terug te keren naar bijna horizontale wanneer wij bevelen nul pitch, roll, en yaw. Met directe toewijzing, wij zijn commandant van de quadrotor om te draaien, maar het niet weten terug te keren naar horizontale wanneer we klaar bent.
Dit is waar de controle van de feedback in komt. Ondanks haar complexe wiskundige notaties is het concept van de controle van de feedback eenvoudig. Imagine wassen van uw handen in een gootsteen die u nooit eerder hebt gebruikt. Sommige midden positie stelt u de knop van de kraan. Als het water te koud is, draai je het omhoog. Als het water te warm, dan zet je hem neer. Hoeveel u zwenking op omhoog of omlaag, hangt af van hoe warm of koud het naar uw eigen smaak wordt vergeleken. Als het water koud begint, maar vervolgens snel heats up, u kan preventief draai de knop terug naar beneden te voorkomen dat deze overschrijding en branden je handen. Al die begrippen wiskundig worden geformaliseerd in feedback controle.
De controle van de feedback op een Quadrotor:
Een gemeenschappelijke structuur voor de controle van de feedback heet PID (evenredige-integraal-derivaat) controle. Het ding om te worden gecontroleerd is in dit geval de hoek (pitch, roll of yaw hoek) van de quadrotor. Dit is analoog aan de temperatuur van het water in de gootsteen. Met geen input opdrachten proberen we om de hoek te nul. Echter kunnen wij ook een niet-nulzijnde hoek te maken van de quadrotor verplaatsen bevelen. De opdrachten die we de motoren verzenden zijn gebaseerd op de fout tussen de hoek die wij willen en de hoek die we hebben, zoals gemeten door de IMU.
- Proportionele (P): de opdracht is evenredig aan hoeveel hoekige fout die we hebben. Het helpt de quadrotor terug te keren naar nul hoek, of duw het aan welke hoek je commando.
-Integraal (I): De opdracht is evenredig met de geaccumuleerde fout na verloop van tijd. Het kan helpen bij de bestrijding van verstoringen zoals wind of asymmetrische motor prestaties. Ik gebruik dit niet op mijn quad, hoewel ik tijdelijke code voor het in de Arduino project verliet.
- Derivaat (D): de opdracht is evenredig aan de mate van verandering van de fout *. Het verzet zich tegen de beweging en het houdt de hoek uit de overschrijding van het doel.
Massa-veer-demper analogie:
De effecten van PD controle (geen integraal term) op een quadrotor zijn vergelijkbaar met het toevoegen van een virtuele lente en virtuele demper (schokdemper) aan de quadrotor, die is de massa. Zie de eerste afbeelding voor een grafische afbeelding van dit. De stijfheid van de lente is ingesteld door een constante, Kp, de "proportioneel gain". De demping tarief wordt ingesteld door een andere constante, Kd, de "afgeleide gain". De gewenste hoek, θr, definieert de hoek waarin de veren zijn gelijkmatig uitgerekt. Stel de bronnen aansluiten met een beweegbare plank, en draaien de plank bevel van de quadrotor naar een bepaalde hoek.
-Verhoging van de Kp duwt de quadrotor richting van de referentie-hoek sneller, maar kan ook leiden tot meer overschrijding en trilling.
-Verhoging van de Kd vertraagt de snelheid van de rotatie van de quadrotor, maar kunnen ook vocht uit oscillaties.
Merk op dat de winst kunnen worden verhoogd tot een punt waar dit model afbreekt. Als Kp, Kd, of beide te hoog, zal de controller beginnen sturen van lawaai, leidt tot oscillaties en instabiliteit. Deze oscillaties neigen te zijn op een snellere frequentie dan de trillingen die vanaf een hoge Kpworden gezien:Kd verhouding. Als u snel oscillaties ziet, is het beste ding om te doen beide winsten afslaan.
Afstemmen van de winsten neemt praktijk en ervaring, en is afhankelijk van uw exacte frame en vliegende voorkeur. Een echt goede gids voor PID tuning voor multirotors, met video met een voorbeeld om te laten zien van de verschillende soorten oscillaties, vindt u hier. Hopelijk helpt de lente/demper analogie je nadenken over de winsten intuïtief.
* Eigenlijk, in de praktijk is het soms eenvoudiger in het gebruik van de gemeten snelheid van de rotatie direct, in plaats van proberen te meten van de mate van verandering van de fout. De fout bestaat alleen in de software en informatica dat de afgeleide van het luidruchtig kan zijn. Praktisch gesproken, met behulp van de gemeten snelheid van de rotatie direct vanuit de gyro werkt prima. Om het toe te wijzen aan dit de massa-veer-demper-analogie, zijn de dempers verbonden aan grond (nul hoek) in plaats van op de plank. In deze configuratie, verzetten zij zich tegen alle rotatie, zelfs gebood rotatie.
Pitch, Roll en Yaw Controllers:
De quadrotor heeft eigenlijk drie onafhankelijke feedback-controllers, die telkens slechts op pitch, roll, en yaw. Gasklep is rechtstreeks toegewezen aan alle vier motoren zonder controle van de feedback in deze quadrotor. Met een hoogte sensor, kan een vierde feedback-controller worden toegevoegd.
De pitch en roll controllers zijn PD-controllers die match precies met de eerste afbeelding. Voor zover de quadrotor symmetrisch is, moeten de pitch en roll winsten gelden. De output van de evenredige en de afgeleide winsten zijn samen opgeteld en verzonden naar de motoren via de matrix van de opdracht in de vorige stap. De tweede afbeelding toont u de PD pitch en roll controllers in blok schematisch. De variabelen zijn:
Kp - proportionele winst
Kd - afgeleide winst
Θr - opdracht verwijzing/hoek
Θ - gemeten hoek vanaf de IMU
Ω - gemeten snelheid van de rotatie van de IMU.
y - de opdracht uitvoer.
De controller yaw is alleen gebaseerd op het tarief, zodat het niet precies overeenkomt met de beelden. De fout is alleen het verschil tussen de bevolen yaw koers en de koers van de gemeten yaw uit de IMU. De magnetometer in de IMU kan worden gebruikt voor het meten van absolute yaw hoek ter uitvoering van een volledige PD-controller, maar ik heb dit nog niet geprobeerd.