Jednostka 7 / 9

Projektowanie i symulacja oparta na modelu

Zyski:

  • Umiejętność zbudowania modelu równań różniczkowych systemu za pomocą AI i symulacji go w Pythonie
  • Umiejętność interpretacji wyników symulacji (reakcja skokowa, stabilność) przy pomocy AI
  • Umiejętność stosowania dyscypliny weryfikacji granic założeń modelowych i ich zgodności z systemem rzeczywistym

Przed fizycznym zbudowaniem systemu mechatronicznego można go zrozumieć, zaprojektować i przetestować na modelu. Projektowanie oparte na modelu; Jest to podejście do przedstawienia zachowania systemu za pomocą równań różniczkowych lub schematów blokowych, przeprowadzenia go w symulacji, zaprojektowania i sprawdzenia sterownika. Ma to wielką wartość: możesz wypróbować setki scenariuszy, przewidzieć stabilność, bezpiecznie dostosować wzmocnienia kontrolera bez ryzykowania sprzętu. Sztuczna inteligencja jest w tym potężnym pomocnikiem: konstruuje równanie układu, zapisuje jego symulację w Pythonie, interpretuje wyniki. Ale model jest mapą, a nie terenem; Inżynier jest odpowiedzialny za określenie, jak dobrze model odzwierciedla rzeczywistość (walidacja). W tej części zajmiemy się budowaniem modelu, jego symulacją i weryfikacją ograniczeń modelu za pomocą sztucznej inteligencji.

Co to jest model i co zaniedbuje?

Model to specjalnie stworzona uproszczona reprezentacja rzeczywistości. Na przykład prosty model silnika prądu stałego ustala się za pomocą równań elektrycznych i mechanicznych, ale można w nim pominąć nieliniową część tarcia, luz przekładni i wpływ temperatury. Pominięcia te czynią model użytecznym, ale jednocześnie wyznaczają granicę jego ważności.

Jest w modelu

często zaniedbywane

Masa, bezwładność, rezystancja, indukcyjność

Tarcie nieliniowe, luz

Podstawowe równania dynamiczne

Nasycenie, martwa strefa

Idealny czujnik/element wykonawczy

Szum pomiarowy, opóźnienie

Stałe parametry

Parametry zmieniające się wraz z temperaturą

Kluczowa zasada: „Wszystkie modele są błędne, niektóre są przydatne”. To, czy model się sprawdzi, zależy od tego, czy rzeczy, które pomija, są istotne w Twoim zakresie pracy.

Budowanie i symulowanie modelu silnika prądu stałego

Prosty model silnika prądu stałego w przestrzeni stanów zapisano ze stanami prędkości kątowej ω i prądu i. Sztuczna inteligencja może skonfigurować te równania i symulować je w Pythonie za pomocą scipy:

import numpy jako npz scipy.integrate import Solve_ivpimport matplotlib.pyplot jako plt# Parametry silnika prądu stałego (przykładowe wartości — należy pobrać z aktualnego arkusza danych) J = 0,01 # bezwładność (kg*m^2)b = 0,1 # tarcie lepkie (N*m*s)K = 0,01 # stała silnika (Nm/A i V*s/rad)R = 1,0 # rezystancja (om)L = 0,5 # indukcyjność (H)def motor_dynamigi(t, x, V): """x = [omega, i]. V = przyłożone napięcie.""" omega, i = x domega = (K * i - b * omega) / J # równanie mechaniczne di = (V - R * i - K * omega) / L # równanie elektryczne powrót [domega, di]# 12 Symulacja z wejściem kroku V (weryfikacja):omega_ss_theoretical = K * V / (R * b + K**2)print(f"Prędkość końcowa symulacji: {omega[-1]:.2f} rad/s")print(f"Teoretyczny stan ustalony: {omega_ss_theoretical:.2f} rad/s")

Linia walidacji jest tutaj krytyczna: porównujemy prędkość w stanie ustalonym osiągniętą w wyniku symulacji z ręcznie wyprowadzonym wzorem teoretycznym (K·V/(R·b+K²)). Jeśli te dwa elementy są zgodne, wzrasta nasza pewność co do symulacji; Jeśli nie są zgodne, oznacza to błąd w równaniu lub w kodzie. Znajdź taki niezależny punkt mieszający dla każdej symulacji wytwarzanej przez sztuczną inteligencję.

Wskazówka: gdy sztuczna inteligencja symuluje system, zawsze mów „podaj mi również teoretyczny/analityczny punkt kontrolny, w którym mogę zweryfikować wynik”. Niezależna kontrola, taka jak wartość stanu ustalonego, zasada zachowania, bilans energetyczny itp., to najszybszy sposób na wykrycie błędów w kodzie.

Odpowiedź krokowa i stabilność

Podstawowe zachowania, które odczytasz z symulacji:

  • Czas narastania: Czas potrzebny, aby sygnał wyjściowy osiągnął określoną część wartości docelowej.
  • Overshoot: O ile przekracza cel.
  • Czas osiadania: Czas potrzebny do utrwalenia się w docelowym paśmie.
  • Stabilność: Czy reakcja pozostaje ograniczona, czy rośnie do nieskończoności?

Stabilność jest najważniejszym wynikiem projektowania opartego na modelu. Jeśli bieguny układu (pierwiastki mianownika funkcji przenoszenia) znajdują się w lewej półpłaszczyźnie, układ jest stabilny; Biegun przesunięty do prawej półpłaszczyzny oznacza niestabilność. Sztuczna inteligencja może obliczyć polaryzację systemu i zinterpretować jego stabilność:

import numpy as np# Przykład: charakterystyczne współczynniki wielomianu [1, a2, a1, a0]współczynniki = [1, 3, 3, 1]roots = np.roots(współczynniki)print("Polacy:", korzenie)stable = np.all(np.real(roots) < 0)print("Czy system jest stabilny?", stabilny) # all Czy części rzeczywiste są ujemne?

Weryfikacja modelu (walidacja)

Nie wystarczy zbudować model i go symulować; Musisz udowodnić, że model odzwierciedla rzeczywistość. Kroki weryfikacji:

  1. Zapewnij analizy: porównaj z niezależnymi kontrolami, takimi jak stan ustalony i prawa zachowania.
  2. Źródło parametrów: Czy parametry modelu (J, K, R...) są rzeczywiście zmierzone/arkusze danych czy szacunkowe?
  3. Porównanie eksperymentalne: Jeśli to możliwe, zmierz odpowiedź skokową rzeczywistego systemu i nałóż ją na odpowiedź modelu.
  4. Czułość: Jak bardzo zmienia się wynik przy zmianie parametrów o ±20% (jak czuły jest model)?
  5. Zakres ważności: W jakim zakresie prędkości/obciążenia/temperatury obowiązuje model, gdzie ulega awarii?
Uwaga: parametry modelu (bezwładność, tarcie, stała silnika) podawane przez sztuczną inteligencję są prawie zawsze wartościami przykładowymi/elementami zastępczymi. Nie przekładaj wyników symulacji „na rzeczywistość” bez zastąpienia ich arkuszem danych lub pomiarami rzeczywistego systemu. Pomostem pomiędzy „pracami symulacyjnymi” a „pracami w terenie” jest dokładność i walidacja parametrów.

Słaba podpowiedź/silna podpowiedź

SŁABY: „Napisz symulację silnika.” (Jaki model? Parametry? weryfikacja? Pojawia się bezsensowna grafika.) STRONG: „Zbuduj model w przestrzeni stanów (stany: prędkość kątowa i prąd) silnika prądu stałego. Symuluj odpowiedź krokową 12 V za pomocą vescipy Sol_ivp. Zdefiniuj parametry jako zmienne na początku (J, b, K, R, L), aby móc podać moje rzeczywiste wartości. Napisz także teoretyczny wzór na prędkość w stanie ustalonym „żebym mógł zweryfikować symulację. Oblicz czas narastania, przeregulowania i czas ustalania na podstawie odpowiedzi skokowej.

Mini etui

Inżynier ds. badań i rozwoju Nil modeluje system przed zaprojektowaniem sterownika dla nowej osi pozycjonowania. Każe sztucznej inteligencji zbudować model silnika prądu stałego i dodać regulator PID; Symulacja daje przyjemną, pozbawioną przeregulowań reakcję. Ale kiedy Nil porównuje prędkość w stanie ustalonym ze wzorem teoretycznym, znajduje 15% różnicę: przykładowa stała silnika K używana przez sztuczną inteligencję różni się od stałej silnika rzeczywistego. Po umieszczeniu wartości z arkusza danych symulacja pasuje do teorii. Następnie mierzy reakcję skokową rzeczywistego silnika i nakłada na nią dane wyjściowe modelu; Model dobrze pasuje do szybkiego obszaru, ale odbiega od normy przy małych prędkościach, ponieważ model pomija tarcie statyczne. Nil zauważa to ograniczenie: model jest niezawodny przy dużej prędkości, ale nie przy bardzo małej prędkości. Odpowiednio projektuje sterownik. Szybko ustalono model i symulację AI; ale walidacja parametrów i porównanie eksperymentalne ujawniły inżynierowi prawdziwą granicę ważności modelu.

Typowe błędy

  • Symulacja przy użyciu parametrów próbek/symbolów zastępczych AI i urzeczywistnienie wyników.
  • Brak walidacji symulacji za pomocą niezależnego analitycznego punktu kontrolnego.
  • Zapominając o efektach pomijanych przez model (tarcie, luz, opóźnienie) i ufając mu w każdych warunkach.
  • Uznanie modelu za „zatwierdzony” bez porównania go z rzeczywistym pomiarem.
  • Pomijam analizę stabilności (bieguny) i po prostu mówię „wykres wygląda ładnie”.
  • Stosowanie modelu na całym obszarze badań bez wyznaczania zakresu trafności.

Podsumowując

  • Model jest celowym uproszczeniem rzeczywistości i zawsze coś pomija.
  • Symulacja umożliwia projektowanie i dostrajanie sterowników bez narażania sprzętu.
  • Każda symulacja musi zostać zweryfikowana w oparciu o niezależny analityczny punkt mieszania.
  • Parametry modelu powinny pochodzić z rzeczywistego pomiaru/arkusza danych, a nie być pozostawione z wartością próbki AI.
  • Stabilność ocenia się patrząc na położenie biegunów (lewa połowa płaszczyzny).
  • Walidacja pokazuje inżynierowi zakres ważności i ograniczenia modelu.

Zadanie aplikacji

Wybierz prosty układ dynamiczny (silnik prądu stałego, amortyzator masowo-sprężynowy, obwód RC). Niech sztuczna inteligencja zbuduje model przestrzeni stanów lub równania różniczkowego i zasymuluje reakcję krokową w Pythonie, i pamiętaj, aby poprosić o teoretyczny punkt mieszania w stanie ustalonym/analityczny. Następnie: (1) porównaj wynik symulacji z wartością teoretyczną, czy się zgadza, (2) zmień parametr o ±20% i zobacz, jak bardzo zmieni się wynik (czułość), (3) zapisz przynajmniej dwa efekty fizyczne, które model pomija i w jakim obszarze działania będą one istotne. Opisz zakres ważności swojego modelu w jednym zdaniu.