ARTICLE DETAIL

资讯详情

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

轮速差估算横摆角速度:原理推导与工程实现

轮速差估算横摆角速度:原理推导与工程实现 ESP标定和匹配这几年没少和横摆角速度打交道很多刚入门的同学一听到Yaw-rate就发怵总觉得这是陀螺仪传感器才能测出来的高端信号。实际上早在专门的高精度陀螺仪普及之前整车厂和零部件供应商就已经在拿轮速传感器的信号估算横摆角速度了。轮速差估算Yaw-rate这件事理解起来其实不复杂核心就是一个刚体旋转的运动学关系难的地方在于真实车辆工况下误差从哪儿来、怎么规避。这篇文章就把这事的来龙去脉掰开揉碎从物理模型讲到公式推导再讲到工程实现里那些文档里不会写清楚的坑尽量做到能让你照着思路自己推一遍。1. ESP为什么非要“算”出横摆角速度1.1 横摆角速度是ESP控制闭环里的“眼睛”ESP全称是电子稳定程序Electronic Stability Program它要干的活本质上是在车辆快要失控的时候把车“拽”回来。但“失控”这个词在控制算法里没法直接用必须转化成两个可以量化的量一个叫质心侧偏角一个叫横摆角速度Yaw-rate。横摆角速度定义的是车辆绕自身垂直轴转动的角速度单位是rad/s说人话就是“这辆车正在以多快的速度原地打转”。车辆转弯时驾驶员通过方向盘给出一个期望路径ESP通过转向角传感器和车速计算出一个“期望横摆角速度”同时车辆实际产生的横摆角速度则通过传感器或模型估算得到。二者的差值就是ESP判断车辆处于转向不足推头还是转向过度甩尾的核心依据。比如实际横摆角速度明显小于期望值说明车头往外推ESP会通过对内侧后轮施加制动力产生一个额外横摆力矩把车拉回期望路径。这一套测-算-控的闭环每一环都离不开横摆角速度。1.2 ESP系统中横摆角速度的三种来源在量产ESP系统里横摆角速度信号的来源通常不只有一种。第一种是专门的横摆角速度传感器也就是微机械陀螺仪MEMS陀螺仪它直接测量车身绕垂直轴的角速度精度高、响应快是ESP主控制逻辑使用的核心信号。第二种是参考模型计算出来的期望横摆角速度依据的是方向盘转角和车速代表的是“车辆应该转多快”。第三种就是本文要重点讲的用左右轮速差估算出来的横摆角速度它代表的是“车辆实际转多快”的一种独立观测。所以这里面有个很关键的概念轮速差估算的Yaw-rate不是用来替代陀螺仪的而是用来和陀螺仪做冗余、交叉校验以及在某些工况下作为参考依据的。ESP属于安全关键系统任何单一传感器信号都不能直接完全信任这就是为什么现代ESP架构里横摆角速度传感器故障时经常可以通过轮速信号做降级诊断甚至部分功能降级。理解轮速差估算Yaw-rate是理解ESP故障诊断逻辑和功能安全设计前必修的一课。1.3 为什么轮速传感器能派上用场轮速传感器是ESP系统里最基础的信号来源四个轮子各有一个成本低、可靠性高而且几乎每辆车出厂就有。它的存在本身是为了ABS防抱死但轮速信号里藏着的信息远不止“车轮转多快”。车辆在转弯时同一根车轴上的左右轮走的是不同半径的弧线外侧轮走的路程长内侧轮走的路程短。在同样的时间内外侧轮转得必然比内侧轮快。这个轮速差的大小和车辆转弯的快慢直接相关转弯转得越急轮速差越大走直线时左右轮速差几乎为零。把这一层关系用数学公式表达出来就是Yaw-rate估算的全部秘密。2. 轮速差估算的物理基础把车辆当成刚体旋转模型2.1 瞬时转动中心模型严格来说车辆转弯时每个车轮的速度方向和大小都不同直接对着四个轮胎做分析会非常复杂。工程上常用的处理方式是把车辆简化为一个刚体某一瞬间整个车身围绕同一个瞬时转动中心Instantaneous Center of Rotation简称ICR做旋转。刚体上任意一点的速度等于刚体的角速度乘以该点到转动中心的距离方向垂直于该点与转动中心的连线。这是整个推导的起点也是高中物理里“角速度乘以半径等于线速度”的直接应用。这里需要说明的是瞬时转动中心并不是车辆几何中心它的位置取决于前轮转角、轮胎侧偏特性、车速等一系列因素。在低速且没有侧偏的理想情况下ICR基本位于后轴中心线的延长线上这就是经典的阿克曼转向几何对应的状态。但不管ICR落在哪儿只要把车身看成刚体绕同一个ICR旋转这个假设成立那么车身任意两个点之间就存在严格的运动学约束关系。我们要做的就是利用两个轮速测量点之间的这个约束关系把横摆角速度反解出来。2.2 同一车轴上左右轮的运动学约束假设车辆在做稳态圆周运动我们取同一根车轴上的左右两个车轮来分析。两个车轮都固定在车身上它们的连线方向与车辆纵轴垂直。在刚体旋转的前提下左右车轮的速度方向都垂直于各自与ICR的连线而且两个车轮各自触地点到ICR的距离存在一个确定的关系外侧轮触地点到ICR的距离与内侧轮触地点到ICR的距离之差正好等于左右轮触地点之间的横向距离也就是轮距track width。把这个关系写成方程形式。设横摆角速度为ω_yaw左轮触地点到ICR的距离为R_L右轮触地点到ICR的距离为R_R那么有左轮线速度v_L ω_yaw × R_L右轮线速度v_R ω_yaw × R_R两式相减v_R - v_L ω_yaw × (R_R - R_L) ω_yaw × B其中B就是轮距。这个式子就是整个推导最核心的一步轮速差除以轮距就得到横摆角速度。不需要知道ICR具体在哪也不需要知道转弯半径是多少因为做减法的时候这些量都消掉了。这就是轮速差估算Yaw-rate这么优雅的原因测量点的距离差是已知的结构参数剩下的就是两个轮速测量值。2.3 两个关键结构参数轮距B和有效滚动半径r_eff要做定量计算轮距B是绕不开的第一个参数。常规乘用车的轮距一般在1400mm到1650mm之间具体数值可以在车辆技术参数表里查到。需要注意的是算法里用的B应该是左右轮触地点的横向距离工程上通常直接取轮距标称值误差在小数点后几位范围内对估算精度影响有限。第二个关键参数是轮胎的有效滚动半径r_eff。轮速传感器测到的是车轮的旋转角速度要换算成车辆前进的线速度必须乘以有效滚动半径。这个半径不是轮胎静载时的几何半径而是在滚动状态下等效的“运动学半径”等于车轮每转一圈实际前进的距离除以2π。不同车速、不同胎压、不同载荷下r_eff都会有轻微变化通常需要通过试验标定出一个补偿曲线。别小看这个参数它直接影响轮速线速度的精度进而影响Yaw-rate估算的精度。3. 手把手推导从轮速脉冲到Yaw-rate公式3.1 第一步把轮速传感器的脉冲信号换算成线速度现代轮速传感器大多是磁编码式齿圈上均匀分布着若干个磁极常见的是48齿也有43齿、60齿的传感器输出方波脉冲。算法的第一步是在固定的采样周期Δt内统计每个轮子的脉冲数n然后换算出车轮的旋转频率f n / (N × Δt)其中N是齿圈齿数单位是转/秒RPS。有了旋转频率车轮角速度ω_wheel 2π × f再乘上有效滚动半径r_eff就得到该车轮的线速度v ω_wheel × r_eff。举个具体数值。假设齿圈48齿采样周期10ms某个采样周期内数到24个脉冲那么旋转频率f 24 / (48 × 0.01) 50转/秒车轮角速度约314.16 rad/s。若有效滚动半径r_eff为0.32米则线速度v 314.16 × 0.32 ≈ 100.5 m/s。当然这个例子是超高速工况正常车辆行驶时v通常在0到60m/s之间。脉冲计数分辨率决定了低速时的精度这也是低速工况轮速差估算误差变大的根源之一。3.2 第二步利用同一车轴左右轮速差导出核心公式有了左右轮的线速度v_L和v_R核心公式只需要三步推导。刚体旋转模型下右轮线速度等于横摆角速度乘以右轮到ICR距离v_R ω_yaw × R_R左轮同理v_L ω_yaw × R_L。两式相减得到v_R - v_L ω_yaw × (R_R - R_L)。根据几何关系R_R - R_L B轮距代入即得ω_yaw (v_R - v_L) / B这就是Yaw-rate估算的最终公式。从公式可以直观地看出三个结论。第一横摆角速度与轮速差成正比轮速差越大车辆转得越快。第二横摆角速度与轮距成反比轮距越宽的车同样的轮速差对应的横摆角速度越小这也符合直觉宽体车过弯时姿态更稳。第三这个公式完全不依赖车辆当前车速只看左右轮速的相对差因此理论上从低速到高速都适用当然实际工程中低速性能受传感器分辨率限制。再做一次量纲检查。v_R和v_L的单位是m/s相减后单位还是m/s轮距B的单位是mm/s除以m得到1/s也就是rad/s与国际单位制中角速度的单位完全一致。这一步看着简单但我在实际带新人时遇到过不止一次单位换算错误有人把车速单位当成km/h直接代入算出来的Yaw-rate差了3.6倍排查半天才发现是单位问题。3.3 顺带推导从Yaw-rate反推转弯半径推导出横摆角速度公式之后转弯半径的计算就顺理成章了。设车辆中心线的转弯半径为R左右轮分别位于半径R - B/2和R B/2的圆弧上以车轴中心为参考点则有v_R ω_yaw × (R B/2)v_L ω_yaw × (R - B/2)两式相加得到v_R v_L 2 × ω_yaw × R也就是说R (v_R v_L) / (2 × ω_yaw)。再把前面得到的ω_yaw (v_R - v_L) / B代进去整理出用轮速直接表达转弯半径的公式R [B × (v_R v_L)] / [2 × (v_R - v_L)]这个公式在实际工程中很有用比如可以用来估算车辆当前行驶轨迹的曲率为自适应巡航的弯道策略、前照灯随动转向等系统提供参考。注意当v_R ≈ v_L也就是车辆基本直行时分母趋近于零转弯半径趋近于无穷大这在数学上对应直线行驶在算法里需要做除零保护。3.4 第四步一个完整的数值算例走一个完整的数值算例把整个计算流程串起来。设某车齿圈齿数N48采样周期Δt10ms左轮计数n_L10个脉冲右轮计数n_R11个脉冲轮距B1.5m有效滚动半径r_eff0.32m。第一步算旋转频率。左轮f_L 10 / (48 × 0.01) ≈ 20.83 RPS右轮f_R 11 / (48 × 0.01) ≈ 22.92 RPS。第二步算线速度。左轮v_L 2π × 20.83 × 0.32 ≈ 41.89 m/s右轮v_R 2π × 22.92 × 0.32 ≈ 46.08 m/s。第三步算轮速差Δv 46.08 - 41.89 ≈ 4.19 m/s。第四步代入核心公式ω_yaw 4.19 / 1.5 ≈ 2.79 rad/s换算成更直观的单位1 rad/s约等于57.3度/秒所以这个工况相当于车辆以约160度/秒的角速度旋转已经是一个相当激烈的转向工况了。再看转弯半径R [1.5 × (41.89 46.08)] / [2 × 4.19] ≈ 15.75m也就是说车辆正在一个半径约15.75米的圆弧上行驶这个量级对乘用车来说符合激烈变道或紧急避障场景。3.5 工程算法里的常规处理滤波、门限与除零保护公式本身只有两行但把一个原始计算块做成能装进ECU的量产算法需要额外加好几层处理。第一层是滤波轮速脉冲信号在低速时抖动很大直接做除法得到的Yaw-rate噪声会非常明显通常需要一个低通滤波器将截止频率选在5Hz到15Hz之间兼顾响应速度和噪声抑制。第二层是有效区判断当车速低于某个门限比如5km/h时脉冲计数分辨率导致误差过大此时轮速差估算结果直接置为无效系统切到其他估算源或保持上一次有效值。第三层是除零保护虽然轮距B是常数不会为零但轮速差可能因为左右轮都静止而为零此时Yaw-rate计算结果为0是合理的但滤波器和后续逻辑需要避免异常状态。第四层是合理性检查算出的Yaw-rate不能超过车辆物理极限乘用车横摆角速度的物理上限一般不超过1.5rad/s左右约86度/秒远超这个值的计算结果可以判定为异常触发故障处理逻辑。4. 这个估算方法的上限误差从哪儿来4.1 轮胎滑移是最大的误差源轮速差估算Yaw-rate最根本的假设是车轮线速度完全反映车辆运动速度。但真实车辆在制动、加速、大侧向加速度工况下轮胎和地面之间存在纵向滑移车轮的旋转速度并不等于车辆实际移动速度这个差值就是滑移率。如果左右轮的滑移率不一致比如车辆在左右附着系数不对称的路面上制动一侧是干燥沥青一侧是冰面两个前轮的滑移率可以差出去很远此时用轮速差算出来的Yaw-rate会严重失真。这也是为什么工程上通常优先使用从动轮的轮速信号做估算。前驱车用后轮后驱车用前轮因为从动轮没有驱动力矩正常行驶时纵向滑移很小轮速更接近真实车速。四驱车最麻烦四个轮子都可能驱动通常的做法是综合判断各轮的滑移状态选择当前滑移率最小的一组轮速差参与计算。如果所有轮子都在剧烈滑移比如极限漂移工况轮速差估算的Yaw-rate就完全不可信了。4.2 左右轮胎有效滚动半径不一致3.1节里提到有效滚动半径r_eff并不是固定不变的。左右轮胎由于磨损程度不同、胎压差异、载荷分布不均实际滚动半径可能相差百分之零点几到百分之一。这个差异在走直线时就会体现出来两个轮速传感器的测量值哪怕完全一致换算成线速度后也会出现一个固定的偏差导致估算出的Yaw-rate在直行时不为零。实际工程里这个问题通过两个手段缓解。一是软件标定补偿在出厂标定阶段记录左右轮速的静态偏差并在算法里做差模修正。二是在算法逻辑上增加判断直行工况下如果估算Yaw-rate持续输出一个非零的偏置就把它当作系统偏差扣除。需要注意的是这种修正要在车辆真正直线行驶时才能学习否则会把真实的转向信号当成偏差学习掉学习时机选错了反而引入新误差。4.3 动态工况下轮距和悬架的影响前面推导中假设轮距B是常数这个近似在低速平稳工况下足够精确。但车辆在高速过弯时由于侧向加速度的作用车身会发生侧倾悬架几何会发生变化左右轮触地点之间的距离会略有改变。同时轮胎由于侧偏会产生侧向变形实际滚动半径和滚动轨迹也会和静止状态有差异。这些因素叠加起来会让实际的轮距产生百分之几的误差反映到Yaw-rate估算上同样是百分之几的偏差。对于ESP这类安全控制系统来说百分之几的精度损失其实可以接受因为轮速差估算本来就是一个参考量主要用来做冗余校验和故障诊断真正的控制闭环还是依靠陀螺仪的高精度信号。但如果有人想把这个估算方法用在精度要求更高的场合比如高精度定位系统里的航迹推算那就需要仔细考虑轮距动态修正的问题。4.4 低速和静止工况的死区问题轮速传感器是数字脉冲式的采样周期固定时脉冲计数存在±1个脉冲的量化误差。车速越低相同时间内脉冲数越少相对量化误差就越大。举个例子在车速30km/h时一个采样周期内可能数到上百个脉冲计数误差占比很小但在车速3km/h时一个采样周期内可能只有几个脉冲误差占比动辄百分之几十。轮速差作为两个小数的差值误差会被进一步放大。因此量产ESP算法里都会设置一个低速死区车速低于门限时直接禁用轮速差估算结果。这个门限通常是3到8km/h具体值取决于齿圈齿数和采样频率。齿圈齿数越多低速分辨率越高门限可以设得更低。这也是为什么新一代轮速传感器普遍采用更密齿圈或磁编码式设计的原因之一。5. 工程实现中的常见问题与排查思路5.1 轮速信号噪声大估算值抖动明显实际调试中经常遇到的现象是车辆明明在匀速直线行驶轮速差估算出来的Yaw-rate却在小幅波动叠加滤波后依然能看到明显的锯齿状纹波。看到这个现象第一反应不是调滤波参数而是先回头检查轮速信号质量。轮速传感器和气隙的关系很敏感齿圈与传感器探头之间的间隙如果超出标准范围信号幅值会下降脉冲沿会出现抖动直接表现就是轮速值毛刺增多。排查顺序建议是这样的先看轮速原始脉冲是否有丢齿、毛刺用示波器抓波形确认信号质量再核对齿圈齿数是不是和算法配置一致替换过非原厂轮速传感器的车辆尤其容易在这里出问题确认信号没问题之后再调低通滤波器的截止频率。滤波参数不要一味调低截止频率太低会引入相位滞后估算出的Yaw-rate在动态工况下会滞后于实际值影响后续使用效果。一个比较稳妥的起点是8Hz到12Hz然后根据实车数据微调。5.2 轮速差估算值和陀螺仪读数对不上这是搭载惯性传感器的车辆在标定和验证阶段最常遇到的问题。低速直行时两边读数接近一到了高速转弯或者大油门加速工况偏差就出来了。遇到这种情况先别急着怀疑公式推导绝大多数偏差都能归结到几个固定原因。第一要查轮胎状态左右轮胎的胎压和磨损是否一致胎压差超过0.2bar时左右轮有效半径的差异就会在Yaw-rate估算上体现出来。第二要查车速范围高速时轮胎离心变形导致r_eff增大如果算法里没有做车速补偿估算值会偏大。第三要区分工况大油门工况下驱动轮滑移率上升如果用的是驱动轮轮速差偏差很正常此时应该切到从动轮信号。我遇到过一起典型的案例一台后驱验证车在动态操稳试验中Yaw-rate一直对不上排查到最后发现是试验车换了混合花纹轮胎左右轮磨损差异大导致滚动半径不一致换上同批次新轮胎之后数据立刻恢复正常。5.3 故障诊断中如何利用轮速差估算做交叉验证在不能直接更换硬件传感器的研发和售后场景里轮速差估算的Yaw-rate是诊断陀螺仪故障最有力的参照物。陀螺仪是MEMS器件故障模式多样有的卡死输出恒定值有的零漂严重有的增益衰减。如果陀螺仪输出一个恒定Yaw-rate但轮速差估算结果是0同时转向角传感器显示方向盘在中间位置就可以高度怀疑陀螺仪出现卡死故障。反之如果轮速差估算值异常大而陀螺仪输出正常则可能是轮速传感器或齿圈出了问题。实际诊断逻辑里通常会设定一个偏差门限持续监测陀螺仪测量值与轮速差估算值之间的差值。正常工况下二者应该接近差值超过门限并持续一段时间算法就会上报传感器一致性故障并触发相应的降级策略。这套逻辑要工作得可靠关键是工况选择必须在车轮滑移较小的稳态工况下做比较剧烈制动或驱动时轮速差估算本身不可靠不能拿来做故障判据。所以在设计诊断策略时通常会把轮速差估算值的有效区判断条件和诊断使能条件绑定在一起。5.4 一套可以直接上手的验证流程如果要验证你自己实现的轮速差Yaw-rate估算算法我建议按下面这套流程走一遍能省掉大量不必要的调试时间。第一步准备一份车辆参数清单包括轮距、四轮有效滚动半径、齿圈齿数、传感器采样周期这些参数任何一个有误后面所有结果都不可信。第二步找一块空旷场地先做直线行驶测试检查估算Yaw-rate是否接近零这一步验证的是左右轮速通道的一致性和系统偏置。第三步做定半径圆周行驶车速从低到高分几档对比估算值与实际转向状态是否一致这一步验证公式的正确性。第四步如果有参考陀螺仪做稳态圆周和变道工况对比统计估算误差的均值和标准差这一步验证精度水平。第五步做紧急制动和急加速工况此时轮速差估算会失真重点观察算法能否正确识别并将估算结果标记为无效这才是量产品质和实验原型之间的关键分水岭。整个过程做完你对这个估算方法的适用边界会有非常直观的认知远比只看公式推导来得深刻。6. 最后聊两句我的体会轮速差估算横摆角速度公式推导前前后后就三步简单到高中生都能理解。但我在实际项目里接触下来真正决定这套方法能不能用的从来不是公式本身而是对误差来源的认识深度。理解了轮胎滑移什么时候会让估算失效理解了轮速脉冲的量化误差在低速时如何放大理解了左右轮有效半径偏差会引入固定的直行偏置你才算是真正掌握了这套方法。对于刚接触ESP算法或者底盘域控开发的同学我的建议是自己动手把这个推导完整写一遍再用实车数据或者公开数据集跑一遍遇到对不上的地方回头看这篇的5.2节排查思路基本都在里面了。
返回列表