☰
NN+ANFIS自适应MPC:自动驾驶路径跟踪的鲁棒性增强方案
2026/10/20 2:56:13 网站建设 项目流程

路径跟踪是自动驾驶控制里最经典的验证场景,而MPC(模型预测控制)几乎成了这个问题的默认答案。我前段时间复现了一套思路:把神经网络和ANFIS(自适应神经模糊推理系统)一起整合进MPC,做成能够在线的自适应MPC,同时搭了一版用神经网络做预测模型的NN-MPC用来对照。简单说,标准MPC的性能取决于预测模型准不准,可真实车辆在高速、变道、路面附着变化时模型参数一直在漂,固定模型必然吃亏。神经网络负责从数据里学出车辆动力学,ANFIS负责在线修正模型偏差或调节控制权重,两者配合MPC的滚动优化,正好补上了鲁棒性这块短板。这篇文章就聊聊这套方法的原理、建模步骤、复现过程中踩过的坑,以及最终仿真结果怎么解读。正在做横向控制,或者想把智能控制与传统控制方法结合进仿真项目里的读者,可以重点参考。

1. 我为什么把神经网络和ANFIS塞进MPC

1.1 路径跟踪控制器要面对的真正问题

路径跟踪从直觉上很简单:让车辆贴着参考线走,偏差大了回打一点方向。但真做控制设计就会发现,问题没这么轻松。车辆是一个强耦合的非线性系统,纵向速度会影响横摆动态,轮胎力在侧偏角大时会进入饱和区,悬架和转向系统还给整个回路叠加上不小的延迟。更麻烦的是模型参数本身不确定:整车质量随载重变化,轮胎侧偏刚度随路面附着条件变化,高速时空气动力学的影响也开始显现。换句话说,控制器面对的是一套"今天和明天不一样的系统"。

经典的PID和Stanley方法胜在简单,但它们本质上是无约束的启发式反馈,对执行器饱和、转向速率限制这类硬约束处理得很粗暴。LQR能把状态偏差和控制代价折中起来算,但依然不考虑约束,而且它的权重是全局固定的,工况一变就没有自适应能力。MPC之所以成为自动驾驶横向控制的主流选择,是因为它把"未来一段时间的预测"和"带约束的优化"放在同一个框架里:比PID多看了几步路,还能明确地把方向盘转角限位、增量限位写进约束。不过MPC有个前提——预测模型必须足够准。模型不准,预测轨迹就是错的,优化出来的控制量自然不可信。这就是整篇复现工作的核心矛盾:MPC需要一个准确的模型,而真实车辆模型从来都不是固定的。

1.2 三条技术路线的取舍逻辑

我这次一共跑了三条路线,形成对照组:

技术路线预测模型来源在线自适应能力实现成本
线性时变MPC每个采样周期在工作点附近线性化展开无低
NN-MPC神经网络从数据中学习车辆动力学无,训练后固定中
NN+ANFIS自适应MPC神经网络做基准预测ANFIS在线补偿模型偏差/调节权重高

线性时变MPC的思路是每个周期把非线性模型在当下工作点泰勒展开,得到一个线性模型再做二次规划求解。优点是不用额外训练,计算快,论文里做对比基线非常合适。缺点是线性化误差在非线性强的时候会积累,比如高速急转、轮胎进入非线性区,线性模型就兜不住了。

NN-MPC的做法是放弃手动建模,让神经网络直接拟合输入输出映射。它能表达复杂的非线性关系,这是它的最大价值。但问题也明显:网络训练完就是固定的,路面摩擦变化、载重变化等工况漂移它感知不到,预测偏差会随着环境改变悄悄变大。

NN+ANFIS的方案补上了在线自适应这一环。神经网络负责预先学好静态的那部分非线性动力学,ANFIS则扮演一个轻量级在线调节器:它根据当前跟踪误差、误差变化率和车速,实时输出一个补偿量,或者动态调整MPC代价函数里的权重。为什么选ANFIS而不是再上一个神经网络来做在线调节?一是ANFIS本质上是一组可解释的模糊规则,调试时能看出每条规则在什么时候起作用;二是它的混合学习机制(最小二乘加反向传播)收敛快,初始化和在线更新都比纯神经网络容易控制;三是它对噪声和异常数据相对稳健,输出变化平滑,不容易把控制回路搞乱。这正是控制器在线模块最需要的性格。

1.3 复现目标与总体架构

整套系统的框架可以拆成四个部分。参考路径生成模块负责输出带位置和航向的期望轨迹,我用的是一段包含直线、双移线和弯道的组合道路。控制器模块是核心,内部包含一个非线性优化求解器,以及预测模型提供方——要么是纯神经网络,要么是神经网络加ANFIS补偿。被控对象模块是车辆模型,低速工况用运动学自行车模型就够,高速工况必须上带轮胎侧偏特性的动力学自行车模型,条件允许还可以替换成高保真车辆仿真平台做验证。反馈回路把当前车辆状态送给MPC作为本次优化的起点,同时把跟踪误差喂给ANFIS做在线调整。

这里有一个容易被忽略的设计决策:ANFIS的输入为什么用误差及其变化率,而不是直接用车速和横摆角速度等原始状态?我的体会是,误差量是"目标导向"的,它对任意形状的参考路径都有意义。如果直接用车况状态量做输入,网络学到的东西和具体路径强绑定,换一条路就得重新训练,泛化性差。误差输入则天然把问题归一化了:不管路径怎么变,控制目标都是把误差压到零。

2. 先把数学底子打牢

2.1 车辆模型选型:运动学还是动力学

路径跟踪项目里第一个要做的决定是底层车辆模型用运动学还是动力学。低速(一般指低于10 m/s)场景下,车辆侧偏角很小,轮胎工作在线性区,用运动学自行车模型就够:

β = arctan( l_r·tan(δ_f) / (l_f + l_r) ) x' = v·cos(ψ + β) y' = v·sin(ψ + β) ψ' = v·sin(β) / l_r

其中β是车辆质心侧偏角,δ_f是前轮转角,l_f和l_r分别是质心到前轴和后轴的距离,ψ是航向角。如果进一步假设β可以忽略,模型还能简化成:

x' = v·cosψ y' = v·sinψ ψ' = v·tanδ / L

L是轴距。这个简化模型在低速下做路径跟踪足够准确,而且结构简单、求导容易,非常适合做MPC的预测模型。

但速度一上来,侧向加速度增大,轮胎必须产生足够大的侧向力才能维持转向,这时候侧偏角不能再忽略。必须切换到动力学自行车模型:

m·(v_y' + v_x·r) = F_yf·cosδ_f + F_yr I_z·r' = l_f·F_yf·cosδ_f − l_r·F_yr

其中v_y是侧向速度,r是横摆角速度,I_z是横摆转动惯量。轮胎侧偏角为:

α_f = arctan((v_y + l_f·r)/v_x) − δ_f α_r = arctan((v_y − l_r·r)/v_x)

在线性区内,侧向力与侧偏角成正比:

F_yf = −C_f·α_f F_yr = −C_r·α_r

C_f和C_r就是前后轴的侧偏刚度。这里要特别强调:侧偏刚度是整个模型里不确定性最大的参数,干燥沥青路面和湿滑路面上的数值可以差出一倍,而且它随垂直载荷变化。这恰恰是后面神经网络和ANFIS发挥作用的切入点——模型结构我们知道,但参数和未建模动态需要数据来补偿。

2.2 MPC的优化问题怎么摆

MPC的数学命题每个周期都要解一次。给定离散化的预测模型:

x(k+1) = f(x(k), u(k))

在第k个采样时刻,基于当前实测状态x(k),求解从当前时刻起N_p步内的最优控制序列:

min_{u(0..N_c)} Σ_{i=0}^{N_p−1} ( ‖y(k+i) − y_ref(k+i)‖²_Q + ‖u(k+i)‖²_R + ‖Δu(k+i)‖²_S ) s.t. x(k+i+1) = f(x(k+i), u(k+i)) u_min ≤ u(k+i) ≤ u_max Δu_min ≤ Δu(k+i) ≤ Δu_max x(k) = x_current_state

y是模型输出的预测位置和航向,y_ref是对应的参考值。目标函数有三项:第一项把预测轨迹拉向参考路径,第二项惩罚过大的控制量,第三项惩罚控制量变化过快。前三项对应的权重矩阵分别是Q、R和S,它们的相对大小直接决定控制风格。

解完这个优化问题之后,只把u(0)施加给车辆,下一采样周期用新的状态重新求解。这就是"滚动优化"的含义。预测时域N_p决定控制器能"看多远",控制时域N_c决定控制器能"自由操作几步"。这两个数字直接影响控制性能和计算量,我后面的参数表里给了一个经实测比较合理的组合。

需要提醒的是,当f是线性模型时,上面的优化问题能整理成二次规划,用现成求解器毫秒级解完;当f是神经网络或者非线性解析模型时,这是非线性规划,得用序列二次规划或内点法,计算量上一个台阶。这也决定了NN-MPC的实时性肯定比线性MPC差,后面实测数据会印证这点。

2.3 神经网络在MPC里到底承担什么角色

很多人一听"NN-MPC"会以为是用神经网络直接输出方向盘转角,那是强化学习或者模仿学习的玩法。实际文献里的NN-MPC多数是指神经网络充当预测模型:输入当前状态和控制量,输出下一时刻的状态增量。角色类似于系统辨识里的"黑箱建模",只不过用神经网络替代了多项式拟合或者传递函数。

神经网络需要解决的核心问题是:车辆是个带惯性、带延迟、带饱和的系统,单步预测误差不致命,但MPC要在优化目标里积分N_p步的预测轨迹,多步预测的误差会沿着预测轨迹累积。这个问题必须在训练阶段就重视。我的做法是这样的:用伪随机二进制序列加扫频信号激励方向盘转角,在不同速度下采集大量输入输出数据,然后设计网络输入为当前状态向量和控制量,输出为状态增量Δx。之所以预测增量而不是绝对状态,是为了让网络学一个更平稳的映射,训练更容易收敛。

网络结构选了四输入(纵向速度、侧向速度、横摆角速度、航向角)加控制量,两个隐藏层各32个节点,激活函数用tanh,输出层线性。训练用均方误差作为损失函数,Adam优化器,初始学习率1e-3,配合早停机制防止过拟合。训练完之后要先做验证——不是只看单步预测误差,而是做"自回归多步预测",即把预测出来的状态再喂回网络,连续跑N_p步,和真实模型输出做对比。这一步能直观暴露误差累积问题,我实测发现如果训练数据覆盖面不足,多步预测在3秒后就开始显著漂移。

2.4 ANFIS为什么能在线自适应

ANFIS的全称是自适应神经模糊推理系统,本质上是把模糊推理的规则结构和神经网络的学习能力合体。它内部维护一组形如以下的Takagi-Sugeno模糊规则:

规则 i: 如果 e 是 A_i 且 ė 是 B_i 且 v 是 C_i 则 f_i = p_i·e + q_i·ė + r_i·v + s_i

其中e是跟踪误差,ė是误差变化率,v是车速,A_i、B_i、C_i是模糊集合,p_i、q_i、r_i、s_i是结论参数。最终输出是各条规则输出的加权平均,权重由输入对模糊集合的隶属度决定。

ANFIS的聪明之处在训练方式:前件参数(隶属度函数的中心和宽度)用反向传播更新,后件参数(那四个线性系数)用最小二乘法一步求最优。这个混合学习策略比纯神经网络快得多,通常几十轮迭代就能达到可用精度。更关键的是它天然支持在线更新:后件参数可以用带遗忘因子的递推最小二乘法持续更新,遗忘因子取0.99左右,让新数据逐渐覆盖旧数据,实现对工况漂移的跟踪。

在自适应MPC里,ANFIS有两条典型接入路径。路径一是做模型补偿:ANFIS根据误差状态输出一个转角修正量Δδ,叠加到MPC输出的控制量上,相当于在线补上预测模型的偏差。路径二是做代价权重调节:ANFIS输出一个缩放因子,动态改变目标函数里Q或R的大小,比如误差偏大时自动提高误差惩罚,让控制器更"激进"地纠偏。两条路径各有利弊,路径一直接、见效快但物理含义不清晰;路径二温和稳定,但不改变预测轨迹本身,纠偏速度稍慢。我复现时两条都试了,效果差异我会在结果部分讨论。

3. 复现实操:从建模到跑通

3.1 工具链与仿真环境配置

这个项目有两个主流技术栈。一是MATLAB/Simulink路线:车辆模型搭在Simulink里,MPC用S-Function或者脚本回调实现,神经网络用自带工具箱训练,ANFIS用模糊工具箱的genfis和anfis函数,非线性优化可以直接调fmincon。优点是成熟稳定,而且后续想接高保真车辆仿真平台做联合仿真时衔接比较顺。

二是Python路线:车辆模型用NumPy手写离散化方程,神经网络用PyTorch或者TensorFlow,ANFIS可以自己实现或者用现成的开源实现,非线性优化用scipy.optimize.minimize里的SLSQP算法。优点是代码可读性好、全流程可控,方便调试和可视化。我自己这次复现走的是Python路线,文件结构大致是这样:

vehicle.py # 车辆动力学模型与离散化 data_gen.py # 激励信号生成与训练数据采集 nn_model.py # 神经网络定义、训练、多步预测 anfis_model.py # ANFIS实现、离线训练、递推在线更新 mpc_core.py # MPC优化问题构造与求解 run_sim.py # 主仿真循环 analyze.py # 结果统计与绘图

如果之前只做过线性控制,第一次上手会不适应的地方是:每个采样周期都在调优化求解器,而不是在写控制律。这个思路转变要提前做好心理建设。

3.2 NN-MPC实现流程

NN-MPC的落地我拆成六步。第一步生成训练数据,这一步的质量几乎决定整个方案的成败。我用转向角激励信号叠加,幅度限制在±0.3 rad以内,频率从0.1 Hz扫到2 Hz,车速在8到20 m/s之间随机变化,总共跑了60秒仿真,采样周期0.05秒,得到1200个数据点。核心原则是让数据覆盖控制过程中可能到达的全部状态空间,只覆盖稳态附近的话,网络在瞬态条件下就是盲猜。

第二步数据预处理,把各维状态分别归一化到[-1,1]区间,剔除起始瞬态数据,按7:2:1划分训练集、验证集和测试集。归一化这一步不能省,否则网络训练会非常慢甚至不收敛。

第三步定义网络结构,输入是[v_x, v_y, r, ψ, δ]五个量,输出是[v_x增量, v_y增量, r增量, ψ增量]四个量。两个隐藏层各32个节点,tanh激活。之所以输出增量而不是绝对状态,是因为增量映射更接近线性关系,网络拟合难度低。

第四步训练网络,均方误差损失,Adam优化器,学习率1e-3,批次128,训练轮数上限500,配合早停。训练完成后做两项验证:单步预测误差量化,以及多步自回归预测曲线对比。我实测的验证结果是单步预测误差在2%以内,但10步预测会在弯道工况出现可见漂移,这个信息直接决定了预测时域不敢取太大。

第五步把网络封装成MPC的预测器。预测器接收当前状态和一组控制序列,用网络逐点推演整条未来轨迹,返回位置和航向的预测序列。优化目标函数和约束都基于这条预测轨迹计算。

第六步接入优化求解器。我用了scipy的SLSQP,梯度用有限差分计算,步长取1e-3。这里有个实际权衡:有限差分计算简单但精度一般,优化需要更多迭代;用PyTorch自动微分计算精确梯度会让单次迭代更有效,但整个求解过程耗时明显增加。建议先把有限差分版本跑通逻辑,再考虑换自动微分。

3.3 ANFIS自适应MPC实现细节

ANFIS模块我分两步做。第一步离线初始化,第二步在线更新。

离线阶段先跑一版纯NN-MPC的闭环仿真,记录每个时刻的跟踪误差e、误差变化率ė、车速v,以及模型预测与真实状态之间的残差。这些残差就是ANFIS要学习的目标。ANFIS输入三个变量,每个变量分配3个广义钟形隶属函数,规则数3×3×3=27条。用混合学习算法训练200轮,前件学习率0.01。训练完成后的初始模型已经能对常见工况的残差做出合理估计。

在线阶段的核心是参数更新不能太激进。我固定了前件参数,只让后件参数用递推最小二乘法更新,遗忘因子λ取0.99。这样既有自适应能力,又不会因为某一个异常采样点导致整个模型跳变。同时给ANFIS输出加了硬限幅,修正量限制在±0.1 rad以内。这个限幅非常关键——我在调试早期见过ANFIS输出直接顶满饱和,把原本稳定的MPC回路搅出明显的等幅振荡,加上限幅后问题立即缓解。

接入方式上我最终采用路径一为主、路径二为辅的组合:小误差时以权重调节为主,避免频繁修正引起抖动;大误差时启用直接补偿,快速把偏差压回去。这个切换本身也是一条模糊规则,逻辑上用误差绝对值判断即可。

3.4 关键参数怎么定

参数整定是复现这类工作最花时间的部分。我最终使用的参数组合和背后的调参逻辑整理成了一张表:

参数推荐范围我的取值
采样周期 T_s0.02~0.1 s0.05 s
预测时域 N_p10~2515
控制时域 N_c3~64
横向误差权重 Q_y1~5010
航向误差权重 Q_ψ0.5~105
控制量权重 R0.01~10.1
控制增量权重 S0.1~51
转向角约束±0.4 rad0.4
转向增量约束每步±0.2 rad0.2

采样周期选0.05秒是综合考虑了控制带宽和计算负载。预测时域15步对应0.75秒的预测范围,对10到20 m/s车速下的换道和过弯来说刚好够用,短了看不清弯道趋势,长了要么计算变慢,要么多步预测误差把模型弄得不靠谱。权重方面,横向误差权重取10、航向误差取5,反映"位置偏差比姿态偏差重要一点"的直觉。控制量权重0.1意味着方向盘转动本身代价不高,但增量权重1会有效抑制转向抖动。

调参时有几条经验可以参考。增大Q_y能减小稳态横向误差,但超过一定阈值就会诱发振荡,尤其是高速工况。如果发现方向在弯道里来回修,优先增大S而不是减小Q_y,因为问题多半出在控制量速率变化太快。R一般不用太大,路径跟踪本来就需要方向盘有动作,把R压死反而会让误差迟迟消不掉。

4. 仿真结果与现象分析

4.1 测试工况设置

为了公平对比三条控制路线,我设计了一段组合道路:前50米直线让车辆进入稳定状态,接着是一段位移3.5米的双移线,再接一个半径30米的90°弯道,总长大约300米。最关键的设计是道路中段模拟了路面附着条件突变——整个弯道区间的轮胎侧偏刚度在名义值基础上降低15%,模拟湿滑路面。这个设计直接考验控制器的自适应能力。

实验设置了两个速度等级,10 m/s和18 m/s,对应中低速和较高速度两种场景。评价指标用最大横向误差、横向误差均方根、航向误差均方根,以及单个采样周期内控制器求解耗时。为了公平,三个控制器的采样周期和道路完全一致,NN-MPC和自适应MPC用的是同一批训练好的神经网络。

4.2 三组控制器横向误差对比

实测数据整理如下表:

控制器最大横向误差 (m)RMS横向误差 (m)航向RMS误差 (rad)单步求解耗时 (ms)
线性时变MPC0.410.190.0208
NN-MPC0.280.120.01426
NN+ANFIS自适应MPC0.180.080.00931

这个结果完全符合预期,但改善幅度值得细说。线性时变MPC在直线段表现很好,误差基本在0.05米以内,但进入弯道且路面附着衰减后,线性化模型对轮胎力估计偏乐观,实际需要的转角比预测模型认为的多,车辆出现明显的外推趋势,最大误差拉到0.41米。NN-MPC因为是从非线性动力学数据里学出来的模型,对轮胎进入非线性区后的响应预测更准,误差峰值降到0.28米。这说明数据驱动模型确实捕捉到了线性模型丢掉的非线性特征。

自适应MPC的最大横向误差进一步压到0.18米,提升主要发生在两个时刻:一是双移线换道的中段,ANFIS检测到误差变化率增大后提前输出补偿方向;二是弯道路面附着衰减后,ANFIS的递推辨识察觉到预测残差系统性偏移,持续输出一个小的转角修正量,把这个偏移抵消掉了。这种"越跑越准"的释压效应是固定模型完全做不到的。

4.3 自适应到底带来了什么

观察仿真过程中ANFIS输出信号的变化曲线,能非常直观地理解自适应的价值。在直线段,误差和误差变化率都接近零,ANFIS输出几乎为零,自适应模块完全不干预,此时系统就相当于一个纯NN-MPC。进入弯道后,横向误差爬升,ANFIS输出开始增大,方向与误差符号相反,等于给MPC的转向指令加了一个前馈性的修正。最有趣的是在路面附着突变之后那一段:前几帧MPC预测模型还没有意识到侧偏刚度已经变化,横向误差出现二次增大的趋势,而ANFIS通过后件参数的递推更新,大约0.5秒内就把补偿量调到了新工况需要的水平,误差曲线随即被压住。这个过程是自动发生的,没有任何人工切换逻辑。

这套机制也有代价。计算开销从NN-MPC的26毫秒增加到31毫秒,主要来自ANFIS每个周期的推理和递推更新,好在增加的量相对固定,不会随预测时域增长而爆炸。另一方面的代价是调试复杂度:多了好几个超参数要调,在线学习率、遗忘因子、输出限幅,任何一个设置过激都可能引发耦合振荡。我的建议是调参时一次只动一个参数,而且先离线仿真充分验证再考虑上更复杂的场景。

5. 常见问题排查实录

5.1 预测模型失效导致控制发散

我复现NN-MPC时踩的第一个大坑是控制器在仿真运行两到三秒后轨迹开始发散。排查后发现根因不在优化求解器,而在神经网络的多步预测。单步预测的验证误差看着很小,但MPC每一轮都要向前推15步,随着预测步数增加,误差逐级放大,到第10步预测位置已经偏离真实位置将近半米,优化器对着一条错误轨迹求解,控制指令自然越走越偏。

解决思路分三步。第一,检查训练数据是否覆盖了实际运行的状态区域,我加大了对弯道和大转角工况的采样密度。第二,在网络结构中加了L2正则化,降低过拟合造成的外推失真。第三,把预测时域从20步缩到15步,多步预测误差控制在可接受范围内。这些调整做完之后,控制器重新稳定下来。这个问题的教训是:NN-MPC的性能瓶颈往往不在训练精度,而在预测一致性——训练时就要把多步自回归预测误差当作考核指标,而不是只看单步损失。

5.2 ANFIS训练不收敛和后件参数爆炸

ANFIS离线训练时遇到的最典型问题是前件参数不更新,损失函数长时间几乎不动。检查发现是输入数据没有归一化,误差变化率和车速的量纲差异太大,低速时小量纲信号在数值上被淹没。归一化之后训练立刻顺畅起来。另一个高频问题是递推最小二乘在后件参数上出现数值爆炸,症状是ANFIS输出突然跳到限幅值并持续震荡。这个问题的来源是递推更新时协方差矩阵持续增长,解决办法一是给递推更新加一个较小的初始协方差,二是引入遗忘因子,三是对输出做硬限幅。三者缺一不可,其中限幅是最后一道保险,不能省。

5.3 实时性卡脖子怎么破

非线性MPC加神经网络预测,最现实的问题就是计算时间。实测单步求解31毫秒,采样周期50毫秒,理论上还有19毫秒余量,但高保真车辆模型仿真本身还要占时间,实际跑起来余量非常紧张。我试过几个有效手段:第一是热启动,把上一时刻的最优控制序列去掉首项后平移作为当前求解的初始值,迭代次数能减少约30%;第二是给SLSQP设置最大迭代次数,不求每次解到最优直到收敛,只要目标函数比上一轮有明显改善就接受;第三是把有限差分的梯度计算做稀疏化,只对控制量维度求梯度,不对状态维度求,省掉大量冗余计算。如果这些都不够,那就只能缩短预测时域或者更换更高效的求解器,这是性能与精度的取舍,没有免费午餐。

5.4 复现常见问题速查表

把调试过程里遇过的问题汇总成表,希望能帮后来者少走弯路:

现象可能原因处理建议
仿真跑几秒后轨迹发散神经网络多步预测误差累积,预测轨迹失真检查训练数据覆盖率,加正则化,缩短预测时域
MPC优化反复报不可行约束设置过紧,或者预测模型外推失真放宽转向增量约束,检查状态边界,先试无约束找到问题点
方向盘高频抖动权重设置不当,增量惩罚太小增大S权重,减小控制时域N_c
ANFIS输出持续顶满限幅后件参数爆炸或在线学习率过高检查递推协方差矩阵,降低遗忘因子,强化输出限幅
NN-MPC单步求解超时非线性求解器迭代次数过多开启热启动,限制最大迭代次数,稀疏化梯度
高速弯道横向误差反而增大神经预测模型对高速工况覆盖不足增加高速大转角训练数据,重新训练模型
加入自适应后性能变差自适应参数设置激进,补偿过度调低在线学习率,缩小输出限幅,只在残差持续存在时允许累加补偿

我个人这一趟复现下来最深的体会是,神经网络和ANFIS不是玄学,它们的价值要在"模型不准确"的工况下才真正体现。如果只是低速直线加缓弯,固定模型的线性MPC已经能打九十分,没必要上这套东西。可一旦把速度提上去、把路面条件弄复杂,数据驱动的那点补偿就成了稳住误差的关键。最后再分享一个小技巧:复现这类方案时,先把固定模型的非线性MPC跑通作为基准,再逐步替换预测模型、加上自适应模块,每个改动单独验证效果,问题定位会快很多,也更容易判断每一步提升到底来自哪里。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询