✅ 博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。
✅ 具体问题可以私信或扫描文章底部二维码。
(1)分布式驱动电动汽车动力学建模与验证 本文首先完成了分布式驱动电动汽车动力学建模工作,建立了能反映汽车操纵稳定性的“汽车-轮胎”七自由度模型。该模型综合考虑了车辆的纵向、横向和垂直运动,以及轮胎的侧偏特性,为后续的控制策略设计提供了准确的动力学基础。通过利用神经网络驾驶员模型,在标准双移线道路下进行常规和极限两种工况下的驾驶员在环仿真,验证了分布式驱动电动汽车动力学模型的合理性和可用性。这一步骤确保了模型能够在实际驾驶条件下准确预测车辆的动态响应,为进一步的控制策略开发提供了可靠的平台
。
(2)基于相平面稳定性判别方法的协调控制策略设计 针对分布式驱动电动汽车在复杂驾驶条件下的操纵稳定性问题,本文完成了基于相平面稳定性判别方法的协调控制策略设计。通过正交仿真建立动态稳定边界数学表达关系,解决了静态边界鲁棒性差的问题。根据划分的动态稳定边界设计了基于主动前轮转向与直接横摆力矩的协调控制策略,在经典稳定域、扩展域和非域之间协调主动前轮转向和直接横摆力矩的控制权重。此外,针对非域内执行系统之间的强耦合现象,设计了逆系统解耦控制器,消除了两种执行方式的强耦合作用。为了提高电机底层控制的精度,设计了电机转矩自抗扰控制器,以提高转矩控制的鲁棒性,解决了外界扰动和电机稳态误差造成的转矩执行精度差的问题
。
(3)转矩矢量和电子稳定协调控制策略 本文设计了转矩矢量和电子稳定协调控制策略,旨在提高分布式驱动电动汽车复杂工况下的操纵稳定性,同时减小纵向速度损失。根据相平面临界点和轮胎侧偏角约束设计动态包络边界,并进行了数学表达,对汽车状态的坐标和包络边界的距离进行了量化。将四个轮毂电机执行误差视为外界扰动,利用鲁棒∞动态输出反馈控制器设计轮毂电机转矩矢量控制系统,增强了转矩控制的执行精度和鲁棒性;采用改进蚁群算法自整定PID参数控制方法设计电子稳定控制器,兼顾全局搜索速度和局部搜索精度。设计了基于无迹卡尔曼滤波算法的状态观测器,克服了传统扩展卡尔曼滤波算法线性化过程中求解雅可比矩阵困难的问题
。
(4)考虑轮毂电机故障行为的操纵稳定性控制策略 基于功能安全技术,本文设计了一种考虑轮毂电机故障行为的操纵稳定性控制策略。通过建立包含电机故障的整车动力学模型,发现前轴单侧电机增益故障产生的转角突变和附加横摆力矩会导致汽车稳定性变差和严重跑偏,并且简单地驱动转矩截断控制无法使其快速回到理想状态。在动力学分析的基础上,设计了线控转向控制系统,通过变截距滑模控制算法提高切换状态下线控转向系统的转角跟踪性能,减小系统的切换抖振现象。设计自适应故障诊断观测器实时诊断驱动系统的电机故障,然后通过模型预测控制算法对车轮驱动转矩重新分配实现纵向和侧向的状态跟踪
。
(5)轮毂电机硬件在环平台与实车平台试验 本文基于NI-PXI实时系统搭建了轮毂电机硬件在环平台,并基于NI Compact RIO虚拟控制原型搭建了分布式驱动实车平台。对主动前轮转向与直接横摆力矩协调控制器、转矩矢量与电子稳定协调控制器和考虑电机增益故障的协调控制器进行了试验。试验结果表明,主动前轮转向与直接横摆力矩协调控制能在不同的行驶条件下同时提高汽车的操纵性和稳定性;转矩矢量与电子稳定协调控制能在稳定性控制的同时降低纵向车速的损失;考虑电机增益故障的协调控制器保证了电机发生故障后汽车的稳定性,并能恢复转向性能以跟踪期望路线
// 动力学模型参数定义
#define WHEEL_RADIUS 0.3 // 车轮半径,单位:米
#define MASS 1500 // 车辆质量,单位:千克
#define INERTIA 3000 // 车辆惯性,单位:千克·米^2
// 车辆状态变量
typedef struct {
float speed; // 车速
float yaw_rate; // 横摆角速度
float slip_angle; // 滑移角
} VehicleState;
// 控制参数
typedef struct {
float Kp; // 比例控制系数
float Ki; // 积分控制系数
float Kd; // 微分控制系数
} ControlParams;
// 动力学模型计算函数
VehicleState vehicle_dynamics_model(VehicleState current_state, ControlParams control_params) {
// 根据动力学模型计算车辆下一状态
// 此处省略具体计算过程
VehicleState next_state;
return next_state;
}
// 主动前轮转向与直接横摆力矩协调控制函数
void coordinate_control(VehicleState state, ControlParams params) {
// 根据车辆状态和控制参数进行协调控制
// 此处省略具体控制逻辑
}
// 转矩矢量控制函数
void torque_vector_control(VehicleState state, ControlParams params) {
// 根据车辆状态和控制参数进行转矩矢量控制
// 此处省略具体控制逻辑
}
// 电子稳定程序控制函数
void electronic_stability_control(VehicleState state, ControlParams params) {
// 根据车辆状态和控制参数进行电子稳定程序控制
// 此处省略具体控制逻辑
}
// 故障诊断观测器函数
void fault_diagnostic_observer(VehicleState state, ControlParams params) {
// 根据车辆状态和控制参数进行故障诊断
// 此处省略具体诊断逻辑
}
// 主函数
int main() {
// 初始化车辆状态和控制参数
VehicleState current_state = {0};
ControlParams control_params = {0};
// 循环执行控制
while (1) {
// 调用动力学模型计算下一状态
VehicleState next_state = vehicle_dynamics_model(current_state, control_params);
// 执行协调控制
coordinate_control(current_state, control_params);
// 执行转矩矢量控制
torque_vector_control(current_state, control_params);
// 执行电子稳定程序控制
electronic_stability_control(current_state, control_params);
// 执行故障诊断观测
fault_diagnostic_observer(current_state, control_params);
// 更新车辆状态
current_state = next_state;
// 延时或等待下一控制周期
// 此处省略具体延时代码
}
return 0;
}