Pelnas:
- Gebėjimas sukurti sistemos diferencialinės lygties modelį su AI ir imituoti jį Python
- Gebėjimas interpretuoti modeliavimo rezultatus (žingsnis atsakas, stabilumas) AI pagalba
- Gebėjimas taikyti modelio prielaidų ribų ir jų suderinamumo su realia sistema tikrinimo discipliną
Prieš fiziškai kurdami mechatroninę sistemą, galite ją suprasti, suprojektuoti ir išbandyti ant modelio. Modeliu pagrįstas dizainas; Tai būdas pavaizduoti sistemos elgseną diferencialinėmis lygtimis arba blokinėmis diagramomis, paleisti ją modeliuojant, projektuoti ir patikrinti valdiklį. Tai turi didelę vertę: galite išbandyti šimtus scenarijų, numatyti stabilumą, saugiai reguliuoti valdiklio padidėjimą nerizikuodami aparatine įranga. Dirbtinis intelektas yra galingas asistentas šiame procese: jis konstruoja sistemos lygtį, rašo jos modeliavimą Python kalba, interpretuoja rezultatus. Tačiau modelis yra žemėlapis, o ne reljefas; Inžinieriaus pareiga yra nustatyti, kaip modelis atspindi tikrovę (patvirtinimas). Šiame skyriuje aptariame modelio kūrimą, modeliavimą ir modelio ribų patikrinimą naudojant AI.
Kas yra modelis ir ko jis nepaiso?
Modelis yra specialiai sukurtas supaprastintas tikrovės vaizdas. Pavyzdžiui, paprastas nuolatinės srovės variklio modelis yra sukurtas naudojant elektrines ir mechanines lygtis, tačiau jis gali nepaisyti netiesinės trinties dalies, krumpliaračio laisvumo ir temperatūros poveikio. Dėl šių praleidimų modelis yra naudingas, tačiau taip pat nustatoma jo galiojimo riba.
Jis yra modelyje
dažnai apleistas
Masė, inercija, varža, induktyvumas
Netiesinė trintis, atbulinis smūgis
Pagrindinės dinaminės lygtys
Sotumas, negyva zona
Idealus jutiklis/pavara
Matavimo triukšmas, vėlavimas
Fiksuoti parametrai
Parametrai, kurie keičiasi priklausomai nuo temperatūros
Pagrindinis principas: „Visi modeliai klaidingi, kai kurie naudingi“. Tai, ar modelis veikia, priklauso nuo to, ar jame praleisti dalykai yra svarbūs jūsų darbo diapazone.
Nuolatinės srovės variklio modelio kūrimas ir modeliavimas
Paprastas nuolatinės srovės variklio būsenos-erdvės modelis parašytas būsenomis kampiniu greičiu ω ir srove i. AI gali nustatyti šias lygtis ir imituoti jas Python su scipy:
importuoti numpy kaip npiš scipy.integrate importuoti solve_ivpimport matplotlib.pyplot kaip plt# nuolatinės srovės variklio parametrai (pavyzdinės reikšmės – turėtų būti paimtos iš faktinio duomenų lapo) J = 0,01 # inercija (kg*m^2)b = 0,1 # klampi trintis ir # * 0.0 m. V*s/rad)R = 1,0 # varža (omų) L = 0,5 # induktyvumas (H)def motor_dynamigi(t, x, V): """x = [omega, i]. V = taikoma įtampa.""" omega, i = x domega = (K * i - b * omega) / J # ga = mechaninė e elektrinės lygties grąžinimas [domega, di]# 12 Modeliavimas su V žingsnio įvestimi (patikrinimas):omega_ss_theoretical = K * V / (R * b + K**2)print(f"Galutinis modeliavimo greitis: {omega[-1]:.2f} rad/s")print(f"Teorinės pastovios būsenos: {omega}_s."
Patvirtinimo linija čia yra labai svarbi: palyginame modeliavimo būdu pasiektą pastovios būsenos greitį su ranka išvestą teorine formule (K·V/(R·b+K²)). Jei du sutampa, mūsų pasitikėjimas modeliavimu didėja; Jei jie nesutampa, lygtyje arba kode yra klaida. Raskite tokį nepriklausomą maišos tašką kiekvienam modeliui, kurį sukuria AI.
Patarimas: kai AI imituoja sistemą, visada pasakykite „taip pat duok man teorinį/analitinį patikros tašką, kuriame galėčiau patikrinti rezultatą“. Nepriklausomas patikrinimas, pvz., pastovios būsenos vertė, energijos išsaugojimo įstatymas, energijos balansas ir kt., yra greičiausias būdas nustatyti kodo klaidas.
Žingsnis atsakas ir stabilumas
Pagrindinės elgsenos, kurias perskaitysite iš modeliavimo:
- Kilimo laikas: laikas, per kurį išvestis pasiekia tam tikrą tikslo dalį.
- Perviršis: kiek jis viršija tikslą.
- Nusistovėjimo laikas: laikas, per kurį jis tampa nuolatiniu tikslinėje juostoje.
- Stabilumas: ar atsakas išlieka ribotas, ar jis auga iki begalybės?
Stabilumas yra svarbiausias modeliu pagrįsto projektavimo rezultatas. Jeigu sistemos poliai (perkėlimo funkcijos vardiklio šaknys) yra kairėje pusplokštumoje, sistema yra stabili; Stulpas, judantis į dešinę pusę plokštumos, reiškia nestabilumą. AI gali apskaičiuoti sistemos poliškumą ir interpretuoti jos stabilumą:
importuoti numpy kaip np# Pavyzdys: būdingi daugianario koeficientai [1, a2, a1, a0]koeficientai = [1, 3, 3, 1]roots = np.roots(coeficiens)print("Poles:", roots)stable = np.all(np.real(roots) < 0) the systemstables("stables)? neigiamas?
Modelio patvirtinimas (patvirtinimas)
Neužtenka sukurti modelį ir jį imituoti; Turite įrodyti, kad modelis atspindi tikrovę. Patvirtinimo veiksmai:
- Pateikite analizę: palyginkite su nepriklausomomis valdymo priemonėmis, pvz., pastovios būsenos, išsaugojimo įstatymais.
- Parametrų šaltinis: Ar modelio parametrai (J, K, R...) iš tikrųjų išmatuoti / duomenų lapas, ar įvertinimas?
- Eksperimentinis palyginimas: jei įmanoma, išmatuokite realios sistemos žingsninį atsaką ir perdenkite jį su modelio atsaku.
- Jautrumas: kiek pasikeičia rezultatas keičiant parametrus ±20% (kiek jautrus modelis)?
- Galiojimo diapazonas: kokiame greičio / apkrovos / temperatūros diapazone modelis galioja, kur jis sugenda?
Atsargiai: modelio parametrai (inercija, trintis, variklio konstanta), kuriuos pateikia AI, beveik visada yra imties / rezervuotojo reikšmės. Neperkelkite modeliavimo rezultatų į realybę, nepakeisdami jų tikrosios sistemos duomenų lapu ar matavimais. Tiltas tarp „modeliavimo darbų“ ir „darbų lauke“ yra parametrų tikslumas ir patvirtinimas.
Silpnas raginimas / stiprus raginimas
WEAK:"Parašykite variklio modeliavimą."(Koks modelis? Parametrai? Patvirtinimas? Pasirodo beprasmis grafikas.)STRONG:"Sukurkite nuolatinės srovės variklio būsenos-erdvės modelį (būsenos: kampinis greitis ir srovė). Imituokite 12 V žingsninį atsaką su vescipy solve_ivp. Apibrėžkite parametrus kaip kintamuosius, kad būtų galima įrašyti realias reikšmes K, R, b) pradžioje. teorinė pastovaus greičio formulė "kad galėčiau patikrinti modeliavimą. Apskaičiuokite kilimo laiką, viršijimą ir nusistovėjimo laiką pagal žingsninį atsaką.
Mini dėklas
R&D inžinierius Nil modeliuoja sistemą prieš kurdamas valdiklį naujai padėties nustatymo ašiai. Jis leidžia dirbtiniam intelektui sukurti nuolatinės srovės variklio modelį ir pridėti PID valdiklį; Modeliavimas duoda gražų, nepertraukiamą atsaką. Tačiau kai Nilas lygina pastovų greitį su teorine formule, jis nustato 15% skirtumą: AI naudojama pavyzdinė variklio konstanta K skiriasi nuo tikrojo variklio. Kai įdedate duomenų lapo reikšmes, modeliavimas atitinka teoriją. Tada jis matuoja tikrojo variklio žingsninį atsaką ir perdengia jį modelio išvestimi; Modelis puikiai tinka greitam regionui, bet nukrypsta esant mažam greičiui, nes modelis nepaiso statinės trinties. Nulis pažymi šią ribą: modelis yra patikimas dideliu greičiu, o ne labai mažu greičiu. Jis atitinkamai suprojektuoja valdiklį. AI modelis ir modeliavimas greitai sukurti; tačiau parametrų patvirtinimas ir eksperimentinis palyginimas atskleidė inžinieriui tikrąją modelio galiojimo ribą.
Dažnos klaidos
- Modeliavimas su AI imties / rezervuotos vietos parametrais ir rezultato įgyvendinimas.
- Nepatvirtina modeliavimo naudojant nepriklausomą analitinį kontrolinį tašką.
- Pamiršti poveikį, kurio modelis nepaiso (trintis, atbulinis smūgis, vėlavimas) ir pasitikėti juo bet kokiomis sąlygomis.
- Manoma, kad modelis „patvirtintas“, niekada jo nelyginant su tikruoju matavimu.
- Praleidus stabilumo analizę (polius) ir tiesiog pasakius „grafas atrodo gražiai“.
- Modelio naudojimas visoje tyrimo srityje, nenustatant galiojimo diapazono.
Apibendrinant
- Modelis yra tikslingas tikrovės supaprastinimas ir visada kažką palieka.
- Modeliavimas įgalina dizainą ir valdiklio derinimą nerizikuojant aparatine įranga.
- Kiekvienas modeliavimas turi būti patvirtintas pagal nepriklausomą analitinį maišos tašką.
- Modelio parametrai turi būti gauti iš tikro matavimo / duomenų lapo, o ne palikti AI imties verte.
- Stabilumas vertinamas žiūrint į polių vietas (kairioji pusė plokštuma).
- Patvirtinimas parodo inžinieriui modelio galiojimo diapazoną ir ribas.
Taikymo užduotis
Pasirinkite paprastą dinaminę sistemą (nuolatinės srovės variklis, masė-spyruoklė-amortizatorius, RC grandinė). Leiskite dirbtiniam intelektui sukurti būsenos erdvės arba diferencialinės lygties modelį ir imituoti žingsninį atsaką Python, ir būtinai paprašykite teorinio pastovios būsenos / analitinės maišos taško. Tada: (1) palyginkite modeliavimo rezultatą su teorine reikšme, kad pamatytumėte, ar jis sutampa, (2) pakeiskite parametrą ±20% ir pamatysite, kiek pasikeičia rezultatas (jautrumas), (3) užrašykite bent du fizikinius efektus, kurių modelis nepaiso ir kuriame veikimo regione jie būtų svarbūs. Vienu sakiniu apibūdinkite savo modelio galiojimo diapazoną.