Onderrig van PID-beheer aan hoërskool-robotikaspanne sonder calculus

Jy het nie differensiaalvergelykings nodig om PID-beheer te onderrig nie; jy benodig slegs drie intuïtiewe idees: hoe ver jy van die teiken af is, hoe lank jy dit al mis, en hoe vinnig jy dit nader.
Jy het nie calculus nodig om PID-beheer aan hoërskoolleerders te leer nie. 'n PID-beheerder is bloot 'n formule wat bepaal hoe hard 'n motor moet druk op grond van drie intuïtiewe vrae: Hoe ver is ons tans van die mikpunt af? Hoe lank sit ons al van die teiken af vas? En hoe vinnig nader ons dit?
Wanneer FIRST Tech Challenge (FTC)-spanne of hoërskool-robotikaleerders PID-beheer in dokumentasie teëkom, word hulle dikwels gekonfronteer met integraal- en afgeleide-simbole wat enigiemand afskrik wat nie gevorderde hoërskoolwiskunde voltooi het nie. In die praktyk los kode wat op 'n robot loop nie kontinue differensiaalvergelykings op nie. Dit voer basiese rekenkunde een keer elke paar millisekondes uit. Sodra leerders die fisiese rolle van P, I en D verstaan, kan hulle beheerlusse betroubaar skryf, instel en ontfout.
Die kernidee: Fout
Elke beheerlus bestaan om een getal te minimeer: fout.
Fout is eenvoudig Teiken - Huidige Posisie. As 'n robotarm op 20 grade is en op 90 grade moet wees, is die fout +70. As 'n vliegwiel teen 2 000 RPM moet draai maar teen 2 100 RPM draai, is die fout -100. Elke term in PID neem hierdie foutwaarde en skakel dit om in motorkrag.
1. Proporsioneel (P): Die hede
Die proporsionele term werk soos 'n eenvoudige rek. Hoe verder jy van jou teiken af is, hoe harder trek dit.
As jy 'n motor bestuur en vyf meter links van die middel van jou baan wegdryf, maak jy 'n groot stuurkorreksie na regs. As jy net twee sentimeter van die middel af is, maak jy 'n baie klein aanpassing. Wiskundig in kode is dit bloot kP * error.
Waar P op sy eie misluk:
- Oorskiet en ossillasie: As
kPte hoog is, versnel die robot so aggressief na die teiken dat momentum dit verby die mikpunt dra. Dit trek dan hard in trurat, skiet weer verby, en ossilleer heftig heen en weer. - Gestadigde toestand-fout: As
kPte laag is, word die motorkrag so klein soos wat die fout krimp dat dit nie fisiese wrywing of gravitasie kan oorkom nie. 'n Hysermeganisme wat 'n 500-gram-gryper oplig, sal bloot 'n paar sentimeter onder die teiken stop omdat die motorkrag gravitasie balanseer en daar stol.
2. Afgeleide (D): Die toekoms (Die remme)
Die afgeleide term kyk na hoe vinnig die fout van een lussiklus na die volgende verander. Sy taak is om soos 'n skokbreker of rem op te tree.
Dink daaraan om 'n motor in 'n motorhuis te parkeer. As die muur tien meter ver is, trap jy die versneller. Maar as jy sien die muur nader vinnig, wag jy nie totdat die buffer een sentimeter van die bakstene af is om te rem nie — jy rem op grond van jou naderingspoed.
In kode is derivative = (current_error - previous_error) / time_elapsed. Wanneer die robot vinnig na sy teiken beweeg, neem die fout vinnig af, wat die afgeleide term negatief maak en krag van die motor aftrek voordat dit oorskiet. D demp ossillasies en stel jou in staat om 'n hoër P-versterking te gebruik sonder om die robot stukkend te skud.
3. Integraal (I): Die verlede (Die geheue)
Die integraalterm tel volgehoue fout oor tyd bymekaar. As 'n robot vir etlike sekondes effens van die teiken af sit, groei die integraalsom totdat dit die motors genoeg ekstra stootkrag gee om wrywing of gravitasie te oorkom.
Stel jou voor jy stoot 'n trollie teen 'n helling op. Jy stoot (P), maar gravitasie keer jou net voor die kruin. As jy vyf sekondes lank daar staan sonder om die bo-punt te bereik, sê die integraalterm in wese: "Ons sit al te lank hier vas; voeg meer krag by totdat ons oor die rant is."
Die haakplek: Integraal is gevaarlik as dit swak bestuur word. As 'n arm fisies vassit, sal die integraalsom tot oneindigheid opbou ('n verskynsel genaamd "integral windup"). Wanneer die blokkasie opklaar, sal die motor geweldig hard teen die meganiese stoppunte vasstoot. In FTC en skoolrobotika behoort Integraal begrens te word met 'n akkumulatorlimiet, of slegs binne 'n nou foutvenster gebruik te word.
'n 4-stap instelroetine vir die werkswinkel
Moenie al drie getalle gelyk raai nie. Laat jou leerders 'n herhaalbare instelvolgorde op 'n volgelaaide battery volg (spanningsveranderinge beïnvloed motorreaksie):
| Stap | Aksie | Teikengedrag | Tekens dat dit verkeerd is |
|---|---|---|---|
| 1. Stel alle versterkings op 0 | kP = 0, kI = 0, kD = 0 | Motors doen niks. | — |
| 2. Verhoog kP | Verhoog kP stelselmatig totdat die meganisme die teiken vinnig bereik. | Bereik die teiken met 'n klein, konsekwente bons of ossillasie om die instelpunt. | Heftige skudding beteken kP is te hoog; as dit glad nie beweeg nie, is dit te laag. |
| 3. Voeg kD by | Verhoog kD geleidelik totdat die bons uitgeskakel is. | Meganisme sluit vinnig in posisie in en stop skoon sonder om te ossilleer. | Hoëfrekwensie-geklapper of -gegons beteken kD is te hoog (versterk sensorruis). |
| 4. Voeg kI by (Slegs indien nodig) | Voeg 'n baie klein kI by as die meganisme weens wrywing 1–2 mm voor die teiken stop. | Finale gestadigde rusfout daal na nul. | Stadige, golfagtige ossillasie (pendeling) beteken kI is te hoog. |
Algemene slaggate by leerder-robotte
- Sensorruis: Optiese enkodeerders op FTC-aandrywings is gewoonlik akkuraat en skoon, maar los meganiese speling sal die afgeleide term verwar. As die ratkas speling het, sal D op meganiese speling reageer eerder as werklike beweging.
- Lustyd-veranderlikheid: As jou span se kode beeldverwerking in die agtergrond op 'n enkele draad uitvoer, kan die lustyd onvoorspelbaar van 10 ms na 80 ms spring, wat standaard PID-berekeninge ontwrig. Hou beheerlusse geïsoleer en vaartbelyn.
- Vliegwiele teenoor arms: Snelheidsbeheer (vliegwiele) tree anders op as posisiebeheer (arms). Snelheidslusse benodig selde D omdat die stelsel se momentum reeds as 'n laedeurlaatfilter dien; hulle werk die beste met 'n basislyn-voorwaartskoppelingsterm (feedforward, kV) plus 'n beskeie P en I.
Vir spanne wat na streekskompetisies toe werk, is die bemeestering van geslotelusbeheer dít wat wisselvallige meganismes onderskei van outonome roetines wat konsekwent in elke wedstryd punte aanteken. As jou span voorberei vir die plaaslike kompetisiereeks en gestruktureerde tegniese leiding oor dryfstelsel-kinematika en sensorintegrasie verlang, verken ons FTC-robotikaprogramme vir praktiese afrigtingsraamwerke.



