两年前进入汽车行业进公司的第一件事就是做系统仿真,说实话在学校对V流程的开发理解不深,对系统仿真更是没有深入的理解,导致刚开始以为这个活儿就是搭搭模型,跑跑数据,属于闲散打杂型的工作。但后来经过一两个月的工作之后对这个工作任务有了初步的理解,也对这个任务有了更加浓厚的兴趣。
在历史文章中介绍了从0开始搭建汽车的仿真模型,
WindSnow91:从0开始建立车辆仿真模型 – 车辆和轮胎模型的建立zhuanlan.zhihu.com其实这也是当时的一项工作,只不过公众号文章做了大量的简化,实际工程则更为复杂。
在搭建模型的过程中,首先要做的就是确定整个仿真模型的架构,到底是做前向仿真还是做后向仿真。这里说的前向仿真如下图所示,整体的框架是这样的。
后向仿真如下图所示
从仿真框架中我们不难看出,后向仿真首先假设了车辆可以满足运行循环工况的要求,从而反推出动力源运行的情况,这种方法的优点是执行速度很快,对于简单的仿真来说可以最快的得出结果,但是劣势也很明显。与前向仿真相比,后向仿真不关注油门踏板和刹车的位置信息,并且不对实时的仿真车速进行反馈,在测试动态性能时明显不如前向仿真来的灵活。且前向仿真的扭矩路径更加符合实车的测试环境,搭建的plant model可以支持软件的MiL SiL HiL测试,并且经过若干轮的优化后,仿真模型的精度很接近于实车,也能对控制逻辑中的标定量进行虚拟标定,使得软件工程师和标定工程师的工作量减小了很多,毕竟很多标定量是软件和系统工程师拍脑袋定下来的,有了桌面的虚拟标定,标定工程师在第一次上车的时候也不用那么慌了。
在实际的仿真模型中一般来说,仿真框架还可以在前向仿真的框图上再进行优化,如下图所示。
如果此时是进行循环工况的仿真,那么循环工况和实际车辆相应的差再经过一个PID控制器得到此时的驾驶员的加速和减速踏板开度,此时的仿真模型加入了实际车速的反馈,整体是一个闭环控制驾驶员模型可以对循环工况进行很好的跟踪。如果此时是100%油门的加速度测试,则可以override上述的PID控制得出的踏板开度,直接给一个具体的油门或者刹车信号即可,则此时仿真模型变成一个开环控制,由于不需要进行循环工况的跟踪,所以此时即使是开环控制,仿真的精度和结果也是可信的。
上述的驾驶员仿真模型在simulink中的实现形式如下图所示。
建立完上述模型后,就是熟悉的PID调参了,调参结束后驾驶员模型就完成了。再加上历史文章中的物理模型,
这样整个系统仿真模型的雏形就已经建立完毕了。后续补充上控制器部分的软件逻辑,一个完整的车辆仿真模型就建立完毕了。
最后说一说系统仿真的目的,系统仿真在实际工程中位于V模型开发的最左上的概念部分。此时我们如果要开发一套全新的动力系统,我们可以通过系统仿真,从系统的层面看一看具体的速比,电机参数,发动机参数等等是不是可以满足设计需求。并且优化硬件选型,得出最优的动力系统配置。并且如上文所说的,经过若干轮优化后的模型可以支持软件功能等测试,并且这几年很火的虚拟标定也可以在精度较高的模型上得以完成。对个人来说,通过系统仿真也可以对整个系统有一个宏观上的了解,并且在搭模型做仿真后可以对系统更为熟悉,对matlab和simulink的使用更加熟练。现在对于仿真的要求也越来越高,如果要想做好做优仿真模型就需要多学科的仿真知识,比如在动力系统仿真过程中,还需要用到热仿真模型,电力电子的仿真,液压模型的仿真等等,这样对于个人的知识积累也会非常有帮助。
文中难免有疏忽的地方,欢迎大家交流指正。
欢迎大家关注我的公众号:踱步在六月十七大街