Unitate 7 / 9

Proiectare și simulare bazată pe modele

Câștiguri:

  • Abilitatea de a construi un model de ecuație diferențială a unui sistem cu AI și de a-l simula în Python
  • Abilitatea de a interpreta rezultatele simulării (răspuns în pas, stabilitate) cu ajutorul AI
  • Capacitatea de a aplica disciplina de verificare a limitelor ipotezelor modelului și compatibilitatea acestora cu sistemul real

Înainte de a construi fizic un sistem mecatronic, îl puteți înțelege, proiecta și testa pe un model. Design bazat pe modele; Este o abordare de reprezentare a comportamentului unui sistem cu ecuații diferențiale sau diagrame bloc, rularea acestuia în simulare, proiectarea și verificarea unui controler. Acest lucru are o mare valoare: puteți încerca sute de scenarii, puteți prezice stabilitatea, puteți ajusta în siguranță câștigurile controlerului fără a risca hardware-ul. Inteligența artificială este un asistent puternic în acest proces: construiește ecuația unui sistem, își scrie simularea în Python, interpretează rezultatele. Dar modelul este o hartă, nu un teren; Este responsabilitatea inginerului să determine cât de bine reprezintă modelul realitatea (validare). În această unitate, vom acoperi construirea unui model, simularea acestuia și verificarea limitelor modelului cu AI.

Ce este un model și ce neglijează?

Un model este o reprezentare simplificată construită special a realității. De exemplu, un model simplu al unui motor de curent continuu este stabilit cu ecuații electrice și mecanice, dar poate neglija partea neliniară a frecării, jocul angrenajului și efectul de temperatură. Aceste omisiuni fac modelul util, dar stabilesc si limita valabilitatii lui.

Este in model

adesea neglijate

Masa, inerția, rezistența, inductanța

Frecare neliniară, reacție

Ecuații dinamice de bază

Saturație, zonă moartă

Senzor/actuator ideal

Zgomot de măsurare, întârziere

Parametri fix

Parametri care se modifică cu temperatura

Principiul cheie: „Toate modelele sunt greșite, unele sunt utile”. Dacă modelul funcționează depinde dacă lucrurile pe care le omite sunt importante în domeniul dvs. de lucru.

Construirea și simularea unui model de motor DC

Un model simplu în spațiul de stare al unui motor de curent continuu este scris cu stările viteză unghiulară ω și curent i. AI poate configura aceste ecuații și le poate simula în Python cu scipy:

import numpy ca npfrom scipy.integrate import solve_ivpimport matplotlib.pyplot ca plt# parametrii motorului de curent continuu (valorile eșantionului - ar trebui să fie luate din foaia de date actuală) J = 0,01 # inerție (kg*m^2)b = 0,1 # frecare vâscoasă (N*m*s)K = 0,01 # constantă a motorului și V*N/R = 0,01 # 1.0 # rezistență (ohm)L = 0.5 # inductanță (H)def motor_dynamigi(t, x, V): """x = [omega, i]. V = tensiune aplicată.""" omega, i = x domega = (K * i - b * omega) / J # ecuația mecanică di = (V * omega, equation electrică) - / (V - R * omega) di]# 12 Simulare cu intrare în pas V (verificare):omega_ss_theoretical = K * V / (R * b + K**2)print(f"Viteza finală de simulare: {omega[-1]:.2f} rad/s")print(f"Starea staționară teoretică: {omega_ss_theoretical:.2f} rad/s")

Linia de validare aici este critică: comparăm viteza în regim de echilibru realizată prin simulare cu formula teoretică derivată manual (K·V/(R·b+K²)). Dacă cele două se potrivesc, încrederea noastră în simulare crește; Dacă nu se potrivesc, există o eroare fie în ecuație, fie în cod. Găsiți un astfel de punct hash independent pentru fiecare simulare pe care o produce AI.

Sfat: Când aveți AI să simuleze un sistem, spuneți întotdeauna „dați-mi și un punct de control teoretic/analitic unde pot verifica rezultatul”. O verificare independentă, cum ar fi o valoare de echilibru, legea de conservare, bilanțul energetic etc., este cea mai rapidă modalitate de a detecta erorile de cod.

Răspuns la pas și stabilitate

Comportamentele de bază pe care le veți citi din simulare:

  • Timp de creștere: timpul necesar pentru ca ieșirea să atingă o anumită parte a țintei.
  • Depășire: Cât de mult depășește ținta.
  • Timp de stabilire: timpul necesar pentru a deveni permanent în banda țintă.
  • Stabilitate: Răspunsul rămâne limitat sau crește la infinit?

Stabilitatea este cel mai important rezultat al proiectării bazate pe modele. Dacă polii unui sistem (rădăcinile numitorului funcției de transfer) sunt în semiplanul stâng, sistemul este stabil; Un stâlp care se deplasează în semiplanul drept înseamnă instabilitate. AI poate calcula polaritatea unui sistem și poate interpreta stabilitatea acestuia:

import numpy ca np# Exemplu: coeficienți polinomii caracteristici [1, a2, a1, a0]coeficienți = [1, 3, 3, 1]roots = np.roots(coeficienți)print("Poli:", roots)stable = np.all(np.real(roots)? negativ?

Verificare model (validare)

Nu este suficient să construiești un model și să-l simulezi; Trebuie să demonstrezi că modelul reprezintă realitatea. Etape de verificare:

  1. Oferiți analize: comparați cu controale independente, cum ar fi legile de conservare în stare de echilibru.
  2. Sursa parametrilor: Parametrii modelului (J, K, R...) sunt cu adevărat măsurați/foaie de date sau o estimare?
  3. Comparație experimentală: dacă este posibil, măsurați răspunsul în trepte al sistemului real și suprapuneți-l cu cel al modelului.
  4. Sensibilitate: Cât de mult se modifică rezultatul la modificarea parametrilor cu ±20% (cât de sensibil este modelul)?
  5. Interval de valabilitate: În ce interval de viteză/sarcină/temperatură este valabil modelul, unde se defectează?
Atenție: Parametrii modelului (inerția, frecarea, constanta motorului) dați de AI sunt aproape întotdeauna valori de eșantion/substituent. Nu aduceți rezultatele simulării „la realitate” fără a le înlocui cu fișa de date sau cu măsurătorile sistemului dumneavoastră real. Puntea dintre „lucrări în simulare” și „lucrări pe teren” este precizia și validarea parametrilor.

Solicitare slabă / Solicitare puternică

SLAB: „Scrieți o simulare a motorului.”(Care model? parametrii? verificare? Apare un grafic fără sens.)PUTERNIC: „Construiți un model în spațiul de stări (stări: viteză unghiulară și curent) al unui motor de curent continuu. Simulați răspunsul în trepte de 12 V cu vescipy solve_ivp. Definiți parametrii ca variabile la început, astfel încât să pot scrie valoarea reală (J, L). formula teoretică pentru viteza de echilibru „astfel încât să pot verifica simularea. Calculați timpul de creștere, depășirea și timpul de așezare din răspunsul la pas."

Mini carcasă

Inginerul R&D Nil modelează sistemul înainte de a proiecta un controler pentru o nouă axă de poziționare. El are AI să construiască modelul de motor DC și să adauge un controler PID; Simularea oferă un răspuns frumos, fără depășire. Dar când Nil compară viteza la starea de echilibru cu formula teoretică, el găsește o diferență de 15%: constanta motorului eșantion K folosită de AI este diferită de cea a motorului real. Când puneți valorile foii de date, simularea se potrivește cu teoria. Apoi măsoară răspunsul în trepte al motorului real și îl suprapune cu rezultatul modelului; Modelul se potrivește bine în regiunea rapidă, dar deviază la viteză mică - deoarece modelul neglijează frecarea statică. Nil notează această limită: modelul este fiabil la viteză mare, nu la viteză foarte mică. Proiectează controlerul în consecință. Modelul și simularea AI stabilite rapid; dar validarea parametrilor și compararea experimentală au dezvăluit inginerului adevărata limită de valabilitate a modelului.

Greșeli comune

  • Simularea cu parametrii eșantionului/substituentului AI și aducerea rezultatului în realitate.
  • Nevalidarea simulării cu un punct de control analitic independent.
  • Uitând de efectele pe care modelul le neglijează (frecare, reacție, întârziere) și încredere în el în toate condițiile.
  • Considerând modelul „validat” fără a-l compara niciodată cu măsurarea reală.
  • Sari peste analiza de stabilitate (poli) si doar spunand "graficul arata frumos".
  • Utilizarea modelului în întreaga zonă de studiu fără a determina intervalul de valabilitate.

Pe scurt

  • Modelul este o simplificare intenționată a realității și întotdeauna omite ceva.
  • Simularea permite proiectarea și reglarea controlerului fără a risca hardware-ul.
  • Fiecare simulare trebuie validată în raport cu un punct hash analitic independent.
  • Parametrii modelului ar trebui să provină din măsurarea/foșa de date efectivă, nu să rămână cu valoarea eșantionului AI.
  • Stabilitatea este evaluată analizând locațiile stâlpilor (semiplanul stâng).
  • Validarea arată inginerului intervalul de valabilitate și limitele modelului.

Sarcina de aplicare

Alegeți un sistem dinamic simplu (motor DC, masa-arc-amortizor, circuit RC). Puneți AI să construiască un model de spațiu de stare sau de ecuație diferențială și să simuleze răspunsul pas în Python și asigurați-vă că cereți un punct de hash teoretic în stare staționară/analitică. Apoi: (1) comparați rezultatul simulării cu valoarea teoretică pentru a vedea dacă este de acord, (2) modificați un parametru cu ±20% și vedeți cât de mult se modifică rezultatul (sensibilitatea), (3) notați cel puțin două efecte fizice pe care modelul le neglijează și în ce regiune de operare ar fi importante. Descrieți intervalul de valabilitate al modelului dvs. într-o singură propoziție.