“还在跟pid死磕?”陈默的声音,平静地响起。
“老师!”林浩像看到了救星,“我……我感觉我快疯了。这三个参数,根本就没法调到一起!它们互相矛盾!”
“谁告诉你,一定要让它们『调到一起的?”陈默反问道。
“啊?”林浩愣住了。
陈默没有直接解释。他走到白板前,拿起笔,画了一个简单的控制框图。
“你现在做的,叫『反馈控制。”他说,“它的逻辑是,『先看到误差,再进行补偿。这就像一个司机,他必须先看到车子偏离了车道,才能开始打方向盘。这种方式,天生,就带有『滯后性。”
“对於我们这个要求极高动態响应的系统来说,光靠『反馈,是不够的。”
陈-默在框图的前面,又画上了一个新的模块,並写上了两个字:
“前馈”。
“前馈控制?”林浩对这个名词,有些陌生。
“对。”陈默解释道,他的眼中,闪烁著一种属於“控制理论”的、清晰的逻辑光芒,“『前馈的逻辑,与『反馈完全相反。它不是『亡羊补牢,而是『未雨绸繆。”
“我们知道,我们最终的目標,不是一个恆定值,而是一条已知的、非线性的冷却曲线,对吗?”
林浩点点头。
“既然我们已经提前知道了『標准答案,那我们为什么,还要等系统出现误差了,再去被动地修正呢?”陈默反问道,“我们完全可以,根据这条目標曲线,提前计算出,在每一个时刻,电机『理论上应该输出多大的力矩,才能完美地追踪这条曲线。”
“我们把这个『理论上的力矩,作为一个『前馈信號,直接,加到我们的控制系统里。让电机,提前,就做好准备!”
“然后,”陈默在两个模块之间,画上了一个加號,“我们再用你那个虽然有滯后、但能消除最终误差的pid『反馈控制,去修正因为模型不准、外部扰动等因素,而產生的、那一点点微小的偏差。”
“前馈,负责『打主力,完成99%的追踪任务;反馈,负责『打辅助,处理那最后1%的残余误差。”
“这,才是一个真正先进的、现代的控制系统。这叫,『前馈-反馈复合控制。”
陈默的这番话,像一把钥匙,瞬间,打开了林浩脑子里那扇生了锈的、名为《自动控制原理》的大门。
他之前所有的努力,都只是在试图,去训练一个“反应型”的司机。而陈默,现在教他的,是如何,去打造一个拥有“导航系统”和“自动驾驶”能力的、真正的“未来战车”!
这是一种,思维维度上的,彻底的“升维”!
巨大的兴奋,让林浩忘记了所有的疲惫。
在接下来的两天里,在陈默的指导下,他开始构建这个全新的、更复杂的复合控制算法。
他先是,通过一系列的实验,测量出了他那台“魔改”电机的各项关键参数,比如转动惯量、摩擦係数等,建立起了一个虽然粗糙、但可用的“电机数学模型”。
然后,他基於这个模型,编写了“前馈控制器”的代码。
最后,他再將自己之前调试了无数次的pid“反馈控制器”,作为一个“辅助”,耦合了进去。
当他將这个全新的、凝聚了现代控制理论精髓的算法,烧录进单片机,並进行第一次测试时。
奇蹟,发生了。
屏幕上,那条代表著“实际转速”的红色曲线,像一个拥有了灵魂的舞者,以一种极其矫健、而又无比精准的姿態,完美地,“咬”住了那条代表著“目標曲线”的、非线性的蓝色指令。
无论目標曲线,如何加速,如何减速,如何转折。
那条红色的曲线,都如同它的影子一般,不离不弃,紧紧跟隨。
误差,被控制在了惊人的千分之一以內!
林浩看著屏幕上那两条几乎完美重合的曲线,感觉自己的呼吸,都快要停止了。
他知道,他,终於,驯服了那头隱藏在代码深处的“上古神兽”。
他为他们的“超级武器”,成功地,安装上了一个最强大、最聪明的“大脑”。