Добивки:
- Способност да се изгради модел на диференцијални равенки на систем со вештачка интелигенција и да се симулира во 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)системски #, печатење?" Дали вистинските делови се негативни?
Потврда на моделот (валидација)
Не е доволно да се изгради модел и да се симулира; Треба да докажете дека моделот ја претставува реалноста. Чекори за верификација:
- Обезбедете аналитика: споредете со независни контроли како што се законите за стабилна состојба, зачувување.
- Извор на параметар: Дали параметрите на моделот (J, K, R...) се навистина измерени/лист со податоци или проценка?
- Експериментална споредба: Ако е можно, измерете го чекорот на реалниот систем и преклопете го со оној на моделот.
- Чувствителност: Колку се менува резултатот при промена на параметрите за ±20% (колку е чувствителен моделот)?
- Опсег на важност: Во кој опсег на брзина/оптоварување/температура важи моделот, каде се распаѓа?
Внимание: Параметрите на моделот (инерција, триење, константа на моторот) дадени од AI се скоро секогаш вредности на примерок/место. Не ги доведувајте резултатите од симулацијата „во реалност“ без да ги замените со листот со податоци или мерењата на вашиот реален систем. Мостот помеѓу „работи во симулација“ и „работи на терен“ е точноста и валидацијата на параметарот.
Слаба навестување / Силен навестување
СЛАБ:"Напишете симулација на мотор."(Кој модел? параметри? верификација? Се појавува бесмислена графика.)STRONG:"Составете модел на простор-состојба (состојби: аголна брзина и струја) на DC мотор. Симулирајте одговор од чекор од 12 V со vescipy solve_ivp. Дефинирајте ги параметрите што може да ги стави на почетокот, R, L. Напишете ја и теоретската формула за брзината на стабилна состојба „за да можам да ја потврдам симулацијата. Пресметајте го времето на подигање, надминување и времето на смирување од одговорот на чекорот“.
Мини случај
Инженерот за истражување и развој Nil го моделира системот пред да дизајнира контролер за нова оска за позиционирање. Тој има AI да го изгради моделот на DC мотор и додаде PID контролер; Симулацијата дава убав одговор без прескокнување. Но, кога Nil ја споредува брзината на стабилна состојба со теоретската формула, тој наоѓа разлика од 15%: примерокот на константата на моторот K што ја користи AI е различна од онаа на вистинскиот мотор. Кога ги ставате вредностите на листот со податоци, симулацијата се вклопува со теоријата. Потоа го мери чекорниот одговор на вистинскиот мотор и го преклопува со излезот на моделот; Моделот добро се вклопува во брзиот регион, но отстапува при мала брзина - бидејќи моделот го занемарува статичкото триење. Нил ја забележува оваа граница: моделот е сигурен при голема брзина, а не со многу мала брзина. Соодветно го дизајнира контролорот. Модел и симулација на вештачка интелигенција брзо воспоставени; но валидацијата на параметрите и експерименталната споредба му ја открија на инженерот вистинската граница на важност на моделот.
Вообичаени грешки
- Симулирање со параметрите на примерокот/местенката на ВИ и доведување на резултатот во реалност.
- Не потврдување на симулацијата со независен аналитички контролен пункт.
- Заборавајќи ги ефектите што моделот ги занемарува (триење, реакција, доцнење) и доверба во него под сите услови.
- Сметајќи дека моделот е „потврден“ без воопшто да се споредува со вистинското мерење.
- Прескокнување на анализата на стабилност (полови) и само кажување „графот изгледа убаво“.
- Користење на моделот во целата област на проучување без определување на опсегот на валидност.
Сумирано
- Моделот е намерно поедноставување на реалноста и секогаш остава нешто надвор.
- Симулацијата овозможува подесување на дизајнот и контролорот без да се ризикува хардверот.
- Секоја симулација мора да се потврди со независна аналитичка хаш-точка.
- Параметрите на моделот треба да потекнуваат од вистинското мерење/лист со податоци, а не да се оставаат со вредноста на примерокот на ВИ.
- Стабилноста се оценува со гледање на локациите на столбовите (левата половина рамнина).
- Валидацијата му покажува на инженерот опсегот на важност и границите на моделот.
Задача за апликација
Изберете едноставен динамичен систем (мотор со еднонасочна струја, масовно пружино-амортизер, RC коло). Оставете ја вештачката интелигенција да изгради модел на простор-простор или диференцијална равенка и да го симулира одговорот на чекорот во Python и не заборавајте да побарате теоретска стабилна/аналитичка хаш-точка. Потоа: (1) споредете го резултатот од симулацијата со теоретската вредност за да видите дали се согласува, (2) сменете го параметарот за ±20% и видете колку резултатот се менува (чувствителност), (3) запишете најмалку два физички ефекти што моделот ги занемарува и во кој оперативен регион тие би биле важни. Опишете го опсегот на важност на вашиот модел во една реченица.