ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

MFAC无模型自适应控制仿真全解析:伪偏导数、CFDL/PFDL与MIMO实战

MFAC无模型自适应控制仿真全解析:伪偏导数、CFDL/PFDL与MIMO实战 从MFAC仿真说起为什么这套无模型自适应控制让人又爱又恨做控制的人一定听过MFAC但真正能把它跑起来、调通、用在课程设计或者论文复现里的说实话不多。我前前后后做过六组MFAC无模型自适应控制仿真覆盖了CFDL紧凑格式动态线性化、PFDL偏格式动态线性化、MIMO多输入多输出系统、伪偏导数估计这几个核心方向手上积攒了一套完整的程序框架和参考资料。这篇就把这套东西的来龙去脉、每个环节的坑、参数调试的底层逻辑一次讲清楚。这套仿真的意义在于MFAC不需要被控对象的精确数学模型只靠输入输出数据在线估计一个伪偏导数PPD就能完成控制器设计这种思路和传统PID、模型预测控制的路子是完全不同的。对研究生来说它是理解数据驱动控制的最佳切入口对工程师来说它是处理复杂非线性、时变、强耦合系统的实用方案。下面所有内容都基于我实测过的代码和实验记录你可以直接照着复现。1. 先把MFAC的核心逻辑拆清楚1.1 无模型控制到底是什么它与传统控制的本质区别很多人第一次看到“无模型自适应控制”这个名词误以为它完全不需要模型。其实MFAC不是没有模型而是不依赖先验的数学模型它通过动态线性化技术在每一个工作点附近建立一个虚拟的等价线性模型然后用在线数据实时更新这个虚拟模型里的时变参数。打个比方传统控制是先花大力气测绘一张城市地图再根据地图规划路线MFAC是不管城市具体长什么样每走一步都用一个“当前视角下的直线趋势”近似下一步的路况走一步修正一步这样即使城市变化了也能抵达目标。这里“当前视角下的直线趋势”就是动态线性化得到的线性形式而“修正因子”就是伪偏导数。这个想法的直接好处是既绕开了系统辨识的误差累积又不需要对非线性系统进行繁琐的线性化近似。对于许多参数时变、结构复杂的被控对象比如电机负载特性突变、化学反应釜参数漂移、飞行器气动参数随工况变化传统模型控制可能需要在多个工作点分别建模而MFAC一套参数体系就能覆盖整个工况范围。1.2 伪偏导数MFAC体系里最核心的变量伪偏导数Pseudo Partial DerivativePPD是MFAC的思想核心。它在数学上不是系统真正的偏微分而是动态线性化模型中等价于“输入增量对输出增量的比例因子”的时变参数。以最简单的单入单出SISO系统为例CFDL形式的动态线性化写成Δy(k1) φ(k) · Δu(k)这里Δy(k1)y(k1)-y(k)Δu(k)u(k)-u(k-1)。φ(k)就是伪偏导数。这个式子的含义是在当前时刻系统输出的变化量等于伪偏导数乘以控制输入的变化量模型结构固定但φ(k)随时间变化。系统所有的非线性、时变性、不确定性信息全部被“塞进”了这个时变的φ(k)里。这个设计非常巧妙。你不需要知道系统到底是什么阶次、有什么内部状态只需要保证一个前提系统满足广义Lipschitz条件即输入变化量有界时输出变化量也有界。这个条件在实际工程系统里绝大多数情况下是成立的。那么如何得到φ(k)呢靠伪偏导数估计算法PPDE。标准形式是φ̂(k) φ̂(k-1) η·Δu(k-1)/(μ ‖Δu(k-1)‖²) · [Δy(k) - φ̂(k-1)·Δu(k-1)]其中η是步长因子取(0,1]之间μ是权重因子取正数作用是防止分母为零并限制参数调整幅度。这一步估计的本质是“带遗忘的最小二乘思想”的简化版本——用当前预测误差修正上一时刻参数估计值但引入了μ来做归一化约束。1.3 CFDL、PFDL、MIMO到底对应什么场景搞懂MFAC必须先分清三种情形CFDL紧凑格式动态线性化是把系统等价为一个单步的输入输出关系只在“当前输入增量”和“下一个输出增量”之间建立联系。结构最简单适合中等复杂度、惯性不是特别大、输入输出维度匹配的系统。PFDL偏格式动态线性化则引入了滑动的输入历史窗口。它不只考虑当前时刻的输入增量还考虑过去L-1个时刻的输入增量等价模型写为Δy(k1) Φᵀ_L(k) · ΔU_L(k)其中ΔU_L(k)[Δu(k), Δu(k-1), ..., Δu(k-L1)]ᵀ是L维的输入增量向量Φ_L(k)是相应的时变参数向量此时伪偏导数变成向量了叫伪梯度向量。PFDL的适应能力更强适合处理系统惯性大、输入到输出的响应存在较长过渡过程的场合因为历史输入信息都被利用了。MIMO情形则要处理多入多出系统。此时伪偏导数变成伪雅可比矩阵维数是输出维度乘以输入维度严格说是m_out × m_in。每一对输入输出之间都有一个时变耦合系数MFAC通过在线更新这个矩阵隐式处理了通道间的耦合。因此MIMO-MFAC不需要显式解耦但它天然地考虑了耦合影响。一句话总结选型逻辑能搞定就选CFDL系统“反应慢”、滞后明显上PFDL多变量耦合系统上MIMO版本的伪雅可比矩阵方案。2. CFDL与PFDL两种动态线性化的本质区别与选型逻辑2.1 CFDL的数学形式、适用边界与实现细节CFDL的控制律标准形式我很建议直接背下来u(k) u(k-1) ρ·φ̂(k)/(λ ‖φ̂(k)‖²) · [y*(k1) - y(k)]其中ρ是步长因子取(0,1]之间λ是惩罚因子取正数用于限制控制增量的大小。这个控制律的推导思路是最小化二次性能指标J [y*(k1)-y(k1)]² λ·[u(k)-u(k-1)]²把CFDL模型代进去解优化。注意λ的作用是双向的一方面限制控制能量避免控制量过大另一方面保证分母不为零数值上更稳定。实际写代码时CFDL是三段式的第一步用PPDE更新φ̂(k)第二步根据φ̂(k)和跟踪误差计算控制增量第三步执行控制并读取新的输出。三行核心代码就能跑通一个SISO系统。但CFDL的边界必须心里有数。它假设系统动态可以仅由当前输入增量解释如果系统存在大滞后、高阶惯性CFDL的性能会打折扣。我实测过一个二阶惯性系统CFDL在参数适当时还能跟踪但响应明显偏迟钝换到更高的三阶系统需要把λ调得很小才能加快响应随之而来的是控制量振荡。这种情况下PFDL是更好的选择。2.2 PFDL的滑动时间窗设计与参数L的选择PFDL的改进点在于把Δy(k1)的成因扩展到过去L个时刻的输入增量上。模型成为Δy(k1) φ₁(k)·Δu(k) φ₂(k)·Δu(k-1) ... φ_L(k)·Δu(k-L1)这里的φ向量维度是L。对应的PPDE更新式形式更复杂每个φᵢ(i1...L)都有独立的更新律但原理一致用当前预测误差修正所有参数。控制律也要基于向量化的伪梯度设计。L参数怎么选我做过一组对比一阶系统用L1和L3差别不大惯性较大的二阶系统L2或L3明显改善跟踪速度但对噪声敏感的系统L越大参数估计噪声越大控制量高频抖动的概率增加。L的本质是“用历史信息换响应速度”代价是参数估计的不确定性增加。我的个人经验L从2起步观察跟踪响应如果跟踪慢就增大一点如果控制量抖振就减小一点一般不超过5。L的选择没有万能公式但可以用一个原则判断系统在开环阶跃响应下到达稳态的时间越长L越值得取大。2.3 MIMO系统的CFDL与PFDL扩展伪雅可比矩阵的意义MIMO系统把SISO的标量φ扩展成伪雅可比矩阵。以2入2出系统为例Φ(k)是2×2矩阵[Δy₁(k1)] [φ₁₁(k) φ₁₂(k)] [Δu₁(k)] [ ] [ ] [ ] [Δy₂(k1)] [φ₂₁(k) φ₂₂(k)] [Δu₂(k)]这里对角线元素φᵢᵢ表示第i个输入对第i个输出的主通道增益非对角元素φᵢⱼ表示第j个输入对第i个输出的交叉耦合。PPDE更新时矩阵的所有元素一起调整更新律的形式与SISO一致但分母项中的Δu(k-1)变成了向量范数。MFAC处理MIMO耦合的思路值得强调它没有单独设计一个解耦器而是在线估计出完整的耦合矩阵控制律天然考虑交叉通道影响。因此即使你面对的是一个强耦合的两变量系统只要伪雅可比矩阵估计准确控制效果就能收敛。我在仿真中发现MIMO-MFAC对耦合强度的鲁棒性相当好耦合系数从0.1变化到0.8跟踪性能都不会出现明显的恶化。MIMO需要特别注意矩阵求逆问题。MFAC的某些改进算法会涉及Φ的逆或伪逆运算但标准CFDL型MIMO-MFAC的控制律通过矩阵运算规避了直接求逆使用Φᵀ(λIΦΦᵀ)⁻¹的形式这本身就是数值上更稳定的策略也避免了非方系统求逆的麻烦。3. 伪偏导数估计整个MFAC的灵魂与调试重点3.1 PPD估计算法的数学推导与实现原理伪偏导数的估计PPDE是整个MFAC算法的关键。它本质上是一个在线参数辨识过程上一时刻的φ̂值作为先验用当前数据修正后验。再写一遍SISO的更新律因为它实在太重要φ̂(k) φ̂(k-1) η·Δu(k-1)/(μ ‖Δu(k-1)‖²) · [Δy(k) - φ̂(k-1)Δu(k-1)]这个公式的每一项都有实际工程含义。Δu(k-1)/(μ‖Δu(k-1)‖²)是一个归一化增益当输入增量很大时这一项自动变小防止参数估计步子过大μ越大对参数更新的阻尼越大。误差项[Δy(k) - φ̂(k-1)Δu(k-1)]是模型预测残差表示上一时刻的参数在解释当前输出变化时的偏差。η控制参数更新的激进程度。三者配合就让φ̂在系统动态变化时能跟上在噪声扰动时不至于乱跳。写代码时SISO的PPDE就是一行递推。但要注意初始化φ̂(0)的初值不要取零一般取一个正的小常数比如0.5到2之间的某个值。取零的话初始阶段控制增量计算会出现除零风险而且参数收敛速度很慢。我习惯把初值设成1对应“输入增量和输出增量初始为同号同量级”的猜测实测下来收敛速度最快。3.2 重置机制为什么PPD必须拉回初始值MFAC理论中有一个非常容易被忽视但极其重要的环节伪偏导数的重置机制。标准PPDE在某些时刻可能会出现φ̂(k)非常接近0甚至符号与初值相反的情况这会导致控制律增益异常放大或控制方向反转系统极易失稳。重置规则的常见写法是if |φ̂(k)| ε 或者 sign(φ̂(k)) ≠ sign(φ̂(0))则 φ̂(k) φ̂(0)其中ε是一个很小的正数比如10⁻⁵。这个规则的含义是当参数估计丧失了有效性幅值过小或方向错误时强制恢复到初始值重新开始估计。这个“无脑恢复”的策略看似粗暴但它实际上利用了MFAC的收敛性保证即使参数暂时被拉回一个不准确的初值只要估值算法继续工作φ̂会迅速再次收敛到真实值附近。我踩过最深的坑就是一开始没加重置机制。一个二阶非线性系统仿真到中途突然失控输出量发了疯似的往上冲。排查了大半天最后发现是φ̂某个时刻越过零并变成负值控制律的输出方向彻底反转。加上重置机制后控制过程全程平稳。这段经历让我后来在所有MFAC实现里都默认加上重置逻辑它也成了我判断一份MFAC代码是否完整的首要标准。3.3 η、μ两个参数的敏感度分析与调试经验PPDE里两个参数η和μ的调参逻辑很多人容易搞混。η控制更新步长太大会导致参数震荡太小会导致参数收敛慢系统响应迟缓。μ本质上是一个阻尼项和神经网络里的权重衰减、正则项的作用类似μ越大参数越保守越小参数越激进。我做过多组对比实验给出一个经验范围η取0.5左右时参数收敛速度和跟踪性能达到较好平衡η超过1ppd估计曲线会出现明显的高频波动η低于0.1参数收敛太慢系统动态响应明显变差。μ和系统输入量级强相关一个粗略的原则是μ取输入增量的特征量级附近比如系统输入在0到10之间变化μ可以取0.1到1输入变化到几百的量级μ相应放大到10到100。μ取太小噪声影响会直接传导到参数估计里控制量会出现毛刺μ取太大ppd估计对真实动态变化不敏感跟踪会出现稳态误差。调试技巧先把η固定在0.5先将μ从较大值开始逐步减小观察ppd估计曲线是否变得平滑且能随输出变化及时调整然后再微调η让跟踪误差曲线的峰值最小。4. 控制律设计与参数λ、ρ的作用机制4.1 惩罚因子λ控制能量与响应速度的平衡杠控制律中的λ我想单独拿出来重点讲。λ在性能指标里是控制增量的惩罚项系数J [y*(k1)-y(k1)]² λ·[u(k)-u(k-1)]²最小化该指标时λ大控制增量被压缩控制量变化平缓系统稳定性好但响应速度变慢可能出现明显的跟踪滞后λ小控制增量可以放大响应变快但控制量容易振荡尤其在系统滞后和噪声叠加时。一个直观的理解λ相当于一个“刹车”。你把λ调小意味着你放开刹车系统能更快冲刺到目标但也很容易冲出跑道λ调大就是踩着刹车开车稳定但肉。实际操作中我一般把λ从较大的保守值开始比如10逐步往下试观察响应曲线的超调量。一旦超调明显增大就往回调一点。在SISO仿真里λ通常在0.1到5之间能获得比较理想的效果MIMO系统因为每个控制通道需要更保守的惩罚λ适当放大一些。4.2 步长因子ρ决定每步逼近速度的角色ρ在控制律里乘在整个修正项前面它决定控制器对当前跟踪误差的响应强度。ρ大每步修正量更大收敛快ρ太大控制律修正过量输出呈现等幅或增幅振荡。ρ的取值通常在(0,1]但我建议从更保守的0.2、0.3起步。有一个值得注意的组合效应λ和ρ不是独立作用的。λ固定时增大ρ响应变快的同时超调增加ρ固定时减小λ同样也是更快但更振荡。两者共同影响了“控制器激进程度”。调试时建议先调λ找到稳态基准再调ρ优化动态响应最后回到λ做整体微调。不要两个参数同时乱调否则很难定位问题。4.3 全部核心参数的初值设置与一套好用的默认参数既然要做仿真直接给一套经过验证的初始参数更有价值。我长期使用的SISO-CFDL默认初始设置是φ̂(0)1η0.5μ1ρ0.8λ1。跟踪阶跃信号时响应大约3到5个采样周期进入稳态超调量可以控制在2%以内。MIMO系统初值则把伪雅可比矩阵的对角元设成1到2之间的小值非对角元设成0.1到0.2体现一定耦合估计η0.3到0.5μ1到5λ1到10ρ0.3到0.5。这套初值并不是最优的但它一定是可以跑通、不会发散的起点。在此基础上根据需要微调即可。最忌一上来就把所有参数设得极其激进一旦发散你根本分不清是算法问题还是参数问题。4.4 扰动与噪声场景下的参数策略调整如果系统模型里加入外部扰动或测量噪声参数需要做几个方向的调整μ要适当增大让参数估计对噪声不敏感λ也要适当增大防止控制器对噪声驱动的误差修正过激ρ可以保持不变或略降。我实测过一个带高斯噪声的系统把μ从1提到5λ从1提到3控制量的高频抖动明显减小输出跟踪依然平稳。这说明MFAC对噪声有一定天生的鲁棒性但参数上做保守处理能收到更好的效果。5. 六个仿真案例的整体设计与场景选择5.1 为什么做六个从简单到复杂的递进逻辑这六个仿真不是随便凑数的而是按照MFAC学习和验证的递进逻辑设计的。前三个用SISO系统验证CFDL算法本身第四个考核算法对时变系统的追踪能力第五个引入PFDL处理滞后系统第六个上升到两入两出的MIMO系统验证伪雅可比矩阵方案的解耦效果。做完这六个你对MFAC的理解就会从“背公式”变成“懂运用”。具体案例分布案例一典型二阶非线性SISO系统被控对象带一个非线性项比如正弦摩擦或平方阻尼用CFDL-MFAC控制验证基础跟踪能力。案例二带时滞环节的SISO系统输入通道存在延迟用CFDL-MFAC调整参数并观察受限为后续PFDL做铺垫。案例三非最小相位SISO系统即系统零点在右半平面控制难度大传统PID很难处理MFAC能有效应对。案例四时变参数SISO系统被控对象参数随时间阶跃变化验证伪偏导数的在线跟踪能力。案例五MISO多入单出系统用PFDL-MFAC处理验证滑窗历史输入对滞后系统的改善。案例六两入两出MIMO系统通道间强耦合用CFDL型MIMO-MFAC验证无需显式解耦的耦合抑制能力。5.2 案例一到四非线性、时滞、非最小相位、时变参数逐一攻破案例一最基础仿真中把非线性系统写成差分方程作为“真实对象”MFAC控制器只接收它的输入输出数据不接收模型信息。这里有个细节值得新学者体验你把对象模型代码写在函数里控制器代码单独一个循环两者之间只通过u和y交换数据。这种“数据隔离”其实就是实际工程中无模型控制的使用范式。案例二加时滞后CFDL依然能稳定控制但响应可能变慢这就直观展现了CFDL的边界也为案例五的PFDL埋下伏笔。案例三的非最小相位系统是比较有说服力的场景。非最小相位系统在阶跃响应初始阶段会“反着走”一下再正过来很多经典控制方法处理起来要额外设计。MFAC在这里表现出了很强的适应力因为它是数据在线估计动态线性化模型会随时调整以匹配系统的表现而不是依赖一个固定的近似模型。案例四则是把时变系统的一个参数在仿真中途突变比如增益从1跳到3。MFAC的φ̂会监测到这一变化通过在线估计自动调大从而保持跟踪性能。这个案例能直观验证伪偏导数的“自适应”本质——它不是离线辨识出来的固定值而是实时追踪系统变化的动态参数。5.3 案例五到六MISO/PFDL与MIMO耦合场景的价值案例五里我特意在滞后系统上比较了CFDL和PFDL的差异。同样的对象CFDL需要把λ调到0.2才能勉强获得可观的跟踪速度但控制量有轻微抖振PFDL用L2λ保持在0.5就能获得更快的响应且控制量平滑得多。这个对比能让读者直观体会到PFDL的价值同样的系统用历史信息换参数宽容度控制更平稳。案例六的MIMO系统我设计了一个交叉耦合明显的两变量过程输入1主要影响输出1但也会以0.5的系数影响输出2输入2同理。两个输出还分别有各自非线性特性。MIMO-MFAC在伪雅可比矩阵框架下不需要知道耦合系数只靠在线估计就能把输出1和输出2同时稳定跟踪到各自的设定值。仿真结果中伪雅可比矩阵的非对角元素会逐渐收敛到0.5附近这等于算法“自动辨识”出了通道间的耦合关系非常震撼也是MFAC魅力所在。6. 仿真实现细节与关键代码逻辑6.1 MATLAB主循环的完整逻辑框架这是SISO-CFDL的MATLAB核心代码骨架我直接在工程里多次使用并验证过的结构% 初始化 phi_hat 1; % 伪偏导数初值 u 0; % 控制量初值 y 0; % 系统输出初值 y_prev 0; u_prev 0; lambda 1; rho 0.8; eta 0.5; mu 1; ref 2; % 设定值 for k 1:N % 1. 伪偏导数估计 dU u - u_prev; dY y - y_prev; phi_hat phi_hat eta*dU/(mu dU^2)*(dY - phi_hat*dU); % 重置机制 if abs(phi_hat) 1e-4 || sign(phi_hat) ~ sign(phi_init) phi_hat phi_init; end % 2. 控制律 u_new u rho*phi_hat/(lambda phi_hat^2)*(ref - y); % 3. 被控对象以非线性系统为例 y_new 0.8*y 0.5*sin(y_prev) 0.6*u_new 0.2*u_prev; % 更新存储变量 u_prev u; u u_new; y_prev y; y y_new; end这套真能跑通核心点在于被控对象的模型只在最后一步用到控制器部分完全不知道对象的内部结构。你换成任何其他被控对象只需要改最后一步的对象函数前面的控制器代码一行不动。这就是无模型控制的工程魅力。6.2 MIMO版本的矩阵实现要点MIMO的代码不是SISO的简单拼接有几个容易出错的地方。伪雅可比矩阵的维度必须严格对应输出和输入数量我在代码里直接定义了输出数和输入数的常量所有矩阵运算都用变量索引而非硬编码。更新律里分母项是1×2的ΔU向量和2×1的ΔUᵀ向量的乘积得到一个标量再加μ取倒数然后乘上ΔY误差向量和ΔU向量的外积矩阵。这个外积项是2×2的矩阵加上之前的估计矩阵就是新的Φ̂。MIMO控制律用到的关键运算是Φ̂ᵀ / (λI Φ̂Φ̂ᵀ)这在MATLAB里直接用矩阵除法符号就能完成不建议手写求逆数值稳定性更好。在多个MIMO仿真中我对比过手写逆和左除符号两种写法左除在矩阵条件数较差时的表现稳定得多。如果用的是Python写仿真直接用numpy的np.linalg.solve处理避免显式求逆。6.3 输出结果怎么分析从跟踪误差判断控制品质仿真跑完不能只看一条曲线要同时看三个信号输出跟踪曲线、控制量曲线、伪偏导估计曲线。输出跟踪曲线看超调、调节时间和稳态误差。MFAC理论上是渐近跟踪无偏的但参数不合适时依然会有稳态误差如果存在优先检查λ是否过大或η、ρ是否过小。控制量曲线看动作是否合理。理想的控制量应该平滑没有明显的高频抖振。控制量抖振通常是λ太小或μ太大参数估计滞后于真实变化导致的调整方向是增大λ或减小μ。伪偏导估计曲线最关键它反映算法内部的参数追踪状态。如果φ̂曲线平稳收敛到一个正数附近说明算法状态健康如果φ̂来回剧烈震荡说明η太大或μ太小如果φ̂被重置机制频繁拉回初始值说明初始值设定可能远离真实范围需要调整初值或增大μ。7. 复现调试中最容易踩的坑与排查清单7.1 系统性发散问题先查重置再查参数量级发散是MFAC复现中最高频的故障。我的排查顺序一直是固定的先检查PPD的重置机制是否正常工作再检查φ̂的初值是否取零或过小最后检查λ是否过小、ρ是否过大。90%的发散都能在这三个环节里找到原因。如果是运行到中途突然发散先看发散时刻的φ̂值。如果φ̂发生了符号翻转或接近零百分之百是重置机制缺失或阈值设置不当。如果φ̂正常但控制量迅速放大则是λ过小导致控制增量失控。如果在加入扰动后很快发散优先怀疑μ太小导致参数对噪声过度敏感。7.2 跟踪性能不佳响应慢、超调大、稳态误差三个方向响应慢的调试方向很简单λ调小或ρ调大一次只调一个。超调大的调试方向和响应慢正好相反λ调大或ρ调小。稳态误差则优先考虑参数估计问题将η调大加速参数收敛或将μ调小提高参数灵敏度。还有一个我经常强调的排查点采样周期。MFAC的性能与采样周期强相关。采得太快相邻时刻的数据差异太小PPD估计对噪声高度敏感采得太慢离散化误差增大动态线性化的近似效果变差。如果怎么调参数都别扭先换一个采样周期试试往往茅塞顿开。7.3 仿真资料包的内容整理与使用建议这套资料里程序文件和参考资料的分工是这样的每个案例都配了单独的MATLAB脚本SISO和MIMO的主循环结构保持统一只是被控对象和控制器维度的不同参考资料则系统整理了MFAC的原始理论推导、关键论文的阅读顺序以及参数整定的经验记录适合作为课程设计报告或论文背景的底稿素材。使用建议上我强烈建议不要直接整体跑通就完事。正确的打开方式是先跑通案例一紧接着自己改动参数观察曲线变化再把案例一的对象函数替换成案例三的非最小相位系统感受MFAC对各类对象的一致性最后再攻MIMO验证自己对伪雅可比矩阵的理解是否到位。7.4 最后分享一点关于调参的体会仿真跑多了会发现MFAC调参不是玄学而是一个“保稳定、提速度、再优化”的流程。先确保参数组合下系统不发散再逐步降低λ、增大ρ让响应变快遇到抖动就回退一点最后在噪声条件下重调μ。这套方法我已经沿用了很久每次换新系统都能在几分钟内进入一个可用的控制状态。另外把伪偏导数估计曲线当成系统动态的“透视镜”看待是理解MFAC最好的习惯。当你能从φ̂曲线的变化中读出系统增益的漂移、耦合强度的变化、非线性区域的切换你对这套方法的掌握就远超只会跑代码的水平了。
返回列表