前 言
在最新的工程教育对于卓越工程师培养的要求重要一条在于“解决复杂问题的能力”。这是因为工程问题天然就是复杂的,尤其对于高速高精度的复杂装备而言,它是机电软一体化的产品。而要解决复杂问题,需要工程哲学的支撑,即,如何做到“化繁为简”。在最新的工程教育对于卓越工程师培养的要求重要一条在于“解决复杂问题的能力”。这是因为工程问题天然就是复杂的,尤其对于高速高精度的复杂装备而言,它是机电软一体化的产品。而要解决复杂问题,需要工程哲学的支撑,即,如何做到“化繁为简”。
在最新的工程教育对于卓越工程师培养的要求重要一条在于“解决复杂问题的能力”。这是因为工程问题天然就是复杂的,尤其对于高速高精度的复杂装备而言,它是机电软一体化的产品。而要解决复杂问题,需要工程哲学的支撑,即,如何做到“化繁为简”。
(相关资料图)
01
工程问题的复杂性维度
工程问题的复杂性是包括多个维度的,并非仅仅是技术的复杂性,至少可以归结为如下三个方面:
首先,是在专业的复杂性,对于任何一个制造过程而言,必然涉及机械、电气、工艺三个维度的复杂耦合关系,在每个问题内部又存在着耦合关系。而机械系统它的物理特性也会随着速度的变化。踢足球的人大概心里有点概念,即,在低速时候,你带球、传切、过人、射门,其实都是可以玩出花活的。但是,一旦到了高速,就会变得复杂很多,因为,需要超级敏感的多维度感知能力,以及超强的算力、精准的执行。低速、低精度和高速高精度在制造中是完全不同的。
其次,工程问题的复杂性在于经济性约束的考量,与科学的探索(Discovery)不同,寻找可能性,而工程则是要收敛到经济性的道路上,才有意义,这使得工程不但牵扯技术问题,还牵扯整个工程过程的经济性约束,以及工程决策的“取舍”问题。
再次,工程问题的复杂性在于其社会性,工程不仅是技术问题,管理问题,同样工程过程还有其社会性、艺术性、伦理性的考虑,而这些又必须在工程设计过程中予以考虑。
当然,这些复杂问题,可以分开讨论,本文仅讨论其专业的复杂性如何化解的问题,如何化繁为简。
02
化繁为简的普适性
笛卡尔在其著名的《方法论》(Discourse on the Method)揭示了科学研究与发明的普适方法,概括为四个步骤,
(1)不盲从,对命题有自己的判断,确定有无可疑之处
(2)对于复杂问题,尽量分解为多个简单的小问题来研究,一个个分开解决,这就是化繁为简,化整为零的思路
(3)按照先易后难,逐步解决
(4)解决了小问题后,再综合起来,看看是否彻底解决了原来的问题。
作为科学方法论的基本思路,同样适用于工程开发,对于工程问题,其实解决问题的方法论是具有高度一致性的。科学不同在于“探索”,需要发散寻找新的规律,而工程则在于“收敛”,它要寻找最为经济的解决问题的道路。
03
复杂系统只需简单规则
2021年诺贝尔物理学奖授予了复杂系统的研究者乔治·帕里西教授。几年前,曾经看过梅拉尼.米歇尔教授《复杂》一书,最近又看了她的《AI3.0》,觉得还都是值得一读的好书。其中最早读《复杂》”是一本非常有意思的 ,它给我最大的提示就是“复杂系统必须用简单方法解决”。无论是沙丁鱼群的躲避鲨鱼攻击,或者蚁群的智慧涌现,还是萤火虫如何点亮,这些复杂复杂系统,如果依照触发条件、流程则是一个需要通信网络数据负载较大、响应要求极高的计算过程,那么,而这就需要一个“超强大脑”存在于这个群体中,而事实上,这些群体却并没有中心节点,然后调度,而是利用非常简单的规则来实现群体智慧涌现。
在《复杂》一书中,谈到了关于鱼群被攻击时的简单规则,并对其进行了仿真。对于沙丁鱼群受到大鱼攻击时,每个鱼只需遵循“盯着前面一条鱼,保持跟左右鱼的距离”,这简单的两条规则,鱼群就可以躲避大型鱼类的攻击。其实,这就是基于简单规则的协作问题,而今天制造业的问题,其实,同样是只能基于这样的思路来解决问题,否则,就会一定出现复杂到不可解析的程度。
04
建模的化繁为简
很多人对制造通常不是特别了解,“组合”、“可能性”的复杂性并未有直观的理解,歧路亡羊的道理虽然直观,但是,并没有用数量来表述,究竟有多少种组合—复杂性的量级有多高?
如果一个轮胎按照连线、钢丝排列、轮胎的面胶、三角胶、内胶的类型变化,以及轮胎的尺寸规格、用途需求(防滑/高温/重型)会产生超过10万种组合,而生产系统希望在不变产线的情况下,仅通过参数配置即可实现不同的生产,那就需要建一个模型,把参数引入,并形成内在的逻辑关系。系统根据配置来为其调节三鼓成型机的材料收放卷参数、成型的逻辑顺序与流程、以及材料所需的压力、温度等匹配参数—越是精益的产品,则牵扯更大维度的参数协调。
建模就是对这种关系进行结构化处理,并把相互之间的关系用数学来表达,而数学上可以表达,才能在软件上可以编写。因此,建模是要去建立一个制造过程相关性因素之间的数学关系。当然了,这种关系无法被完全描述—毕竟我们认知的世界是有限。对于一些关系,只能按照线性拟合的方式来进行表示,因为,就本质而言,世界是非线性的,线性区间仅在理想的物理条件下取值的—大概就清楚了为啥函数必须有定义域、值域的问题。
有了模型,我们就可以轻松的用这个公式去计算,以获得所需的输出值,确定我们的有效性,但是,我们并不能计算由于轮胎磨损造成的公里数计算的偏差—因为,为了这个误差所消耗的精力可能不值当。因此,模型也是有边界的,我们在寻找可以被我们利用的、稳定可控的区间。
05
测试验证,为了寻找可控的边界
当机器的速度从低速、低精度到高速高精度后,机械系统的模态发生变化,细微的变化都会带来巨大的变化,这种变化之间的关系交织在一起,这种可能有线性关系,也可能是非线性的。而且,多个维度的变量交织造成了其复杂性。并且,缺乏有效的数学模型去描述它(已有的物理化学方程),那么这个时候,就需要借助于测试验证的方法来寻找一个合适、可控的边界、区间。使得系统处于可控状态。
寻找可控的边界以及曲线关系,本身并非是可被完全先验所预知的—毕竟,并非所有的公式的取值区间都可以被先验的确定。例如寻找摩擦力对于加速度的影响关系,在一个可控曲线内,它的变化是可以被已有的公式描述的。我们需要寻找到这个区间,并利用这个区间的可控性来实现控制。
06
OPC UA -你以为它只是个通信?
D同学经常和我探讨OPC UA,说实话,作为并不从事研发的人,我对OPC UA更多是发挥了“概念技能”去理解它。但是,从真实的开发视角理解,则D同学深入的多。他认为OPC UA非常重要的一个作用就是在系统性建模这个问题上,其实,OPC UA为协作,在机器间,构建了一个统一交互信息的规则与框架,然后,在这个接口的衔接下,对任务的编程变得简单,因为,复杂系统只需遵循简单规则,即,协作的机器之间,需要“逻辑”上的简单规则,然后,通过TSN的周期性数据采集与传输,就可以解决一个大系统的智能运行问题。
在一个制造工厂,可能会牵扯到复杂的机器间的协同问题,但是,不同的设备其数据类型、格式、单位、属性、存取、权限都会有不同,那么,需要有统一的规范接口来实现交互。当我们为这些协作任务编写程序 时,就一定会出现事件和数据的调用问题,那么,这个协同就必须有统一的规范,以降低为此而编写程序的工作量,仅调用结构化封装好的数据,就可以在他们之间建立以数据驱动方式的协作关系。通过信息的统一建模,使得整个复杂的过程被简化。
回到一个机器的控制任务循环,再去思考比机器更大的工厂循环,就明白OPC UA over TSN的作用了,这就给我们开启了一个上帝视角来看待工厂的连接,以及运行。
07
输送系统的化繁为简
在现实的离散组装产线的生产过程中,也会遇到这样的问题,其实,这里存在着缓冲分配难题,即,Buffer Allocation Problem,生产中各个单元之间,一定会因为各个工站节拍的不同,造成Buffer中的零配件输送和等待,当这些节拍比较大的差别时,整个系统的效率就很难提高。
这不难理解,每个常年差旅习惯的人一定会深有感触,实际上,花费在路上和等待(飞机、出租车)的时间经常大于实际的处理事务的时间。这就是为什么需要数字化—在线会议的原因,数字化就降低了这些非必要的时间,进而来提高效率。
在一个变化的制造单元中,包括了几种情况:(1)经常需要频繁的调整产线,工装夹具的更换 (2).产品经常变化,需要混线生产,(3).较大的产品调整,需要对整个机械系统进行重新设计或大的改造。
Elon Musk提出了“Machine is Factory”,这是要将离散的制造产线变为像流程工业的“装置即工厂”的形式,以获得连续生产的最大效率。
像贝加莱的ACOPOStrak、ACOPOS 6D就是为了解决上述这些问题,它的功效就在于把复杂的生产问题简化为离散的“配置”问题,将传统机械的复杂性降低为电磁效应的可控性,当实现电磁方式的输送后,整个产线就可以被“编程”,这就使得产线成为了“可编程产线-Programable Line”,使得产线的灵活性,被逻辑、顺序的编排来大幅简化。其实,在数学上也是“解耦”问题,即,化繁为简。
ACOPOS 6D这样的平面输送系统的关键性在于:
(1).解决连续性,通过In-Machine和Between Machine之间的物流输送效率,提高生产连续性,使得Machine is Factory,这样就能实现效率大幅提升。
(2).简化机械结构:有很多运动,可以被软件可控的输送系统动作所替代,它降低对非标工装的需求,同时也简化了原来的输送流程。
08
数字孪生的化繁为简
复杂系统的复杂在于变化,并且,它是一种“动态的”、“不确定性”、“非线性”的变化。对于传统大规模生产来说,机理建模构建一个闭环就可以保持运营,只要让这个闭环系统稳定、可靠,它就能不断的通过规模来降低成本。但是,对于一个具有紧密耦合关系,且要实现“大规模定制化”的智能制造系统而言,它本身就蕴含了多个维度的变化,除了机器本身的复杂性,连接后的耦合带来的复杂性,以及动态的市场变化带来的复杂性,使得这个系统的控制、运营,具有非常大的变化。
它的复杂在于“变化”,无法用一个确定的策略来对待,那么,这个时候,就需要一个“框架”来把这个不确定性给收敛起来,降低不确定性。
数字孪生系统就像是“知行合一”的一个系统,要不断的去感知、系统自身要去分析和判断,并去执行,以构成一个动态的多级闭环,这个闭环在现场级发生在设备上,在工厂级则发生在调度和策略上,在企业级则发生在生产、物流、制造、财务等系统的动态策略制定上。
数字孪生系统通过一个数字系统来映射,并通过“知”和“行”的反复对比,通过数据建模方式,动态的观察运行系统的规律,并形成新的知识,对这个运行系统影响质量、成本、效率的相关性进行分析,并不断去收敛。
因此,数字孪生,把复杂、不确定问题,通过一个可持续改进的运行机制给收敛,并稳定下来,也是让复杂的不确定的,变为简单的可复制的。
工程的问题,最终还是需要通过“化繁为简”的哲学去解决,而在具体的每个细节上,同样是以这个哲学来运行。