Stap 11: Het besturingselement deel van de controller.
Evenredig. Dit is een corrigerende actie die proportioneel wordt aangepast aan de hoek. Als de stok naar voren tweemaal leunt zo ver, de corrigerende actie is twee keer zo groot. Dit is hetzelfde als de "lente constante" van het systeem, een herstel kracht toe te passen naarmate de stok uit de buurt van verticaal.
Derivaat. Dit is een corrigerende actie die proportioneel wordt aangepast aan de afgeleide van de hoek of de hoekige tarief. Indien de stick twee keer zo snel daalt is, is de corrigerende actie twee keer zo groot. Dit is hetzelfde als de "demping constante" van het systeem, een kracht die rotatie in beide richtingen weerstaat.
Samen vormt dit een massa-veer-demper systeem, behalve met virtuele veren en dempers. De relatieve voorjaar constante en demping constante beïnvloeden hoeveel het systeem zoals het corrigeert voor hoekige verplaatsing oscilleert. Eenvoudig, juist? Hier is de code:
uitvoer += hoek * KP + tarief * KD;
Yep, eenvoudige. uitvoer is de opdracht moet worden toegezonden aan de motoren. KP en KD zijn getweaked totdat het evenwicht (of gaat volledig unstable gaat). Een subtiliteit hier is dat de uitvoer opdracht opgehoogde door de output van de waarde door de PD-controller. Dus, als de hoek is gehouden op een verschuiving van de verticale, de motor opdracht zal blijven toenemen. Het is zoals het toevoegen van een extra integraal aan het systeem, zoals in het onderstaande blokdiagram wordt weergegeven.
Meestal in feedback diagrammen, het feedback-pad heeft een minteken, maar hangt het werkelijk af van de manier waarop die de motoren zijn ingesteld. Het kiezen van het teken voor uitvoer kan ofwel gebeuren in software (-= in plaats van +=) of hardware door het alleen omwisselen de motor leads. Als beide wielen de verkeerde manier verplaatsen in reactie op de hoek start, kunt u het teken spiegelen. Als één wiel de verkeerde manier verplaatsen begint, kunt u gewoon ruilen zijn motor leidt.