1. 非线性干扰的数学本质与建模方法

做控制这么多年,我越来越觉得——搞懂干扰,比搞懂控制器本身还重要。你想想看,一个系统设计得再漂亮,遇到非线性干扰,照样可能翻车。我刚开始做项目那会儿,就吃过这个亏。

今天咱们就来聊聊,非线性干扰到底是个什么东西,以及怎么把它用数学语言描述出来。

1.1 非线性干扰的本质:它跟线性干扰有啥不一样?

先问个问题:线性干扰和非线性干扰,区别在哪?

线性干扰,说白了就是可叠加、可预测的干扰。比如一个恒定的偏置力,或者一个正弦波噪声。你给它一个输入,它给你一个成比例的输出。好对付。

但非线性干扰呢?它不跟你讲道理。

  • 不满足叠加原理:两个干扰同时作用,结果不是各自效果的简单相加
  • 输出与输入不成比例:输入翻倍,输出可能翻三倍,也可能不变
  • 可能产生新频率:输入是50Hz,干扰输出可能蹦出100Hz、150Hz

核心观点:非线性干扰的数学本质,是系统动态特性对输入信号的非线性映射。它破坏了线性系统理论赖以生存的叠加原理。

我在一个电机控制项目里遇到过这种情况:电机空载时跑得好好的,一加载,电流波形就开始"扭曲"。一开始我以为是传感器坏了,查了半天才发现——是齿槽转矩这个非线性干扰在作怪。

1.2 常见的非线性干扰类型

实战中,我总结了几类最常见的非线性干扰。你对照看看,是不是都见过?

类型 数学描述 典型场景
死区非线性 输入在[-δ, δ]内时输出为0 液压阀、齿轮间隙
饱和非线性 输出被限制在上下限之间 电机转矩限幅、放大器饱和
滞环非线性 输出不仅取决于当前输入,还取决于历史 压电执行器、磁滞材料
摩擦非线性 静摩擦 > 动摩擦,存在Stribeck效应 机械导轨、轴承
齿槽转矩 与转子位置相关的周期性脉动 永磁同步电机

实战技巧:我建议你在做系统辨识时,先跑一组开环扫频测试。如果发现输出频谱里出现了输入频率的谐波分量,那基本可以断定——系统存在非线性干扰。

1.3 数学建模方法:怎么把干扰"写"出来?

嗯,这里要注意。建模不是越复杂越好,而是越实用越好。我见过有人把干扰模型建得比系统本身还复杂,结果控制器设计不出来。没必要。

常用的建模方法有这么几种:

1.3.1 基于物理机理的建模

如果你清楚干扰的物理来源,那就直接写方程。比如摩擦力的LuGre模型:

dz/dt = v - σ₀·|v|·z / g(v)
g(v) = F_c + (F_s - F_c)·e^{-(v/v_s)²}
F_f = σ₀·z + σ₁·dz/dt + σ₂·v

这个模型我用了好多年。参数多,但精度高。不过说实话,调参挺费劲的。

1.3.2 基于数据的黑箱建模

不知道物理机理?没关系。用神经网络或者模糊系统去拟合。比如用RBF神经网络逼近一个未知非线性函数:

d(x) = Σ w_i · φ_i(x)
φ_i(x) = exp(-||x - c_i||² / σ_i²)

我记得有个项目,机械臂的关节摩擦力矩怎么都测不准。后来我用RBF网络在线学习,效果出奇的好。当然,前提是你得有足够的训练数据。

1.3.3 混合建模(灰箱模型)

我个人最推荐这种方法。把已知的物理结构保留,未知部分用数据驱动来补。比如:

系统总干扰 = 已知摩擦模型 + 神经网络补偿项

这样做的好处是:既有物理可解释性,又有数据驱动的灵活性。

避坑指南:我曾经在一个项目中,过度依赖纯数据驱动模型。结果系统在训练数据覆盖不到的工况下,干扰补偿完全失效。从那以后,我坚持"能物理建模就物理建模,物理建模不够再用数据补"的原则。

1.4 知识体系总览

下面这张图,是我自己梳理的非线性干扰建模知识框架。你可以把它当作本章的"地图":

非线性干扰建模知识体系 数学本质 破坏叠加原理 常见类型 死区/饱和/滞环/摩擦 建模方法 物理/数据/混合 非线性映射特性 • 不满足叠加原理 • 输出与输入不成比例 • 产生新频率分量 工程常见干扰 • 死区:液压阀/齿轮 • 饱和:电机/放大器 • 摩擦:导轨/轴承 建模策略 • 物理机理:LuGre摩擦 • 黑箱:RBF神经网络 • 混合:物理+数据补偿 目标:为鲁棒控制提供干扰模型 模型精度 ↔ 控制器复杂度 的权衡 图1:非线性干扰建模知识体系总览

1.5 建模时要注意的几个坑

最后,分享几个我踩过的坑:

  1. 别把模型建得太细。模型精度每提高10%,控制器复杂度可能翻倍。够用就行。
  2. 注意干扰的时变性。很多非线性干扰的参数会随着温度、磨损而变化。模型要留出在线更新的接口。
  3. 验证模型时,一定要用没训练过的数据。我见过太多人在训练集上精度99%,一上现场就崩。
  4. 别忘了测量噪声。你建模的"干扰"里,可能有一半是传感器噪声。先做滤波,再建模。

我的习惯:每次建模前,先花30分钟把干扰的物理来源想清楚。想不清楚?那就先跑数据,看看频谱里有什么特征。很多时候,频谱里的"尖峰"会告诉你干扰的"真身"是什么。

好了,关于非线性干扰的数学本质和建模方法,就先聊到这儿。记住一句话:你建的模型有多准,你的鲁棒控制器就能有多"鲁棒"。下一章,咱们会深入讨论怎么把这些模型用到控制器设计中去。


公众号:蓝海资料掘金营,微信deep3321