воскресенье, 25 сентября 2016 г.

Основы адаптивных систем управления (ОАдСУ) 2: Динамика одномерных систем экстремального регулирования

Скачать архив Matlab-файлов для самостоятельного исследования.

Введение
Экстремальные регуляторы предназначаются для поддержания на экстремальном уровне некоторого показателя функционирования реального объекта. Экстремальный регулятор и объект экстремального регулирования составляют систему экстремального регулирования (СЭР). Характерными для СЭР являются априорно неизвестные, обычно относительно медленные, трансформации (дрейф) характеристик объекта. Поэтому СЭР с самого начала развивались как поисковые системы, в которых недостаток априорной информации восполнялся за счет текущей информации, получаемой в виде реакций объекта на поисковые (пробные, тестовые) воздействия.
В СЭР предполагается, что экстремальный выход объекта доступен для непосредственного измерения, либо вычисляется на основе выходных переменных объекта.
Предложено и реализовано большое количество СЭР, отличающихся по принципу действия, устройству, конструкции и сложности. Большинство из этих СЭР разработано еще до появления управляющих ЦВМ, микропроцессорных вычислителей. Поэтому они ориентированы на аналоговую и релейную технику. Некоторые из этих СЭР достаточно совершенные и рекомендуются для цифровой реализации.

В статье даются рекомендации, направленные на исследование одномерной динамической СЭР с объектом управления первого рода в различных условиях: 
         1. без помехи;
2. с помехой;
3. с вертикальным дрейфом без помехи;
4. с горизонтальным дрейфом без помехи;
5. с помехой и горизонтальным, вертикальным дрейфом.
В заметке определены зависимости, показывающие влияние начальных условий на качество поиска. Представлены графики, соответствующие аппроксимированным функциям, полученным по экспериментальным данным.



1. Краткие теоретические сведения
Структурная схем ОУ представлена на рис. 1.1 и ей соответствует система уравнений (1)


Рис. 1.1. Структурная схема ОУ первого рода
                                                (1)
Решая дифференциальное уравнение и интегрируя его, получим
.                     (2)
Подставляя в выражение (1) изменение входа ,получим реакцию . Так если интегрирующее звено то , где а – модуль скорости изменения входа и соответственно для
.    (3)
Для ступенчатого входного воздействия
                        (4)
И в случае (3), и в случае (4) выходная величина не будет совпадать с экстремальной характеристикой , так как отстает от .
При ступенчатом входном воздействии (4) время переходного процесса . Очевидно, если СЭР выдержит паузу , то и следовательно поиск ведется как для безинерционного объекта. Но время поиска, значительно увеличивается, а следовательно, и потери на поиск.
Для дискретных СЭР справедливы структурная схема (рис. 1.2) и разностное уравнение (5)
Рис. 1.2. Дискретный модуль ОУ первого рода

,                                  (5)
где , , – интервал квантования, совпадающий с интервалом поиска.

2. Проведение эксперимента
2.1 Исследование СЭР без помех и дрейфа
В системе отсутствует дрейф и помехи. Работа СЭР приведена на рисунке 2.1.
Рисунок 2.1. Работа дискретной СЭР в условиях без помех и дрейфа
Параметры системы:
W = τ =1 (здесь и далее);
Порог δ = 0.01;
Начальный шаг a(1) = 1.
Потери R при этом: R = 22.4970;
Количество шагов N =100.

2.2 Исследование СЭР в условиях аддитивной нормально распределённой помехи
В этом случае на систему действует помеха, однако дрейф отсутствует.
Нормально распределённая помеха описывается уравнением , где , W = 1.
По результатам моделирования получено (при δ = 0.01) R = 32.0792.      
Рисунок 2.2 Работа дискретной СЭР в условиях аддитивной нормально распределённой помехи

Выявим влияние порога δ на эффективность поиска:
Таблица 2.1 Влияние порога δ на R
δ
R
0.0
34.1149
0.01
29.5305
0.02
26.2104
0.03
23.8715
0.04
19.8785
http://www5b.wolframalpha.com/Calculate/MSP/MSP403206216e1g5f10h7d00001gdc8c031abhgbc0?MSPStoreType=image/gif&s=61&w=300.&h=194.&cdf=RangeControl
Рисунок 2.3 Влияние порога δ на R, показана кубическая аппроксимация

2.3 Исследование СЭР в условиях горизонтального дрейфа без помехи V
Предположим, что дрейф имеет постоянное во времени и неизменное по величине воздействие на систему. Величина этого воздействия Vh = 0.2.
При начальных параметрах системы (см. пункт 2.1) наблюдаем работу системы:
Рисунок 2.4 Работа дискретной СЭР в условиях горизонтального дрейфа

По результатам моделирования получено R = 45.1735.
Определим зависимость эффективности работы системы от начального рабочего шага,



Таблица 2.2 Влияние начального рабочего шага a(1) на R
a(1)
R
1
45.1735
0.9
51.9858
0.8
64.1739
0.7
79.5908
0.6
101.3649
0.5
138.4000
0.4
За установленное количество шагов поиск оптимального значения не был завершён

http://www4b.wolframalpha.com/Calculate/MSP/MSP10011e011b5eh5a24i0800004a2f104fh251c6i4?MSPStoreType=image/gif&s=14&w=300.&h=189.&cdf=RangeControl
Рисунок 2.5 Влияние начального рабочего шага a(1) на R
Рисунок 2.6 Работа дискретной СЭР в условиях горизонтального дрейфа — показана работа системы с разным начальным шагом a(1)
Видим, что увеличение рабочего шага в некоторых пределах даёт снижение потерь. При увеличении начального рабочего шага на значение a(1)доп > 2.5 происходит «срыв» поиска. Дальнейшее увеличение рабочего шага негативно влияет на работу СЭР.

2.4 Исследование СЭР в условиях вертикального дрейфа без помехи V
Предположим, что дрейф имеет постоянное во времени и неизменное по величине воздействие на систему. Величина этого воздействия Vv = 0.2. При этом рабочий шаг сделаем постоянным.
По результатам моделирования при шаге a=1 получено R = 13.1.
Рисунок 2.7 Работа дискретной СЭР в условиях вертикального дрейфа

Определим зависимость эффективности работы системы от рабочего шага,
Таблица 2.3 Влияние рабочего шага a на R
a(1)
R
0.7
34.5400
0.8
24.9400
0.9
17.9200
1.0
13.1000
1.1
8.0800
1.2
8.3800
1.3
4.4200
1.4
3.1800
1.5
6.4000
1.6
0.3000
1.7
4.2000
1.8
6.7400
1.9
7.2600

Рисунок 2.8 Влияние начального рабочего шага a на R в условиях вертикального дрейфа

Рисунок 2.9 Работа дискретной СЭР в условиях вертикального дрейфа, показана работа с разным рабочим шагом

2.5 Исследование СЭР в условиях вертикального и горизонтального дрейфа без помех
Предположим, что горизонтальный дрейф имеет постоянное во времени и неизменное по величине воздействие на систему. Величина этого воздействия Vh = 0.2. При этом действует вертикальный дрейф, который  также имеет постоянное во времени и неизменное по величине воздействие на систему. Величина этого воздействия Vv = 0.2.
Нормально распределённая помеха описывается уравнением , где , W = 1.
По результатам моделирования при a=1.2, δ = 0.01 получено R =  15.7800.
Рисунок 2.10 Работа дискретной СЭР в условиях вертикального дрейфа, горизонтального дрейфа и помехи

Определим зависимость эффективности работы системы от начального рабочего шага,
Таблица 2.4 Влияние начального рабочего шага a(1) на R
a
R
0.7
70.5800
0.8
52.9800
0.9
38.6400
1.0
32.7000
1.1
20.6400
1.2
21.0600
1.3
14.4200
1.4
7.5800
1.5
3.0000
1.6
2.7400
1.7
2.8200
1.8
6.9000

http://www4a.wolframalpha.com/Calculate/MSP/MSP15461cfh17639ed9283000004h74b79ceeg7ec2i?MSPStoreType=image/gif&s=54&w=300.&h=192.&cdf=RangeControl
Рисунок 2.11 Влияние начального рабочего шага a на R

Приложение 1. Исходный код Matlab-файлов для моделирования и исследования системы
         Файл Discrete_system_dynamic.m:
clear;  clc;
%параметры оптимизатора и целевой функции
Umin=-1;Umax=100;
amin=0.1; amax=1;
delta=0.1;%порог фильтра
N=100;     %N-количество шагов
N1=10;  W=1;cv=1;
alfa=2/(N1+1); s(1)=1;
xopt=zeros(1,N+1);yopt=zeros(1,N);
mu=((log(amax)-log(amin))/N1);
gamma = @(i) exp(-mu*i);
T2=W; T0=T2;   a2 = exp(-T0/T2);  b2 = (1-a2);
v = random('Normal',0,cv,1,N);
u(1)=1; %начальное значение
a(1)=amax;
x(1)=0;i=1; dy(1)=1;
[q(1),xopt(1),yopt(1)]=Qq(u(1),1);
x(2) = a2*x(1) + b2*q(1);
y(1) = x(1);
u(2)=u(1)+a(1);

for k=2:N
    [q(k),xopt(k),yopt(k)]=Qq(u(k),k);
    x(k+1) = a2*x(k) + b2*q(k);
    y(k) = x(k);
 dy(k)=sign(y(k)-y(k-1)+delta);
  s(k)=alfa*dy(k)+(1-alfa)*s(k-1);
   d(k)=sign(s(k));
   if d(k)>-1
       a(k)=a(k-1);
   else
       i=i+1;
       a(k)=a(k-1)*gamma(i)/gamma(i-1);
   end
   if a(k)<amin
       a(k)=amin;
   end

   u(k+1) = u(k) + a(k)*dy(k);
   if (u(k+1) < Umin) || (u(k+1) > Umax)
       i=i+1;
       a(k) = a(k-1) * (gamma(i))/(gamma(i-1));
        u(k+1) = u(k)+a(k)*dy(k);
   end  

 t(k)=k;
end
t=1:N+1;
 plot(t,xopt,'*g');grid on
 hold on
 stairs(u);
 plot(yopt(1,:),'*m');grid on
 hold on
 plot(y(1,:),'--');
legend('uopt(k)-оптимум','u(k)','qopt(k','y(k)');
R = (sum(y-yopt)^2)/N


Файл Qy.m:
function [y, xopt, yopt]  =Qq(x,t)
%Положение оптимума (задать)
x0=30;y0=90;
%Скорость горизонтального дрейфа
Vx = 0.1;
%Скорость вертикального дрейфа
Vy = 0;
xopt = x0 + Vx * t;
yopt = y0 + Vy * t;
y = -0.1 * (x - xopt).^ 2 + yopt;
%Новые значения оптимума
end

Комментариев нет:

Отправить комментарий