Журнал исследований
Зададим обучающую сетку для
угловых ускорений и добавим ее в обучающий
вектор P_ctrl:
При
этом размерность обучающего вектора
составляет
[P_ctrl]=3^7*7^2=107 163.
При
такой размерности сказывается нехватка
вычислительных ресурсов, хотя
моделирование производится на компьютере с
процессором Celeron 466 Mhz и памятью 64Mb. Для
уменьшения размерности вектора обучения на
вход контроллера перестали подавать
информацию по скоростям vx и vy, а обучающую
сетку по широте и долготе сократили с 7 (7^2)
до 3. Таким образом получили, что
[P_ctrl]=3^7=2 187.
При
следующих начальных условиях
% Таблица начальных условий.
%+----------------------------------------------------------------------------+
%| N | Наименование параметра | Значение параметра |
%+---+--------------------------------------------+---------------------------+
%+---+--------------------------------------------+---------------------------+
%| 1.| Количество нейронов нейросети №1: | |
%+---+--------------------------------------------+---------------------------+
S1=8;
SS1=8;
SSS1=8;
%+---+--------------------------------------------+---------------------------+
%| 2.| Количество нейронов нейросети №2: | |
%+---+--------------------------------------------+---------------------------+
S2=3;
%+---+--------------------------------------------+---------------------------+
%| 3.| Начальное значение углов ориентации(град.):| |
%+---+--------------------------------------------+---------------------------+
ksi_midl=0;
tetta_midl=0;
gamma_midl=0;
%+---+--------------------------------------------+---------------------------+
%| 4.| Начальные погрешности углов ориен-и(град.):| |
%+---+--------------------------------------------+---------------------------+
delta_ksi0=0;
delta_tetta0=0;
delta_gamma0=0;
%+---+--------------------------------------------+---------------------------+
%| 5.| Начальные угловые скорости объекта (рад/с):| |
%+---+--------------------------------------------+---------------------------+
w_x_midl=0;
w_y_midl=0;
w_z_midl=0;
%+---+--------------------------------------------+---------------------------+
%| 6.| Начальное местоположение (град.): | |
%+---+--------------------------------------------+---------------------------+
fi_midl=56;
lambda_midl=37;
h_pol=0;
%+---+--------------------------------------------+---------------------------+
%| 7.| Начальная скорость (м/с): | |
%+---+--------------------------------------------+---------------------------+
vx_midl=50;
vy_midl=50;
vz_midl=0;
%+---+--------------------------------------------+---------------------------+
%| 8.| Начальное ускорение объекта (м/с^2): | |
%+---+--------------------------------------------+---------------------------+
nx_midl=0;
ny_midl=0;
nz_midl=9.81;
%+---+--------------------------------------------+---------------------------+
%| 9.| Постоянные дрейфы гироскопов (рад/с): | |
%+---+--------------------------------------------+---------------------------+
B0(1,1)=4.8e-5;
B0(2,1)=0;%4.8e-5;
B0(3,1)=0;%4.8e-5;
%+---+--------------------------------------------+---------------------------+
%|10.| Ошибки масштабных коэффициентов и ошибки | |
%| | установки осей чувтвительности гироскопов | |
%| | относительно осей приборного базиса: | |
%+---+--------------------------------------------+---------------------------+
bp=zeros(3);
%+---+--------------------------------------------+---------------------------+
%|11.| Случайные дрейфы гироскопов (рад/с): | |
%+---+--------------------------------------------+---------------------------+
B0s(1,1)=0;%4.8e-6;
B0s(2,1)=0;%4.8e-6;
B0s(3,1)=0;%4.8e-6;
%+---+--------------------------------------------+---------------------------+
%|12.| Сдвиги нулей акселерометров (м/с^2): | |
%+---+--------------------------------------------+---------------------------+
A0(1,1)=1e-2;
A0(2,1)=1e-2;
A0(3,1)=0;
%+---+--------------------------------------------+---------------------------+
%|13.| Случайные погрешности акселерометров(м/с^2)| |
%+---+--------------------------------------------+---------------------------+
A0s(1,1)=0;%1e-3;
A0s(2,1)=0;%1e-3;
A0s(3,1)=0;
%+---+--------------------------------------------+---------------------------+
%|14.| Время полета(с): | |
%+---+--------------------------------------------+---------------------------+
time_pol=2000;
%+---+--------------------------------------------+---------------------------+
%|15.| Шаг интегрирования(с): | |
%+---+--------------------------------------------+---------------------------+
h=1;
%+---+--------------------------------------------+---------------------------+
%|16.| Включение,период работы и выключение СНС(с)| |
%+---+--------------------------------------------+---------------------------+
SNS_on=1200;
period_SNS=400;
SNS_off=SNS_on+period_SNS;
%+---+--------------------------------------------+---------------------------+
%|17.| Ширина и размерность обучающей сетки для: | |
%+---+--------------------------------------------+---------------------------+
%| | инверсной сети | |
%+---+--------------------------------------------+---------------------------+
def_vx(1)=5;
quan_vx(1)=3;
def_vy(1)=5;
quan_vy(1)=3;
def_fi(1)=0.6;
quan_fi(1)=3;
def_lam(1)=0.6;
quan_lam(1)=3;
def_nx(1)=1;
quan_nx(1)=3;
def_ny(1)=1;
quan_ny(1)=3;
%+---+--------------------------------------------+---------------------------+
%| | контроллера | |
%+---+--------------------------------------------+---------------------------+
def_vx(2)=5;
quan_vx(2)=3;
def_vy(2)=5;
quan_vy(2)=3;
def_fi(2)=0.6;
quan_fi(2)=5;
def_lam(2)=0.6;
quan_lam(2)=5;
def_nx(2)=1;
quan_nx(2)=3;
def_ny(2)=1;
quan_ny(2)=3;
%+---+--------------------------------------------+---------------------------+
%| | модели уравнений ориентации | |
%+---+--------------------------------------------+---------------------------+
def_ksi(1)=2;
quan_ksi(1)=3;
def_tetta(1)=2;
quan_tetta(1)=3;
def_gamma(1)=2;
quan_gamma(1)=3;
def_wx(1)=0.0005;
quan_wx(1)=3;
def_wy(1)=0.0005;
quan_wy(1)=3;
def_wz(1)=0.0005;
quan_wz(1)=3;
%+---+--------------------------------------------+---------------------------+
%|18.| Масштабный коэффициент обучения: | |
%+---+--------------------------------------------+---------------------------+
global koeff_train;
koeff_train=1;
получили графики:
Как видим
из графиков, виден положительный
результат. Теперь необходимо добиться
наивысшей точности настройки путем
варьирования топологии нейросети
контроллера, а также провести серию
экспериментов по моделированию с
одинаковыми н.у. Дело в том, что при
формировании нейросети начальные
значения весов и смещений задаются
случайным образом. И совсем не обязательно,
что после обучения нейросеть будет иметь
одни и теже веса и смещения. Поэтому была
проведена серия из 10 запусков модели, из
которых отобрали три наилучших.
Н.у.:
% Таблица начальных условий.
%+----------------------------------------------------------------------------+
%| N | Наименование параметра | Значение параметра |
%+---+--------------------------------------------+---------------------------+
%+---+--------------------------------------------+---------------------------+
%| 1.| Количество нейронов нейросети №1: | |
%+---+--------------------------------------------+---------------------------+
S1=8;
SS1=8;
SSS1=8;
%+---+--------------------------------------------+---------------------------+
%| 2.| Количество нейронов нейросети №2: | |
%+---+--------------------------------------------+---------------------------+
S2=3;
%+---+--------------------------------------------+---------------------------+
%| 3.| Начальное значение углов ориентации(град.):| |
%+---+--------------------------------------------+---------------------------+
ksi_midl=0;
tetta_midl=0;
gamma_midl=0;
%+---+--------------------------------------------+---------------------------+
%| 4.| Начальные погрешности углов ориен-и(град.):| |
%+---+--------------------------------------------+---------------------------+
delta_ksi0=0;
delta_tetta0=0;
delta_gamma0=0;
%+---+--------------------------------------------+---------------------------+
%| 5.| Начальные угловые скорости объекта (рад/с):| |
%+---+--------------------------------------------+---------------------------+
w_x_midl=0;
w_y_midl=0;
w_z_midl=0;
%+---+--------------------------------------------+---------------------------+
%| 6.| Начальное местоположение (град.): | |
%+---+--------------------------------------------+---------------------------+
fi_midl=56;
lambda_midl=37;
h_pol=0;
%+---+--------------------------------------------+---------------------------+
%| 7.| Начальная скорость (м/с): | |
%+---+--------------------------------------------+---------------------------+
vx_midl=50;
vy_midl=50;
vz_midl=0;
%+---+--------------------------------------------+---------------------------+
%| 8.| Начальное ускорение объекта (м/с^2): | |
%+---+--------------------------------------------+---------------------------+
nx_midl=0;
ny_midl=0;
nz_midl=9.81;
%+---+--------------------------------------------+---------------------------+
%| 9.| Постоянные дрейфы гироскопов (рад/с): | |
%+---+--------------------------------------------+---------------------------+
B0(1,1)=4.8e-5;
B0(2,1)=0;%4.8e-5;
B0(3,1)=0;%4.8e-5;
%+---+--------------------------------------------+---------------------------+
%|10.| Ошибки масштабных коэффициентов и ошибки | |
%| | установки осей чувтвительности гироскопов | |
%| | относительно осей приборного базиса: | |
%+---+--------------------------------------------+---------------------------+
bp=zeros(3);
%+---+--------------------------------------------+---------------------------+
%|11.| Случайные дрейфы гироскопов (рад/с): | |
%+---+--------------------------------------------+---------------------------+
B0s(1,1)=0;%4.8e-6;
B0s(2,1)=0;%4.8e-6;
B0s(3,1)=0;%4.8e-6;
%+---+--------------------------------------------+---------------------------+
%|12.| Сдвиги нулей акселерометров (м/с^2): | |
%+---+--------------------------------------------+---------------------------+
A0(1,1)=1e-2;
A0(2,1)=1e-2;
A0(3,1)=0;
%+---+--------------------------------------------+---------------------------+
%|13.| Случайные погрешности акселерометров(м/с^2)| |
%+---+--------------------------------------------+---------------------------+
A0s(1,1)=0;%1e-3;
A0s(2,1)=0;%1e-3;
A0s(3,1)=0;
%+---+--------------------------------------------+---------------------------+
%|14.| Время полета(с): | |
%+---+--------------------------------------------+---------------------------+
time_pol=2000;
%+---+--------------------------------------------+---------------------------+
%|15.| Шаг интегрирования(с): | |
%+---+--------------------------------------------+---------------------------+
h=1;
%+---+--------------------------------------------+---------------------------+
%|16.| Включение,период работы и выключение СНС(с)| |
%+---+--------------------------------------------+---------------------------+
SNS_on=1200;
period_SNS=400;
SNS_off=SNS_on+period_SNS;
%+---+--------------------------------------------+---------------------------+
%|17.| Ширина и размерность обучающей сетки для: | |
%+---+--------------------------------------------+---------------------------+
%| | инверсной сети | |
%+---+--------------------------------------------+---------------------------+
def_vx(1)=5;
quan_vx(1)=3;
def_vy(1)=5;
quan_vy(1)=3;
def_fi(1)=0.6;
quan_fi(1)=3;
def_lam(1)=0.6;
quan_lam(1)=3;
def_nx(1)=1;
quan_nx(1)=3;
def_ny(1)=1;
quan_ny(1)=3;
%+---+--------------------------------------------+---------------------------+
%| | контроллера | |
%+---+--------------------------------------------+---------------------------+
def_vx(2)=5;
quan_vx(2)=3;
def_vy(2)=5;
quan_vy(2)=3;
def_fi(2)=0.6;
quan_fi(2)=5;
def_lam(2)=0.6;
quan_lam(2)=5;
def_nx(2)=1;
quan_nx(2)=3;
def_ny(2)=1;
quan_ny(2)=3;
%+---+--------------------------------------------+---------------------------+
%| | модели уравнений ориентации | |
%+---+--------------------------------------------+---------------------------+
def_ksi(1)=2;
quan_ksi(1)=3;
def_tetta(1)=2;
quan_tetta(1)=3;
def_gamma(1)=2;
quan_gamma(1)=3;
def_wx(1)=0.0005;
quan_wx(1)=3;
def_wy(1)=0.0005;
quan_wy(1)=3;
def_wz(1)=0.0005;
quan_wz(1)=3;
%+---+--------------------------------------------+---------------------------+
%|18.| Масштабный коэффициент обучения: | |
%+---+--------------------------------------------+---------------------------+
global koeff_train;
koeff_train=1;
1 вариант:
2 вариант:
3 вариант:
При этом
значения весовых коэффициентов и смещений
равнялись:
1 вариант
2 вариант
3 вариант
матрица
весов W1
IW1 =
1.0e+003 *
-0.0000 -0.0000 0.0070 0.0000 -1.3856 0.8816 0.5188
0.0000 0.0000 -0.0123 0.0000 -1.3930 1.0875 -0.1442
0.0000 0.0000 0.0000 -0.0000 -1.0691 -0.8669 0.5507
0.0000 0.0000 0.0003 -0.0001 -0.4669 0.2762 -1.2049
0.0003 0.0002 0.0004 0.0095 1.6657 -1.6740 -0.5227
0.0003 0.0002 0.0004 -0.0120 1.9129 -1.6428 -0.5160
-0.0008 -0.0003 -0.0211 -0.0021 -1.7735 1.2107 -2.3302
0.0000 0.0000 0.0000 -0.0000 0.9561 -1.9150 -1.3592
IW1 =
1.0e+003 *
-0.0000 -0.0000 -0.0000 0.0000 -0.0444 -2.0796 -0.0800
-0.0001 -0.0000 -0.0020 -0.0181 -0.9002 0.3949 -1.4258
0.0000 0.0000 0.0046 0.0203 1.9816 -0.1511 -0.1340
0.0000 0.0000 0.0059 -0.0002 -2.4092 1.7238 -0.7347
0.0000 0.0000 0.0011 -0.0003 2.3805 2.1143 0.9127
-0.0000 -0.0000 -0.0029 0.0010 0.7971 -1.3551 1.5967
0.0000 0.0000 -0.0060 -0.0002 -2.4131 1.6095 -0.7344
0.0000 0.0000 -0.0000 0.0000 -1.5101 -0.0955 -0.0196
IW1 =
1.0e+003 *
-0.0000 -0.0000 0.0000 -0.0000 0.6575 -1.6261 0.0952
0.0000 0.0000 -0.0000 -0.0004 0.0008 -0.0013 -0.0006
0.0002 0.0002 0.0000 0.0000 1.2094 -0.3001 1.5220
0.0004 0.0003 -0.0034 0.0000 0.9518 -1.7325 0.1042
-0.0003 -0.0001 -0.0039 0.0000 -3.4816 -0.3446 0.3711
-0.0000 0.0000 0.0046 -0.0000 -0.1579 0.0337 -0.0212
-0.0001 -0.0000 -0.0000 -0.0000 -0.6048 0.1967 1.6126
0.0001 -0.0002 0.0100 -0.0000 -1.0657 1.5256 -0.0912
матрица
весов W1
LW2_1 =
-0.0993 -0.5005 0.0046 -0.0019 0.0000 -0.0000 -0.5990 0.0043
-0.0206 -0.0007 -0.0069 -0.0054 0.4999 -0.4998 -0.0212 0.0027
LW2_1 =
0.0064 0.0001 -0.0001 0.5010 0.0004 0.0012 -0.5002 0.0002
0.0003 -0.5001 0.5001 -0.0002 -0.0001 -0.0003 0.0001 -0.0077
LW2_1 =
0.0073 -0.0000 -0.0003 0.0012 0.0016 0.5099 0.0000 0.4968
0.0024 -2.9440 0.0006 0.0004 -0.0000 -0.0000 -0.0020 0.0003
матрица
смещений b1
B1 =
3.5594
7.9291
-0.0100
0.0392
-16.4266
-16.3955
40.2655
-0.1881
B1 =
0.0251
15.8912
7.3125
-0.1831
-1.2252
1.1250
-0.0625
0.0518
B1 =
0.7566
-0.0015
-17.7836
-34.7380
19.2737
-2.3875
4.8183
5.7591
матрица
смещений b2
B2 =
0.0009
0.0014
B2 =
1.0e-004 *
-0.9427
0.8313
B2 =
0.0058
0.0000