尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

基于递归最小二乘法的轮胎侧偏刚度在线估计与仿真分析

基于递归最小二乘法的轮胎侧偏刚度在线估计与仿真分析 1. 项目概述与核心需求拆解1.1 为什么要估计轮胎侧偏刚度做车辆动力学控制的人大概率都绕不开轮胎侧偏刚度这个参数。它直接决定了车辆在转向工况下的横摆响应特性——说白了就是车子在转弯时是偏转向不足、中性转向还是转向过度以及车身姿态变化的快慢。这个参数一旦偏离真实值ESP、ESC、四轮转向、主动前轮转向这些上层控制策略的参数标定全都要跟着重新走一遍。问题在于轮胎的侧偏刚度并不是一个固定值。它会随垂直载荷变化、随胎压变化、随路面附着系数变化还会随着轮胎磨损、温度上升而慢慢漂移。出厂标定值只能代表某个特定状态下的“名义值”真正装车跑起来之后实际侧偏刚度可能和标定值差出20%甚至更多。对于做稳定性控制的工程师来说如果控制器内部假设的轮胎特性和实际物理特性长期不一致控制效果会肉眼可见地变差严重的时候甚至可能触发误干预。所以就有了“在线估计”这个需求。也就是说在车辆行驶过程中利用可测的传感器信号横摆角速度、侧向加速度、方向盘转角、车速等反推出当前前后轴轮胎的实际侧偏刚度然后实时更新到控制器的参数表里。这也是标题里面“递归最小二乘法估计”这个技术路线出现的根本原因。1.2 什么是递归最小二乘法为什么选它递归最小二乘法Recursive Least SquaresRLS本质上是最小二乘法的一种递推实现形式。普通最小二乘法需要把一段历史窗口内的所有数据采集完然后一次性做矩阵求逆解算出参数而RLS是每来一个新样本就基于上一时刻的参数估计结果做一次局部修正不需要重新求解整个矩阵方程。RLS的核心优势有三个计算量固定每步更新只涉及矩阵乘法和加法适合嵌入式实时运行收敛速度快理论上RLS的收敛速度远快于LMS这类梯度类算法因为它隐式地对输入信号的自相关矩阵做了白化处理可以引入遗忘因子让算法对参数漂移保持跟踪能力这对车辆行驶中轮胎特性缓慢变化这个场景特别合适。当然RLS也不是没有代价它需要维护一个协方差矩阵P数值稳定性比LMS敏感初值选择不当或者激励不足时会出现发散。这个在后面“常见问题”部分我会专门展开讲。1.3 这个项目具体在做什么适合谁参考结合标题来看整个项目做的事情是在恒定转角变化速度的仿真工况下利用车辆动力学模型产生的仿真数据通过RLS在线估计车辆前后轮胎的侧偏刚度并用仿真结果图来验证估计效果。“恒定转角变化速度”这个约束条件值得仔细咀嚼一下。它指的是方向盘转角的变化速率保持恒定也就是一个斜坡输入。这个工况在实车测试中常用来考察车辆的瞬态响应和稳态转向特性。为什么这个项目选择这个工况而不是阶跃输入或者正弦扫频输入这里有很深的门道我放到后面“模型与工况选择”部分专门解释。这篇内容适合以下几类人阅读正在做车辆状态参数估计方向课题的研究生、搞底盘电控系统开发的工程师、对车辆动力学仿真建模感兴趣的测试工程师。如果你只是想了解RLS的基本原理这篇文章同样能给你一个完整的从模型到仿真再到参数调优的实操参考。2. 模型搭建与工况选择的底层逻辑2.1 二自由度车辆模型够用但不完美车辆动力学模型有很多种从最简单的自行车模型到复杂的21自由度甚至更高自由度的多体动力学模型复杂度跨度非常大。对于侧偏刚度估计这个任务来说二自由度单轨模型也就是自行车模型是主流选择。为什么首先要明确一点——我们现在要做的是“估计”不是“高精度仿真”。估计问题的本质是利用模型结构搭起一个输入到输出的映射关系然后通过测量输出反推参数。如果模型太复杂、自由度太多未知参数数量就会爆炸可观测性变差估计问题反而解不出来或者解不稳定。二自由度模型只考虑车辆的侧向运动和横摆运动两个自由度假设左右两侧轮胎的受力可以合并到车辆中轴线上的等效轮胎上这样前后轴就各自只有一个等效侧偏刚度参数需要估计。模型方程如下侧向运动方程m * (v_dot u * r) F_yf F_yr横摆运动方程I_z * r_dot a * F_yf - b * F_yr其中轮胎侧向力简化为线性模型F_yf -C_f * α_fF_yr -C_r * α_r前轮侧偏角α_f δ - (v a * r) / u后轮侧偏角α_r -(v - b * r) / u符号说明m为整车质量I_z为绕Z轴的转动惯量a和b分别为质心到前轴和后轴的距离u为纵向车速v为侧向速度r为横摆角速度δ为前轮转角C_f和C_r分别为前后轴等效侧偏刚度。注意这里的C_f和C_r是等效侧偏刚度也就是把整个前轴或者整个后轴的轮胎看成一个整体时的刚度值单位是N/rad。单条轮胎的侧偏刚度大概是这个等效值除以轴上的轮胎数但用于整车控制策略时直接用等效值更方便。二自由度模型的假设前提是轮胎工作在线性区也就是侧偏角比较小通常认为5度以内轮胎侧向力与侧偏角近似成线性关系。这个假设在常规驾驶工况下基本成立但在极限操控工况下会失准。这也是本项目的应用边界后面我会再提到。2.2 恒定转角变化速度工况为什么不是阶跃也不是正弦标题中特意强调了“恒定转角变化速度”也就是方向盘转角以恒定斜率持续增加或减小的斜坡输入。选择这个工况不是随意的它有几个深刻的原因第一从系统辨识的角度看要估计动态系统的参数输入信号必须满足持续激励条件。所谓持续激励简单说就是输入信号要足够“丰富”能把系统的各个模态都激发出来。阶跃输入的频率成分太窄只包含低频信息对某些参数的可辨识性差正弦扫频虽然频率成分丰富但实现起来复杂而且稳态评估不如斜坡直观。第二斜坡输入下车辆的侧向加速度和横摆角速度会经历从瞬态到稳态的完整过渡过程。瞬态阶段包含了系统的动态响应信息这对估计横摆动力学相关的参数很有帮助。稳态阶段则能提供精确的增益信息——在稳态转向下横摆角速度增益与前后轴侧偏刚度有明确的解析关系这相当于给估计问题提供了很好的“锚点”。第三从工程对标的角度看恒定转角变化速度是ISO标准中稳态回转试验的延伸工况。ISO 4138中规定的稳态回转试验是用固定半径行驶逐步加速而恒定转角变化速度测试则是在试验场直接匀速行驶同时缓慢转动方向盘考察车辆对逐渐增加的转向输入的非线性响应。这个工况下的数据可以直接和标准试验数据进行对比分析。当然这个工况也有它的短板。斜坡输入的频率成分依然比较有限主要是低频为主对系统高频特性的激励不够充分。如果后续要做更精细的轮胎参数辨识可能需要结合多种工况的数据融合使用这个问题后面我会展开。2.3 线性轮胎模型还是非线性轮胎模型在二自由度模型的框架下轮胎模型的选择直接影响参数估计的物理含义。线性轮胎模型假设F_y与α成正比比例系数就是侧偏刚度C。这个模型结构简单待估参数少而且C的物理意义明确数值稳定。但是实车工况下侧偏角大了之后轮胎侧向力会进入饱和区F_y与α之间呈现明显的非线性关系这时候用线性模型估出来的C实际上是“等效线性化”的结果也就是在某个工作点附近的局部斜率而不是真正的常数。这在恒定的转角变化速度工况下尤其需要注意——因为随着转角持续增加轮胎实际的工作点一直在移动侧偏角持续增大。从估计的角度看这既是麻烦也是机会。麻烦在于如果一味增大转向输入车辆会逐渐偏离线性区模型失配会导致估计结果出现偏差。机会在于通过对不同时间段的数据进行分段估计可以观察侧偏刚度随侧偏角/载荷转移的变化趋势这本身就是非常有价值的信息。我在实际项目中通常的做法是先用线性模型跑通整个估计流程确认RLS算法实现没有问题然后引入一个简单的非线性轮胎模型比如Fiala模型或者Pacejka模型的简化形式在非线性工况下验证估计结果的合理性。标题里既然明确说的是“侧偏刚度”那我们先聚焦线性模型下的估计方法非线性扩展最后简单提一下方向。3. RLS算法实现与参数配置详解3.1 回归方程的构造怎么把动力学方程写成最小二乘形式使用RLS的第一步是把待估计的动力学方程改写成“测量值等于回归向量乘以参数向量”的标准形式。这一步是整个流程的关键做得好能让后面的数值计算非常顺利。从二自由度模型的横摆运动方程出发I_z * r_dot a * F_yf - b * F_yr把轮胎力表达式代入并整理侧偏角的表达式可以得到I_z * r_dot -a * C_f * (δ - (v a * r) / u) b * C_r * (v - b * r) / u展开后把含C_f和C_r的项分别聚合I_z * r_dot -a * C_f * δ a * C_f * (v a * r) / u b * C_r * (v - b * r) / u这个式子里面有v侧向速度但侧向速度通常不是直接测量的量在实际车辆上需要通过侧向加速度积分或者状态观测器来获取这是最麻烦的地方。好在有一个替代方案。我们可以利用侧向运动方程消掉v或者更聪明一点——直接采用横摆角速度作为测量输出并构造一个不显含v的回归形式。具体做法是利用侧向加速度a_y的测量值。侧向加速度与轮胎力的关系为m * a_y F_yf F_yr结合F_yf F_yr的表达式可以把横摆方程中的某些项替换掉最终整理成如下形式I_z * r_dot -a * C_f * δ a * C_f * α_f b * C_r * α_r而α_f和α_r本身包含了v我们可以用侧向加速度的测量来间接表达α_f和α_r的某种组合。一个更实用的做法是把前后轴侧偏角分别看作前轮转角δ、横摆角速度r和侧向加速度a_y的线性组合因为r_dot可以用r的差分近似获得这个在仿真中可以直接计算α_f和α_r的加权组合可以从a_y的表达式中解出来。在实际仿真项目中我建议大家直接用如下回归模型y φ_1 * C_f φ_2 * C_r其中y δ * (-a)φ_1 δ - (v a * r) / u这是前轮侧偏角φ_2 (v - b * r) / u这是后轮侧偏角取合适的符号约定。然后将横摆运动方程改写为I_z * r_dot -a * C_f * φ_1 b * C_r * φ_2移项后得到I_z * r_dot a * C_f * φ_1 - b * C_r * φ_2 0这个形式并不是完美的标准回归形式因为C_f和C_r都以乘积因子出现。要想解耦需要把模型写成矩阵形式利用横摆方程和侧向方程联立求解。3.2 标准RLS递推公式与遗忘因子假设我们已经构造好了如下标准最小二乘形式y(k) Φ(k)ᵀ * θ e(k)其中θ [C_f, C_r]ᵀ是待估参数向量Φ(k)是和当前时刻测量值相关的回归向量y(k)是模型输出。在车辆动力学问题中最自然的选择是让y(k)等于横摆角加速度的测量值乘以转动惯量即y(k) I_z * r_dot(k)而回归向量则包含横摆方程中与C_f和C_r相乘的各项。另一种做法是直接把横摆角速度作为模型输出通过将微分方程离散化后构造自回归形式的外源输入模型。两种方法各有优劣前者的物理意义直观后者对噪声的鲁棒性更好大家可以都尝试一下再决定。标准的带遗忘因子RLS递推过程如下增益向量K(k) P(k-1) * Φ(k) / (λ Φ(k)ᵀ * P(k-1) * Φ(k))参数更新θ_hat(k) θ_hat(k-1) K(k) * (y(k) - Φ(k)ᵀ * θ_hat(k-1))协方差矩阵更新P(k) (I - K(k) * Φ(k)ᵀ) * P(k-1) / λ其中λ是遗忘因子取值范围通常在0.95到1之间。λ 1表示不遗忘所有历史数据权重相同适合参数恒定的情况λ越小旧数据被遗忘的速度越快算法对参数漂移的跟踪能力越强但对噪声也更敏感。关于遗忘因子的选择我在实际项目中积累了一些经验可以参考如果车辆工作在正常铺装路面、轮胎状态相对稳定λ建议取0.98到0.995之间这样估计结果平滑如果路面附着变化剧烈或者轮胎状态可能在短时间内发生突变比如压过积水坑λ建议取0.95到0.97让算法能更快跟上参数的变化。太小的λ比如小于0.9会让协方差矩阵P持续膨胀最终导致参数估计值剧烈震荡这个坑我踩过后面再细说。3.3 协方差矩阵初值与参数初值的设置RLS的初值设置直接决定了估计过程的收敛速度和稳定性。两个关键量分别是参数向量θ_hat(0)和协方差矩阵P(0)。θ_hat(0)的设置相对简单。如果你有名义上的侧偏刚度标定值直接用标定值作为初值即可如果没有可以取一个物理上合理范围内的猜测值。根据我的经验乘用车前轴等效侧偏刚度的数量级通常在-60000到-120000 N/rad之间后轴在-80000到-140000 N/rad之间负号表示侧向力方向与侧偏角方向相反。取初值时可以先设一个中间值比如C_f(0) -80000C_r(0) -100000。参数初值不准确没关系RLS会在几百毫秒内修正过来但初值如果偏离物理范围太远可能会导致收敛过程中的参数震荡幅度过大。P(0)的设置更为关键。P(0)反映了初始时刻对参数估计不确定性的量化通常取为单位矩阵乘以一个大数。常用的做法是取P(0) 1000 * I或者P(0) 10000 * I。这里的逻辑是初始参数不确定度越大P(0)就应该越大这样增益向量K(k)在初期会比较大参数能被快速修正。但是P(0)不能无限大否则初期几步的参数更新幅度会非常夸张可能出现参数跳变到完全不符合物理意义的值然后花很长时间才拉回来。我一般的做法是先跑一次开环仿真观察横摆角速度的估计残差量级然后反推P(0)的合理量级。一个简单的方法是P(0)对角元设置成标称参数的方差估计值如果标称值是-80000不确定度大约是±20000那P(0)对角元就可以取20万的平方也就是4e10。但实际仿真中我发现这个量级太大容易导致数值溢出取1e6到1e8之间比较稳妥具体还需要根据噪声水平微调。4. 仿真实操从模型搭建到结果分析4.1 仿真环境与整体流程这个项目的仿真我是在MATLAB/Simulink环境下完成的但大家也可以根据自己的习惯用CarSim、CarMaker或者Python的车辙车辆动力学库。MATLAB的优点是控制算法和车辆模型可以在同一个环境下调试数据记录和处理也方便Python的优点是免费且代码可读性更好适合做算法原型验证。整体仿真流程分四步走第一步搭建车辆动力学参考模型。我用的是二自由度模型并在Simulink中用S-Function实现设置好整车参数第二步设计转向输入。产生一个恒定变化率的斜坡转向角输入信号模拟方向盘匀速转动第三步运行仿真并采集数据。记录横摆角速度、侧向速度、前轮转角等信号设置合理的采样时间第四步将数据送入RLS估计模块在线估计C_f和C_r并对比估计值和真值。整车参数我按某常见B级乘用车来设定m 1500 kgI_z 2500 kg·m²a 1.2 mb 1.4 m。前轴等效侧偏刚度真值C_f -80000 N/rad后轴等效侧偏刚度真值C_r -100000 N/rad。车速保持在u 20 m/s也就是72 km/h这个速度下车辆动态特性适中适合做参数估计。仿真时间设成10秒转向角从0开始以每秒2度的速度线性增加到第8秒时达到16度左右保持2秒后结束。这样整个过程中车辆经历了从直线行驶到明显转弯的完整过渡。4.2 核心代码实现与关键注释RLS估计模块我用了一个嵌入到Simulink中的MATLAB Function块来实现核心代码如下所示function [Cf_hat, Cr_hat] RLS_estimator(delta, r, v, u, Ts, P_prev, theta_prev, lambda) % RLS估计器估计前后轴等效侧偏刚度 % 输入 % delta - 前轮转角 (rad) % r - 横摆角速度 (rad/s) % v - 侧向速度 (m/s) % u - 纵向车速 (m/s) % Ts - 采样时间 (s) % P_prev - 上一时刻协方差矩阵 2x2 % theta_prev - 上一时刻参数向量 [Cf_hat; Cr_hat] % lambda - 遗忘因子 % 整车参数 m 1500; % 质量 kg Iz 2500; % 转动惯量 kg*m^2 a 1.2; % 质心到前轴距离 m b 1.4; % 质心到后轴距离 m % 计算前轮转角导数用差分近似 persistent last_delta if isempty(last_delta) last_delta delta; end delta_dot (delta - last_delta) / Ts; last_delta delta; % 侧偏角计算 alpha_f delta - (v a * r) / u; alpha_r -(v - b * r) / u; % 横摆角加速度计算用差分近似r_dot % 实际项目中推荐使用滤波后的微分信号避免噪声放大 persistent last_r if isempty(last_r) last_r r; end r_dot (r - last_r) / Ts; last_r r; % 构造回归方程: y Phi * theta % 从横摆运动方程推导: % Iz * r_dot -a * Cf * alpha_f b * Cr * alpha_r % 将右侧展开为参数线性组合: % Iz * r_dot [-a*alpha_f, b*alpha_r] * [Cf; Cr] % 移项得到: % y Phi * theta % 其中 y Iz * r_dot, Phi [-a*alpha_f; b*alpha_r] y Iz * r_dot; Phi [-a * alpha_f; b * alpha_r]; % RLS递推更新 K P_prev * Phi / (lambda Phi * P_prev * Phi); innovation y - Phi * theta_prev; theta_new theta_prev K * innovation; P_new (eye(2) - K * Phi) * P_prev / lambda; % 输出估计结果 Cf_hat theta_new(1); Cr_hat theta_new(2); end这段代码有几个细节值得注意。第一横摆角加速度r_dot我用的是差分近似这在实际应用中会放大传感器噪声。在仿真环境中因为数据干净所以问题不大但如果后续要做实车数据验证强烈建议先对r信号做低通滤波或者用状态观测器来获取r_dot否则估计结果会被噪声严重污染。第二回归向量Φ的两个分量分别是-a * α_f和b * α_r符号不要搞错。我发现很多初学者在这里容易把符号弄混导致估计出的侧偏刚度正负号不对然后花大量时间排查算法问题其实只是公式带入出错。第三这个实现里没有加入参数投影功能。所谓参数投影就是在每一步更新后判断估计值是否落在物理合理的范围内如果超出范围就拉回边界。比如侧偏刚度理论上不可能大于0线性轮胎模型的侧偏刚度都是负的如果估计值变成了正的说明算法出了问题就应该重置或者投影。在实车应用中这个功能很有必要可以防止估计器发散后输出不合理参数给上层控制器。4.3 仿真结果怎么看恒定转角变化速度下的典型特征跑完仿真我们来看结果图里能读出什么信息。在斜坡转向输入下RLS估计的侧偏刚度曲线通常呈现以下特征前0.5秒内由于协方差矩阵初值较大参数从初始猜测值快速向真值收敛这个阶段曲线的斜率很陡有时还会伴随一定的超调0.5到2秒之间参数逐渐逼近真值附近但仍有小幅波动2秒之后参数基本稳定在真值附近的窄带内波动幅度取决于遗忘因子和噪声水平。从稳态值来看如果算法设计正确C_f估计值应该收敛在-80000 N/rad附近C_r应该收敛在-100000 N/rad附近。收敛精度通常用相对误差来评估好的情况下能做到3%以内接受范围是5%。但随着转向角的持续增大一个有趣的现象会出现如果仿真模型用的是非线性轮胎而不是纯线性模型那么当转角增加到一定程度后后轴侧偏角增大轮胎进入非线性区RLS估计出的等效C_r绝对值会开始变小。这就是前面2.3节提到的“等效线性化”效应。这个现象不是算法错误而是模型假设和工作点变化共同决定的。在做结果分析时要特别关注这个拐点出现的时间它实际上对应了车辆从线性区过渡到非线性区的临界点。我在做这个仿真时特别注意了一个细节随着转角增大前后轴载荷会发生转移——转弯时外侧车轮载荷增加内侧车轮载荷减小而轮胎侧偏刚度本身对垂直载荷是非线性依赖的。载荷向一侧转移时两个轮胎的综合侧偏刚度会有所下降。也就是说即使轮胎完全在线性区等效侧偏刚度也会随侧向加速度增大而略有变化。RLS估计出的“恒定”参数实际上是一个缓慢漂移的变量这在分析结果时要清楚地区分“估计误差”和“参数真实变化”两种因素。5. 常见问题与排查技巧实录5.1 参数发散问题协方差矩阵的“炸弹”效应RLS最常见的问题就是参数发散症状是估计值在某个时刻突然跳到极大值或极小值然后再也拉不回来。造成发散的原因通常有几个一是输入信号激励不足导致信息矩阵接近奇异二是遗忘因子太小导致协方差矩阵P随时间指数增长三是观测信号中有大幅噪声或野值导致增益向量被异常样本放大。排查思路建议按照下面的顺序来先从时域曲线上找出发散的时间点看看在那个时刻前后输入信号是否发生了明显的形态变化然后检查P矩阵的对角元素是否在发散前已经变得非常大再看新息序列innovation sequence是否突然出现了远大于正常水平的异常峰值。解决手段最有效的是两条一是给P矩阵加上限幅也就是当P的对角元素超过某个阈值时强制将其拉回到阈值以内二是引入参数投影机制将估计值约束在物理合理范围内比如C_f和C_r的绝对值在1e4到3e5之间。这两个手段叠加使用基本可以保证估计器在绝大多数工况下不出现灾难性发散。5.2 激励不足导致的可辨识性问题RLS能不能正确估计出参数前提是输入信号能充分激励车辆动力学模型。如果车辆一直匀速直线行驶前轮转角恒定为0那么侧偏角始终为0轮胎力也为0任何一组侧偏刚度数值都能让模型输出一致这时候参数在数学上是不可辨识的。在恒定转角变化速度工况下这个风险相对较小因为转角在持续增加车辆一直在经历侧向运动。但有一个隐蔽的坑要注意在转角刚开始增加的很短时间内前0.1到0.2秒车辆还处于瞬态响应初期横摆角速度的幅值很小信噪比很低。如果在这个阶段就启动了RLS并且遗忘因子设置得比较小算法可能会被低信噪比数据带偏产生一段错误的收敛轨迹。后续即使信号变好也需要一段时间才能纠偏。解决这个问题的办法是增加一个“激励检测”环节只有当侧向加速度超过某个阈值比如1 m/s²或者横摆角速度超过某个阈值时才启动RLS更新否则保持上一时刻的参数估计值不变。这是一个非常有效的工程手法能显著提升估计结果的稳定性。5.3 采样时间与离散化误差的权衡仿真中的采样时间选择也会影响估计效果。从信息量的角度看采样间隔越小单位时间内获得的数据点越多对动态过程的描述越精细但间隔过小会带来两个问题一是相邻样本之间的信息相关性过高信息矩阵的条件数变差二是差分计算横摆角加速度时如果横摆角速度信号本身带有噪声差分会放大高频噪声导致回归方程中的y值严重失真。我一般建议采样时间取1到10毫秒之间具体根据车辆动力学响应频率来定。二自由度模型的固有频率通常在1到2 Hz左右横摆角速度的高频成分一般不超过10 Hz取5毫秒采样就能很好地覆盖这个频段。如果采样频率远高于信号频段可以对数据进行降采样后再送入RLS这比直接高频运行RLS效果更好。顺便提一下在Simulink中搭建RLS模块时我推荐把车辆模型和RLS估计器的采样时间设置成不同的步长车辆模型用定步长求解器比如1毫秒RLS估计器每5毫秒或10毫秒触发一次更新。这样做既保证了解算精度又减少了估计器的计算频率更接近实车ECU的运行逻辑。5.4 多参数相关性与不可观测问题一个容易被忽略的问题是多参数同时估计时参数之间存在强相关性导致即使输入激励充分单个参数仍然无法独立辨识。在二自由度模型里C_f和C_r的某些线性组合可能对横摆响应的影响相似当两个参数的比值恰好使得对横摆力矩贡献相同数据就很难区分它们是发生了“联合漂移”还是“单个变化”。解决思路有三种一是降低估计维度比如已知后轴侧偏刚度变化规律的前提下只估计前轴侧偏刚度二是引入额外的测量信号比如在前后轴各自安装侧偏角传感器或者车轮力传感器增加信息量三是利用工况约束比如在恒定转角变化速度工况中低速时后轮侧偏角相对较小C_r对响应的贡献相对有限这时优先保证C_f的估计精度等侧向加速度增大后再让C_r逐步进入活跃估计状态。6. 项目延伸方向探讨到这里基于RLS的侧偏刚度估计的核心内容已经讲得比较完整了。最后再说几个可以在后续工作中继续深入的方向给有兴趣的读者做个指引。第一个方向是多工况数据融合。单一恒定转角变化速度工况虽然设计得当但它的激励频带毕竟有限。后续可以在仿真中将斜坡输入与正弦扫频、随机输入等不同工况的数据串联起来用一个统一的RLS框架分段更新提升参数在全工况范围内的适用性。更进一步的可以采用多个RLS估计器并行运行每个估计器针对一个特定工况然后根据当前驾驶状态在线切换或者加权融合估计结果。第二个方向是时变遗忘因子的自调节。固定遗忘因子是一种折中方案实际中我们可以设计一个自适应的遗忘因子调节策略当估计残差突然增大时自动减小遗忘因子让算法快速响应可能的参数突变当残差平稳时逐渐增大遗忘因子减小稳态波动。这种策略能同时兼顾跟踪速度和稳态精度在路面附着突变场景下特别有价值。第三个方向是向非线性轮胎模型的扩展。前面提到RLS在线性模型下估计的是等效线性刚度当车辆进入非线性区后估计结果会偏离线性真值并且随工作点变化。如果要估计完整的轮胎特性曲线可以考虑使用带参数的Pacejka魔术公式模型然后用扩展卡尔曼滤波或者粒子滤波来估计模型参数。这个方向的计算复杂度会显著增加但给出的信息量也大得多能够直接用于极限工况下的车辆稳定性控制。就我自己做这个项目的体会来说RLS本身并不复杂真正考验功力的地方在于模型怎么建、工况怎么选、参数怎么调、结果怎么解读。这一整套方法论打通了后面做EKF、UKF或者其他更高级的估计器思路也都是相通的。希望这篇文章能帮你把这条路走通。
返回列表