自动标定的流程大致如下 制定边界条件->DoE->数据采集->建模->数据提取
首先是边界条件 为什么要制定边界 这个有点像做数据拟合 拿到一组数据插值拟合
之后做预测,如果得到这样的结果:EGR阀门张开角度200度时扭矩最大 这是没有意义
的,
EGR阀门最大只有90度不到 所以最开始需要定边界
制定边界的办法有很多种 可以自动寻找,也可以进一步简化,就用DoE + Convex hull
或者Star Shape 这些都是数学
其次是DoE (Design of Experiment) 这个的目的是要节约时间 比如你有10个输入参
数,每个可以取5个不同的值,全排列就有1000万 你有银河吗?没有吧 所以你需要
DoE 在事先决定了模块的类型的情况下,你可以用最少的数据得到尽可能高的精度 常
用的有D-Optimal 可以把刚才那个1000万减少到1000多
接下来是数据采集 这个没什么好说的 但采集数据的精度会直接影响到模型的精度
常用的有AVL的和ORION 可以试试写信问他们要技术资料
建模是最关键的一步
你做实验采集到了数据,比如输入参数(比如喷油量,喷射时间etc)有X1, X2, X3, 输
出有Y(油耗) 那么基于统计学你可以用一个模型总结它们之间的关系
比如Y = X1*X1 + X2*X2 – X1*X3 + X1 + X2 这个例子是二次模型,
当然还有3次,4次甚至更多,还有RBF, 这个有点像模糊控制里面计算重心的办法 基于
统计数据
建模需要注意的一点是为了简化模块,需要事先把转速和负载分为若干个稳定的领域
不要在模块里面如果包含领域到领域之间的过渡(当然这也是个研究的方向)
建模之后需要评定模块的精度,一些常用的指标比如自由度,RMSE, PRESS RMSE, AIC,
这些都是数学了
最后就是标定结果的提取了 也就是找出最优的参数值的组合
比如建模之后,得到一个三维的网格图(两个输入一个输出),可能还是多峰的,用肉眼
很快能找到峰值,但用计算机怎样去找呢?
常用的方法有微分(往斜率最大的方向移动),SQP(泰勒展开,逐次逼近)还有遗传算法
(淘汰,繁殖,变异的循环) 看到这里你大脑里的小灯是不是开始闪烁了? 为什么自动
标定需要计算机和数学的人来搞
【 在 dancinglion (BB) 的大作中提到: 】
: 很遗憾介绍自动标定的书籍是没有的 自动标定在一定程度上需要以MBD(Model Based
: Design)作为前提,但目前MBD也只是在少数公司在少数发动机的开发上在使用(BOSCH
除
: 外,他们的开发基本都是MBD的 电装和德尔福的基本都是手工代码) 自动标定应用
的
: ...................
--
FROM 60.32.117.*