116、ILC:P型、D型与PD型学习律
116、ILC:P型、D型与PD型学习律从一次失败的焊线机调试说起去年接手一个焊线机项目,要求将焊头定位精度从±50μm压到±5μm。PID调了三天,前馈加了两轮,稳态误差死活下不去——不是震荡就是响应太慢。后来翻出十几年前在硬盘伺服团队的老笔记,看到一行潦草的字:“重复运动,别死磕PID,上ILC。”迭代学习控制(ILC)这东西,说白了就是让机器“长记性”。同一个轨迹跑一次记一次误差,下次提前修正。但问题来了:怎么修正?修正多少?这就引出了学习律的设计——P型、D型、PD型,三种最常见的ILC学习律。P型学习律:简单粗暴,但有代价P型ILC的学习律长这样:u_{k+1}(t) = u_k(t) + L_p * e_k(t)其中L_p是学习增益,e_k(t)是第k次迭代的误差。第一次看到这个公式,你可能会觉得:这不就是比例控制吗?没错,形式上确实像。但区别在于,P型ILC是在“迭代域”里做比例修正,而不是在时间域里。实际调试中的坑:我最早在直线电机平台上试P型ILC,L_p取了0.5。第一次迭代误差从10μm降到6μm,第二次降到3.5μm,第三次2.1μm——看起来不错对吧?但到第五次迭代,误差开始震荡,第七次直接发散。问题出在哪?P型学习律只关注当前时刻的误差,完全不考虑误差的变化趋势。如果系统存在高频噪声或测量延迟,P型学习律会把噪声也“学”进去,导致控制量越来越抖。