目录

1.课题概述

2.系统仿真结果

3.核心程序

4.系统原理简介

5.​​​​​​参考文献

6.完整工程文件


1.课题概述

       传统PID控制器参数固定,面对非线性、时变系统易出现超调大、稳定性差等问题。基于BP 神经网络的PID控制器,通过BP网络的自学习能力实时优化PID参数,形成“控制-反馈-优化”闭环,适配复杂系统高精度控制需求。

2.系统仿真结果

3.核心程序

matlab2024b


% 显示性能指标
fprintf('控制系统性能指标:\n');
fprintf('均方误差 (MSE): %.6f\n', mse);
fprintf('均方根误差 (RMSE): %.6f\n', rmse);
fprintf('平均绝对误差 (MAE): %.6f\n', mae);
fprintf('误差绝对值积分 (IAE): %.6f\n', iae);
fprintf('时间乘以误差绝对值积分 (ITAE): %.6f\n', itae);
fprintf('控制信号最大值: %.6f\n', max_control);
fprintf('控制信号平均值: %.6f\n', avg_control);

% 绘制参考输入与系统输出对比图
figure;
subplot(211);
plot(time_vector(1:20:end), reference_input(1:20:end), 'rx', 'LineWidth', 1);
hold on;
plot(time_vector, system_output, 'b', 'LineWidth', 1.5);
xlabel('时间 t/s');
ylabel('参考输入与系统输出');
legend('参考输入', '系统输出');
title('系统跟踪性能');

subplot(212);
plot(time_vector(1:20:end), reference_input(1:20:end), 'rx', 'LineWidth', 1);
hold on;
plot(time_vector, system_output, 'b', 'LineWidth', 1.5);
xlabel('时间 t/s');
ylabel('局部放大图');
legend('参考输入', '系统输出');
xlim([0, 0.25]);


% 绘制误差曲线图
figure;
plot(time_vector, current_error, 'r', 'LineWidth', 2);
xlabel('时间 t/s');
ylabel('误差');
ylim([-0.05, 0.05]);
title('跟踪误差曲线');


% 绘制控制信号曲线图
figure;
plot(time_vector, control_signal, 'r', 'LineWidth', 2);
xlabel('时间 t/s');
ylabel('控制信号');
title('控制信号变化曲线');


% 绘制PID参数变化曲线图
figure;
subplot(311);
plot(time_vector, proportional_gain, 'r', 'LineWidth', 2);
xlabel('时间 t/s'); ylabel('比例系数 kp');

subplot(312);
plot(time_vector, integral_gain, 'g', 'LineWidth', 2);
xlabel('时间 t/s'); ylabel('积分系数 ki');

subplot(313);
plot(time_vector, derivative_gain, 'b', 'LineWidth', 2);
xlabel('时间 t/s'); ylabel('微分系数 kd');
title('PID参数自适应调整曲线');

% 绘制性能指标柱状图
figure;
performance_indices1 = [mse, rmse, mae, iae, itae];
load R0.mat 
performance_indices2 =  performance_indices;
 

bar([performance_indices1;performance_indices2]');
set(gca, 'XTickLabel', {'MSE', 'RMSE', 'MAE', 'IAE', 'ITAE'});
ylabel('指标值');
title('控制系统性能指标对比');
grid on;
legend('PID','BP-PID');

4.系统原理简介

       基于BP神经网络的PID控制器,核心是用BP神经网络的自学习能力实时优化PID控制器的3个关键参数(比例P、积分I、微分D),让控制器能适应复杂或时变的被控对象,比传统固定参数PID的控制效果更优。BP神经网络模块负责优化PID的核心参数。

       以“系统偏差”“偏差变化率”等为输入,通过自身的前向传播计算,输出优化后的P、I、D参数,传递给PID模块。通过反向传播算法,根据系统的控制误差(目标值与实际输出的差距)调整网络内部的权重,不断修正参数输出,直到控制误差最小化。

      BP网络采用“3 输入-1隐含层-3 输出”结构:

      在BP网络的输出中,输出层输入(线性组合):

      相比传统PID,该控制器无需人工整定参数,能实时适配系统动态变化,在非线性、时变系统中表现出更小超调、更快响应和更强抗干扰能力,广泛应用于电机控制、温度调节、机器人运动控制等领域。

5.​​​​​​参考文献

[1]廖芳芳,肖建.基于BP神经网络PID参数自整定的研究[J].系统仿真学报, 2005, 17(7):3.DOI:10.3969/j.issn.1004-731X.2005.07.047.

[2]何继爱,达正花.BP神经网络PID控制器仿真实现[J].甘肃联合大学学报:自然科学版, 2005, 019(002):31-34.DOI:10.3969/j.issn.1672-691X.2005.02.011.

6.完整工程文件

v

v

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐