101、运动控制中的状态观测器:龙伯格观测器 运动控制中的状态观测器:龙伯格观测器从一次电机堵转说起去年调试一个伺服驱动器项目,遇到了一个让人抓狂的问题。电机在低速运行时,编码器反馈的转速信号噪声大得离谱,速度环PID根本没法用。我尝试了各种滤波手段——滑动平均、低通滤波、甚至卡尔曼滤波都试了一遍,要么延迟太大导致系统不稳定,要么滤波效果不理想。直到我在一个老工程师的笔记里看到一句话:“你观测不到的状态,就用观测器去估计。”这句话点醒了我。当时我面临的核心问题是:编码器只能测到位置,速度是通过位置差分得到的,而差分运算会放大高频噪声。如果我能直接“观测”出速度,而不是通过差分计算,问题不就解决了吗?这就是龙伯格观测器(Luenberger Observer)的用武之地。龙伯格观测器的直觉理解先别急着看公式。龙伯格观测器的核心思想其实很简单:你有一个物理系统(比如电机),你知道它的数学模型(比如转动惯量、阻尼系数),你也能测量到部分状态(比如位置)。那么,你可以用数学模型去“模拟”这个系统,然后用测量值和模型输出之间的误差来修正你的模拟结果。打个比方:你闭着眼睛走路(没有传感器),但你知道自己每一步迈多大(模型),那么你大概能估计自己走了多远。但如果你偶尔睁开眼睛看一下(测量),发现实际位置和估计位置有偏差,你就会调整自己的步伐估计。龙伯格观测器干的就是这个事——它用模型预测状态,用测量值修正预测。数学推导:从连续到离散考虑一个线性时不变系统:dx/dt = Ax + Bu y = Cx