為什么有物理建模
對于復(fù)雜系統(tǒng)來說,搭建閉環(huán)系統(tǒng)模型是控制開發(fā)過程中不可缺少的一環(huán),它不僅能幫助我們驗(yàn)證控制算法還能進(jìn)行系統(tǒng)級性能分析與優(yōu)化。模型貫穿桌面仿真到實(shí)時(shí)仿真,幫助我們通過各種手段的仿真測試盡早的發(fā)現(xiàn)集成問題。
Simulink 作為嵌入式控制算法開發(fā)工具已經(jīng)廣泛的應(yīng)用于汽車、航空航天、工業(yè)自動化、農(nóng)業(yè)機(jī)械等等各個(gè)行業(yè),也成為各大高校理工科專業(yè)同學(xué)所熟知的科研工具之一。
Simulink 作為通用的數(shù)學(xué)建模工具,早期也廣泛的被用于搭建被控對象數(shù)學(xué)方程。它提供了一個(gè)交互式圖形環(huán)境和一套豐富的模塊庫(很多公司也有積累多年的模型庫),允許用戶建立復(fù)雜的系統(tǒng)級模型。
但是隨著行業(yè)的發(fā)展,嵌入式控制器所面對的系統(tǒng)復(fù)雜度增加且靈活多變,手動推導(dǎo)復(fù)雜系統(tǒng)的耦合數(shù)學(xué)方程變得越來越復(fù)雜。
有時(shí)候,甚至無從下手。
Simulink 主要面向的是基于信號流的處理和系統(tǒng)級的仿真,非常適合于控制系統(tǒng)、數(shù)字信號處理、通訊系統(tǒng)等領(lǐng)域的建模。
然而,當(dāng)我們從事機(jī)械、電氣、流體或熱系統(tǒng)的建模時(shí),系統(tǒng)的物理行為及其互相之間的復(fù)雜相互作用往往是我們關(guān)注的焦點(diǎn)。這些系統(tǒng)的建模不僅僅是基于信號的處理,更多的是需要考慮能量的交換、物質(zhì)的流動以及物理組件的動態(tài)行為。這就是 Physical Modeling 出現(xiàn)的原因。
對于不熟悉物理建模方法的朋友,可能有些困惑于它與我們所熟悉的 Simulink 建模工作有什么區(qū)別。
我用下面這個(gè)小動畫來簡要說明建模過程的區(qū)別。
如動畫所示,物理建模本質(zhì)上是把基本元件模塊通過物理連線來復(fù)現(xiàn)系統(tǒng)拓?fù)浣Y(jié)構(gòu)。這里的物理連接沒有信號的方向問題,和真實(shí)系統(tǒng)一樣表示能量的交換。
相比之下,Simulink 建模通常需要推導(dǎo)系統(tǒng)的耦合數(shù)學(xué)方程組,用 Simulink 模塊連接來表達(dá)方程組的計(jì)算過程。這種傳統(tǒng)的數(shù)學(xué)建模手段,它的信號線表征數(shù)據(jù)流的方向,建模過程中需要嚴(yán)格配置信號的方向/正負(fù),否則會出現(xiàn)計(jì)算錯誤。
當(dāng)系統(tǒng)結(jié)構(gòu)發(fā)生變化時(shí),我們需要謹(jǐn)慎考慮系統(tǒng)數(shù)學(xué)方程之間的變量關(guān)系,保證數(shù)學(xué)上的完整性,并用 Simulink 計(jì)算模塊表達(dá)出來。
而對于 Simscape 這類物理建模工具來說,我們只需要將原有的單質(zhì)量彈簧阻尼系統(tǒng)復(fù)用,并如同真實(shí)系統(tǒng)一樣連接起來,得到雙質(zhì)量彈簧阻尼系統(tǒng),而并不用考慮信號的方向問題。如下方動畫所示。
總之Physical Modeling之所以出現(xiàn),主要是因?yàn)橐韵聨讉€(gè)原因:
面向物理系統(tǒng)的建模需求:對于涉及機(jī)械、電氣、流體和熱等物理過程的系統(tǒng),Physical Modeling 提供了一種更直觀、符合工程師思維習(xí)慣的建模方式。
復(fù)雜系統(tǒng)的多物理場交互:在許多應(yīng)用場景中,系統(tǒng)的行為受到多個(gè)物理領(lǐng)域相互作用的影響。Physical Modeling 可以更自然地描述這些相互作用。
提高建模效率:通過使用預(yù)定義的物理組件和庫,工程師可以快速搭建復(fù)雜的物理系統(tǒng)模型,而不需要從零開始定義所有的數(shù)學(xué)方程。
便于理解和交流:基于組件的模型更容易被非專業(yè)人士理解,有助于跨學(xué)科團(tuán)隊(duì)之間的溝通和合作。
因此,盡管基于信號流 Simulink 建模方式已經(jīng)非常強(qiáng)大和靈活,但針對特定類型的物理系統(tǒng)建模和分析,Physical Modeling 提供了一種更加直觀和高效的解決方案。
Simscape 前世今生
隨著工業(yè)領(lǐng)域系統(tǒng)建模仿真需求的增加,物理建模方法論也衍生出各種開源以及商業(yè)化軟件。
MathWorks 最早于 1998 年就提供了專用于電路/電網(wǎng)系統(tǒng)建模的 SimPowerSystem(后并入 Simscape Electrical)。
預(yù)測到未來多物理域復(fù)雜系統(tǒng)集成的大趨勢,MathWorks 又于 2007a 推出了以物理建模方法(physical modeling)為基礎(chǔ)的 Simscape,接著于 2008b 發(fā)布 Simscape language,至此將 Simscape 定位為一個(gè)開放的多物理域仿真平臺。
隨著時(shí)間的推移,MathWorks 逐步擴(kuò)展了 Simscape 的功能,增加了多個(gè)領(lǐng)域的專業(yè)庫,除了前兩篇介紹過的 Battery 以及 Driveline,還有比如 Simscape Electrical(電氣系統(tǒng))、Simscape Mechanics(實(shí)屬瞎說,沒有這個(gè)...)、Simscape Fluids(流體系統(tǒng))和 Simscape Multibody(多體動力學(xué)系統(tǒng))等。這些專業(yè)庫大大豐富了 Simscape 的應(yīng)用范圍,使其能夠應(yīng)對更加復(fù)雜的多物理場系統(tǒng)建模需求。
作為基礎(chǔ)平臺,Simscape本身除了提供求解器技術(shù)、代碼生成技術(shù)、模型的數(shù)據(jù)查看功能等等;同時(shí)Simscape也有一個(gè)基礎(chǔ)模塊庫,其中內(nèi)置了常見的10種不同物理域(機(jī)械平動和轉(zhuǎn)動分屬不同的運(yùn)動域),可以應(yīng)用于各行各業(yè),如下圖所示。
Simscape 特點(diǎn)
事實(shí)上除了本文介紹的 Simscape 之外,其它各種建模手段都有它們各自的特點(diǎn)。比如習(xí)慣于純代碼開發(fā)的工程師也可能依舊選擇編碼的方式來搭建模型,對于學(xué)生來說使用 Simulink 復(fù)現(xiàn)教科書各個(gè)方程能幫助學(xué)習(xí)和理解專業(yè)領(lǐng)域的基礎(chǔ)知識。
我們可以根據(jù)實(shí)際情況選擇合適的工具來解決自己的問題。
對于 Simscape 這類物理建模工具來說,它并不代表我們可以完全不懂相關(guān)的專業(yè)知識,它只是讓我們可以花更少的時(shí)間在元件以及系統(tǒng)方程組的推導(dǎo)上,更方便的將理論實(shí)現(xiàn)為可以運(yùn)行的仿真模型,從而將更多的精力專注于系統(tǒng)分析與優(yōu)化。
原理圖組裝式建模,自動構(gòu)建方程組
集成于 MATLAB/Simulink
可以方便的模擬元件故障以便分析對系統(tǒng)的影響
Simscape 內(nèi)置 DAEs 系統(tǒng)專用求解技術(shù)
開發(fā)人員需要購買所需的專有工具箱,而只是運(yùn)行該模型不需要額外購買專用工具箱(只需要持有 Simscape)從而降低團(tuán)隊(duì)工具軟件成本
Simscape 模型均支持 C 代碼生成,在缺乏物理原型的場景下亦能測試嵌入式軟件
Simscape 功能簡介
下面從建模, 仿真, 分析, 部署, 共享幾個(gè)方面進(jìn)行簡要說明,并添加了一些有意思的新功能介紹。
a. 建模
庫模塊零部件特性方程內(nèi)置于各個(gè)元件內(nèi)部,由類似于 m 語言的 Simscape Language 定義,且 Foundation 庫元件的源碼都是可見的。我們也可以用同樣的方式來構(gòu)建自己的元件以及元件庫。補(bǔ)充一句,原來用過 Simscape Language 的都知道,里面的查表函數(shù)支持到 2D,從 2024a 開始支持 N-D 查表,比如 3D,4D。
建模時(shí)將同種物理域端口相連構(gòu)建系統(tǒng)拓?fù)渚W(wǎng)絡(luò)得到模型。
模塊之間的連接為物理連接,在模塊連接過程中不用考慮信號的進(jìn)出方向。
最后系統(tǒng)方程組的推導(dǎo)以及求解則由求解器自動完成。
另外,庫模塊還內(nèi)置故障模型,可以很方便設(shè)置、觸發(fā)和管理故障。
2024a 更新了一個(gè)小的顯示功能,所有 Simscape 模塊圖標(biāo)都變成“透明”的了,能更好的和自定義背景板顏色融合。
b. 導(dǎo)入
模型還可以導(dǎo)入,比如導(dǎo)入 CAD 裝配體及其零件模型、SPICE 描述文件、流體屬性數(shù)據(jù)、有限元矩陣信息以及電機(jī)有限元磁鏈數(shù)據(jù)。這些內(nèi)容在專門的工具箱章節(jié)再詳細(xì)介紹。
除了零部件之外,2024a 提供了一個(gè)圖片數(shù)據(jù)導(dǎo)入 app:Graph Importer tool,它可以從 PDF 格式的數(shù)據(jù)手冊中導(dǎo)入數(shù)據(jù)點(diǎn)。
c. 仿真求解
Simscape 求解器根據(jù)框圖模型自動推導(dǎo)系統(tǒng)方程組,并進(jìn)行符號方程組的簡化,如模型降階/變量消除。我們可以通過 Statistic Viewer 來查看當(dāng)前模型復(fù)雜度,對模型計(jì)算量有一個(gè)深入的了解。
我們搭建的任何模型都會從一個(gè)初始狀態(tài)開始。
而物理系統(tǒng)的初始狀態(tài)有其特殊性,即必須滿足物理約束。比如在同一個(gè)傳動鏈兩端的質(zhì)量快的初始速度必須符合等效傳動比關(guān)系。
對于復(fù)雜系統(tǒng),我們很難手動計(jì)算和設(shè)置每一個(gè)元件的初始速度、初始位移、初始壓力、初始壓力、初始電流等等。而 Simscape 求解器可以根據(jù)我們所設(shè)置的部分初始值以及優(yōu)先級,來推算整個(gè)系統(tǒng)的初始狀態(tài)。我們可以通過 Variable Viewer 來查看初始化的結(jié)果。
除了微分方程之外,物理系統(tǒng)還時(shí)常包含代數(shù)方程部分,使得求解更為復(fù)雜。Simscape 提供針對 DAE(Differential-Algebraic Equation) 方程組的隱式求解器技術(shù),可以更高效率的求解大部分模型,并可用于實(shí)時(shí)仿真比如 HIL 測試。
我們根據(jù)可以實(shí)際應(yīng)用來配置合適的求解器。
2024a 新增了多線程編譯功能以減少 Simscape 模型編譯時(shí)間。它默認(rèn)會打開,當(dāng)然如果你為了比較不同模型之間的編譯時(shí)間,那么也可以把它關(guān)閉。
此外,近幾年的新版 Simscape 在大規(guī)模模型(Scalable Compilation)上了做了很多的工作,另外新的比如增量編譯(Incremental Compilation)、增量代碼生成(Incremental Code Generation)等等技術(shù)降低了 Simscape 模型的編譯時(shí)間以及代碼生成的時(shí)間。
結(jié)合增量代碼生成(Incremental Code Generation),增量編譯技術(shù)(Incremental Compilation) 核心原理是在初次編譯過程中,對每個(gè)可重用組件進(jìn)行一次編譯,并保存編譯產(chǎn)物。當(dāng)模型中存在重復(fù)的組件實(shí)例時(shí),編譯器將重用這些已編譯的結(jié)果,而不是重新編譯。在隨后的編譯過程中,如果檢測到可重用組件未發(fā)生變化,編譯器將跳過這些組件的編譯,直接使用之前的編譯結(jié)果。
d. 分析
Simscape 模型也支持 Fast Restart 仿真模式,可以快速的運(yùn)行多次仿真而只需要編譯初始化一次。
和普通的Simulink模型一樣,Simscape 的任意信號(包括傳感器測不到的元件內(nèi)部信號)都可以記錄和圖示。
另外,三維機(jī)械系統(tǒng) (Simscape Multibody) 的仿真結(jié)果還可以用動畫的形式更直觀的表現(xiàn)出來。
并且,所有分析任務(wù)都可以使用
MATLAB 來自動化及加速
e. 部署
Simscape 模型支持 C 代碼生成,且更新物理系統(tǒng)參數(shù)不需要重新生成代碼,以便我們將系統(tǒng)閉環(huán)仿真驗(yàn)證擴(kuò)展到 HIL 環(huán)節(jié)并測試不同的場景。
Simscape 讓我們的能:
更安全
更低成本的方式
分析系統(tǒng)
并測試更多樣的場景
不過其實(shí) Simscape 模塊也支持 HDL Coder(SimscapeFPGAHIL_lib.slx),通常用在有高速開關(guān)的電子電氣模型里。
f. 共享
使模型發(fā)揮更大價(jià)值
作為模型開發(fā)者,我們也可以把 Simscape 子系統(tǒng)封裝構(gòu)造自定義參數(shù)界面,放入零部件庫,以提高工作成果的復(fù)用性。
同時(shí),也可以分享只讀模式并設(shè)置密碼,在需要的場合保護(hù)知識產(chǎn)權(quán)。
作為 Simscape 獨(dú)有的特點(diǎn),它支持分享模式。
當(dāng)我們開發(fā)的模型需要被大規(guī)模應(yīng)用的時(shí)候,從節(jié)約軟件成本的角度,我們可以把模型導(dǎo)出為分享模式,模型的使用者只需要購買 Simscape 基礎(chǔ)工具箱,就可以仿真和運(yùn)行我們所分享的包含 Simscape 其它系列工具箱如 Electrical、Multibody 等等的模型。
-
matlab
+關(guān)注
關(guān)注
189文章
3001瀏覽量
234142 -
仿真
+關(guān)注
關(guān)注
52文章
4289瀏覽量
135873 -
建模
+關(guān)注
關(guān)注
1文章
317瀏覽量
61594 -
Simulink
+關(guān)注
關(guān)注
22文章
543瀏覽量
64056
原文標(biāo)題:物理建模 | 你所不知道的 Simscape
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
如何使用Simscape Multibody的物理建模模塊來建立倒立擺模型?
Simscape搭建直流電源模型的方法
Simulink建模仿真實(shí)例快速入門
《全面詳解LTE:MATLAB建模、仿真與實(shí)現(xiàn)》.PPT
MathWorks在Simscape中更新的新功能的分析和介紹

關(guān)于Simscape的建模和仿真多域物理系統(tǒng)的分析和介紹

關(guān)于建模和仿真多域物理系統(tǒng)的分析和介紹

MATLAB Simulink中Simscape的使用手冊詳細(xì)說明

Simulink_simscape電源電路建模入門

Simscape搭建直流電源模型

基于Simscape Battery模型的電池系統(tǒng)建模與仿真

基于Simscape Driveline模型的傳動系統(tǒng)建模與仿真

基于Simscape Fluids模型的環(huán)控系統(tǒng)建模與仿真

評論