ARTICLE DETAIL

资讯详情

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

Carsim与Simulink联合仿真下的横摆稳定性控制算法对比

Carsim与Simulink联合仿真下的横摆稳定性控制算法对比 做车辆底盘控制的人几乎都会遇到一个绕不开的课题横摆稳定性控制。我最初接触Carsim与Simulink联合仿真时最头疼的不是算法推导而是怎么让仿真环境真实反映车辆在极限工况下的非线性动力学响应。横摆稳定性控制系统本质上是让车辆在高速变道、紧急避障或低附着路面行驶时依然能“听话”地按驾驶员意图运动而不是突然甩尾或转不过弯。这篇文章我把自己在LQR、模糊PID和滑模控制三种算法上的完整实现思路、联合仿真的环境配置、以及反复踩过的坑都整理出来适合正在做车辆稳定性控制课题的研究生、刚入门底盘域控的工程师也适合想用Carsim做横向控制验证的朋友参考。1. 横摆稳定性控制问题拆解与方案选型1.1 车辆横摆失稳的本质车辆横摆运动的核心是绕垂直轴的旋转。判断车辆是否失稳主要看两个物理量横摆角速度和质心侧偏角。横摆角速度是车辆绕Z轴转动的快慢质心侧偏角则是车辆实际行驶方向与车身纵轴之间的夹角。正常行驶时驾驶员转动方向盘产生期望的横摆角速度车辆跟随转向。但在高速避障或路面湿滑时轮胎侧向力进入非线性饱和区车辆实际的横摆角速度会偏离驾驶员预期质心侧偏角迅速增大此时车辆就进入了失控临界状态。额外横摆力矩控制是目前工程上最有效的稳定手段。它不直接控制前轮转角而是通过对四个车轮施加不同的纵向力或制动力产生一个附加的横摆力矩把车辆“掰”回稳定轨迹。这个力矩可以来自差动制动、扭矩矢量分配或者主动转向叠加。控制器要解决的数学问题就是根据当前车辆状态偏差实时计算需要施加多大的附加横摆力矩再换算成各车轮的制动力或驱动力指令。横摆稳定性控制系统的设计难点在于车辆模型是强非线性、强耦合的而且轮胎特性随路面附着系数变化极大。同一个控制器参数在干燥沥青路面表现良好到了冰雪路面就可能完全失效。所以控制器的鲁棒性和自适应能力是选型时的核心考量。1.2 三种控制算法的选型逻辑我在这个项目里选用了LQR、模糊PID和滑模控制三种算法做对比研究。选择它们不是因为“热度高”而是它们代表了三种典型的设计思路。LQR是线性最优控制适合在车辆动力学线性区工作。它直接基于状态空间模型设计用二次型性能指标求解最优反馈增益理论清晰、参数物理意义明确。缺点是依赖精确模型车辆进入轮胎非线性区后性能会下降。不过对于横摆稳定性控制如果能配合前后轴侧偏刚度辨识LQR在中等工况下非常好用而且计算量极小适合实车ECU部署。模糊PID是在传统PID基础上引入模糊逻辑不依赖精确数学模型用专家经验规则实时调整PID系数。它的核心优势是鲁棒性好参数自适应能力强能应对路面附着系数变化。代价是模糊规则的设计和论域整定比较耗时而且控制效果的上限受规则质量限制。在我的测试中模糊PID对传感器噪声的容忍度明显高于LQR但稳态精度略逊。滑模控制属于变结构控制设计目标是让系统状态在滑模面上运动对参数摄动和外部扰动具有天然的鲁棒性。它的控制律由等效控制和切换控制组成切换控制项的增益只要大于扰动上界系统就能保持稳定。滑模控制的问题是“抖振”切换项会引起控制量的高频抖动影响执行器寿命。工程上通常用饱和函数或边界层法削弱抖振。三种算法各有优劣我最终的实践结论是单一算法很难覆盖全工况组合策略才是最优解。2. Carsim与Simulink联合仿真环境搭建2.1 软件版本与接口配置Carsim与Simulink联合仿真说起来简单做起来有不少细节。我的环境是Carsim 2019.0 MATLAB R2020b操作系统是Windows 10 x64。版本匹配很关键Carsim2019支持R2019b到R2020b如果你用的MATLAB版本太高或太低生成的Simulink接口很可能无法编译。建议在安装前先到Carsim官方文档里查一下版本兼容表别等到模型跑不起来再折腾。联合仿真有两种典型方式一种是Carsim作为主软件把车辆模型导出为Simulink S-Function另一种是以Simulink作为主环境通过Carsim的Simulink接口模块嵌入车辆模型。我推荐第二种因为控制系统在Simulink里搭建方便观测中间信号和调试算法。具体操作是在Carsim里建好车辆模型和仿真工况在Simulink Library中把“Carsim S-Function”拖到模型中然后双击该模块选择对应的Carsim输入输出接口文件Simfile.sim。Carsim会生成一个包含车辆动力学模型的C代码源文件Simulink通过S-Function调用它实现每一步仿真步长的数据交换。接口变量映射是我每次都要反复核对的地方。Carsim的输入是Simulink传给车辆的信号通常是四轮制动压力或力矩Carsim的输出是Simulink读取的车辆状态比如横摆角速度、质心侧偏角、车速、方向盘转角等。在Carsim的“Math Models”界面里你需要确认输入变量名称例如IMP_MY_L1、IMP_MY_R1是左前轮和右前轮的附加力矩或者M_BRAKE_L1这些制动压力变量。不同项目变量定义可能不同统一命名规范特别重要否则控制指令会加错位置。2.2 车辆模型参数设置与IMU传感器配置Carsim内置了车辆模型生成器我用的是一台SUV基础模型关键参数包括整车质量1720kg绕Z轴转动惯量Iz为2488 kg·m²轴距2.91m质心到前轴距离1.18m后轴距离1.73m前轮侧偏刚度约-120000N/rad后轮侧偏刚度约-130000N/rad。这些参数会直接影响控制器的LQR增益计算和滑模面系数调整所以必须从Carsim模型里读取而不是网上随便抄一组。很多新手在Carsim里找不到IMU传感器怎么设置其实很简单。Carsim的传感器输出不在车辆模型里直接配置而是在“Procedure”的“Road and Sensors”界面中添加。选择“Sensor/Inertial Measurement Unit”设置安装位置通常放在质心然后勾选输出的物理量横摆角速度Yaw Rate、纵向加速度、侧向加速度、垂直加速度等。IMU的噪声参数默认比较理想如果要贴近实车可以再加上高斯噪声标准差参考典型MEMS惯性传感器横摆角速度噪声标准差约0.01rad/s侧向加速度约0.05m/s²这样控制器的鲁棒性才能在仿真阶段就得到考验。路面附着系数也是仿真设计的关键。Carsim的“Friction”设置控制着轮胎与路面的最大附着能力。我的对比测试设了三组干燥路面0.85、湿滑路面0.5、冰雪路面0.3。横摆稳定性控制的难点恰恰在低附着路面附着系数降低后同样的转角输入产生的横摆力矩会大幅衰减控制器需要输出更大的附加力矩来补偿不足。如果你只在高附着路面验证算法很难暴露出真实问题。2.3 联合仿真模型架构我在Simulink里搭建的顶层模型分为四层信号输入层、控制器层、车辆模型层、数据记录层。信号输入层把驾驶员模型的方向盘转角、车速等信号从Carsim输出中提取出来控制器层根据横摆角速度偏差和质心侧偏角偏差计算附加横摆力矩车辆模型层就是Carsim S-Function接收力矩指令并输出状态数据记录层用Scope和To Workspace记录关键信号。这里有个很容易忽略的点Carsim S-Function的采样时间。我刚开始运行时直接使用Simulink的默认连续采样结果仿真速度非常慢而且偶尔出现数值不稳定。后来我把控制器的采样时间设为1msCarsim模块本身保持内部变步长求解求解器用ode45这样既保证控制频率符合实车控制器逻辑又不会拖慢仿真。如果你的算法比较复杂控制周期可以放宽到5ms但横摆稳定性控制对实时性要求比较高1ms是工程上比较合理的选择。数据记录一定要用To Workspace模块命名好变量比如Time、YawRate_ref、YawRate_act、Beta、Delta_M、Torque_L1等。我在做三组算法对比时就是因为一开始没有统一记录变量命名后面处理数据时浪费了很多时间。建议在模型搭建初期就定好转存间隔一般1ms或2ms存一次就够太密数据量大太疏看不到细节。3. 三种控制算法的仿真模型实现3.1 LQR控制器设计状态反馈与权重整定LQR设计的第一步是建立车辆线性二自由度动力学模型。状态方程写成[ \dot{x} A x B u ]其中 ( x [\beta, \gamma]^T )β是质心侧偏角γ是横摆角速度控制量u为附加横摆力矩ΔM。矩阵A和B的推导基于轮胎侧偏角线性假设参数包括车辆质量、转动惯量、前后轴侧偏刚度和质心位置。这个模型虽然简单但在侧向加速度小于0.4g的工况下精度足够。接着定义误差状态。期望横摆角速度γ_ref由驾驶员转向角和车速计算得到同时要考虑路面附着极限限制防止期望值过大。横摆角速度增益公式为[ \gamma_{ref} \frac{v_x}{L(1 K_{us} v_x^2)} \delta ]其中稳定性因子 ( K_{us} \frac{m}{L^2} \left( \frac{L_f}{C_r} - \frac{L_r}{C_f} \right) )并对γ_ref做附着限制 ( |\gamma_{ref}| \leq 0.85 \mu g / v_x )。质心侧偏角的期望值通常设为0因为稳定的车辆不应出现明显侧滑。LQR的控制目标是使系统状态误差趋于零。性能指标[ J \int_0^\infty \left( x_e^T Q x_e u^T R u \right) dt ]其中 ( x_e x - x_{ref} )。Q矩阵对角元素分别为β误差权重和γ误差权重R为控制量权重。我初始取 ( Q diag([10, 100]) )R100。然后用MATLAB的lqr函数求解反馈增益K。注意lqr函数需要连续状态空间模型如果你的Simulink模型是离散的需要先用c2d转换。权重整定的实操建议先用纯R对控制量惩罚小的参数比如R10观察横摆角速度跟踪是否振荡然后逐渐增大Q(2,2)也就是γ误差权重让跟踪更激进如果质心侧偏角发散再适当增加Q(1,1)。我最后整定的参数是 ( Q diag([50, 200]) )R200在所有测试路面上都保持稳定。整定时要把控制量饱和也考虑进去Carsim里力矩分配模块会限制单个车轮的最大制动力矩如果LQR算出的附加力矩超出可行范围控制器就会失效。所以在仿真模型里我加了一个Saturation模块限制附加横摆力矩在 ±3000 N·m之间。3.2 模糊PID控制器设计模糊规则与量化因子模糊PID的结构是把PID的误差e、误差变化率ec作为模糊控制器的输入输出是ΔKp、ΔKi、ΔKd三个修正量叠加到初始PID参数上。横摆稳定性控制的误差定义为e γ_ref - γ_act。模糊控制器的论域设计很关键。我在调试时发现横摆角速度误差的典型范围是±0.3 rad/s误差变化率范围是±1.0 rad/s²如果论域太大或太小模糊规则起不到划分作用。经过几次试验e的论域设为[-0.3, 0.3]ec的论域设为[-1.5, 1.5]输出ΔKp、ΔKi、ΔDd的论域分别设为[-2, 2]、[-0.5, 0.5]、[-0.5, 0.5]。隶属函数使用三角形函数分七档NB、NM、NS、ZO、PS、PM、PB。输入量化因子Ke1/0.3Kec1/1.5输出比例因子需要结合初始PID参数范围调整。模糊规则表是模糊PID的灵魂。我的设计思路是大误差时加大Kp加快响应同时适当减小Ki防止超调增大Kd抑制振荡小误差时减小Kp增大Ki消除稳态误差。比如当e为PBec为PB时ΔKp为PBΔKi为ZOΔKd为PB当e为NSec为ZO时ΔKp为NSΔKi为PSΔKd为ZO。规则表在MATLAB的Fuzzy Logic Designer里填好后生成一个.fis文件然后用Fuzzy Logic Controller模块导入Simulink。这里要注意FIS文件的输入输出变量顺序必须和Simulink模块端口一致否则会接错信号。我第一次就是没注意输入顺序把ec和e接反了控制器完全反向车辆直接转圈。基础PID参数我采用Ziegler-Nichols整定法得到初值然后在Carsim双移线工况下微调。初始Kp15Ki2Kd1.2。加上模糊修正后最终控制器的自适应范围比固定PID大了不少。在路面附着系数从0.85突降到0.3的工况下模糊PID依然能保持车辆稳定而固定PID在附着突变瞬间就出现了明显侧滑。3.3 滑模控制器设计滑模面与趋近律滑模控制设计的核心是滑模面函数。我选择的滑模面为[ s \dot{e}\gamma c \cdot e\gamma ]其中 ( e_\gamma \gamma_{ref} - \gamma_{act} )c为滑模面系数决定误差收敛速度。也可以采用包含质心侧偏角的滑模面比如 ( s \beta k\gamma )但工程上最直观的还是基于横摆角速度误差的一阶滑模面。趋近律采用指数趋近律[ \dot{s} -\varepsilon \cdot sat(s) - k s ]其中eq项保证系统状态到达滑模面切换项用于克服扰动。等价控制项由名义模型推导切换控制项增益ε需要大于模型不确定性和扰动上界。控制量为[ \Delta M \Delta M_{eq} \Delta M_{sw} ]实际编程时等价控制部分可以直接用二自由度模型反解出所需的横摆力矩切换部分用 ( k \cdot sat(s/\phi) )。饱和函数里φ是边界层厚度我取φ0.05既防止抖振又不至于损失太多鲁棒性。如果直接用sign函数控制量会出现高频振荡反而会让车辆运动变得“抖动”在仿真里表现为横摆角速度出现高频毛刺。滑模面的系数c和趋近律参数ε、k也需要整定。我试了几组参数最终取c8ε0.2k20。c太大响应快但容易激发高频动力学c太小收敛慢ε代表对扰动的克服能力过小抗扰动弱过抖动振严重。整定思路是先在simulink中做纯信号级仿真确认s能收敛再接入Carsim做闭环测试。滑模控制在三种算法里对参数摄动最不敏感我在Carsim里把整车质量增加200kg、前后轴侧偏刚度降低20%LQR和模糊PID都出现了不同程度的性能下降滑模控制依然能保持横摆角速度跟踪误差在±0.05 rad/s以内。当然这是以控制量略有抖振为代价的如果在实车上用必须做好执行器带宽限制和控制指令平滑处理。4. 仿真结果对比与参数调试4.1 双移线工况与正弦工况设置要公平比较三种算法仿真工况必须严格一致。我在Carsim的Procedure里设置了两个工况双移线工况模拟驾驶员高速避障正弦角阶跃工况模拟连续转向输入。双移线工况采用Carsim内置驾驶员模型入口车速设为80km/h路面附着系数0.85方向盘的转向指令由道路路径逆解得到。正弦工况则是给定方向盘正弦输入幅值60度频率0.5Hz车速60km/h路面附着系数0.5用来测试控制器在连续交替转向下的稳定性。工况设置时要特别注意Carsim的“Initial Conditions”和“Driver Model”选项。如果用Carsim内置驾驶员模型它会自动修正路径跟踪可能干扰稳定性控制器的效果。我的做法是在竖工况选择“Open Loop”开环控制直接给方向盘转角时间序列这样能纯评价稳定性控制算法而不是驾驶员模型和稳定性控制共同作用的结果。很多论文里写的双移线仿真结果其实用的是闭环驾驶员模型控制性能被驾驶员微调“掩盖”了一部分对比效果反而不明显。每种算法都要在相同初始状态下运行从Carsim导出的初始车速、档位、油门开度保持一致。我每个工况至少跑三遍确认结果一致性后才记录数据。仿真时间设为15秒足够覆盖双移线全过程以及车辆稳定回正的阶段。4.2 横摆角速度跟踪与质心侧偏角抑制效果三种控制算法的横摆角速度跟踪结果差异非常典型。LQR在干燥路面下跟踪误差最小峰值误差约0.02rad/s相位滞后也小因为在模型匹配的工况下线性最优控制有明显优势。但在低附着路面LQR的跟踪误差会放大到0.12rad/s尤其在第二个换道峰值附近出现明显超调原因是轮胎侧偏刚度实际值偏离了LQR设计时用的线性值。模糊PID的横摆角速度跟踪曲线最平滑峰值误差约0.035rad/s存在约0.05s的相位滞后但几乎没有超调。它的特点是误差变化越剧烈控制器越“保守”这主要得益于模糊规则中对大误差时Kd的放大。质心侧偏角方面模糊PID在低附着时峰值侧偏角被控制在2.3度以内车辆姿态保持得不错。滑模控制的跟踪响应最“快”误差收敛时间比LQR快约0.08s峰值误差约0.03rad/s几乎与LQR相当。但在切换控制作用下横摆角速度曲线存在轻微的高频毛刺即使使用了饱和函数也无法完全消除。质心侧偏角抑制效果是三种算法中最好的在冰雪路面连续正弦工况下质心侧偏角峰值约3.1度而LQR达到了5.2度。滑模控制对侧偏角的强力约束来自于切换项的强鲁棒性它能让车辆状态始终被“拉”向滑模面。综合来看如果只追求稳态精度LQR胜出如果考虑全工况鲁棒性和侧偏角抑制滑模控制更有优势模糊PID是两者之间的折中且工程实现简单对执行器友好。最终选型要根据项目需求权衡不能只看单一指标。4.3 控制量对比与力矩分配控制量即附加横摆力矩的数值和变化频率直接反映控制器对车辆的资源需求。从记录的数据看LQR在干燥路面的附加力矩峰值约1800N·m变化比较平缓在低附路面峰值迅速上升到2900N·m而且变化速率快容易触及饱和。模糊PID的附加力矩峰值约2200N·m变化最平滑高频分量少说明它对制动系统的冲击小。滑模控制的附加力矩峰值达到3100N·m而且存在高频切换分量即便用饱和函数平滑后仍比前两者“毛躁”。在力矩分配层我把控制器的期望附加横摆力矩通过Carsim扩展到四个车轮。Carsim有内建的差动制动分配器可以直接把ΔM换算成各轮制动压力。我试过两种分配策略一种是平均分配给左侧或右侧车轮根据力矩方向决定另一种是考虑轮荷转移进行非平均分配。在动态工况下轮荷转移明显时非平均分配效果更好车辆横向稳定性提升约15%但控制量也更复杂。如果你用的是Carsim内部分配器建议在Simulink里保留一个手动分配方案做对比有助于理解控制力矩对车辆状态的真正影响。数据后处理我通常用MATLAB脚本统一绘图。把三种算法的时间序列数据存成.mat文件后通过脚本画横摆角速度对比图、质心侧偏角对比图、控制量对比图和相轨迹图。相轨迹图特别有用横轴质心侧偏角纵轴质心侧偏角变化率如果相轨迹收敛到原点附近说明车辆姿态趋于稳定如果出现极限环或发散则说明失稳。我的测试中LQR在低附路面相轨迹边界明显更大滑模控制的相轨迹最紧凑直观展示了鲁棒性的差异。5. 常见问题与排查技巧实录5.1 Carsim与Simulink联调常见报错联合仿真最常见的报错是“Simulink cannot find the Carsim license”或者编译时提示找不到carsim.h头文件。这类问题99%是环境变量和路径配置不对。解决方法是在Carsim主界面点击“Send to Simulink”后Carsim会自动把生成的模型文件放到指定目录你需要确保这个目录路径中没有中文和空格。同时确认MATLAB当前工作目录也指向同一目录否则S-Function找不到C代码源文件。另一个高频问题是“Error in carsim_simulink/Simulink_Carsim while executing C MEX S-function”。这个问题通常是Carsim版本与MATLAB编译器不兼容或者你改了Carsim的输入输出接口后还没有重新生成模型。我的排查流程是先重新在Carsim里全部“Send to Simulink”再在MATLAB命令行执行mex -setup确认编译器是Microsoft Visual C 2019然后清理simulink缓存CtrlShiftR重新生成。如果是License问题检查Carsim的端口是否被防火墙拦截。还有一个冷门坑Carsim里面的“Run”按钮和Simulink里的“Run”按钮功能不同。很多人习惯先在Carsim里点Run发现没反应然后又去Simulink里跑结果提示“Cant start simulation because Carsim is already running”。正确流程应该是在Carsim中完成模型配置后直接回到Simulink点击运行Carsim模型会自动通过S-Function加载不需要也不能在Carsim里手动启动仿真。5.2 控制系统发散的原因与对策控制器一接入就发散是每个做联合仿真的人都会遇到的事。我总结下来原因无非三类信号方向反了、增益过大、参考值异常。信号方向反了是最隐蔽的。我曾在配置Carsim输出变量时把横摆角速度的符号搞反导致控制器误判车辆已经过度转向施加了反向力矩车辆直接失控。排查方法很简单先不接控制器给一个固定的附加力矩观察横摆角速度响应是否符合物理规律。比如给正的附加横摆力矩车辆是否向左转按右手定则。如果方向不对检查Carsim输出变量的正负定义再对照Simulink模型中的信号极性。增益过大会引起振荡发散。模糊PID输出层比例因子太大或LQR的Q权重过大都会让控制量突破物理极限。我的经验是先用纯信号级仿真断开Carsim用车辆简化模型代替在理想线性模型上调好参数再接入Carsim。如果接入后仍然振荡第一步是衰减控制量把所有增益降到原来的20%确认系统稳定后再逐步恢复。参考值异常一般体现在车速很低或者方向盘转角跳变时。低速时横摆角速度期望值很大如果控制器基于高速模型设计低速状态就容易产生过大的误差反馈。解决方法是根据车速设置控制开关逻辑车速低于10km/h时关闭稳定性控制或者将参考值做限幅处理避免控制指令突变。5.3 仿真加速与模型固化建议联合仿真在复杂工况下运行速度确实让人着急。我的一个双移线仿真变步长求解器加Carsim完整车辆模型跑15秒仿真大概需要4分钟还算能接受。但做参数扫描时往往要连续跑几十组时间成本很高。提升速度的办法有几个第一个是把Carsim内部模型简化关闭不必要的自由度比如不关心悬架运动细节就选用无悬架运动学模型第二个是减少输出变量数量Carsim里默认会输出很多通道输出越多仿真越慢第三个是在Simulink中把控制器的采样时间改为2ms或5ms降低仿真计算量。如果你只想做控制逻辑验证甚至可以关闭Carsim中的轮胎热模型和磨损模型这些模块对横摆角速度结果影响很小。模型固化指的是把Carsim车辆模型和控制器联立为可重复使用的仿真平台。我最终的工程实践是把Carsim S-Function封装成一个子系统控制器做成可切换的模块通过Manual Switch在LQR、模糊PID、滑模控制之间切换。这样看起来像个“控制算法测试台”切换算法或参数只需要在Simulink里改几个常数不用每次打开Carsim重新配置工况。实际做参数研究时我还会配合MATLAB的parsim函数做批量并行仿真把三组附着系数和三组控制算法组合成9个任务并行跑配合Carsim的批处理模式节省了大量时间。如果你需要在项目交付时把整个模型导出给他人复现建议把Carsim的版本和模型文件、Simulink版本、MATLAB工具箱版本都明确写在README里联合仿真的版本兼容性问题非常突出不写清楚别人大概率跑不起来。还有一个实用技巧用Simulink的“Signal Logging”功能只记录控制相关的关键信号不要整个模型所有信号都记录否则生成的.mat文件会非常庞大后期处理和绘图都会被卡住。按照我自己的习惯每个工况只记录10个左右的信号时间、车速、方向盘转角、参考横摆角速度、实际横摆角速度、质心侧偏角、附加横摆力矩、四个车轮的制动压力。这样数据量小分析聚焦度高。另外横摆稳定性控制系统最终要做硬件在环或实车验证时Simulink的代码生成很关键。算法模型必须是离散化、定步长的所有连续积分逻辑都要改写成离散形式。我在这个项目里提前做了离散化工作把LQR的K矩阵直接离散到状态反馈模糊PID和滑模控制也都在2ms周期内计算完成代码生成后可以在嵌入式处理器上运行。这一步越早做后面移植到实际控制器的成本就越低建议从项目一开始就用定步长离散模型避免后期重新调参。三种控制算法在这个联合仿真平台上的对比结果让我对横摆稳定性控制有了更直观的理解LQR适合模型准确、工况相对稳定的场景模糊PID更适合对实车参数存在不确定性的量产项目滑模控制则在极端工况和强扰动下表现出最强的鲁棒性。实际工程中我更倾向于采用分层控制架构——上层用LQR或滑模计算附加横摆力矩下层用模糊PID对各执行器做协调分配兼顾理论最优性与工程鲁棒性。最后分享一个经验横摆稳定性控制仿真千万别上来就调算法参数先把Carsim和Simulink的数据交换逻辑、信号极性和单位搞清楚。我在单位换算上踩过坑——Carsim输出横摆角速度默认是rad/s但有些版本或界面选项下会显示deg/s如果不统一就调参整个项目都会失真。建议在Simulink里加一个信号显示模块先在匀速直线工况下观察各信号是否稳定再做阶跃转向验证动态响应确认无误后再开展算法对比这样能少走很多弯路。
返回列表