Przestrzeń afiniczna: geometria którą Twój regulator PI zna od zawsze
Artykuł z serii: Geometria różniczkowa dla inżynierów napędów elektrycznych
Artykuł zainspirowany rozdziałem 2 książki Jędrzeja Kijowskiego “Geometria różniczkowa jako narzędzie nauk przyrodniczych” — pozycji którą polecam każdemu inżynierowi który chce zrozumieć matematykę stojącą za narzędziami których używa na co dzień.
Sucha formuła na początek #
e(t) = x_ref − x_actual
Wrócimy do niej. Najpierw ściana.
Akt I: Ściana bez centrum #
Wyobraź sobie ścianę. Gładką, białą, pustą. Możesz wskazać dowolny punkt na tej ścianie — kontakt elektryczny, plamę farby, narożnik okna. Możesz powiedzieć: “przesuń się 30 cm w prawo i 10 cm w górę od kontaktu” — i dotrzesz do konkretnego miejsca. Możesz zmierzyć odległość między dwoma punktami i kierunek między nimi.
Ale nie możesz wskazać na ścianę i powiedzieć: “oto jej centrum”. Żaden punkt nie jest wyróżniony. Ściana jest jednorodna — każde miejsce jest tak samo dobre jak każde inne.
To jest przestrzeń afiniczna.
Teraz wchodzi hydraulik i mówi: “będę mierzył wszystko od lewego dolnego rogu”. Przykłada tam taśmę mierniczą i nagle każdy punkt ma współrzędne — (120 cm, 45 cm), (30 cm, 80 cm). Ściana stała się przestrzenią wektorową. Ale ten róg jest arbitralny — inny hydraulik wybrałby środek ściany i miałby równie dobry opis tej samej ściany.
Przestrzeń wektorowa to przestrzeń afiniczna z arbitralnie wybranym zerem.
Akt II: Para (A, V) i klej między nimi #
Przestrzeń afiniczna to trzy składniki połączone razem jak klocki LEGO.
Pierwszy klocek to zbiór punktów A — sama ściana, bez żadnej struktury algebraicznej. Punkty nie umieją się dodawać ani skalować. Po prostu istnieją.
Drugi klocek to przestrzeń wektorowa V — w naszym przypadku ℝ². To abstrakcyjny zbiór przesunięć: “30 cm w prawo i 10 cm w górę”. Wektory umieją się dodawać i skalować, ale same w sobie nie są punktami na ścianie — nie mają pozycji, tylko kierunek i długość.
Trzeci klocek to odwzorowanie które klei A i V razem. Dla każdej pary punktów x, y ∈ A przypisuje wektor y − x ∈ V — “o ile i w którą stronę musisz się przesunąć żeby dotrzeć z x do y”. To odwzorowanie spełnia dwa warunki:
- Dla każdego punktu x i każdego wektora v istnieje dokładnie jeden punkt y taki że y − x = v — zawsze możesz dotrzeć do nowego miejsca i nigdy nie wychodzisz poza ścianę.
- Dla trzech punktów x, y, z zachodzi (z − x) = (z − y) + (y − x) — trójkąt wektorów się zamyka, co jest po prostu zdrowym rozsądkiem geometrycznym.
Zauważ co możesz, a czego nie możesz robić w przestrzeni afinicznej:
- ✅ Odjąć dwa punkty — dostajesz wektor
- ✅ Dodać wektor do punktu — dostajesz nowy punkt
- ❌ Dodać dwa punkty — to nie ma sensu geometrycznego
“Kontakt elektryczny plus okno” nie jest żadnym miejscem na ścianie.
Akt III: Twój regulator PI robi geometrię afiniczną od zawsze #
Wróćmy do formuły z początku:
e(t) = x_ref − x_actual
To jest równanie które każdy inżynier sterowania widział setki razy. Błąd regulacji — różnica między wartością zadaną a rzeczywistą. Nic specjalnego.
A jednak ta formuła skrywa coś głębszego. Odejmujesz dwa punkty przestrzeni stanów silnika i dostajesz wektor. Dokładnie tak jak odejmowanie dwóch punktów na ścianie daje wektor przesunięcia. To nie jest operacja wektorowa — to jest operacja afiniczna.
Przestrzeń stanów silnika w układzie dq — prąd id, prąd iq, strumień — nie ma naturalnego zera. Punkt pracy znamionowej? Arbitralny wybór. Stan zimnego silnika przy braku obciążenia? Też arbitralny. Fizyka silnika nie wie nic o Twoim układzie współrzędnych. Moment elektromagnetyczny i strumień istnieją niezależnie od tego gdzie postawiłeś zero.
Transformacja Clarka bierze trzy prądy fazowe ia, ib, ic i mapuje je do przestrzeni αβ. Transformacja Parka obraca αβ do układu dq synchronicznego z wirującym polem. Standardowo traktujesz to jako mnożenie przez macierz — liniowe odwzorowanie między przestrzeniami wektorowymi. Poprawne, użyteczne, ale niepełne.
Bo zanim wykonałeś to mnożenie, już dokonałeś wyboru. Wybrałeś zero. Silnik trójfazowy z natury pracuje z prądami których suma ia + ib + ic = 0 — to jest więzenie fizyczne, nie układ współrzędnych. Przestrzeń stanów elektrycznych silnika jest dwuwymiarową rozmaitością osadzoną w ℝ³. Nie ma na niej wyróżnionego punktu — jest jednorodna jak ściana.
Transformacja Clarka to nic innego jak wybór konkretnej pary osi na tej rozmaitości i ogłoszenie jednego punktu zerem. Właśnie w tym momencie przestrzeń afiniczna staje się przestrzenią wektorową. Nie wcześniej.
Park idzie dalej — obraca układ αβ tak żeby podążał za wirującym polem rotora. Kąt elektryczny θ który opisuje ten obrót jest mierzony od arbitralnie wybranej osi odniesienia. Znowu arbitralne zero, tym razem kątowe.
I teraz wróćmy do początku. Twój regulator PI nigdy nie pyta “gdzie jest prąd id w absolutnym sensie”. Pyta tylko “jak daleko jest od wartości zadanej i w którą stronę”. Operuje wyłącznie na różnicach — na wektorach łączących dwa punkty przestrzeni stanów. Całkowanie błędu, różniczkowanie błędu — zawsze różnice, nigdy absolutne pozycje.
Regulator od zawsze wiedział że przestrzeń jest afiniczna. Ty dopiero teraz to widzisz.
Zakończenie: Geometria jest wszędzie, tylko trzeba wiedzieć gdzie patrzeć #
Przestrzeń afiniczna to dopiero pierwszy krok w dół po schodach abstrakcji.
Jeśli przestrzeń stanów silnika jest rozmaitością — a jest, bo więzenie ia + ib + ic = 0 to właśnie jej definicja — to transformacja Parka jest czymś więcej niż obrotem macierzowym. Jest działaniem grupy Liego SO(2) na tej rozmaitości. Każdy kąt elektryczny θ to element tej grupy, każdy obrót układu dq to jej działanie na przestrzeni stanów.
Brzmi abstrakcyjnie? Ale właśnie dlatego regulatory oparte na geometrii Liego są bardziej odporne na osobliwości i zmiany punktu pracy niż klasyczne PI — operują na strukturze która jest naturalna dla fizyki, nie na arbitralnie narzuconych współrzędnych.
To samo myślenie geometryczne które pozwoliło zobaczyć ścianę jako przestrzeń afiniczną prowadzi dalej — do sterowania na rozmaitościach, do Port-Hamiltonian systems, do głębokiego uczenia które rozumie geometrię danych zamiast tylko dopasowywać parametry.
Geometria różniczkowa nie jest ozdobnikiem dla zaawansowanych. Jest językiem w którym fizyka napędów elektrycznych została napisana — zanim ktokolwiek zdążył to zauważyć.