自适应巡航控制系统研究(Matlab代码实现)

简介: 自适应巡航控制系统研究(Matlab代码实现)

💥1 概述

据统计, 我国交通事故造成的伤亡人数每年超过10万人, 其中驾驶员人为原因 (疲劳、酒驾、误操作等) 所致事故逐渐升高.汽车交通事故引起的人员伤亡、经济损失、道路拥堵等已演变成重大社会问题.


为解决上述问题, 交通法规、安全技术等各种交通安全措施随之诞生并不断发展, 其中汽车安全技术是保障道路交通安全的关键.汽车安全技术分为被动安全技术和主动安全技术.从20世纪80年代开始的安全气囊、安全带等被动安全技术, 再到90年代逐渐出现且成为标配的制动防抱死系统 (antilock braking system, ABS) 、电子稳定控制(electronic stability control, ESC) 系统等主动安全技术, 都在一定程度上起到了保证人们财产安全的作用.进入21世纪, 汽车主动安全技术愈发被重视, 从预警系统、独立控制、集成控制、智能驾驶到无人驾驶等主动安全技术方面都获得了飞速发展, 其中自适应巡航控制(adaptive cruise control, ACC) 、车道偏离预警 (lane departure warning, LDW) 、前方碰撞预警 (front collision warning, FCW) 等汽车先进驾驶辅助系统 (advanced driver assistance systems, ADAS) 成为防止交通事故的新一代前沿技术.


📚2 运行结果

主函数部分代码:

clear
clc
close all
%addpath(fullfile(matlabroot,'examples','mpc','main'));
global mdl Ts T G_ego t_gap D_default v_set amin_ego amax_ego
global x0_lead v0_lead x0_ego v0_ego seed
mdl = 'mpcACCsystem';
open_system(mdl)
% Generate training data
[inputs_cell, output_cell] = generateOnetrace();
inputs_test = inputs_cell;
output_test = output_cell;
for i = 1:20
    [input1, output1] = generateOnetrace();
    inputs_cell = catsamples(inputs_cell, input1, 'pad');
    output_cell = catsamples(output_cell, output1, 'pad');
end
%% Construct NN controller
S = [10,10,10];
mrac_net = feedforwardnet(S);
for i = 1:length(S)
    mrac_net.layers{i}.transferFcn = 'poslin';
end
mrac_net.layers{length(S)+1}.transferFcn = 'purelin';
mrac_net.inputs{1}.processFcns = {};
mrac_net.outputs{length(S)+1}.processFcns = {};
% mrac_net.layerConnect = [0 0 0 1;1 0 0 0;0 1 0 0;0 0 1 0];
%  mrac_net.layerWeights{1,4}.delays = 1:2;
mrac_net = configure(mrac_net,inputs_cell,output_cell);
mrac_net.plotFcns = {'plotperform','plottrainstate',...
    'ploterrhist','plotregression','plotresponse'};
mrac_net.trainFcn = 'trainlm';
[x_tot,xi_tot,ai_tot,t_tot] = ...
            preparets(mrac_net,inputs_cell,output_cell);
mrac_net.trainParam.epochs = 500;
mrac_net.trainParam.min_grad = 1e-10;
[mrac_net,tr] = train(mrac_net,x_tot,t_tot,xi_tot,ai_tot);
testoutseq = mrac_net(inputs_test);
testout = cell2mat(testoutseq);
figure
plot(testout,'r');
hold on 
plot(cell2mat(output_test),'b')
hold off
%generate simlink nn
%gensim(mrac_net)
% store weights to network
% weights(1) = mrac_net.IW(1,1);
% for i = 1:length(S)
%     weights(i+1) = mrac_net.LW(i+1,i);
% end
% bias = mrac_net.b;
% 
% network.weights = weights;
% network.bias = bias;
% save network
%% Remove example file folder from MATLAB path, and close Simulink model.
rmpath(fullfile(matlabroot,'examples','mpc','main'));


🎉3 参考文献

[1]吴光强,张亮修,刘兆勇等.汽车自适应巡航控制系统研究现状与发展趋势[J].同济大学学报(自然科学版),2017,45(04):544-553.

部分理论引用网络文献,若有侵权联系博主删除。

相关文章
|
1月前
|
传感器 算法 vr&ar
六自由度Stewart控制系统matlab仿真,带GUI界面
六自由度Stewart平台控制系统是一种高精度、高稳定性的运动模拟装置,广泛应用于飞行模拟、汽车驾驶模拟、虚拟现实等领域。该系统通过六个独立的线性致动器连接固定基座与移动平台,实现对负载在三维空间内的六个自由度(三维平移X、Y、Z和三维旋转-roll、pitch、yaw)的精确控制。系统使用MATLAB2022a进行仿真和控制算法开发,核心程序包括滑块回调函数和创建函数,用于实时调整平台的位置和姿态。
|
1月前
|
机器学习/深度学习 存储 算法
基于Actor-Critic(A2C)强化学习的四旋翼无人机飞行控制系统matlab仿真
基于Actor-Critic强化学习的四旋翼无人机飞行控制系统,通过构建策略网络和价值网络学习最优控制策略。MATLAB 2022a仿真结果显示,该方法在复杂环境中表现出色。核心代码包括加载训练好的模型、设置仿真参数、运行仿真并绘制结果图表。仿真操作步骤可参考配套视频。
67 0
|
4月前
|
算法
基于模糊控制算法的倒立摆控制系统matlab仿真
本项目构建了一个基于模糊控制算法的倒立摆控制系统,利用MATLAB 2022a实现了从不稳定到稳定状态的转变,并输出了相应的动画和收敛过程。模糊控制器通过对小车位置与摆的角度误差及其变化量进行模糊化处理,依据预设的模糊规则库进行模糊推理并最终去模糊化为精确的控制量,成功地使倒立摆维持在直立位置。该方法无需精确数学模型,适用于处理系统的非线性和不确定性。
基于模糊控制算法的倒立摆控制系统matlab仿真
|
3月前
|
资源调度 算法
基于迭代扩展卡尔曼滤波算法的倒立摆控制系统matlab仿真
本课题研究基于迭代扩展卡尔曼滤波算法的倒立摆控制系统,并对比UKF、EKF、迭代UKF和迭代EKF的控制效果。倒立摆作为典型的非线性系统,适用于评估不同滤波方法的性能。UKF采用无迹变换逼近非线性函数,避免了EKF中的截断误差;EKF则通过泰勒级数展开近似非线性函数;迭代EKF和迭代UKF通过多次迭代提高状态估计精度。系统使用MATLAB 2022a进行仿真和分析,结果显示UKF和迭代UKF在非线性强的系统中表现更佳,但计算复杂度较高;EKF和迭代EKF则更适合维数较高或计算受限的场景。
|
5月前
|
算法 vr&ar
基于自适应波束成形算法的matlab性能仿真,对比SG和RLS两种方法
```markdown - MATLAB2022a中比较SG与RLS自适应波束成形算法。核心程序实现阵列信号处理,强化期望信号,抑制干扰。RLS以其高效计算权重,而SG则以简单和低计算复杂度著称。[12345] [6666666666] [777777] ```
|
6月前
|
机器学习/深度学习 算法 索引
m基于Qlearning强化学习的小车倒立摆控制系统matlab仿真
在MATLAB 2022a中模拟的Q-learning倒立摆控制显示出稳定平衡效果。Q-learning算法通过智能体与环境交互学习最佳控制策略,以维持摆杆直立。算法基于状态s和动作a更新Q值表,目标是最大化未来奖励。系统状态包括小车位置、速度、杆角度及角速度。动作是小车加速度。当状态或动作空间大时,用神经网络近似Q函数,DQN通过经验回放和目标网络稳定学习。核心代码涉及状态更新、贪婪策略选择动作及环境反馈,实时更新摆杆和小车位置。
88 6
|
6月前
|
算法 调度 决策智能
基于自适应遗传算法的车间调度matlab仿真,可以任意调整工件数和机器数,输出甘特图
这是一个使用MATLAB2022a实现的自适应遗传算法解决车间调度问题的程序,能调整工件数和机器数,输出甘特图和适应度收敛曲线。程序通过编码初始化、适应度函数、遗传操作(选择、交叉、变异)及自适应机制进行优化,目标如最小化完工时间。算法在迭代过程中动态调整参数,以提升搜索效率和全局优化。
|
6月前
|
算法
基于ADM自适应增量调制算法的matlab性能仿真
该文主要探讨基于MATLAB的ADM自适应增量调制算法仿真,对比ADM与DM算法。通过图表展示调制与解调效果,核心程序包括输入输出比较及SNR分析。ADM算法根据信号斜率动态调整量化步长,以适应信号变化。在MATLAB中实现ADM涉及定义输入信号、初始化参数、执行算法逻辑及性能评估。
|
6月前
|
机器学习/深度学习 数据可视化 算法
探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)
探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)
63 0
|
7月前
|
数据可视化 算法
MATLAB Simulink 交交变流电路性能研究
MATLAB Simulink 交交变流电路性能研究
88 2