NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NEURAL (TIỂU LUẬN MÔN HỌC ĐIỀU KHIỂN NEURAL ) - Pdf 23

Tiểu luận: NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NEURAL
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
  
TIỂU LUẬN
MÔN HỌC : ĐIỀU KHIỂN NEURAL
Giảng viên : TS. Phan Văn Hiền
Học viên : Huỳnh Văn Minh
Lớp : Cao học Tự động hóa
Khóa : K24 (2011-2013)
Đà Nẵng 05/2013
Học viên: Huỳnh Văn Minh – TĐH_ K24 Trang 1
Tiểu luận: NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NEURAL
MỞ ĐẦU
Trong thiết kế điều khiển, khi biết được mô hình toán học của đối tượng điều khiển
(gọi tắt là đối tượng) thì ta dễ dàng có thể thiết kế được một bộ điều khiển để thu được
đáp ứng của hệ thống theo mong muốn, đồng thời cũng đảm bảo được tính ổn định,
bền vững của hệ thống. Tuy nhiên, không phải lúc nào ta cũng biết được mô hình toán
học của đối tượng.
Với những quá trình vật lý phức tạp, ta hoàn toàn không thể thu được mô hình toán
học phản ánh quá trình vật lý đó. Do đó ta rất khó có thể thiết kế được một bộ điều
khiển đảm bảo các tính năng và chỉ tiêu chất lượng như mong muốn cho toàn hệ
thống. Trong trường hợp này, để thiết kế một bộ điều khiển, ít nhất ta phải biết một mô
hình xấp xỉ của đối tượng. Mô hình xấp xỉ đó được gọi là mô hình đồng dạng của đối
tượng. Việc ước lượng mô hình xấp xỉ đó được gọi là nhận dạng đối tượng điều khiển.
Với khả năng học, mạng nơ-ron tỏ ra rất thích hợp trong việc nhận dạng đối tượng
điều khiển. Mạng nơ-ron được chia ra làm hai loại là mạng nơ-ron truyền thẳng và
mạng nơ-ron hồi quy. Trong đó, khả năng nhận dạng mẫu của mạng nơ-ron truyền
thẳng kết hợp với luật học lan truyền ngược là rất tốt.
NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NƠ-RON

-
Mạng nơ-ron
Đối tượng P
y=d
y
1
‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌ ‌‌d-y
1
‌‌
x
+
+
-
Hình 1: Cấu trúc mạng nơ-ron nhận dạng đối tượng điều khiển
a) Mô hình thuận
b) Mô hình ngược
a) b)
Tiểu luận: NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NEURAL
các nơ-ron để giảm thiểu độ sai lệch này. Kết quả ta sẽ có một mạng nơ-ron sau khi
đào tạo sẽ thực hiện một ánh xạ x → y
1
~ y với bất kỳ một cấp chính xác bất kỳ nào
mà ta mong muốn. Mạng nơ-ron sau khi đào tạo chính là mô hình đồng dạng của đối
tượng điều khiển.
Tương tự như vậy, ta sử dụng cấu trúc nhận dạng mô hình ngược của đối tượng P
như hình 1-b. Tín hiệu ra y của đối tượng P được sử dụng làm tín hiệu vào của mạng
nơ-ron. Tín hiệu ra của mạng nơ-ron x
1
được so sánh với tín hiệu vào của đối tượng P.
Chuẩn của véc-tơ sai lệch ׀׀x-x

Học viên: Huỳnh Văn Minh – TĐH_ K24 Trang 3
0
y
a
y
b
y
x
a
x
b
x
a)
0
y
a
y
b
y
x
a
x
b
x
b)
y
*
x
1
x

x
1
‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌ ‌‌x-x
1
‌‌
x
+
+
-
a)
Bộ điều khiển
nơ-ron B
d
Mạng nơ-ron Đối tượng P
y
y
1
‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌ ‌‌d-y‌‌
x
+
+
-
b)
Tiểu luận: NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NEURAL
)(
))1(())((5,8
)5,2)()(2)1()((
)1(
22
ku

out(k-1)=(yp(k+1)-u(k))/20; %output traing data
in(k-1)=yp(k)/20; %input training data
end;
Chú ý rằng dữ liệu đào tạo vào và ra đều được chia cho hệ số tỉ lệ và trong ví dụ
này, hệ số tỉ lệ là 20. Việc chia cho hệ số tỉ lệ là cần thiết khi sử dụng các hàm kích
thích dạng sigmoid để nén dữ liệu. Người thiết kế phải có kinh nghiệm trong việc chọn
hệ số ti lệ một cách phù hợp để mạng nơ-ron hội tụ nhanh hơn. Hệ số tỉ lệ lớn quá
hoặc nhỏ quá cũng đều ảnh hưởng đáng kể đến các đặc tính hội tụ của mạng.
2. Thiết lập các vec-tơ dữ liệu vào/ra để đào tạo mạng nơ-ron:
Ở đây, dữ liệu vào plantin được thiết lập thành một cặp dưới dạng:





















)299(
, ,
)4(
)3(
,
)3(
)2(
,
)2(
)1(
)1(
)(
in
in
in
in
in
in
in
in
ky
ky
p
p
Và dữ liệu ra plantout cho mỗi cặp dữ liệu vào tương ứng được thiết lập dưới dạng:
{ } { } { } { }
[ ]
)299(, ,)3(,)2(,)1( outoutoutout
Biểu diễn trong MATLAB, ta có:
plantin=[in(1:299);in(2:300)];

plot(plantout,'k');
hold on;
plot(trainedout,'r');
legend ('Dap ung thuc cua doi tuong','Dap ung cua mang noron')
axis([0,300,-0.1,0.35]);
xlabel('timestep');
ylabel('Plant(solid) NN Output(dotted)');
Kết hợp các phần đã phân tích trên đây, ta có đoạn chương trình hoàn chỉnh viết
trong MATLAB có tên file Dap_ung_ngau_nhien.m như sau:
%Thiet lap cap du lieu vao/ra de dao tao mang noron
Học viên: Huỳnh Văn Minh – TĐH_ K24 Trang 6
Tiểu luận: NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NEURAL
yp(1)=0;
yp(2)=0;
u=rands(1,301)*2;
for k=2:301
yp(k+1)=yp(k)*(yp(k-1)+2)*(yp(k)+2.5)/(8.5+yp(k)^2+yp(k-1)^2)+u(k);
out(k-1)=(yp(k+1)-u(k))/20;
in(k-1)=yp(k)/20;
end;
%%Thiet lap cac vecto du lieu vao/ra cho dao tao mang noron
plantin=[in(1:299);in(2:300)];
plantout=out(1:299);
%%Chon so do mang noron, phuong phap dao tao va thiet lap cac tham so %%
chi tieu trong qua trinh dao tao
net=newff(minmax(plantin),[1 10 1],{'tansig' 'tansig' 'tansig'}, 'trainlm',
'learngdm','mse')
net=init(net);
net.iw{1,1}
net.b{1}

)2,0cos(5,1)( kku
π
=
với k є [200,600]
Biểu diễn trong MATLAB lấy tên file Dap_ung_ham_sin_cos.m như sau:
%Thiet lap cap du lieu vao/ra de dao tao mang noron
yp(1)=0;
yp(2)=0;
out1(1)=0;
out1(2)=0;
Học viên: Huỳnh Văn Minh – TĐH_ K24 Trang 8
Hình 4: Đáp ứng của mạng nơ-ron và đáp ứng thực của đối tượng ứng với đầu
vào là tín hiệu ngầu nhiên
Tiểu luận: NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NEURAL
for k=2:600
if(k<=200) u(k)=2.5*sin(0.1*pi*k);
else
u(k)=1.5*sin(0.2*pi*k);
end
%%Thiet lap cac vecto du lieu vao/ra cho dao tao mang noron
yp(k+1)=yp(k)*(yp(k-1)+2)*(yp(k)+2.5)/(8.5+yp(k)^2+yp(k-1)^2)+u(k);
out1(k)=yp(k)/20;
out1(k-1)=yp(k-1)/20;
nnout(k+1)=20*sim(net,[out1(k);out1(k-1)])+u(k);
end;
plot(yp,'k');
hold on;
plot(nnout,'r');
legend ('Dap ung thuc cua doi tuong','Dap ung cua mang noron');
axis([0,600,-4.0,10]);

'Position',[0.8 0.32 0.15 0.05],'Callback','DAP_UNG_HAM_SIN_COS');
popup_out1(k)= uicontrol(gcf,'Style', 'Popupmenu', 'String','HAM SIN|HAM
COS','Value', 1,
'Position',[0.8 0.75 0.15 0.05],'Callback','DAP_UNG_HAM_SIN_COS');

radio_E = uicontrol(gcf,'Style', 'Radiobutton', 'String', 'Yes/No','Value', 1,
'Position',[0.8 0.45 0.15 0.05], 'callback','DAP_UNG_HAM_SIN_COS');
biendo = uicontrol(gcf, 'Style', 'Text', 'String', '[constan]', 'Position',[0.9 0.1 0.05
0.04],
'HorizontalAlignment','Right');
dienap = uicontrol(gcf, 'Style', 'Text', 'String', '[u(k)]', 'Position',[0.9 0.25 0.06 0.04],
'HorizontalAlignment','Right');
set(biendo,'BackgroundColor', [0.5 0.5 0.5]);
set(dienap,'BackgroundColor', [0.5 0.5 0.5]);
nhan1 = uicontrol(gcf, 'Style', 'Text', 'String','bien do A', 'Position',[0.8 0.55 0.15
0.05],
'HorizontalAlignment','center');
set(nhan1,'BackgroundColor', [0.5 0.5 0.5]);
nhan2 = uicontrol(gcf, 'Style', 'Text', 'String','he so goc phi', 'Position',[0.8 0.5 0.15
0.05],
'HorizontalAlignment','center');
Học viên: Huỳnh Văn Minh – TĐH_ K24 Trang 10
Tiểu luận: NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NEURAL
set(nhan2,'BackgroundColor', [0.5 0.5 0.5]);
nhan3 = uicontrol(gcf, 'Style', 'Text', 'String','Gia tri dat vao', 'Position',[0.8 0.37 0.15
0.05],
'HorizontalAlignment','center');
set(nhan3,'BackgroundColor', [0.5 0.5 0.5]);
nhan4 = uicontrol(gcf, 'Style', 'Text', 'String','Do thi dap ung thuc cua doi tuong va dap
ung mang neural',


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status