Omgekeerde slinger op een karretje
Een slinger die aan een scharnier hangt is saai: geef hem een duw en hij slingert rustig terug. Zet dezelfde slinger rechtop op een karretje dat alleen zijwaarts kan bewegen, en het wordt hét ultieme meesterwerk van de regeltechniek. Het systeem kan uit zichzelf niet stilstaan. Zonder ingrijpen valt hij om, en hij valt sneller naarmate hij verder gekanteld is. De enige manier om hem rechtop te houden is door het karretje onder de vallende stok te sturen.
Dit maakt het een perfecte casestudy. Vrijwel elk fundamenteel concept uit de klassieke regeltechniek komt hier onverbiddelijk aan het licht: een inherent instabiel systeem, een regelaar die moet anticiperen vóórdat de fout groeit, het vitale verschil tussen reageren op een positiefout en dempen op snelheid, en het effect van hardware-vertragingen.
De fysische opstelling
Een karretje met massa beweegt over een horizontale baan, met viskeuze wrijving . Een staaf met massa is scharnierend bevestigd aan het karretje en kan vrij roteren in het verticale vlak. De stuurkracht wordt horizontaal op het karretje uitgeoefend — dit is ons enige regelbare stuursignaal. De hoek wordt gemeten ten opzichte van de opwaartse verticaal: is perfect rechtopstaand evenwicht, en een positieve betekent dat de stok naar rechts helt.
| Symbool | Betekenis | Waarde |
|---|---|---|
| Massa karretje | ||
| Massa slinger | ||
| Wrijvingscoëfficiënt karretje | ||
| Lengte van scharnier tot zwaartepunt | ||
| Traagheidsmoment slinger om zwaartepunt | ||
| Zwaartekrachtsversnelling |
Bewegingsvergelijkingen
Beschouw het karretje en de slinger afzonderlijk. Noem de horizontale reactiekracht in het scharnierpunt en de verticale kracht .
De tweede wet van Newton voor het karretje alleen langs de baan:
Het zwaartepunt van de slinger bevindt zich horizontaal op (positieve kantelt de slinger naar achteren, richting ). Tweemaal differentiëren naar de tijd geeft de vereiste horizontale kracht op de slinger:
Invullen elimineert en levert de eerste gekoppelde bewegingsvergelijking op:
Voor de rotatie nemen we momenten rond het massamiddelpunt van de slinger:
Twee gekoppelde niet-lineaire vergelijkingen. Let op het teken van de zwaartekrachtterm: naar rechts verplaatst is hij wanneer vanaf omhoog gemeten wordt, dus hij duwt de kant op waarheen al wijst — precies waardoor het systeem omvalt in plaats van terugveert.
Linearisatie rond rechtopstaand evenwicht
Voor kleine hoeken rond geldt: , , en de kwadratische term valt weg:
Laplace-transformatie en elimineren van levert de overdrachtsfunctie van stuurkracht naar slingerhoek:
waarbij de gekoppelde traagheid gelijk is aan:
Met de numerieke waarden geldt en wordt de overdrachtsfunctie:
De open-loop polen liggen op , en . De positieve pool op veroorzaakt de exponentiële wegloper die we met actieve regeling stabiliseren.
Eén positieve pool: elke verstoring, hoe klein ook, groeit als — de hoek verdubbelt ongeveer elke seconde. Dat is geen artefact van het model. Het is de vallende stok, in algebra geschreven.
De hele plant als één state-space-model
De overdrachtsfunctie hierboven beschrijft de hoek, en alleen de hoek. Neem het karretje weer mee en het gelineariseerde systeem heeft vier toestanden — positie en snelheid van het karretje, hoek en hoeksnelheid van de stok — en één ingang:
De polen zijn de drie hierboven plus één extra in : het karretje, dat geen voorkeurspositie heeft. Uitgeschreven wordt de overdrachtsfunctie van de hoek uit dit model
en één valt weg. Daarom was de derde-orde overdrachtsfunctie juist, en daarom kan een regelaar die alleen de hoek ziet het karretje nooit terugbrengen: vanuit gezien is de karpool onzichtbaar.
De karpositie heeft eigen nulpunten, in . Die in het rechterhalfvlak komt later terug.
Zo is het gebouwd in BlockWerk
De plant is één StateSpace-blok. De matrices zijn geen decimalen: elk element is een formule in de variabelen van het schema — mgl(M+m)/q, (I+ml^2)/q — die wordt uitgerekend als het model draait. Beweeg de schuif voor en en volgen; de engine bouwt de matrices van het blok opnieuw op zonder te herstarten. is de eenheidsmatrix, dus het blok heeft vier uitgangen, y_0 tot en met y_3, één per toestand.
De rest hangt aan die uitgangen. De hoek gaat via een Saturation op — de vloer, waar het lineaire model niets van weet — naar de scoop en naar de regelaar die alleen de hoek ziet. Alle vier toestanden gaan naar de versterkingen van de toestandsterugkoppeling.
Het systeem verstoren
Een stap op het setpoint doet voor de hoek niets: het setpoint ís nul — rechtop — en het model begint rechtop. Balanceren is geen volgprobleem. De vraag is _"als iets hem een zet geeft, vangt de regelaar hem dan op?"_ Daarom is de ingang een verstoring op de kracht: een blok van gedurende op — een impuls van — gebouwd uit twee Step-blokken die elkaar opheffen. Zonder regelaar ligt de stok een halve seconde later op de vloer.
Een regelaar die alleen de hoek ziet
De eerste lus is een PID op .
Alleen proportionele actie is een veer. Met liggen de polen van de gesloten lus op : de stok zwaait met en een dempingsfactor van door rechtop heen en blijft zwaaien. Een derde pool op is nog steeds instabiel — langzaam.
Differentiërende actie voert de energie af. Ze reageert op , op hoe snel de stok valt, en duwt dus al terwijl de stok nog bijna rechtop staat. Met is het zwaaien binnen een seconde uitgedempt.
De integrerende term verschuift de laatste trage pool. Zonder is de constante term van de karakteristieke veelterm, , negatief en blijft er een pool op . (de keuze van CTMS) maakt daar van: stabiel op papier, met een tijdconstante van zo'n 80 minuten.
En intussen drijft het karretje weg: een halve meter in vijf seconden, twee meter in twintig — geen keuze van , en verplaatst de pool in .
Toestandsterugkoppeling: het karretje komt terug
Meet alle vier toestanden en koppel elk ervan terug:
Het model gebruikt het LQR-ontwerp van CTMS, dat minimaliseert met :
Daarmee liggen de polen op en . Na de duw piekt de stok op en keert het karretje terug naar het midden. Een setpointstap van op kost ongeveer een seconde, een grootste uitslag van en — en begint met het karretje dat de verkeerde kant op rolt. Dat is het nulpunt op : om de stok naar het doel te laten hellen moet het karretje eerst onder hem vandaan, en toestandsterugkoppeling verplaatst elke pool maar geen nulpunt.
Transportvertraging
Een echte lus heeft vertraging — filtering, bemonstering, een bus, de aandrijving. Knip de lus aan de ingang van het karretje en de lusversterking snijdt bij met fasemarge. Een vertraging laat de amplitude ongemoeid en trekt van de fase af, dus de vertragingsmarge is
Gemeten: verhoogt de grootste uitslag van naar en laat marge over; trilt op het randje; bij valt de stok om.
Om te proberen
- De snelheidsschuif schaalt alle vier LQR-polen met één factor, en de versterkingen worden opnieuw ontworpen voor de plant die de andere schuiven beschrijven. Bij kost een setpointverplaatsing ; bij kost ze en een uitslag van .
- Combineer snelheid met vertraging. De snellere regelaar heeft maar zo'n vertragingsmarge: de stok valt.
- Zet de wind op . De stok blijft rechtop, maar het karretje komt zo'n naast zijn setpoint tot rust: in rust moet de regelaar leveren, en de positieversterking doet dat alleen met een fout, . Integrerende actie op zou die wegwerken.
- Maak groter. Een langere stok valt trager — de instabiele pool schuift naar de oorsprong — en daarom balanceren acrobaten lange stokken, geen korte.
Wat dit model weglaat
Het model is lineair en dus alleen eerlijk rond rechtop: klopt binnen tot ongeveer . Om de stok vanuit hangende stand omhoog te zwaaien is eerst een niet-lineaire regelaar nodig — energieregeling volgens Åström–Furuta drijft naar nul, reinforcement learning is een andere route — waarna een lineaire regelaar zoals deze het vlak bij de top overneemt.
Het karretje rijdt hier op een eindeloze baan, en de motor levert elke gevraagde kracht.
Bronnen
De parameterset (, , , ) en de keuze van dit systeem als uitgewerkt voorbeeld komen uit de Control Tutorials for MATLAB & Simulink (CTMS) van Prof. Dawn Tilbury (University of Michigan) en Prof. Bill Messner (Carnegie Mellon University), gelicentieerd onder CC BY-SA 4.0. De afleiding, de tekst, het blokschema en elk gemeten getal op deze pagina zijn eigen werk, gemaakt met de engine van BlockWerk. We gebruiken .
Zie ook
- StateSpace: de hele plant, vier toestanden, matrices als formules.
- Gain: de vier versterkingen van de toestandsterugkoppeling.
- PIDController: de regelaar die alleen de hoek ziet.
- Delay: de transportvertraging tussen regelaar en karretje.
- Saturation: de vloer op ±90°.
- XYPlot: het faseplot, θ tegen θ̇.
- uPlotDisplay: hoek, karpositie en stuurkracht.