ARTICLE DETAIL

资讯详情

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

EPS建模与仿真:从动力学方程到LQG助力控制

EPS建模与仿真:从动力学方程到LQG助力控制 简介这是基于MATLAB/Simulink电动助力转向EPS系统的建模仿真研究毕业论文适合车辆工程、控制理论与控制工程等方向的学生查阅。论文从EPS系统结构和工作原理出发构建了包含机械转向系、减速机构、助力电机电学模型及考虑车身侧倾的三自由度整车动力学模型并设计直线型与曲线型助力特性曲线围绕基本助力与回正控制策略对比了传统PID、Fuzzy-PID与LQG最优控制器的仿真效果最后通过EPS性能试验台架验证了模型与控制策略的正确性。资源为单文件PDF大小1.33MB内容涵盖中英文摘要、系统建模、助力特性设计、多种控制器对比、仿真与台架试验等完整章节已有305人学习浏览。对正在开展EPS系统建模、控制算法研究或撰写相关毕业设计的读者这份论文提供了一套完整的建模思路、仿真路线和试验验证方法具有较强的参考价值。1. EPS 建模仿真先分清三条模型链再进 Simulink拿到一套 EPS 转向柱总成的实物参数直接打开 Simulink 拖模块大概率会在调试阶段卡在仿真结果跟台架对不上。论文的价值不在某个控制器多先进而在于把机械转向系、减速机构、助力电机、考虑车身侧倾的三自由度整车模型和轮胎模型串成完整模型链再用实验室台架试验把仿真拉回来校准。它的核心结论在业内并不意外助力控制模式下LQG 最优控制效果最好Fuzzy-PID 次之传统 PID 最差回正控制下方向盘能快速回中且不超调。对正在做转向系统仿真、助力控制器选型或者写车辆工程方向毕业论文的人来说这套建模—Simulink 实现—台架验证的路径可以直接复用。下面按拆解顺序从动力学方程讲到参数整定、台架对比和矢量出图。2. 从动力学方程到状态空间转向柱助力模型的搭建细节2.1 转向柱助力式结构决定了建模拆分方式EPS 按电机布置位置分三种转向柱助力式、小齿轮助力式和齿条助力式。论文采用的是转向柱助力式电机通过减速机构直接作用在转向柱上。这种布置结构紧凑、适合中小型车建模时最大的好处是助力路径短电机转矩经过一个减速机构就能叠加到转向柱省去了齿轮齿条中间环节的非线性。建模拆分要跟着能量流走方向盘输入力矩经过转矩传感器和电机助力在转向柱上汇合再经过减速机构、齿轮齿条传到车轮同时电机本身是电气环节电压驱动电感电阻回路产生电流电流产生电磁转矩。所以至少需要三块模型机械转向系、减速机构加电机、整车与轮胎。整车模型不能省助力特性里的车速信号、回正控制里的横摆角速度都来自整车没有整车模型这些量只能拍脑袋给常数。2.2 机械转向系动力学方程与符号约定常见做法是把转向柱和输出轴分开列方程转向柱侧的转动惯量方程为J_s·θ̈_s B_s·θ̇_s K_s·(θ_s − θ_p/i_g) T_d其中 J_s 是转向柱及方向盘等效转动惯量B_s 是等效阻尼K_s 是扭杆刚度T_d 是驾驶员输入力矩θ_p 是输出轴转角i_g 是减速机构减速比。减速机构输出轴侧方程为J_p·θ̈_p B_p·θ̇_p i_g·η·T_m K_s·(θ_s − θ_p/i_g)/i_g − T_rT_r 是齿轮齿条反馈到输出轴的阻力矩η 是减速机构效率。这部分参数在论文里对应表 2.1典型量级如下符号物理含义典型量级J_s转向柱等效转动惯量0.010.05 kg·m²B_s转向柱等效阻尼0.10.5 N·m·s/radK_s扭杆扭转刚度50200 N·m/radi_g减速比1020η减速机构效率0.850.95注意这个模型的简化点扭杆刚度 K_s 同时是转矩传感器的测量基础传感器测的其实是扭杆两端转角差换算出来的力矩。想仿出传感器信号Simulink 里就要把K_s·(θ_s − θ_p/i_g)单独引出来不要直接用 T_d 查表否则后面回正控制的反馈量会失真。2.3 助力电机电学模型与传递函数助力电机按永磁直流电机处理电枢回路电压平衡方程为U L·di/dt R·i K_e·ω_m式中 U 是端电压R 和 L 是电枢电阻与电感K_e 是反电动势常数ω_m 是电机转速。电磁转矩正比于电流T_m K_t·iK_t 是电机转矩常数SI 单位制下数值上等于 K_e。对两式做拉氏变换得到 Simulink 里可直接用的传递函数电流环I(s)/(U(s) − K_e·ω(s)) 1/(L·s R)机械环节Ω_m(s)/T_m(s) 1/(J_m·s B_m)。搭模型时用下面的方式建% 电机电流环与机械环节传递函数 Ra 0.1; La 0.001; % 电枢电阻 0.1Ω电感 1mH G_i tf(1, [La Ra]); % 电流环 1/(LsR)输入为 U-Ke*w Jm 0.0012; Bm 0.003; % 电机转子惯量与阻尼 G_m tf(1, [Jm Bm]); % 机械环节 1/(Jm*sBm)输入为电磁转矩电流环的时间常数由 L/R 决定这里约 10 ms对应电机电气动态机械环节时间常数 J/B 约 0.4 s两者差一个数量级仿真步长要照顾快的那个。电机和转向柱通过减速机构耦合仿真时把ω_m θ̇_p·i_g反馈回电压方程即可。最容易出错的点是反电动势回路的符号电压方程里K_e·ω_m是压降要减去接错极性仿真曲线直接发散。2.4 三自由度车辆模型与轮胎模型的耦合论文的车辆模型没有用常见的二自由度自行车模型而是加了车身侧倾形成三自由度侧向速度 v_y、横摆角速度 γ、车身侧倾角 φ。原因是回正控制和高速路感都跟侧倾相关二自由度模型给不出侧倾信息也就无法评价高速发飘。三自由度方程的标准形式为m·(v̇_y V_x·γ) − m_s·h_s·φ̈ F_yf F_yrI_z·γ̇ − I_xz·φ̈ a·F_yf − b·F_yrI_x·φ̈ − m_s·h_s·(v̇_y V_x·γ) C_φ·φ̇ K_φ·φ m_s·g·h_s·φm 是整车质量m_s 是簧载质量h_s 是侧倾中心到质心高度a、b 是质心到前后轴距I_z、I_x 是横摆与侧倾惯量I_xz 是惯性积C_φ、K_φ 是悬架侧倾阻尼和刚度。轮胎模型用线性侧偏特性F_y −C_α·α前后轮侧偏角为α_f β a·γ/V_x − δ、α_r β − b·γ/V_xβ 是质心侧偏角。低速到中速工况线性侧偏够用极限工况才需要魔术公式。在 Simulink 里搭这部分不要逐项拖积分器直接用 State-Space 模块更省事状态向量定为x [v_y, γ, φ, φ̇]ᵀ输入是前轮转角 δ输出选 γ 和侧向加速度a_y v̇_y V_x·γA、B、C、D 矩阵按上面方程联立后填入。这样后续接 LQG 控制器时状态矩阵直接复用不用二次推导。3. 助力特性曲线设计直线型、曲线型与控制器选型3.1 助力特性曲线的形态与设计约束助力特性描述的是方向盘输入力矩 T_d 车速 v → 目标助力力矩 T_m的映射是整个 EPS 控制的地基。曲线定死了控制器只是在追这条曲线给出的目标电流。设计前有三个边界条件必须先定助力起始力矩 T_d0小于此力矩不助力防止直行微调时电机频繁起停、最大助力对应力矩 T_dlim超过后助力饱和防止电机过流和手感突变、助力梯度最高点出现在低速大转角工况。直线型助力特性的表达式为T_m K(v)·(T_d − T_d0)T_d0 T_d T_dlim增益 K(v) 随车速递减。曲线型把中间段改成二次或分段曲线使助力在小力矩区间更平缓、大力矩区间更陡。两者对比如下特性中段表达式低速手感高速手感调试成本直线型K(v)·(T_d−T_d0)偏轻、线性直接增益线性衰减易发飘低曲线型K(v)·(T_d−T_d0)² 或分段低力矩时沉稳过渡平滑高需标定分段点论文两种曲线都建了台架试验落在直线型仿真两种都跑。实际工程里我更倾向曲线型直线型在 T_d0 附近有折点力矩稍微波动助力就跳变驾驶员能感觉到咯噔一下曲线型把起始段斜率做小手感更顺代价是标定工作量变大。3.2 用 MATLAB 生成助力特性查表数据Simulink 里最常用的做法不是输公式而是用 2-D Lookup Table 模块breakpoints 分别给车速和转矩表格数据用脚本生成% 助力特性数据生成直线型 v [0 20 40 60 80 100]; % 车速采样点km/h Td (0:0.25:8); % 转矩传感器信号N·m Td0 1.0; % 助力起始力矩N·m Tdlim 7.0; % 助力饱和力矩N·m K0 3.2; % 0 km/h 时助力梯度 ratio 1 - 0.6*(v/100).^2; % 高速助力衰减系数100km/h 时降到 0.4 Tm zeros(length(Td), length(v)); for j 1:length(v) for i 1:length(Td) if Td(i) Td0 Tm(i,j) 0; % 死区不助力 elseif Td(i) Tdlim Tm(i,j) K0 * ratio(j) * (Td(i) - Td0); % 线性助力段 else Tm(i,j) K0 * ratio(j) * (Tdlim - Td0); % 饱和限幅 end end end surf(v, Td, Tm); xlabel(车速 (km/h)); ylabel(转矩 (N·m)); zlabel(助力力矩 (N·m));脚本里三个参数决定曲线性格Td0 调大直行区更静但低速揉库时第一把方向偏沉Tdlim 调小大转角时电机提前饱和回正力矩不足ratio 的衰减指数决定高速助力衰减速度指数从 2 改到 1.5120 km/h 时助力多出约 10%高速发飘感立刻变明显。生成后把 Tm 矩阵拷到 Lookup Table 的 Table Data 里或者用save(assist_map.mat,v,Td,Tm)存下来在模型里加载方便后续多组曲线批量仿真对比。3.3 三种控制策略的对比PID、Fuzzy-PID、LQG论文在助力控制模式里对比了三种策略结论是 LQG 最优、Fuzzy-PID 次之、传统 PID 最差。这个结论本身有信息量EPS 是典型的带测量噪声、参数摄动和外部干扰的系统。PID 只靠误差驱动抗干扰靠积分项硬扛调狠了容易超调模糊 PID 不需要精确模型用规则表在线改增益鲁棒性明显提升LQG 把问题转成状态估计 最优反馈直接吃进模型信息性能上限最高代价是必须要有可信的状态空间模型。策略模型依赖调试工作量抗参数摄动论文仿真结论传统 PID不需要低3 个参数弱最差超调明显Fuzzy-PID不需要中规则表加量化因子强次之响应快且平稳LQG强依赖高Q/R 加权整定中依赖模型准确度最好超调最小、稳态误差近零选型建议很直接毕设和快速原型用 Fuzzy-PID 性价比最高要论文结论控制效果最佳或者做量产级控制器初版上 LQG但前提是把 2.4 节的状态矩阵标定准模型不准 LQG 反而比不过模糊 PID。3.4 Fuzzy-PID规则表与量化因子模糊 PID 不是把 PID 换掉而是在误差 e 和误差变化率 ec 的基础上用模糊推理在线输出 ΔKp、ΔKi、ΔKd叠加到基准 PID 参数上。e 和 ec 都归一化到 [-1, 1]隶属度函数用三角形即可没必要上高斯。Kp 规则表的核心思想是e 大时 Kp 加大快速逼近e 小且 ec 大时 Kp 减小防超调。e \ ecNBNSZEPSPBNBPBPBPMPSZONSPBPMPSZONSZEPMPSZONSNMPSPSZONSNMNBPBZONSNMNBNB这里用五档而不是标准七档就够用规则表小一半Simulink 的 Fuzzy Logic Controller 模块加载 .fis 后实时性也好。Ki、Kd 的规则表方向相反误差大时 Ki 要小防积分饱和误差小时 Ki 加大消除静差。量化因子 Ke、Kec 和输出比例因子 Ku 决定模糊论域与实际值的映射调试顺序是先定 Ke 让误差铺满论域再调 Ku 控制助力增量幅度最后微调规则表。提示把基准 PID 当成粗调模糊部分只负责 ±30% 的修正量。模糊输出范围给得过大系统会在稳态附近持续抖动方向盘手感发麻。3.5 LQG 控制器LQR 加权与状态估计LQG 由 LQR 状态反馈加 Kalman 滤波状态估计组成代价函数为J ∫(xᵀ·Q·x uᵀ·R·u)dtQ 的对角元对应各状态的重要性R 对应控制能量代价。用 MATLAB 求反馈增益% EPS 电机-转向柱简化模型参数 Jm 0.0012; Bm 0.003; % 电机转动惯量与阻尼 Kt 0.06; Ke 0.06; % 转矩常数与反电动势常数 Ra 0.1; La 0.001; % 电枢电阻与电感 A [-Bm/Jm Kt/Jm; ... % 状态 x [电机转速, 电流] -Ke/La -Ra/La]; B [0; 1/La]; % 输入为电机端电压 C [1 0]; % 观测电机转速 D 0; sys ss(A, B, C, D); Q diag([5 1]); % 转速误差权重 5电流权重 1 R 0.01; % 控制电压代价越小助力越激进 [K, S, e] lqr(A, B, Q, R);Q 和 R 的比值决定带宽Q 加大转速误差收敛快但电流峰值大R 加大控制平缓但响应变慢。工程上常用做法是先固定 R0.01Q 从单位阵开始成倍加直到仿真里转向盘转角响应超调小于 5%。Kalman 部分用[L, ~, ~] kalman(sys, Qn, Rn)Qn 是过程噪声方差反映路面干扰和模型误差Rn 是测量噪声方差转矩传感器和车速传感器的噪声水平不同要分开给。LQG 在 Simulink 里的完整结构是被控对象输出进 Kalman 滤波器估计状态乘 K 得控制量。LQR 的 K 按全状态反馈设计用估计状态代替真实状态时控制增益不用重新设计分离定理保证稳定性这是 LQG 最方便的地方。4. Simulink 总体仿真子系统划分、模糊整定与 LQR 参数落位4.1 总体仿真模型的分层结构论文的总体模型把 2.2 至 2.4 节各部分连起来但直接把电机、转向柱、整车方程堆在一个模型里仿真跑得动却查不了问题。我一般按信号流拆成六层目标电流计算、控制器、电机与减速机构、转向柱机械、整车与轮胎、传感器输出。每个子系统用 CtrlG 封装成带输入输出端口的 Subsystem信号线上必须命名否则没法用信号探查器Signal Viewer定位异常。子系统输入输出关键模块目标电流计算T_d, vI_ref2-D Lookup Table Saturation控制器e, ecU_mPID Controller / Fuzzy / LQR gain电机与减速机构U_mT_m, θ_p传递函数或状态空间转向柱机械T_d, T_mθ_s, θ̇_s积分器或状态空间整车与轮胎δγ, a_y, φState-Space 模块转矩传感器θ_s, θ_pT_d_sensorGain 计算 K_s(θ_s−θ_p/i_g)注意表里转矩传感器输出不要直接用 T_d否则驾驶员输入和传感器测量混成一个信号回正控制会用错反馈量。这个错误在仿真里不容易发现因为开环助力时两者数值接近一旦切到回正控制反馈回路接错会导致收敛方向反掉。4.2 目标电流模型的实现细节目标电流I_ref T_m / K_tT_m 由 2-D Lookup Table 查表得到。模块参数里 Row index 填车速 breakpointsColumn index 填转矩 breakpoints数据矩阵用 3.2 节的 Tm。查表前给 T_d 加一个 510 ms 的一阶低通滤掉驾驶员手抖的高频成分查表后加 Saturation 限流限幅值按电机峰值电流给常见做法是 3050 A再串一个速率限制器Rate Limiter让电流爬升斜率不超过电机控制器能承受的 di/dt。否则仿真里电流尖峰很漂亮台架上电机控制器直接报过流。4.3 PID 与 Fuzzy-PID 控制器接线传统 PID 用 Simulink 自带的 PID Controller 模块参数放在 Workspace 变量里方便批量跑仿真。Fuzzy-PID 用 Fuzzy Logic Controller 模块双击导入 .fis 文件连接方式是误差 e 和误差变化率 ec 分别经过 Gain量化因子进模糊控制器输出经过比例因子后和基准 PID 求和。基准 PID 的定法先把模糊部分断开用 Ziegler-Nichols 临界比例度法整定出 Kp_cr 和振荡周期 T_cr再按经验表给出基准值模糊部分只负责修正。这个顺序不能反先让模糊部分接管再调基准参数两个环节互相干扰很难判断是谁在起作用。4.4 LQR 参数落位与 Kalman 观测器3.5 节的 K 算出来后Simulink 里用 Gain 模块实现u −K·x̂x̂ 由 Kalman 滤波得到。Kalman 滤波器有两种搭法一种用 Control System Toolbox 的 Kalman Filter 模块直接给系统矩阵另一种自己搭核心两步——预测x̂₋ A·x̂ B·u更新x̂ x̂₋ L·(y − C·x̂₋)。自己搭的好处是能看清 L 的作用L 大表示更相信测量响应快但噪声也进来L 小表示更信模型平滑但有滞后。仿真时用阶跃方向盘力矩做工况记录转向盘转角响应、横摆角速度和侧向加速度三条曲线。对比三种策略时注意控制变量的前提三者用同一套助力特性曲线、同一组车辆参数只换控制器出来的差异才是控制器本身的差异。论文里 LQG 的横摆角速度超调最小就是这个原因——不是模型好是相同前提下 LQG 的状态反馈把超调压住了。4.5 回正控制与阻尼控制的切换逻辑回正控制解决低速回正不足和高速回正超调。判断条件常见做法是转矩传感器读数 |T_d| 小于 T_d0驾驶员基本松手且转向盘转角 |θ_s| 大于死区阈值比如 3°此时切入回正控制回正控制器输出目标电流让方向盘向零位收敛。Simulink 里用 Switch 模块做模式切换回正控制器和助力控制器都算好后由 Switch 选路。切换逻辑建议写成 MATLAB Function 模块方便后期加滞回function U mode_switch(Td, theta_s, omega_m, U_assist, U_return, K_damp, v) % 模式切换助力 / 回正 / 阻尼 Td0 1.0; % 助力起始力矩N·m theta_th 3*pi/180; % 回正死区转角rad if abs(Td) Td0 U U_assist; % 驾驶员在使劲走助力 elseif abs(theta_s) theta_th U U_return; % 松手且转角大走回正 else U -K_damp * v/100 * omega_m; % 高速小转角阻尼 end end阻尼控制本质是对电机施加反向阻尼力矩让高速时方向盘发飘感减弱实现上不用额外控制器只要在电机端电压里叠加与转速成正比的反向项K_damp 随车速增大高速时阻尼明显、低速时几乎为零。三种模式切换时要加 23 ms 的滞回防止在切换边界反复跳变产生抖动Simulink 里可以在 Switch 前加一个 Memory 模块配合阈值逻辑实现滞回。4.6 仿真参数与求解器设置配置项推荐值说明求解器ode45 变步长模型无强刚性环节默认即可Max step size0.01 s过大丢细节过小仿真慢仿真时长10 s覆盖阶跃响应到稳态车速信号阶跃或斜坡变车速用斜坡避免突变输入力矩1 s 处阶跃 3 N·m模拟驾驶员突然打方向整车模型频率较高固定步长在 1e-4 s 以下才稳定变步长 ode45 加 0.01 s 上限是兼顾精度和速度的做法。跑完先看状态是否发散再谈曲线对比。仿真发散时按三条顺序排查第一查电机反电动势反馈极性第二查 Lookup Table 数据点是否单调第三看加速度信号是否高频振荡——按这个顺序90% 的发散都能定位。5. 仿真结果验证台架对比流程与 EPS 矢量图导出技巧5.1 台架试验与仿真结果的对齐方法论文最后用 EPS 系统性能试验台架做了三项试验空载时方向盘输入力矩测定、助力特性试验、电机实际电流与仿真曲线对比。台架和仿真对齐的关键是输入条件完全一致同一车速点、同一方向盘力矩斜坡输入分别记录仿真和台架的电机电流、方向盘转角、横摆角速度三条曲线放在同一张图里对比稳态值和 90% 上升时间。差异主要来自台架摩擦、减速机构效率和传感器噪声仿真模型里没建摩擦项低速端台架电流普遍比仿真高 10%15%这是正常现象不是模型错误。如果台架支持快速原型Simulink External Mode 可以直接在线调参省掉反复烧录的流程。后续要验证极限工况把三自由度整车模型换成 CarSim 联合仿真模型接口保持不变只需要换被控对象子系统。5.2 对比结果量化指标参考指标仿真值台架值允许偏差稳态电机电流I_simI_bench±10%方向盘转角 90% 上升时间t_simt_bench±15%横摆角速度稳态值γ_simγ_bench±8%回正残余角2°3°台架含摩擦放宽偏差超出这个范围先回 4.1 的子系统逐层查不要直接改控制器参数硬凑——改控制器只能压住表象模型误差会在别的工况暴露出来。5.3 把仿真曲线导出为论文可用的 EPS 矢量图仿真做完要写成论文或技术报告曲线图质量直接决定审稿观感。Simulink 的 Scope 截图是位图放大就糊正确做法是用exportgraphics或print导出矢量格式% 仿真曲线规范化与矢量导出 figure(Renderer,painters, Color,w); plot(t, yaw_rate*180/pi, b-, LineWidth, 1.2); hold on; plot(t, yaw_rate_ref*180/pi, r--, LineWidth, 1.2); grid on; xlim([0 5]); xlabel(Time (s)); ylabel(Yaw rate (deg/s)); legend(仿真值,目标值,Location,best); exportgraphics(gcf, yaw_rate_compare.eps, ContentType, vector);Renderer设成 painters 保证矢量输出LineWidth至少 1 pt 防止缩印后看不清图例用英文避免中文字体在 EPS 里嵌不进去。如果期刊要求高分辨率位图用print(gcf, -dtiff, -r600, yaw_rate_compare.tif)。Simulink 模型框图要放论文不要直接截屏用print -smodel_name -dpdf导出字号和线条都更干净。本文还有配套的精品资源点击获取
返回列表