基于LQR控制算法的四轮独立电驱汽车横向稳定性控制研究:双移线工况仿真与PID及无控车辆对比

适用方向:基于LQR控制算法的直接横摆力矩控制(DYC)的四轮独立电驱动汽车的横向稳定性控制研究 主要内容:利用carsim建模,在simulink中搭建控制器,然后进行联合。 实现汽车在高速低附着路面下完成双移线工况的仿真。 可以与PID控制和无控制车辆进行对比,从而验证所设计LQR控制器的稳定性和有效性。 模型包含:纵向驾驶员模型、电机模型、车辆二自由度参考模型、LQR控制器等。

在冰面上飙车这事儿听着挺玄乎,但咱们搞车辆控制的还真得跟这种极限工况死磕。最近折腾四轮独立电驱动车的横向稳定性控制,用LQR算法搞直接横摆力矩控制(DYC),算是踩了不少坑也攒了点实战经验。

先说说模型架构这个地基。CarSim里建好整车模型后,Simulink这边要搭的模块就跟乐高积木似的——纵向驾驶员模型负责油门刹车,电机模型用了个简化版本,毕竟四轮独立驱动要是每个电机都详细建模,仿真速度能慢到你怀疑人生。重点是这个二自由度参考模型,核心代码大概长这样:

function [dx, y] = bicycle_model(t, x, u)
    % 状态量:横摆角速度、质心侧偏角
    gamma = x(1);
    beta = x(2);
    
    % 参数定义
    m = 1600;   % 整车质量
    lf = 1.2;   % 前轴距
    lr = 1.5;   % 后轴距
    Iz = 2500;  % 转动惯量
    
    % 轮胎侧偏刚度(低附着路面)
    Cf = 40000 * 0.3; 
    Cr = 45000 * 0.3;
    
    % 状态方程
    A = [ (Cf*lf^2 + Cr*lr^2)/(Iz*Vx),  (Cf*lf - Cr*lr)/(Iz) - Vx;
          (Cf*lf - Cr*lr)/(m*Vx^2) -1,  (Cf + Cr)/(m*Vx) ];
    
    B = [ -Cf*lf/(Iz), 0;
          -Cf/(m*Vx),  0 ];
    
    dx = A * [gamma; beta] + B * u;
end

这段代码最要命的是那个Vx(纵向速度)的处理,刚开始忘了做成时变量,结果在变道过程中控制效果突然抽风。后来改成从CarSim实时获取速度信号才解决,所以说模型和实际工况的耦合关系真是细节决定成败。

LQR控制器的核心在于权重矩阵的调参。经过二十多组参数组合测试,最后定稿的Q矩阵把横摆角速度误差权重设为120,质心侧偏角给到80,这样既保证方向响应又防止过度转向。R矩阵相对简单,给执行器力矩变化率加了个0.1的约束防止电机抽风。

适用方向:基于LQR控制算法的直接横摆力矩控制(DYC)的四轮独立电驱动汽车的横向稳定性控制研究 主要内容:利用carsim建模,在simulink中搭建控制器,然后进行联合。 实现汽车在高速低附着路面下完成双移线工况的仿真。 可以与PID控制和无控制车辆进行对比,从而验证所设计LQR控制器的稳定性和有效性。 模型包含:纵向驾驶员模型、电机模型、车辆二自由度参考模型、LQR控制器等。

力矩分配策略是另一个有意思的点。四轮独立驱动的好处在这儿体现得淋漓尽致:

function [T_fl, T_fr, T_rl, T_rr] = torque_distribution(delta_Mz)
    % 基于轮胎负荷率的分配算法
    load_rate = [0.3, 0.25, 0.4, 0.35]; % 从状态观测器获取
    
    % 分配权重计算
    k = 1 ./ (load_rate + 0.1); % 防止除零
    k = k / sum(k);
    
    % 横摆力矩转化
    total_torque = delta_Mz * 1000 / 0.35; % 传动比换算
    T_fl = total_torque * k(1) * sign(delta_Mz);
    T_fr = total_torque * k(2) * sign(delta_Mz);
    T_rl = total_torque * k(3) * sign(delta_Mz);
    T_rr = total_torque * k(4) * sign(delta_Mz);
end

这个动态分配算法比固定比例分配效果好不少,特别是在连续变道时能根据轮胎实时状态调整,避免某个车轮过早饱和。不过要注意的是电机模型的响应延迟得在控制器里做补偿,否则会出现力矩还没到位就开始下一轮计算的情况。

联合仿真时遇到个玄学问题——CarSim和Simulink的时钟同步偶尔会错位,表现在曲线上就是每隔几秒有个小毛刺。后来发现是仿真步长设置不一致,把两边都改成0.001秒固定步长后,波形立马光滑得像德芙巧克力。

对比测试环节,无控制车辆在80km/h的冰面双移线工况下直接表演了360度转体,PID控制虽然能勉强完成动作,但横摆角速度波动幅度超过4deg/s。而LQR控制的路径跟踪误差保持在0.3m以内,方向盘转角曲线也比PID平滑得多。不过有个意外发现:在超低附着系数(<0.2)时,LQR的鲁棒性优势反而不明显,这可能跟轮胎力进入强非线性区有关,得考虑引入变权重策略了。

整个项目下来最大的体会是:理论上的最优控制在工程实现时就是个不断打补丁的过程。就像那个横摆力矩分配函数,前三个版本都是教科书式的平均分配,直到看见实验场数据才知道现实中的轮胎这么不给面子。下次准备试试把MPC整合进来,看看能不能解决极端工况下的预测控制问题,不过那估计又是掉头发的开始。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值