1、内容简介

2、内容说明

PID控制器是一种基于“过去”,“现在”和“未来”信息估计的简单算法。

常规PID控制系统原理框图如图2-1所示,系统主要由PID控制器和被控对象组成。作为一种线性控制器,它根据设定值 rm(t)和实际输出值yout(t)构成控制偏差e(t), 将偏差按比例、积分和微分通过线性组合构成控制量u(t),对被控对象进行控制。对连续时间类型,PID控制方程的标准形式为:

图2-1 PID控制器系统原理框图


式中:e(t) = rm(t) - yout(t),Kp为比例系数,TI为积分时间常数,TD为微分时间常数。


离散PID控制的形式为 :

式中:u(k)为第k次采样时控制器的输出;k为采样序号,k=0,1,2…;e(k)为第k次采样时的偏差值;T为采样周期;e(k-1)为第(k-1)次采样时的偏差值。

离散PID控制算法有如下3类:位置算法、增量算法和速度算法。增量算法为相邻量词采样时刻所计算的位置之差,即

从系统的稳定性、响应速度、超调量和稳态精度等各方面来考虑,、、的作

用如下:

比例系数的作用是加快系统的响应速度,提高系统的调度。越大,系统的响应速度越快,系统的调节精度越高,但易产生超调,甚至会导致系统不稳定。取值过小,则会降低系统的调节精度,使响应速度缓慢,从而延长调节时间,使系统静态、动态特性变坏。

 积分作用系数的作用是消除系统的稳态误差。越大,系统的静态误差消除越快,但过大,在响应过程的初期会产生积分饱和现象,从而引起响应过程的较大超调。若过小,将使系统静态误差难以消除,从而影响系统的调节精度。

 微分作用系数的作用是改善系统的动态特性,其作用主要是在响应过程中抑制偏差向任何方向的变化,对偏差变化进行提前预报。但过大,会使响应过程提前制动,从而延长调节时间,而且会降低系统的抗干扰能力。


3、仿真分析


clc,clear,close all

load('ysw.mat')  % 原始数据

figure,plot(ysw(:,1),ysw(:,2),'*','linewidth',2)

hold on

axis([-50,350,-50,550])

x_pos = ysw(:,1)';

y_pos = ysw(:,2)';

N = length(y_pos);

x_ini = x_pos(1);

y_ini = y_pos(1);

x_real = [];x_real(1) = x_ini;

y_real = [];y_real(1) = y_ini;

error_x = zeros(1,N);

error_y = zeros(1,N);

for i = 2:N

   x_ini = x_real(end);

   y_ini = y_real(end);

   [x_real1,y_real1,error_x1,error_y1] = calculate(x_pos(i),y_pos(i), x_ini, y_ini);

   error_x(i) = error_x1;

   error_y(i) = error_y1;

   x_real = [x_real x_real1];

   y_real = [y_real y_real1];

end

time = 1:N;

figure,plot(x_pos,y_pos,'r',x_real,y_real,'*b','linewidth',2);

xlabel('x');ylabel('y');

grid on;axis([-50,350,-50,550])

legend('实际位置','位置跟踪');

figure;plot(time,error_x,'r',time,error_y,'b','linewidth',2);

xlabel('time(s)');ylabel('error');

grid on

title('X,Y跟踪误差')


matlab小车运动轨迹增量式PID控制_框图

matlab小车运动轨迹增量式PID控制_框图_02

 

matlab小车运动轨迹增量式PID控制_时间常数_03

 


4、参考论文