Ohjausjärjestelmien vakaus on olennaisen tärkeää kaiken turvallisen ja tehokkaan toiminnan kannalta teollisuusroboteista autonomisiin ajoneuvoihin. Kaksi toisiinsa liittyvää muuttujaa, jotka vaikuttavat ratkaisevasti tähän vakauteen, ovat controller-näytteenottonopeus ja laskentaviive. Vaikka niitä tarkastellaan usein erikseen, niiden yhdistetty vaikutus voi tehdä eron hyvin vaurioituneen vasteen ja katastrofaalisen värähtelyn välillä. Tässä artikkelissa tarkastellaan perusteellisesti, miten näytteenottonopeus ja viive vaikuttavat järjestelmän vakauteen, ja tarjotaan käytännön ohjausta reaaliaikaisten ohjausjärjestelmien suunnittelulle.

Digitaalisen ohjauksen näytteenottonopeuden perusteet

Kaikissa digitaalisissa ohjausjärjestelmissä ohjain lukee anturin mittauksia, laskee ohjaustoiminnon ja tuottaa komennon erillisin väliajoin. Näiden päivitysten taajuus on [-kontrollerin näytteenottonopeus[], tyypillisesti Hertz (Hz) -muodossa tai näyteajana []T[[]][[[]]] (sekuntia näytettä kohti). Näytetaajuus määrää, kuinka usein ohjain voi reagoida prosessiin liittyviin muutoksiin. Suurempi näytteenottonopeus yleensä mahdollistaa ohjaimen nopeamman dynamiikan ja häiriöiden poistamisen tehokkaammin.

Nyquist-Shannon-näytteenottoteoreema

Näytetaajuuden perusrajoite on Nyquist-Shannonin näytteenottolause[: jatkuvan signaalin tarkan rekonstruoinnin varmistamiseksi näytteenottotaajuuden on oltava vähintään kaksinkertainen signaalin suurimpaan taajuuskomponenttiin nähden. Valvontajärjestelmissä tämä tarkoittaa, että näytteenottotaajuuden on oltava yli kaksinkertainen järjestelmän suljetun kaistanleveyden kanssa. Tämän kynnyksen alittaminen johtaa peitentämiseen, jossa suurtaajuussignaalit naamioituvat matalataajuisiksi häiriöiksi, heikentäväksi vakaudelle ja suorituskykylle. Ohjausjärjestelmissä näytteenottotaajuudeksi asetetaan yleensä 10-20 kertaa korkeampi kuin haluttu suljetun kaistanleveys.

Nyquist-kriteeriin sukeltaminen edellyttää -viittausta Wikipedia-artikkeliin Nyquist.Shannon-näytteenottolauseesta.

Laskuviive: lähteet ja mittaus

Laskuviive, jota kutsutaan usein syöttö-tuotos latenssiksi tai kuolleeksi ajaksi, on aika, joka kuluu siitä, kun anturin mittaus otetaan näyte, kunnes vastaava ohjaustehoste on käytössä. Viive syntyy useista lähteistä:

  • Anturin hankinta- ja konversioviive:[] Aika digitoida analogiset sensorisignaalit (ADC-muunnos).
  • Viestinnän viive:[] Bussien (CAN, Ethernet, SPI) tai langattomien yhteyksien viivästyminen.
  • Prosessorin laskenta-aika:[ Ohjausalgoritmien, suodatuksen ja logiikan suoritusaika.
  • Output conversion require:[] Digital-to-analoginen (DAC) settlement time or an toimilaite ajuriviiveet.

Laskemisen viivästyminen ilmaistaan usein murto-osana näyteajasta T[s[]. Monissa reaaliaikaisissa täytäntöönpanoissa kokonaisviivästyksen oletetaan olevan yksi näytejakso (tai vähemmän), mutta käytännössä se voi vaihdella prosessorikuorman, keskeytyksen käsittelyn ja aikataulujen jätteen kanssa.

Vaikutus vaihemarginaaliin

Viivästys tuo signaalin taajuuteen suhteutetun vaiheen viiveen. Yksinkertaisen aikaviiveen τ[], vaiheen viiveen taajuus [ω[]] on [[]]φ[[[]]] = −[[]ωτ[ radiaaneja. Ohjaussilmukka, tämä ylimääräinen vaiheviive vähentää vaiheen marginaalia, avainvakausmittari. Alle 30 asteen vaihemarginaali johtaa usein heikosti vaimeaan tai oskilloituvaan vasteeseen. Koska viive on moninkertainen taajuuden kanssa, jopa pienet viiveet voivat muuttua epävakaaksi suurilla silmukkakaistanleveydeillä.

Näytteiden määrän vuorovaikutus ja stabiilisuuden viivästyminen

Näytenopeus ja laskentaviive eivät ole riippumattomia. Näytemäärän lisääminen (vähentäminen ]T[[]s[[]]) yleensä vähentää näytteen viivettä, mutta saattaa lisätä laskentakuormitusta, mahdollisesti pidentää kokonaisviivästystä absoluuttisessa ajassa. Toisaalta näytteenottonopeuden alentaminen vähentää laskentataakkaa, mutta lisää mittausten ja kontrollitoimien välistä latenssia, mikä heikentää reagointikykyä.

Erillisestä aikaohjauksesta järjestelmän käyttäytymistä analysoidaan käyttämällä [z-transform]- ja -root locus[ -tekniikoita. Suljetut pylväät liikkuvat sekä näyteajalla että viiveellä. Nyrkkisääntö on, että kokonaissilmukkaviiveen pitäisi olla alle kymmenesosa vallitsevasta ajasta, jotta vakaus olisi vakaa. Monissa oppikirjoissa -tekniikat antavat mahdollisuuden viivästyttää budjettia[]] ilmaistaan näytteenottojakson murto-osana; liian aggressiiviset näytemäärät voivat työntää viiveet turvallisten rajojen yli.

Vaihe-Lag korvaus ja suodattaminen

Suunnittelijat käyttävät joskus vaihejohtavia korvauksia tai Smith-ennustimia torjumaan viivästymisen vaikutuksia. Näillä menetelmillä on kuitenkin rajoituksia. Esimerkiksi Smith-ennustuslaite perustuu oikeaan kasvimalliin; mallinnusvirheet voivat aiheuttaa epävakautta. Establisointisuodattimet, vaikkakin tarpeen, ottavat käyttöön vaiheen viiveen ja on otettava huomioon viivästysbudjetissa.

Käytännön suunnitteluohjeet ja kompromissit

Optimoimalla näytenopeus ja viive on monitavoiteongelma. Seuraavassa taulukossa esitetään yhteenvedot kompromissit:

ParameterHigh ValueLow Value
Sample RateFaster response, better disturbance rejection, higher computational load, tighter delay budgetLower computational load, larger phase margin erosion per delay, increased quantization error
Computational DelayDegrades phase margin, limits achievable bandwidth, may require compensationBetter stability, allows higher sample rates, more expensive hardware

Järjestelmän dynamiikkaan perustuvan näytemäärän valinta

Järjestelmällinen lähestymistapa alkaa tunnistamalla järjestelmän luonnollista taajuus ja haluttu suljettu silmukka kaistanleveys. Toisen tilauksen järjestelmien näytenopeuden tulisi olla vähintään 10 kertaa ei-amped luonnollinen taajuus. Anturiäänijärjestelmien yliampuminen ja dedumaatio voivat parantaa resoluutiota ilman, että ohjaussilmukka näytenopeus kasvaa. Insinöörien on myös otettava huomioon prosessorin kyky suorittaa ohjausalgoritmi näytteenottovälin sisällä; tämä usein sanelee ylemmän raja-arvon näytteenottotaajuudella.

Minimoimaan laskentaviiveen

Viivästyksen vähentämiseksi:

  • Käytetään deterministisillä suorituslaitteilla varustettuja laitteita (esim. kenttäohjelmoitavia porttirakenteita, FPGA-laitteita tai reaaliaikaisia käyttöjärjestelmiä, RTOS).
  • Optimoi koodi vähentämällä matemaattisia toimintoja (esim., kiinteä piste aritmeettinen, hakutaulukot).
  • Putkiston anturin hankinta mahdollisuuksien mukaan laskennalla.
  • Valitse viestintäprotokollat, joiden viive on alhainen (esim. QSPI I2C:n sijasta).

Reaaliaika-aikataulun käytännön resurssi on saatavilla OSDev Real-Time System -sivulta.

Tapaustutkimukset vakaushäiriössä

Robotiikka: korkean leveyden vääntömomentin ohjaus

Roboteissa momenttien säätösilmukka kulkee usein 1...10 kHz:n nopeudella. Laskuviive 50 mikrosekuntia (0,05 ms) tuo jo 0,5 asteen viiveen 100 Hz:n nopeudella, mikä pienentää vaihemarginaalia useita asteita. Jos prosessori ylikuormittuu ja silmukka-aika vaihtelee, tuloksena oleva jiitti voi aiheuttaa rajasykliä tai äänivärähtelyä. Suunnittelijoiden on huolellisesti profiloitava pahimmat suoritusajat ja lisättävä ajoitusmarginaalit.

Ilmatila: lennonjohtoa koskeva toiminta

Lennonohjausjärjestelmät (lennolla-wire) vaativat äärimmäisen deterministisen ajoituksen. Näytetaajuus 400.800 Hz on yleinen, ja kokonaissilmukkaviiveen on oltava alle 2...3 millisekuntia. Hidas bussi- tai raskas CPU-kuorma on johtanut lentäjien aiheuttamaan värähtelyyn joissakin ilma-alusten prototyypeissä. Kiihkeä testaus ja laitteiston simulointi ovat pakollisia.

Lisätietoja lennonjohdon vakavuusmarginaaleista on NASAn teknisissä raporteissa Server: Handling Qualitys and Stability Margins.

Edistyneet näkökohdat: Muuttuvat näytteenottomäärät ja moniportaiset järjestelmät

Jotkut modernit ohjaimet käyttävät muuttuvia näytenopeuksia prosessorin kuormituksen muokkaamiseen, mutta tämä tuo ennakoimattomuutta. Moninopeusjärjestelmät käyttävät erilaisia näytenopeuksia eri ohjaussilmukkaan (esim. nopea sisävirtasilmukka, hitaampi ulko-asennon silmukka). Häiriöittäminen ja viive nopeuksien vuorovaikutusta on analysoitava huolellisesti moninopeuksisilla z-transform-menetelmillä.

Jitter ja sen vaikutus vakauteen

Jitter.Vähennys tai viive voi olla suurempi vahingollinen kuin kiinteä viive, koska se tuo epälineaarisuus ja voi kiihottaa korkean taajuuden tiloja. Reaaliaikaiset käyttöjärjestelmät, joissa on ennalta ehkäisevä aikataulu voi vähentää jännitystä, mutta huolellinen priorisointi ja keskeytys käsittely ovat kriittisiä. Kova reaaliaikaiset järjestelmät, käyttäen laitteisto ajastin käynnistää näytteenotto poistaa ohjelmiston jitterin.

Päätelmät

Ohjaamon näytteenottonopeus ja laskuviive ovat kaksivipuja, jotka insinöörien on tasapainotettava, jotta saavutetaan vakaa ja korkea suorituskykyinen ohjaus. Korkeampi näytteenottonopeus parantaa reagointikykyä, mutta tiukentaa viivettä budjettia ja lisää laskentatarvetta. Ylimääräinen viive erehtyy vaiheen marginaalista, mikä voi johtaa heilahteluihin tai epävakauteen. Ymmärtämällä Nyquist-kriteerin, vaihemarginaalimekaniikan ja laitteiston ja ohjelmiston käytännön rajoitteet suunnittelijat voivat valita sopivat näytemäärät, minimoida viiveen huolellisella täytäntöönpanolla ja validoida vakauden käyttämällä sekä simulointia että kokeilua. Lopulta vankka ohjausjärjestelmä on sellainen, jossa näytenopeus, viive ja algoritmin monimutkaisuus yhdenmukaistetaan sovelluksen dynaamisten vaatimusten mukaiseksi.

Niille, jotka etsivät enemmän matemaattista käsittelyä, IEEE Control Systems Society julkaisee asiakirjoja erillisaika viivejärjestelmiä; esimerkki on []"Stability Analysis of Sampled-Data Control Systems With Input Viive".