人工智能與工程建模仿真調(diào)研學(xué)習(xí)記錄

1. 調(diào)研階段:?? ???????????????????????????

總方向:人工智能與工程建模仿真:工程建模仿真提供數(shù)據(jù),編程語言設(shè)計算法學(xué)習(xí)

?????? 1.1除了unity以外,還有沒有其他軟件可以和python交互,進行數(shù)據(jù)仿真與模型訓(xùn)練

?????? *1.2除了unity以外,還有沒有其他軟件可以和C++交互,進行數(shù)據(jù)仿真與模型訓(xùn)練

?????? *1.3除了python以外,還有哪些合適的語言被用于人工智能與工程建模仿真訓(xùn)練

寫在前面:

以下內(nèi)容涉及:

1.四個與虛擬現(xiàn)實相關(guān)的概念(數(shù)字孿生、*模流分析、BIM、物理仿真/物理引擎)

2.兩個經(jīng)典的有限元分析軟件及一些多學(xué)科協(xié)作仿真平臺(主要做數(shù)值模擬,能不能接入學(xué)習(xí)要打個問號)

3.人工智能+引擎實現(xiàn)虛擬仿真(unity、Unreal engine等)

需要注意的是:

1.區(qū)分一下數(shù)字模型(數(shù)字孿生)和物理仿真模型;

2.區(qū)分一下游戲仿真和工程仿真:前者可能更側(cè)重視覺效果,也能用于影視制作,后者更注重數(shù)據(jù)精度;兩者原理上有共通之處,但是側(cè)重點和計算精度要求會有不同;

3.應(yīng)當(dāng)了解一下GPU和CPU參與計算的原理和區(qū)別,以便對仿真計算和計算機圖形學(xué)有更好的理解;

4.機器學(xué)習(xí)方向有很多,光是圖像學(xué)習(xí)就可以有圖像信息識別、圖像修復(fù)、圖像再創(chuàng)造等多個方向,在開始之前應(yīng)該明確自己的領(lǐng)域和方向到底是什么;

5.本文檔更側(cè)重工程背景下的仿真模型,故對一些較為簡單的2D物理仿真和碰撞模型就不再贅述;

6.工程仿真遍布各個行業(yè)領(lǐng)域,尤其是航空航天和汽車船舶的空氣動力、水動力學(xué)仿真;對于建筑行業(yè),可以多關(guān)注BIM這一關(guān)鍵詞;

7.關(guān)于常用的編程語言:python、C++、Java都有,前兩者相對更加常用一點;

8.如果是希望使用擁有不錯的視覺渲染能力的引擎來產(chǎn)出,unity ml-agents + python依然是不錯的選擇;ue4雖然也有machine learning的版塊,但似乎開源資料和教程不如前者多;

9.一些題外話:


圖中最后說到的CAE軟件教學(xué)現(xiàn)象,僅供參考。但依然希望國家在這一行可以發(fā)展的越來越好、實現(xiàn)技術(shù)自由。

概念部分

1.數(shù)字孿生/數(shù)字模型+物聯(lián)網(wǎng)/數(shù)字化虛擬現(xiàn)實

概念:數(shù)字孿生是將有的物理實體對象的數(shù)字模型,通過實測、仿真和數(shù)據(jù)分析來實時感知、診斷、預(yù)測物理實體對象的狀態(tài),通過優(yōu)化和指令來調(diào)控物理實體對象的行為。

數(shù)字孿生的核心技術(shù):傳感技術(shù)、CAD技術(shù)、CAE技術(shù)、PLM技術(shù)、VR/AR技術(shù)等。

典型案例:數(shù)字孿生城市。

*2.模流分析(moldflow)

指運用數(shù)據(jù)模擬軟件,通過電腦完成注塑成型的模擬仿真,模擬模具注塑的過程,得出一些數(shù)據(jù)結(jié)果,通過這些結(jié)果對模具的方案可行性進行評估,完善模具設(shè)計方案及產(chǎn)品設(shè)計方案。

塑膠模具常用軟件有Moldflow、Moldex3D等,而鋁合金壓鑄比較常見的有PROCAST、FLOW3D等。

3.BIM ?

BIM的核心是通過建立虛擬的建筑工程三維模型,利用數(shù)字化技術(shù),為這個模型提供完整的、與實際情況一致的建筑工程信息庫。該信息庫不僅包含描述建筑物構(gòu)件的幾何信息、專業(yè)屬性及狀態(tài)信息,還包含了非構(gòu)件對象(如空間、運動行為)的狀態(tài)信息。借助這個包含建筑工程信息的三維模型,大大提高了建筑工程的信息集成化程度,從而為建筑工程項目的相關(guān)利益方提供了一個工程信息交換和共享的平臺。

常用的BIM建模軟件有:

(1)Autodesk公司的Revit建筑、結(jié)構(gòu)和設(shè)備軟件。常用于民用建筑。

(2)Bentley建筑、結(jié)構(gòu)和設(shè)備系列,Bentley產(chǎn)品常用于工業(yè)設(shè)計(石油、化工、電力、醫(yī)藥等)和基礎(chǔ)設(shè)施(道路、橋梁、市政、水利等)領(lǐng)域。

(3)ArchiCAD,屬于一個面向全球市場的產(chǎn)品,應(yīng)該可以說是最早的一個具有市場影響力的BIM核心建模軟件。

??? 相關(guān)領(lǐng)域有許多值得關(guān)注的平臺和論壇,這里推薦一個:

http://www.iccaee.net/

4.物理仿真/物理引擎

物理引擎使用對象屬性(動量、扭矩或者彈性)來模擬剛體行為,這不僅可以得到更加真實的結(jié)果,對于開發(fā)人員來說也比編寫行為腳本要更加容易掌握。好的物理引擎允許有復(fù)雜的機械裝置,像球形關(guān)節(jié)、輪子、氣缸或者鉸鏈。有些也支持非剛性體的物理屬性,比如流體。物理引擎可以從另外的廠商購買,而一些游戲開發(fā)系統(tǒng)具備完整的物理引擎。

Python中還有很多如pymunk,pyode等物理引擎,但較為簡單、純粹視覺化,此處不再贅述。

游戲中的物理引擎:更偏視覺化——

“物理引擎的確是在游戲中用的比較多,還有一些展示性的項目中可以用,工業(yè)cae中的物理引擎雖然他們本質(zhì)差不多但是不叫做物理引擎。游戲中物理引擎由于系統(tǒng)延遲,內(nèi)存,cpu和顯卡等的限制,一般會對原本很嚴(yán)謹(jǐn)完善的數(shù)學(xué)模型做簡化,這樣就可以很快的得到一個看起來不錯能夠欺騙眼睛的結(jié)果。工程中因為對計算結(jié)果要求的精度更高,所以可以容忍更長的計算時間,比如可以用小型服務(wù)器,超算集群跑幾天甚至幾個星期來得到一個更精確的結(jié)果。其實他們底層的數(shù)學(xué)模型都是差不多的,只是實際應(yīng)用時取舍近似的不同?!?/p>

“引擎”能做什么:

世界三大物理引擎

NⅥDIA PhysX是一種功能強大的物理加速引擎,可在頂級PC和游戲中實現(xiàn)實時的物理學(xué)計算。PhysX設(shè)計用途是利用具備數(shù)百個內(nèi)核的強大處理器來進行硬件加速。加上GPU超強的并行處理能力,PhysX將使物理加速處理能力呈指數(shù)倍增長并將您的游戲體驗提升至一個全新的水平,在游戲中呈現(xiàn)豐富多彩、身臨其境的物理學(xué)游戲環(huán)境。

Havok原是一家業(yè)界領(lǐng)先的軟件服務(wù)提供商,其物理引擎被超過200款游戲使用,許多電影也應(yīng)用了這家公司的軟件技術(shù)。

Bullet是一個跨平臺的物理模擬計算引擎。支持Windows、Linux、MAC、Playstation3、XBOX360、Nintendo Wii。Bullet也整合到了Maya和Blender 3D中。


大部分的物理引擎都是通過CPU完成物理模擬計算,目前僅有nVIDIA PhysX可以調(diào)用GPU完成物理模擬計算且將其實用化。GPU有著CPU無法比擬的并行計算和浮點計算能力,而復(fù)雜的物理模擬計算(例如流體模擬和柔性物體模擬)卻十分依賴并行計算能力和浮點計算能力。在與AMD合作后,Bullet Physics物理引擎可以透過OpenGL或者DirectCompute,使用GPU完成物理模擬計算,這也是AMD開放物理計劃的內(nèi)容之一。

一個案例:基于pybullet搭建強化學(xué)習(xí)機械臂

https://www.zhihu.com/column/c_1377640558450540544


※游戲引擎:是一個為運行某一類游戲的機器設(shè)計的能夠被機器識別的代碼(指令)集合。它像一個發(fā)動機,控制著游戲的運行。一個游戲作品可以分為游戲引擎和游戲資源兩大部分。游戲資源包括圖象,聲音,動畫等部分,列一個公式就是:游戲=引擎(程序代碼)+資源(圖象,聲音,動畫等)。游戲引擎則是按游戲設(shè)計的要求順序地調(diào)用這些資源。

游戲界知名的引擎:

·? 虛幻引擎(Unreal Engine)?

·? 寒霜引擎(Frostbite Engine)

·? Unity 3D?

·? 雷霆引擎(RAGE Engine)

·? 起源引擎(Source Engine)


兩個經(jīng)典常用的有限元分析軟件

ABAQUS 被廣泛地認(rèn)為是功能最強的有限元軟件,可以分析復(fù)雜的固體力學(xué)結(jié)構(gòu)力學(xué)系統(tǒng),特別是能夠駕馭非常龐大復(fù)雜的問題和模擬高度非線性問題。

功能:

靜態(tài)應(yīng)力/位移分析:包括線性,材料和幾何非線性,以及結(jié)構(gòu)斷裂分析等

動態(tài)分析粘彈性/粘塑性響應(yīng)分析:粘塑性材料結(jié)構(gòu)的響應(yīng)分析

熱傳導(dǎo)分析:傳導(dǎo),輻射和對流的瞬態(tài)或穩(wěn)態(tài)分析

質(zhì)量擴散分析:靜水壓力造成的質(zhì)量擴散和滲流分析等

耦合分析:熱/力耦合,熱/電耦合,壓/電耦合,流/力耦合,聲/力耦合等

非線性動態(tài)應(yīng)力/位移分析:可以模擬各種隨時間變化的大位移、接觸分析等

瞬態(tài)溫度/位移耦合分析:解決力學(xué)和熱響應(yīng)及其耦合問題

準(zhǔn)靜態(tài)分析:應(yīng)用顯式積分方法求解靜態(tài)和沖壓等準(zhǔn)靜態(tài)問題

退火成型過程分析:可以對材料退火熱處理過程進行模擬

海洋工程結(jié)構(gòu)分析:

對海洋工程的特殊載荷如流載荷、浮力、慣性力等進行模擬

對海洋工程的特殊結(jié)構(gòu)如錨鏈、管道、電纜等進行模擬

對海洋工程的特殊的連接,如土壤/管柱連接、錨鏈/海床摩擦、管道/管道相對滑動等進行模擬

水下沖擊分析:

對沖擊載荷作用下的水下結(jié)構(gòu)進行分析

柔體多體動力學(xué)分析:對機構(gòu)的運動情況進行分析,并和有限元功能結(jié)合進行結(jié)構(gòu)和機械的耦合分析,并可以考慮機構(gòu)運動中的接觸和摩擦

疲勞分析:根據(jù)結(jié)構(gòu)和材料的受載情況統(tǒng)計進行生存力分析和疲勞壽命預(yù)估

設(shè)計靈敏度分析:對結(jié)構(gòu)參數(shù)進行靈敏度分析并據(jù)此進行結(jié)構(gòu)的優(yōu)化設(shè)計

軟件除具有上述常規(guī)和特殊的分析功能外,在材料模型,單元,載荷、約束及連接等方面也功能強大并各具特點:

材料模型:定義了多種材料本構(gòu)關(guān)系及失效準(zhǔn)則模型,包括:

彈性:線彈性,可以定義材料的模量、泊松比等彈性特性

正交各向異性,具有多種典型失效理論,用于復(fù)合材料結(jié)構(gòu)分析

多孔結(jié)構(gòu)彈性,用于模擬土壤和可擠壓泡沫的彈性行為

亞彈性,可以考慮應(yīng)變對模量的影響

超彈性,可以模擬橡膠類材料的大應(yīng)變影響

粘彈性,時域和頻域的粘彈性材料模型


ANSYS軟件是美國ANSYS公司研制的大型通用有限元分析(FEA)軟件,是世界范圍內(nèi)增長最快的計算機輔助工程(CAE)軟件,能與多數(shù)計算機輔助設(shè)計(CAD,computer Aided design)軟件接口,實現(xiàn)數(shù)據(jù)的共享和交換,如Creo, NASTRAN、Algor、I-DEAS、AutoCAD等。是融結(jié)構(gòu)、流體、電場、磁場、聲場分析于一體的大型通用有限元分析軟件。在核工業(yè)、鐵道、石油化工、航空航天、機械制造、能源、汽車交通、國防軍工、電子、土木工程、造船、生物醫(yī)學(xué)、輕工、地礦、水利、日用家電等領(lǐng)域有著廣泛的應(yīng)用。

ANSYS功能強大,操作簡單方便,已成為國際最流行的有限元分析軟件,在歷年的FEA評比中都名列第一。中國100多所理工院校采用ANSYS軟件進行有限元分析或者作為標(biāo)準(zhǔn)教學(xué)軟件。


其他多學(xué)科協(xié)作工程仿真軟件/平臺

AutoForm介紹及其應(yīng)用

當(dāng)代汽車和現(xiàn)代模具設(shè)計制造技術(shù)都表明,汽車覆蓋件模具的設(shè)計制造離不開有效的板成形模擬軟件。世界上大的汽車集團,其車身開發(fā)與模具制造都要借助于一種或幾種板成形模擬軟件來提高其成功率和確保模具制造周期,國際上的軟件主要有美國eta公司的Dynaform,法國ESI集團的PAM系列軟件,德國AutoForm工程股份有限公司的AutoForm,國內(nèi)有吉林金網(wǎng)格模具工程研究中心的KMAS軟件,北航的SheetForm,華中科技大學(xué)的Vform等。

德國TLK-Thermo GmbH 公司的TISC 軟件是一款實現(xiàn)多學(xué)科物理協(xié)同仿真的平臺工具,它提供了一個標(biāo)準(zhǔn)的協(xié)同仿真環(huán)境,仿真過程既可以支持本地也可以支持遠(yuǎn)程、分布式,能有效連接起來并進行同步和控制各仿真工具,被廣泛應(yīng)用于:汽車、工業(yè)、交通等領(lǐng)域。

Matlab-Simulink ?

如何理解Simulink?

它是Simulation(仿真) + Link(連接) ,它幫助我們使用圖形的方式來開發(fā)仿真分析和研究任何系統(tǒng),而不是從頭開始編寫這些系統(tǒng)的代碼,我們在Simulink的庫找到我們需要使用的block,拖動它即可。

Dymola是法國Dassault?Systemes公司的多學(xué)科系統(tǒng)建模仿真工具,廣泛應(yīng)用于汽車、航空、航天、能源等行業(yè)系統(tǒng)的功能驗證和硬件在環(huán)仿真。Dymola中的模型庫包括Modelica基礎(chǔ)庫和商業(yè)庫。

Modelica基礎(chǔ)庫與Modelica協(xié)會發(fā)布的最新版本保持同步,為客戶提供Modelcia協(xié)會在機械、流體、電子電氣、電磁、控制、傳熱等多個工程領(lǐng)域的最新研究成果。

商業(yè)庫方面,Dymola與全球范圍內(nèi)各領(lǐng)域的領(lǐng)軍企業(yè)和研究所合作,包括Modelon、DLR、Claytex、arsenal?research等,為客戶提供具有國際領(lǐng)先水平的專業(yè)模型庫,涵蓋空調(diào)、蒸汽循環(huán)、換熱器、液冷、電力、液壓、氣動、智能電機驅(qū)動、發(fā)動機、傳動系、車輛動力學(xué)、柔性體、飛機燃油及環(huán)控、飛控、燃料電池、火電、水電、風(fēng)電等領(lǐng)域,為產(chǎn)品研發(fā)提供全面、有力的支撐。此外,Dymola還提供了模型標(biāo)定、模型管理、優(yōu)化設(shè)計等功能模塊,使基于實驗數(shù)據(jù)的建模和驗證更為便捷。

……太多了!可以看看這個:

https://www.zhihu.com/question/275419087


人工智能+引擎?

(基本概念)如何使用一套引擎搞定機器學(xué)習(xí)全流程的解決方案:

https://zhuanlan.zhihu.com/p/144272630


UE4 + machine

https://unrealcontainers.com/docs/use-cases/machine-learning

Unity Machine Learning Agents?(ML-Agents) 是一款開源的 Unity 插件, 使得我們得以在游戲環(huán)境和模擬環(huán)境中訓(xùn)練智能 agent。您可以使用 reinforcement learning(強化學(xué)習(xí))、imitation learning(模仿學(xué)習(xí))、neuroevolution(神經(jīng)進化)或其他機器學(xué)習(xí)方法, 通過簡單易用的 Python API進行控制,對 Agent 進行訓(xùn)練。我們還提供最先進算法的實現(xiàn)方式(基于TensorFlow),讓游戲開發(fā)者和業(yè)余愛好者能夠輕松地 訓(xùn)練用于 2D、3D 和 VR/AR 游戲的智能 agent。

以上,參考:Unity 機器學(xué)習(xí) ML-Agents (一)官方介紹概念

https://blog.csdn.net/u010019717/article/details/80382933#:~:text=Unity%E7%9A%84%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E4%BB%A3%E7%90%86%E5%B7%A5%E5%85%B7%20%E5%AE%98%E6%96%B9%E6%8F%8F%E8%BF%B0%EF%BC%9A%20Unity%20Machine%20Learning%20Agents,%28ML-Agents%29%20%E6%98%AF%E4%B8%80%E6%AC%BE%E5%BC%80%E6%BA%90%E7%9A%84%20Unity%20%E6%8F%92%E4%BB%B6%EF%BC%8C%20%E4%BD%BF%E5%BE%97%E6%88%91%E4%BB%AC%E5%BE%97%E4%BB%A5%E5%9C%A8%E6%B8%B8%E6%88%8F%E7%8E%AF%E5%A2%83%E5%92%8C%E6%A8%A1%E6%8B%9F%E7%8E%AF%E5%A2%83%E4%B8%AD%E8%AE%AD%E7%BB%83%E6%99%BA%E8%83%BD%20agent%E3%80%82


其他

AirSim是一款基于 Unreal Engine 的無人機,汽車的模擬器。 它是開源的,跨平臺的,它支持硬件在環(huán),并支持市面上流行的飛行控制器(如 PX4 )用于物理和視覺逼真的模擬。 這是一個 Unreal 插件,可以簡單地插入到你想要的任何 Unreal 的環(huán)境中。

https://www.unrealengine.com/zh-CN/tech-blog/ai-in-unreal-engine-learning-through-virtual-simulations

UE4和U3D的對比:

Unity3D在我國應(yīng)用較多,這主要是由于社區(qū)資源豐富,上手門檻低,使用C#作為腳本語言;而UE4使用藍圖和C++作為編程語言,令人望而生畏;后者高質(zhì)量的畫面所需更好的硬件設(shè)備。

一般來說UE4畫面能輕松好于U3D。隨著近年來UE4的快速發(fā)展,已經(jīng)有越來越多的人使用UE4,并且UE4的教程和資源也越來越多。明年年末還有UE5。

Unity3D和百度的Apollo合作,用于他們的自動駕駛仿真。其中LG公司的模擬器LGSVL已經(jīng)開源,這個模擬器是用Unity3D開發(fā)的。LGSVL可以和Apollo或者Autoware一起使用,構(gòu)建出SIL或者HIL環(huán)境,模擬器將傳感器數(shù)據(jù)發(fā)送給后者,并從后者接收控制信號,反過來控制自車在模擬器中的運動。

……

更多內(nèi)容詳見:

https://www.zhihu.com/question/420024944/answer/1464429128


Simio產(chǎn)品從版本14.230開始引入AI深度神經(jīng)網(wǎng)絡(luò)模塊,成為業(yè)內(nèi)第一個完全整合人工神經(jīng)網(wǎng)絡(luò)用于智能行為/規(guī)則訓(xùn)練的通用仿真開發(fā)平臺。新版本支持用戶在Simio環(huán)境內(nèi)構(gòu)建神經(jīng)網(wǎng)絡(luò)模型而不需編程,同時也支持ONNX人工神經(jīng)網(wǎng)絡(luò)通用格式通過第三方專業(yè)平臺進行訓(xùn)練。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容