Единица 7 / 9

Дизајн и симулација заснован на модел

Добивки:

  • Способност да се изгради модел на диференцијални равенки на систем со вештачка интелигенција и да се симулира во Python
  • Способност за интерпретација на резултатите од симулацијата (чекор одговор, стабилност) со помош на ВИ
  • Способност за примена на дисциплината за проверка на границите на претпоставките на моделот и нивната компатибилност со реалниот систем

Пред физички да изградите мехатронички систем, можете да го разберете, дизајнирате и тестирате на модел. Дизајн базиран на модел; Тоа е пристап да се претстави однесувањето на системот со диференцијални равенки или блок дијаграми, да се изврши во симулација, да се дизајнира и да се потврди контролорот. Ова има голема вредност: можете да испробате стотици сценарија, да ја предвидите стабилноста, безбедно да ги прилагодите придобивките од контролорот без да го ризикувате хардверот. Вештачката интелигенција е моќен асистент во овој процес: ја конструира равенката на системот, ја пишува својата симулација во Python, ги толкува резултатите. Но, моделот е мапа, а не терен; Одговорност на инженерот е да одреди колку добро моделот ја претставува реалноста (валидација). Во оваа единица, ние покриваме изградба на модел, негово симулирање и проверка на границите на моделот со вештачка интелигенција.

Што е модел и што занемарува?

Моделот е наменска поедноставена претстава на реалноста. На пример, едноставен модел на мотор со еднонасочна струја е воспоставен со електрични и механички равенки, но може да го занемари нелинеарниот дел од триењето, реакцијата на менувачот и температурниот ефект. Овие пропусти го прават моделот корисен, но и ја поставуваат границата на неговата важност.

Го има во моделот

често се запоставува

Маса, инерција, отпор, индуктивност

Нелинеарно триење, повратен удар

Основни динамички равенки

Заситеност, мртва зона

Идеален сензор/активатор

Мерење бучава, доцнење

Фиксни параметри

Параметри кои се менуваат со температурата

Клучен принцип: „Сите модели се погрешни, некои се корисни“. Дали моделот работи зависи од тоа дали работите што ги испушта се важни во вашиот работен опсег.

Изградба и симулирање на модел на DC мотор

Едноставен модел на состојба-простор на мотор со еднонасочна струја е напишан со состојбите аголна брзина ω и струја i. Вештачката интелигенција може да ги постави овие равенки и да ги симулира во Python со шпиц:

import numpy како npfrom scipy.integrate import solve_ivpimport matplotlib.pyplot како plt# параметри на моторот со еднонасочна струја (примерните вредности -- треба да се земат од вистинскиот лист со податоци) J = 0,01 # инерција (kg*m^2)b = 0,1 # вискозно триење на моторот (N*0) (N*0) константа (N*0). V*s/rad)R = 1,0 # отпор (ohm) L = 0,5 # индуктивност (H)def motor_dynamigi(t, x, V): """x = [омега, i]. V = применет напон.""" омега, i = x domega = (K * i - b * омега) / R * омега (R) # electrical equation return [domega, di]# 12 Симулација со V чекор влез (верификација):omega_ss_theoretical = K * V / (R * b + K**2)print(f"Конечна брзина на симулација: {omega[-1]:.2f} rad/s")print(f"Teoretical steady}s:f"Teoretical steady: рад/с")

Линијата за валидација овде е критична: ја споредуваме брзината на стабилна состојба постигната со симулацијата со рачно изведената теоретска формула (K·V/(R·b+K²)). Ако двете се совпаѓаат, нашата доверба во симулацијата се зголемува; Ако не се совпаѓаат, има грешка или во равенката или во кодот. Најдете таква независна хаш-точка за секоја симулација што ја произведува вештачката интелигенција.

Совет: кога имате ВИ симулира систем, секогаш кажете „исто така дајте ми теоретски/аналитички контролен пункт каде што можам да го потврдам резултатот“. Независна проверка, како што е вредност на стабилна состојба, закон за зачувување, енергетска рамнотежа итн., е најбрзиот начин да се фатат грешките во кодот.

Чекор одговор и стабилност

Основните однесувања што ќе ги прочитате од симулацијата:

  • Време на пораст: времето потребно за излезот да достигне одреден дел од целта.
  • Надминување: Колку ја надминува целта.
  • Време на таложење: Времето што е потребно за да стане постојан во целниот опсег.
  • Стабилност: Дали одговорот останува ограничен или расте до бесконечност?

Стабилноста е најкритичниот резултат на дизајнот базиран на модели. Ако половите на системот (корените на именителот на функцијата за пренос) се во левата половина рамнина, системот е стабилен; Пол што се движи кон десната половина рамнина значи нестабилност. ВИ може да го пресмета поларитетот на системот и да ја протолкува неговата стабилност:

увоз numpy како np# Пример: карактеристични полиномни коефициенти [1, a2, a1, a0]коефициенти = [1, 3, 3, 1]roots = np.roots(коефициенти)print("Полови:", roots)stable = np.all(np.real <s)системски #, печатење?" Дали вистинските делови се негативни?

Потврда на моделот (валидација)

Не е доволно да се изгради модел и да се симулира; Треба да докажете дека моделот ја претставува реалноста. Чекори за верификација:

  1. Обезбедете аналитика: споредете со независни контроли како што се законите за стабилна состојба, зачувување.
  2. Извор на параметар: Дали параметрите на моделот (J, K, R...) се навистина измерени/лист со податоци или проценка?
  3. Експериментална споредба: Ако е можно, измерете го чекорот на реалниот систем и преклопете го со оној на моделот.
  4. Чувствителност: Колку се менува резултатот при промена на параметрите за ±20% (колку е чувствителен моделот)?
  5. Опсег на важност: Во кој опсег на брзина/оптоварување/температура важи моделот, каде се распаѓа?
Внимание: Параметрите на моделот (инерција, триење, константа на моторот) дадени од AI се скоро секогаш вредности на примерок/место. Не ги доведувајте резултатите од симулацијата „во реалност“ без да ги замените со листот со податоци или мерењата на вашиот реален систем. Мостот помеѓу „работи во симулација“ и „работи на терен“ е точноста и валидацијата на параметарот.

Слаба навестување / Силен навестување

СЛАБ:"Напишете симулација на мотор."(Кој модел? параметри? верификација? Се појавува бесмислена графика.)STRONG:"Составете модел на простор-состојба (состојби: аголна брзина и струја) на DC мотор. Симулирајте одговор од чекор од 12 V со vescipy solve_ivp. Дефинирајте ги параметрите што може да ги стави на почетокот, R, L. Напишете ја и теоретската формула за брзината на стабилна состојба „за да можам да ја потврдам симулацијата. Пресметајте го времето на подигање, надминување и времето на смирување од одговорот на чекорот“.

Мини случај

Инженерот за истражување и развој Nil го моделира системот пред да дизајнира контролер за нова оска за позиционирање. Тој има AI да го изгради моделот на DC мотор и додаде PID контролер; Симулацијата дава убав одговор без прескокнување. Но, кога Nil ја споредува брзината на стабилна состојба со теоретската формула, тој наоѓа разлика од 15%: примерокот на константата на моторот K што ја користи AI е различна од онаа на вистинскиот мотор. Кога ги ставате вредностите на листот со податоци, симулацијата се вклопува со теоријата. Потоа го мери чекорниот одговор на вистинскиот мотор и го преклопува со излезот на моделот; Моделот добро се вклопува во брзиот регион, но отстапува при мала брзина - бидејќи моделот го занемарува статичкото триење. Нил ја забележува оваа граница: моделот е сигурен при голема брзина, а не со многу мала брзина. Соодветно го дизајнира контролорот. Модел и симулација на вештачка интелигенција брзо воспоставени; но валидацијата на параметрите и експерименталната споредба му ја открија на инженерот вистинската граница на важност на моделот.

Вообичаени грешки

  • Симулирање со параметрите на примерокот/местенката на ВИ и доведување на резултатот во реалност.
  • Не потврдување на симулацијата со независен аналитички контролен пункт.
  • Заборавајќи ги ефектите што моделот ги занемарува (триење, реакција, доцнење) и доверба во него под сите услови.
  • Сметајќи дека моделот е „потврден“ без воопшто да се споредува со вистинското мерење.
  • Прескокнување на анализата на стабилност (полови) и само кажување „графот изгледа убаво“.
  • Користење на моделот во целата област на проучување без определување на опсегот на валидност.

Сумирано

  • Моделот е намерно поедноставување на реалноста и секогаш остава нешто надвор.
  • Симулацијата овозможува подесување на дизајнот и контролорот без да се ризикува хардверот.
  • Секоја симулација мора да се потврди со независна аналитичка хаш-точка.
  • Параметрите на моделот треба да потекнуваат од вистинското мерење/лист со податоци, а не да се оставаат со вредноста на примерокот на ВИ.
  • Стабилноста се оценува со гледање на локациите на столбовите (левата половина рамнина).
  • Валидацијата му покажува на инженерот опсегот на важност и границите на моделот.

Задача за апликација

Изберете едноставен динамичен систем (мотор со еднонасочна струја, масовно пружино-амортизер, RC коло). Оставете ја вештачката интелигенција да изгради модел на простор-простор или диференцијална равенка и да го симулира одговорот на чекорот во Python и не заборавајте да побарате теоретска стабилна/аналитичка хаш-точка. Потоа: (1) споредете го резултатот од симулацијата со теоретската вредност за да видите дали се согласува, (2) сменете го параметарот за ±20% и видете колку резултатот се менува (чувствителност), (3) запишете најмалку два физички ефекти што моделот ги занемарува и во кој оперативен регион тие би биле важни. Опишете го опсегот на важност на вашиот модел во една реченица.