基于dugoff轮胎模型的车辆七自由度模型以及基于魔术轮胎公式的路面附着系数估计 包含参考文献以及说明文档

在车辆动力学研究中,准确的模型构建和参数估计至关重要。今天咱们就来聊聊基于 Dugoff 轮胎模型的车辆七自由度模型,以及基于魔术轮胎公式的路面附着系数估计。

基于 Dugoff 轮胎模型的车辆七自由度模型

七自由度模型简介

车辆七自由度模型考虑了车辆的纵向、侧向、横摆三个平动自由度,以及四个车轮的转动自由度。这种模型能较为准确地描述车辆在行驶过程中的动力学特性,为车辆的操控性和稳定性分析提供了基础。

Dugoff 轮胎模型

Dugoff 轮胎模型是一种常用的轮胎模型,它考虑了轮胎的纵向和侧向力与轮胎滑移率和侧偏角之间的关系。其核心公式如下:

import numpy as np

def dugoff_force(slip_ratio, slip_angle, Fz, mu, Cx, Cy):
    # 计算纵向和侧向的归一化滑移率
    Sx = np.abs(slip_ratio)
    Sy = np.abs(np.tan(slip_angle))
    
    # 计算综合滑移率
    S = np.sqrt(Sx**2 + Sy**2)
    
    # 计算参数 lambda
    lambda_val = 2 * mu * Fz / (S * (Cx * Sx + Cy * Sy))
    
    if lambda_val >= 1:
        # 线性区域
        Fx = Cx * slip_ratio
        Fy = Cy * np.tan(slip_angle)
    else:
        # 非线性区域
        Fx = Cx * slip_ratio * (1 - lambda_val / 2)
        Fy = Cy * np.tan(slip_angle) * (1 - lambda_val / 2)
    
    return Fx, Fy
代码分析

这段代码实现了 Dugoff 轮胎模型的力计算。首先,我们计算了纵向和侧向的归一化滑移率 SxSy,然后通过它们计算综合滑移率 S。接着,我们计算了参数 lambdaval,根据 lambdaval 的值判断轮胎处于线性区域还是非线性区域,并计算相应的纵向力 Fx 和侧向力 Fy

七自由度模型的实现

下面是一个简化的七自由度模型的实现示例:

class SevenDOFModel:
    def __init__(self, m, Iz, lf, lr, Cx, Cy):
        self.m = m  # 车辆质量
        self.Iz = Iz  # 车辆绕 z 轴的转动惯量
        self.lf = lf  # 质心到前轴的距离
        self.lr = lr  # 质心到后轴的距离
        self.Cx = Cx  # 轮胎纵向刚度
        self.Cy = Cy  # 轮胎侧向刚度
    
    def update(self, vx, vy, r, slip_ratios, slip_angles, Fz):
        # 计算四个轮胎的力
        Fx_fl, Fy_fl = dugoff_force(slip_ratios[0], slip_angles[0], Fz[0], 0.8, self.Cx, self.Cy)
        Fx_fr, Fy_fr = dugoff_force(slip_ratios[1], slip_angles[1], Fz[1], 0.8, self.Cx, self.Cy)
        Fx_rl, Fy_rl = dugoff_force(slip_ratios[2], slip_angles[2], Fz[2], 0.8, self.Cy, self.Cy)
        Fx_rr, Fy_rr = dugoff_force(slip_ratios[3], slip_angles[3], Fz[3], 0.8, self.Cy, self.Cy)
        
        # 计算纵向力和侧向力的合力
        Fx_total = Fx_fl + Fx_fr + Fx_rl + Fx_rr
        Fy_total = Fy_fl + Fy_fr + Fy_rl + Fy_rr
        
        # 计算横摆力矩
        Mz = (Fy_fl + Fy_fr) * self.lf - (Fy_rl + Fy_rr) * self.lr
        
        # 计算加速度
        ax = (Fx_total - self.m * vy * r) / self.m
        ay = (Fy_total + self.m * vx * r) / self.m
        ar = Mz / self.Iz
        
        return ax, ay, ar
代码分析

这个 SevenDOFModel 类实现了七自由度模型的更新。在 update 方法中,我们首先根据输入的滑移率、侧偏角和垂直载荷计算四个轮胎的纵向力和侧向力。然后,我们计算纵向力和侧向力的合力以及横摆力矩。最后,根据牛顿第二定律计算车辆的纵向加速度、侧向加速度和横摆角加速度。

基于魔术轮胎公式的路面附着系数估计

魔术轮胎公式

魔术轮胎公式是一种广泛应用的轮胎力模型,它可以很好地描述轮胎力与滑移率之间的非线性关系。其基本形式如下:

\[

F = D \sin(C \arctan(Bx - E(Bx - \arctan(Bx))))

基于dugoff轮胎模型的车辆七自由度模型以及基于魔术轮胎公式的路面附着系数估计 包含参考文献以及说明文档

\]

其中,$F$ 是轮胎力,$x$ 是滑移率,$B$、$C$、$D$、$E$ 是模型参数。

路面附着系数估计

我们可以通过魔术轮胎公式来估计路面附着系数。下面是一个简单的实现示例:

def magic_formula(x, B, C, D, E):
    return D * np.sin(C * np.arctan(B * x - E * (B * x - np.arctan(B * x))))

def estimate_mu(Fx_measured, slip_ratio, B, C, D, E):
    # 计算理论轮胎力
    Fx_theoretical = magic_formula(slip_ratio, B, C, D, E)
    
    # 估计路面附着系数
    mu_estimated = Fx_measured / Fx_theoretical
    
    return mu_estimated
代码分析

magicformula 函数实现了魔术轮胎公式的计算。estimatemu 函数根据测量得到的纵向力 Fxmeasured 和滑移率 slipratio,通过魔术轮胎公式计算理论轮胎力 Fxtheoretical,然后估计路面附着系数 muestimated

参考文献

  1. Pacejka, H. B. Tire and vehicle dynamics. Elsevier, 2005.
  2. Dugoff, H., Fancher, P. S., & Segel, L. A. An analysis of tire traction properties and their influence on vehicle dynamic performance. SAE Transactions, 1969.

说明文档

本文中的代码主要用于演示基于 Dugoff 轮胎模型的车辆七自由度模型和基于魔术轮胎公式的路面附着系数估计。在实际应用中,需要根据具体的车辆参数和实验数据对模型进行调整和验证。同时,路面附着系数的估计可能会受到多种因素的影响,如轮胎磨损、温度等,需要进一步的研究和改进。

通过以上的模型和估计方法,我们可以更好地理解车辆的动力学特性和路面状况,为车辆的主动安全控制和智能驾驶提供支持。希望这篇文章能对你有所帮助!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐