1. 调研阶段:
总方向:人工智能与工程建模仿真:工程建模仿真提供数据,编程语言设计算法学习
1.1除了unity以外,还有没有其他软件可以和python交互,进行数据仿真与模型训练
*1.2除了unity以外,还有没有其他软件可以和C++交互,进行数据仿真与模型训练
*1.3除了python以外,还有哪些合适的语言被用于人工智能与工程建模仿真训练
写在前面:
以下内容涉及:
1.四个与虚拟现实相关的概念(数字孪生、*模流分析、BIM、物理仿真/物理引擎)
2.两个经典的有限元分析软件及一些多学科协作仿真平台(主要做数值模拟,能不能接入学习要打个问号)
3.人工智能+引擎实现虚拟仿真(unity、Unreal engine等)
需要注意的是:
1.区分一下数字模型(数字孪生)和物理仿真模型;
2.区分一下游戏仿真和工程仿真:前者可能更侧重视觉效果,也能用于影视制作,后者更注重数据精度;两者原理上有共通之处,但是侧重点和计算精度要求会有不同;
3.应当了解一下GPU和CPU参与计算的原理和区别,以便对仿真计算和计算机图形学有更好的理解;
4.机器学习方向有很多,光是图像学习就可以有图像信息识别、图像修复、图像再创造等多个方向,在开始之前应该明确自己的领域和方向到底是什么;
5.本文档更侧重工程背景下的仿真模型,故对一些较为简单的2D物理仿真和碰撞模型就不再赘述;
6.工程仿真遍布各个行业领域,尤其是航空航天和汽车船舶的空气动力、水动力学仿真;对于建筑行业,可以多关注BIM这一关键词;
7.关于常用的编程语言:python、C++、Java都有,前两者相对更加常用一点;
8.如果是希望使用拥有不错的视觉渲染能力的引擎来产出,unity ml-agents + python依然是不错的选择;ue4虽然也有machine learning的版块,但似乎开源资料和教程不如前者多;
9.一些题外话:
图中最后说到的CAE软件教学现象,仅供参考。但依然希望国家在这一行可以发展的越来越好、实现技术自由。
概念部分
1.数字孪生/数字模型+物联网/数字化虚拟现实
概念:数字孪生是将有的物理实体对象的数字模型,通过实测、仿真和数据分析来实时感知、诊断、预测物理实体对象的状态,通过优化和指令来调控物理实体对象的行为。
数字孪生的核心技术:传感技术、CAD技术、CAE技术、PLM技术、VR/AR技术等。
典型案例:数字孪生城市。
*2.模流分析(moldflow)
指运用数据模拟软件,通过电脑完成注塑成型的模拟仿真,模拟模具注塑的过程,得出一些数据结果,通过这些结果对模具的方案可行性进行评估,完善模具设计方案及产品设计方案。
塑胶模具常用软件有Moldflow、Moldex3D等,而铝合金压铸比较常见的有PROCAST、FLOW3D等。
3.BIM ⭐
BIM的核心是通过建立虚拟的建筑工程三维模型,利用数字化技术,为这个模型提供完整的、与实际情况一致的建筑工程信息库。该信息库不仅包含描述建筑物构件的几何信息、专业属性及状态信息,还包含了非构件对象(如空间、运动行为)的状态信息。借助这个包含建筑工程信息的三维模型,大大提高了建筑工程的信息集成化程度,从而为建筑工程项目的相关利益方提供了一个工程信息交换和共享的平台。
常用的BIM建模软件有:
(1)Autodesk公司的Revit建筑、结构和设备软件。常用于民用建筑。
(2)Bentley建筑、结构和设备系列,Bentley产品常用于工业设计(石油、化工、电力、医药等)和基础设施(道路、桥梁、市政、水利等)领域。
(3)ArchiCAD,属于一个面向全球市场的产品,应该可以说是最早的一个具有市场影响力的BIM核心建模软件。
相关领域有许多值得关注的平台和论坛,这里推荐一个:
4.物理仿真/物理引擎
物理引擎使用对象属性(动量、扭矩或者弹性)来模拟刚体行为,这不仅可以得到更加真实的结果,对于开发人员来说也比编写行为脚本要更加容易掌握。好的物理引擎允许有复杂的机械装置,像球形关节、轮子、气缸或者铰链。有些也支持非刚性体的物理属性,比如流体。物理引擎可以从另外的厂商购买,而一些游戏开发系统具备完整的物理引擎。
Python中还有很多如pymunk,pyode等物理引擎,但较为简单、纯粹视觉化,此处不再赘述。
游戏中的物理引擎:更偏视觉化——
“物理引擎的确是在游戏中用的比较多,还有一些展示性的项目中可以用,工业cae中的物理引擎虽然他们本质差不多但是不叫做物理引擎。游戏中物理引擎由于系统延迟,内存,cpu和显卡等的限制,一般会对原本很严谨完善的数学模型做简化,这样就可以很快的得到一个看起来不错能够欺骗眼睛的结果。工程中因为对计算结果要求的精度更高,所以可以容忍更长的计算时间,比如可以用小型服务器,超算集群跑几天甚至几个星期来得到一个更精确的结果。其实他们底层的数学模型都是差不多的,只是实际应用时取舍近似的不同。”
“引擎”能做什么:
世界三大物理引擎:
NⅥDIA PhysX是一种功能强大的物理加速引擎,可在顶级PC和游戏中实现实时的物理学计算。PhysX设计用途是利用具备数百个内核的强大处理器来进行硬件加速。加上GPU超强的并行处理能力,PhysX将使物理加速处理能力呈指数倍增长并将您的游戏体验提升至一个全新的水平,在游戏中呈现丰富多彩、身临其境的物理学游戏环境。
Havok原是一家业界领先的软件服务提供商,其物理引擎被超过200款游戏使用,许多电影也应用了这家公司的软件技术。
Bullet是一个跨平台的物理模拟计算引擎。支持Windows、Linux、MAC、Playstation3、XBOX360、Nintendo Wii。Bullet也整合到了Maya和Blender 3D中。
大部分的物理引擎都是通过CPU完成物理模拟计算,目前仅有nVIDIA PhysX可以调用GPU完成物理模拟计算且将其实用化。GPU有着CPU无法比拟的并行计算和浮点计算能力,而复杂的物理模拟计算(例如流体模拟和柔性物体模拟)却十分依赖并行计算能力和浮点计算能力。在与AMD合作后,Bullet Physics物理引擎可以透过OpenGL或者DirectCompute,使用GPU完成物理模拟计算,这也是AMD开放物理计划的内容之一。
一个案例:基于pybullet搭建强化学习机械臂
https://www.zhihu.com/column/c_1377640558450540544
※游戏引擎:是一个为运行某一类游戏的机器设计的能够被机器识别的代码(指令)集合。它像一个发动机,控制着游戏的运行。一个游戏作品可以分为游戏引擎和游戏资源两大部分。游戏资源包括图象,声音,动画等部分,列一个公式就是:游戏=引擎(程序代码)+资源(图象,声音,动画等)。游戏引擎则是按游戏设计的要求顺序地调用这些资源。
游戏界知名的引擎:
· 虚幻引擎(Unreal Engine)⭐
· 寒霜引擎(Frostbite Engine)
· Unity 3D⭐
· 雷霆引擎(RAGE Engine)
· 起源引擎(Source Engine)
两个经典常用的有限元分析软件
ABAQUS 被广泛地认为是功能最强的有限元软件,可以分析复杂的固体力学结构力学系统,特别是能够驾驭非常庞大复杂的问题和模拟高度非线性问题。
功能:
静态应力/位移分析:包括线性,材料和几何非线性,以及结构断裂分析等
动态分析粘弹性/粘塑性响应分析:粘塑性材料结构的响应分析
热传导分析:传导,辐射和对流的瞬态或稳态分析
质量扩散分析:静水压力造成的质量扩散和渗流分析等
耦合分析:热/力耦合,热/电耦合,压/电耦合,流/力耦合,声/力耦合等
非线性动态应力/位移分析:可以模拟各种随时间变化的大位移、接触分析等
瞬态温度/位移耦合分析:解决力学和热响应及其耦合问题
准静态分析:应用显式积分方法求解静态和冲压等准静态问题
退火成型过程分析:可以对材料退火热处理过程进行模拟
海洋工程结构分析:
对海洋工程的特殊载荷如流载荷、浮力、惯性力等进行模拟
对海洋工程的特殊结构如锚链、管道、电缆等进行模拟
对海洋工程的特殊的连接,如土壤/管柱连接、锚链/海床摩擦、管道/管道相对滑动等进行模拟
水下冲击分析:
对冲击载荷作用下的水下结构进行分析
柔体多体动力学分析:对机构的运动情况进行分析,并和有限元功能结合进行结构和机械的耦合分析,并可以考虑机构运动中的接触和摩擦
疲劳分析:根据结构和材料的受载情况统计进行生存力分析和疲劳寿命预估
设计灵敏度分析:对结构参数进行灵敏度分析并据此进行结构的优化设计
软件除具有上述常规和特殊的分析功能外,在材料模型,单元,载荷、约束及连接等方面也功能强大并各具特点:
材料模型:定义了多种材料本构关系及失效准则模型,包括:
弹性:线弹性,可以定义材料的模量、泊松比等弹性特性
正交各向异性,具有多种典型失效理论,用于复合材料结构分析
多孔结构弹性,用于模拟土壤和可挤压泡沫的弹性行为
亚弹性,可以考虑应变对模量的影响
超弹性,可以模拟橡胶类材料的大应变影响
粘弹性,时域和频域的粘弹性材料模型
ANSYS软件是美国ANSYS公司研制的大型通用有限元分析(FEA)软件,是世界范围内增长最快的计算机辅助工程(CAE)软件,能与多数计算机辅助设计(CAD,computer Aided design)软件接口,实现数据的共享和交换,如Creo, NASTRAN、Algor、I-DEAS、AutoCAD等。是融结构、流体、电场、磁场、声场分析于一体的大型通用有限元分析软件。在核工业、铁道、石油化工、航空航天、机械制造、能源、汽车交通、国防军工、电子、土木工程、造船、生物医学、轻工、地矿、水利、日用家电等领域有着广泛的应用。
ANSYS功能强大,操作简单方便,已成为国际最流行的有限元分析软件,在历年的FEA评比中都名列第一。中国100多所理工院校采用ANSYS软件进行有限元分析或者作为标准教学软件。
其他多学科协作工程仿真软件/平台
AutoForm介绍及其应用
当代汽车和现代模具设计制造技术都表明,汽车覆盖件模具的设计制造离不开有效的板成形模拟软件。世界上大的汽车集团,其车身开发与模具制造都要借助于一种或几种板成形模拟软件来提高其成功率和确保模具制造周期,国际上的软件主要有美国eta公司的Dynaform,法国ESI集团的PAM系列软件,德国AutoForm工程股份有限公司的AutoForm,国内有吉林金网格模具工程研究中心的KMAS软件,北航的SheetForm,华中科技大学的Vform等。
德国TLK-Thermo GmbH 公司的TISC 软件是一款实现多学科物理协同仿真的平台工具,它提供了一个标准的协同仿真环境,仿真过程既可以支持本地也可以支持远程、分布式,能有效连接起来并进行同步和控制各仿真工具,被广泛应用于:汽车、工业、交通等领域。
Matlab-Simulink ⭐
如何理解Simulink?
它是Simulation(仿真) + Link(连接) ,它帮助我们使用图形的方式来开发仿真分析和研究任何系统,而不是从头开始编写这些系统的代码,我们在Simulink的库找到我们需要使用的block,拖动它即可。
Dymola是法国Dassault Systemes公司的多学科系统建模仿真工具,广泛应用于汽车、航空、航天、能源等行业系统的功能验证和硬件在环仿真。Dymola中的模型库包括Modelica基础库和商业库。
Modelica基础库与Modelica协会发布的最新版本保持同步,为客户提供Modelcia协会在机械、流体、电子电气、电磁、控制、传热等多个工程领域的最新研究成果。
商业库方面,Dymola与全球范围内各领域的领军企业和研究所合作,包括Modelon、DLR、Claytex、arsenal research等,为客户提供具有国际领先水平的专业模型库,涵盖空调、蒸汽循环、换热器、液冷、电力、液压、气动、智能电机驱动、发动机、传动系、车辆动力学、柔性体、飞机燃油及环控、飞控、燃料电池、火电、水电、风电等领域,为产品研发提供全面、有力的支撑。此外,Dymola还提供了模型标定、模型管理、优化设计等功能模块,使基于实验数据的建模和验证更为便捷。
……太多了!可以看看这个:
https://www.zhihu.com/question/275419087
人工智能+引擎⭐
(基本概念)如何使用一套引擎搞定机器学习全流程的解决方案:
https://zhuanlan.zhihu.com/p/144272630
UE4 + machine
https://unrealcontainers.com/docs/use-cases/machine-learning
Unity Machine Learning Agents (ML-Agents) 是一款开源的 Unity 插件, 使得我们得以在游戏环境和模拟环境中训练智能 agent。您可以使用 reinforcement learning(强化学习)、imitation learning(模仿学习)、neuroevolution(神经进化)或其他机器学习方法, 通过简单易用的 Python API进行控制,对 Agent 进行训练。我们还提供最先进算法的实现方式(基于TensorFlow),让游戏开发者和业余爱好者能够轻松地 训练用于 2D、3D 和 VR/AR 游戏的智能 agent。
以上,参考:Unity 机器学习 ML-Agents (一)官方介绍概念
其他
AirSim是一款基于 Unreal Engine 的无人机,汽车的模拟器。 它是开源的,跨平台的,它支持硬件在环,并支持市面上流行的飞行控制器(如 PX4 )用于物理和视觉逼真的模拟。 这是一个 Unreal 插件,可以简单地插入到你想要的任何 Unreal 的环境中。
UE4和U3D的对比:
Unity3D在我国应用较多,这主要是由于社区资源丰富,上手门槛低,使用C#作为脚本语言;而UE4使用蓝图和C++作为编程语言,令人望而生畏;后者高质量的画面所需更好的硬件设备。
一般来说UE4画面能轻松好于U3D。随着近年来UE4的快速发展,已经有越来越多的人使用UE4,并且UE4的教程和资源也越来越多。明年年末还有UE5。
Unity3D和百度的Apollo合作,用于他们的自动驾驶仿真。其中LG公司的模拟器LGSVL已经开源,这个模拟器是用Unity3D开发的。LGSVL可以和Apollo或者Autoware一起使用,构建出SIL或者HIL环境,模拟器将传感器数据发送给后者,并从后者接收控制信号,反过来控制自车在模拟器中的运动。
……
更多内容详见:
https://www.zhihu.com/question/420024944/answer/1464429128
Simio产品从版本14.230开始引入AI深度神经网络模块,成为业内第一个完全整合人工神经网络用于智能行为/规则训练的通用仿真开发平台。新版本支持用户在Simio环境内构建神经网络模型而不需编程,同时也支持ONNX人工神经网络通用格式通过第三方专业平台进行训练。