Strona głównaTeoria sterowaniaTempomat: regulator PI i nawijanie całkowe

🚘 Tempomat: regulator PI i nawijanie całkowe

Interaktywny symulator tempomatu: prawdziwy model pojazdu wjeżdża pod górę pod kontrolą prędkości PI. Obserwuj, jak nawijanie całkowe powoduje przeregulowanie, gdy siła silnika osiąga nasycenie — a następnie napraw to za pomocą anti-windup.

Teoria sterowania2DZaawansowany60 FPS
cruise-control-pi ↗ Otwórz samodzielnie

O symulacji

Ta symulacja modeluje tempomat samochodu jako prawdziwy regulator PI (proporcjonalno-całkujący) sterujący prawdziwym pojazdem: masa × przyspieszenie = siła silnika − opór aerodynamiczny − opór toczenia − składowa grawitacji nachylenia drogi. W każdym takcie sterowania regulator mierzy błąd prędkości e = cel − v i oblicza zadaną siłę silnika u = Kp·e + Ki·∫e·dt, ograniczaną do rzeczywistej maksymalnej siły napędowej silnika. Wjedź na regulowane wzniesienie, a zobaczysz prawdziwy, dobrze udokumentowany tryb awarii praktycznego sterowania PI: nawijanie całkowe, gdy człon całkujący wciąż kumuluje błąd, podczas gdy silnik jest w nasyceniu, powodując rzeczywiste przeregulowanie po spłaszczeniu wzniesienia — naprawiane przez włączenie anti-windup, które zamraża człon całkujący, gdy siłownik nie może reagować.

🔬 Co przedstawia

Samochód 3D jedzie po zapętlonym torze testowym z płaskim odcinkiem najazdu, regulowanym wzniesieniem i płaskim odcinkiem wyjazdu. Siła silnika potrzebna do utrzymania docelowej prędkości na wzniesieniu może przekraczać rzeczywisty limit siły silnika, więc samochód fizycznie nie jest w stanie utrzymać prędkości podczas wjazdu — odczyty pokazują zadaną siłę utrzymującą się na maksimum i flagę nasycenia stającą się aktywną. Różnica, jaką robi przełącznik anti-windup na płaskim odcinku po wzniesieniu, to prawdziwe zachowanie pętli sterowania, a nie zaskryptowana animacja.

🎮 Jak korzystać

Ustaw docelową prędkość oraz wzmocnienia Kp/Ki, a następnie obserwuj, jak samochód wjeżdża pod górę. Przy wyłączonym Anti-windup człon całkujący (∫e·dt w odczytach) rośnie przez cały czas, gdy silnik jest w nasyceniu na wzniesieniu; gdy droga się spłaszcza, nagromadzony człon całkujący zadaje znacznie więcej siły niż potrzeba, a samochód przeregulowuje docelową prędkość, zanim ustabilizuje się z powrotem. Włącz Anti-windup, zresetuj i powtórz — człon całkujący przestaje rosnąć po osiągnięciu nasycenia, a to samo wzniesienie daje niewielkie lub żadne przeregulowanie. Zwiększ suwak nachylenia wzniesienia, aby efekt był bardziej dramatyczny, lub obniż go w kierunku 0%, aby różnica zniknęła.

💡 Czy wiesz, że…

Rzeczywiste produkcyjne systemy tempomatu prawie zawsze są PI, a nie pełnym PID — człon różniczkujący reagujący na szum prędkości z czujników prędkości kół i nierówności drogi uczyniłby przepustnicę nerwową, więc inżynierowie akceptują nieco wolniejszą odpowiedź w zamian za płynność. Nawijanie całkowe nie jest problemem zabawkowym: to udokumentowany tryb awarii w autopilotach, sterowaniu procesami przemysłowymi i robotyce za każdym razem, gdy siłownik (zawór, silnik, silnik spalinowy) ma rzeczywisty fizyczny limit — a każdy rzeczywisty siłownik go ma.

Najczęściej zadawane pytania

Dlaczego ten tempomat korzysta z regulatora PI zamiast pełnego PID?

Regulator PI łączy człon proporcjonalny Kp·e (natychmiastowa korekta, proporcjonalna do tego, jak daleko bieżąca prędkość jest od celu) z członem całkującym Ki·∫e·dt (który eliminuje mały błąd ustalony, jaki pozostawiłby regulator wyłącznie proporcjonalny, na przykład na łagodnym stałym nachyleniu). Rzeczywiste tempomaty samochodowe są prawie zawsze PI, a nie PID: człon różniczkujący reagujący na tempo zmiany prędkości wzmocniłby szum z czujnika prędkości i nierówności drogi w nerwową, niekomfortową przepustnicę, więc standard branżowy wymienia odrobinę szybkości reakcji na płynność jazdy.

Czym konkretnie jest nawijanie całkowe w tej symulacji?

Gdy nachylenie drogi wymaga większej siły silnika, niż silnik może fizycznie dostarczyć, zadana siła u = Kp·e + Ki·∫e·dt jest ograniczana do rzeczywistej maksymalnej siły, ale sam leżący u podstaw człon całkujący ∫e·dt nadal kumuluje dodatni błąd w każdym takcie, rosnąc daleko poza to, co obiekt może kiedykolwiek wykorzystać, jeśli nic go nie powstrzyma. To właśnie jest nawijanie całkowe: całkujący „nawija się" do dużej wartości, podczas gdy siłownik pozostaje w nasyceniu i nie jest w stanie na to zareagować.

Jak anti-windup to naprawia i co właściwie robi ta symulacja?

Ta symulacja implementuje standardową technikę anti-windup z ograniczaniem (całkowanie warunkowe): przed aktualizacją całki w każdym takcie sprawdza, czy tymczasowa zadana siła popchnęłaby dalej w nasycenie w tym samym kierunku co bieżący błąd. Jeśli tak, aktualizacja całki jest zamrażana na ten takt; w przeciwnym razie przebiega normalnie. Efektem jest to, że całka kumuluje się tylko wtedy, gdy może to jeszcze wytworzyć użyteczną, dostarczalną siłę — dokładnie standardowa technika nauczana na każdym praktycznym kursie systemów sterowania, i jest to przełącznik, który można przełączać w trakcie działania, aby porównać z naiwnym (zawsze całkującym) PI na identycznej fizyce.

Jaka rzeczywista fizyka rządzi ruchem samochodu w tej symulacji?

Samochód podlega prawdziwemu podłużnemu równaniu ruchu: masa × przyspieszenie = siła silnika − opór aerodynamiczny − opór toczenia − składowa grawitacji nachylenia. Opór aerodynamiczny rośnie z kwadratem prędkości (F = ½·ρ·Cd·A·v²), opór toczenia to mała stała siła proporcjonalna do wagi samochodu, a siła nachylenia to m·g·sin(θ), gdzie θ to kąt nachylenia drogi — wszystko to prawdziwe człony z dynamiki pojazdów, a nie uproszczony model „prędkość skacze do celu".

Dlaczego siła silnika osiąga nasycenie i czy jest to realistyczny limit?

Każdy prawdziwy silnik ma maksymalną siłę napędową, jaką może dostarczyć przy danym biegu i obrotach — istnieje twardy fizyczny pułap tego, ile siły napędowej może wytworzyć układ napędowy, niezależnie od tego, jak duże jest obliczone polecenie regulatora. Ta symulacja egzekwuje ten sam rzeczywisty limit: regulator może żądać większej siły, niż silnik może dać, ale rzeczywista siła przyłożona do samochodu jest ograniczana do tego maksimum, co jest dokładnie tym nasyceniem siłownika, które powoduje nawijanie w rzeczywistych systemach.

Dlaczego samochód przeregulowuje docelową prędkość po zakończeniu wzniesienia?

Podczas wjazdu silnik jest przypięty do swojej maksymalnej siły i — bez anti-windup — człon całkujący nadal rośnie znacznie ponad wartość, która była faktycznie potrzebna. W chwili, gdy nachylenie się spłaszcza, siła potrzebna do utrzymania docelowej prędkości gwałtownie spada, ale regulator wciąż zadaje niemal maksymalną siłę z powodu rozdętej całki, więc samochód mocno przyspiesza i przestrzeliwuje cel, zanim całka (i błąd, teraz ujemny) rozwinie się z powrotem do rozsądnej wartości. Przy włączonym anti-windup całka nigdy nie urosła ponad to, co mógł wykorzystać nasycony silnik, więc jest niewiele nadmiaru do rozwinięcia i niewielkie lub żadne przeregulowanie.

⚙ Pod maską

Interaktywny symulator tempomatu, w którym prawdziwy model pojazdu wjeżdża pod górę pod kontrolą prędkości PI, pokazujący, jak nawijanie całkowe powoduje przeregulowanie i jak anti-windup to naprawia.

pi-controllerintegral-windupanti-windupvehicle-dynamicsactuator-saturationcontrol-theory

2D · Canvas 2D · docelowo 60 FPS · działa w całości w przeglądarce, bez instalacji