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 )

12 535 0
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 )

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 Giả sử ta có hệ thống nhận dạng đối tượng dùng mạng nơron như hình 1: Ta sử dụng mô hình thuận (hình 1.a) để nhận dạng đối tượng. Tín hiệu vào x được đưa vào đồng thời cho cả đối tượng P và mạng nơron. Tín hiệu ra của mạng nơron y1 được so sánh với tín hiệu ra y của đối tượng P. Ta có sai lệch dy1. Trong đó: + d=y là tín hiệu ra của đối tượng ứng với tín hiệu vào x , đây cũng chính là tín hiệu ra mong muốn đạt được của mạng nơron. + y1 là tín hiệu ra thực của mạng nơron. Chuẩn của vectơ sai lệch ׀׀1y d׀׀ sẽ được sử dụng để đào tạo mạng nơron. Nó sẽ được lan truyền ngược trên toàn cấu trúc mạng để thay đổi khối lượng liên kết giữa 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 → y1 ~ 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 1b. 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 x1 được so sánh với tín hiệu vào của đối tượng P. Chuẩn của véctơ sai lệch ׀׀xx1׀׀ sẽ được sử dụng để đào tạo mạng nơron. Nó được lan truyền ngược trên toàn cấu trúc mạng để thay đổi khối lượng liên kết giữa các nơron để làm giảm thiểu độ sai lệch này. Mạng nơron sau khi đào tạo sẽ chính là mô hình ngược của đối tượng P. Nó thực hiện một ánh xạ ngược y→x1 ~x với bất kỳ một cấp chính xác bất kỳ nào mà ta mong muốn. Tuy nhiên, nếu mô hình ngược của đối tượng P không tồn tại duy nhất, nghĩa là ứng với một giá trị của y sẽ có nhiều hơn một giá trị của x, thì ta không thể thực hiện nhận dạng thành công được, chẳng hạn như trên hình 2. Trong trường hợp này, mạng nơron chỉ thực hiện được một ánh xạ ngược y→x1 bằng giá trị trung bình của các giá trị x.

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 Giả sử ta có hệ thống nhận dạng đối tượng dùng mạng nơ-ron như hình 1: Ta sử dụng mô hình thuận (hình 1.a) để nhận dạng đối tượng. Tín hiệu vào x được đưa vào đồng thời cho cả đối tượng P và mạng nơ-ron. Tín hiệu ra của mạng nơ-ron y 1 được so sánh với tín hiệu ra y của đối tượng P. Ta có sai lệch d-y 1 . Trong đó: + d=y là tín hiệu ra của đối tượng ứng với tín hiệu vào x , đây cũng chính là tín hiệu ra mong muốn đạt được của mạng nơ-ron. + y 1 là tín hiệu ra thực của mạng nơ-ron. Chuẩn của vec-tơ sai lệch ‌‌׀׀ 1 y - d ׀׀ sẽ được sử dụng để đào tạo mạng nơ-ron. Nó sẽ được lan truyền ngược trên toàn cấu trúc mạng để thay đổi khối lượng liên kết giữa Học viên: Huỳnh Văn Minh – TĐH_ K24 Trang 2 Mạng nơ-ron Đối tượng P y x 1 ‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌ ‌‌x-x 1 ‌‌ x + + - 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 1 ׀׀ sẽ được sử dụng để đào tạo mạng nơ-ron. Nó được lan truyền ngược trên toàn cấu trúc mạng để thay đổi khối lượng liên kết giữa các nơ- ron để làm giảm thiểu độ sai lệch này. Mạng nơ-ron sau khi đào tạo sẽ chính là mô hình ngược của đối tượng P. Nó thực hiện một ánh xạ ngược y→x 1 ~x với bất kỳ một cấp chính xác bất kỳ nào mà ta mong muốn. Tuy nhiên, nếu mô hình ngược của đối tượng P không tồn tại duy nhất, nghĩa là ứng với một giá trị của y sẽ có nhiều hơn một giá trị của x, thì ta không thể thực hiện nhận dạng thành công được, chẳng hạn như trên hình 2. Trong trường hợp này, mạng nơ-ron chỉ thực hiện được một ánh xạ ngược y→x 1 bằng giá trị trung bình của các giá trị x. Khi tham số của đối tượng thay đổi trong quá trình hoạt động, các khối lượng của mạng nơ-ron sẽ được thay đổi thích nghi với sự thay đổi tham số đó của đối tượng nếu mạng được đào tạo on-line. Như vậy nhận dạng đối tượng điều khiển dùng mạng nơ- ron mang tính thích nghi với sự thay đổi tham số của đối tượng trong quá trình hoạt động. Hình 3-a trình bày một cấu trúc mạng được đào tạo on-line để nhận dạng một đối tượng điều khiển trong một hệ hở. Trong mô hình này có hai mạng nơ-ron A và B. Bộ điều khiển nơ-ron B là một phiên bản sao chép y nguyên theo mạng nơ-ron A. Mạng nơ-ron A được đào tạo nhận dạng mô hình ngược của đối tượng. Mạng nơ-ron B sẽ bám theo mạng nơ-ron A sau mỗi một bước đào tạo, nên tín hiệu vào d của bộ điều khiển nơ-ron B sẽ bằng tín hiệu ra y của đối tượng P, có nghĩa là d=y. Vậy tín hiệu vào của bộ điều khiển nơ-ron B chính là tín hiệu mong muốn nhận được của hệ thống. Nhưng ta lưu ý rằng sơ đồ này chỉ có thể thực hiện được khi mô hình ngược của đối tượng tồn tại duy nhất. Mặt khác, sơ đồ này không kinh tế vì phải sử dụng đến hai mạng nơ-ron. Sơ đồ điều khiển hình 3-b có chức năng giống như sơ đồ điều khiển trên hình 5-a, nhưng nó chỉ cần duy nhất một mạng nơ-ron. Tín hiệu vào mạng nơ-ron là giá trị mong muốn nhận được của hệ thống. Chuẩn của vec-tơ sai lệch ׀׀d-y׀׀được sử 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 2 Hình 2: Ví dụ nhận dạng mô hình ngược Mô hình ngược tồn tại duy nhất Mô hình ngược không tồn tại duy nhất Tiểu luận: NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NEURAL dụng để đào tạo mạng nơ-ron. Mạng nơ-ron được đào tạo chính là mô hình ngược của đối tượng. Chú ý rằng, các sơ đồ nhận dạng điều khiển ở trên chỉ dùng cho các hệ thống tĩnh, nghĩa là tín hiệu vào/ra là bất biến với thời gian. Đối với hệ thống động, mạng nơ-ron sẽ cần đến các tín hiệu ra của hệ thống ở các thời điểm trước đó để nhận dạng đối tượng. Vì thế ta sẽ thêm vào các khâu lấy trễ tín hiệu ra và dùng làm tín hiệu vào cấp cho mạng nơ-ron. VÍ DỤ NHẬN DẠNG HỆ THỐNG Trong phần này, ta sẽ thực hiện minh hoạ một ví dụ đơn giản thông qua mô phỏng trên MATLAB. Như đã trình bày, mục đích của nhận dạng đối tượng là để tìm ra một mô hình phù hợp của đối tượng phi tuyến bằng cách quan sát các tín hiệu vào/ra của đối tượng đó. Đối với một quá trình phi tuyến cho trước, ta cần phải tính được mối quan hệ về mặt hàm số giữa tín hiệu vào và tín hiệu ra. Bản thân của đối tượng là một hộp đen có cấu trúc chưa biết. Tất cả những gì mà ta có thể quan sát được là những gì đi vào và đi ra khỏi hộp đen. Đối với quá trình nhận dạng như thế, áp dụng mạng nơ- ron để nhận dạng sẽ cho kết quả tốt nhất. Ta xét một ví dụ sau: Một hệ thống phi tuyến được mô tả bởi phương trình: Học viên: Huỳnh Văn Minh – TĐH_ K24 Trang 4 Hình 3: Điều khiển hệ hở với mạng nơ-ron nhận dạng mô hình ngược a) Dùng hai mạng nơ-ron b) Dùng một mạng nơ-ron Mạng nơ-ron Đối tượng P y 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 kyky kykyky ky pp ppp p + −++ ++− =+ Đối tượng này hoạt động ổn định đối với u(k) є [-2,2]. Mục đích trong ví dụ này là đào tạo mạng nơ-ron thẳng theo luật học lan truyền ngược để sau khi đào tạo, tín hiệu ra của mạng và tín hiệu thực của đối tượng là trùng nhau ứng với cùng một đầu vào. Phần dưới đây trình bày các bước thiết kế mạng nơ-ron để nhận dạng đối tượng một cách tuần tự. 1. Tìm một cặp dữ liệu vào/ra để đào tạo mạng nơ-ron: Trong ví dụ này, ta mô phỏng hệ phi tuyến trên để tìm dữ liệu đào tạo. Trong các hệ thống thực, dữ liệu đào tạo thu được từ thực nghiệm. Ta tạo vec-tơ tín hiệu vào u [- 2,2]. Mục đích là để tạo một vec-tơ tín hiệu vào ngẫu nhiên để phát ra một vec-tơ các tín hiệu ra tương ứng. Trong ví dụ này, ta tạo ra một vec-tơ có 301 tín hiệu vào ngẫu nhiên. Mô phỏng đáp ứng của đối tượng phi tuyến sử dụng vec-tơ tín hiệu vào ngẫu nhiên đó để tạo ra các cặp dữ liệu đào tạo. Biểu diễn trong MATLAB, ta có: yp(1)=0; %yp(1)=y(k-1) yp(2)=0; %yp(2)=y(k) u=rands(1,301)*2; %-2<=u(k)<=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; %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:                               =                   + )300( )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)]; plantout=out(1:299); 3. Chọn sơ đồ mạng nơ-ron, chọn phương pháp đào tạo và thiết lập các tham số chỉ tiểu trong quá trình đào tạo: Học viên: Huỳnh Văn Minh – TĐH_ K24 Trang 5 Tiểu luận: NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NEURAL Ở đây, ta chọn sơ đồ mạng nơ-ron thẳng 3 lớp, trong đó có 1 lớp ẩn có 10 nơ-ron. Lớp nơ-ron vào và ra đều có 1 nơ-ron. Các nơ-ron đều sử dụng hàm kích thích dạng tansig. Đào tạo mạng theo thuật toán lan truyền ngược kết hợp với thuật toán tìm tối ưu Levenberg-Marquardt. Trước tiên, ta khởi tạo các khối lượng, sau đó thiết lập số epochs đào tạo và sai số nhỏ nhất có thể chấp nhận được. Ta có thể phải tăng số epochs để quá trình đào tạo mạng hội tụ. Mặt khác, ta cũng có thể tăng giá trị sai số nhỏ nhất có thể chấp nhận được để quá trình đào tạo mạng hội tụ. Trong ví dụ này, ta chọn epochs=500 và sai số nhỏ nhất là 0,0005. Biểu diễn trong MATLAB, ta có: net=newff(minmax(plantin),[1 10 1],{'tansig' 'tansig' 'tansig'}, 'trainlm', 'learngdm','mse') net=init(net); net.iw{1,1} net.b{1} net.trainParam.epochs=500; net.trainParam.goal=0.0005; 4. Đào tạo mạng nơ-ron: Biểu diễn trong MATLAB, ta có: net=train(net, plantin, plantout); 5. Tìm đáp ứng của mạng nơ-ron : Với các tín hiệu vào ngẫu nhiên đã sử dụng để đào tạo, đồng thời so sánh đáp ứng của mạng nơ-ron với đáp ứng thực của đối tượng. Biểu diễn trong MATLAB, ta có: trainedout=sim(net,plantin); 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} net.trainParam.epochs=500; net.trainParam.goal=0.0005; %%Dao tao mang noron net=train(net, plantin, plantout); %%Tim dap ung cua mang noron, Mo phong dap ung va tin hieu vao trainedout=sim(net,plantin); 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)'); Sau khi mô phỏng, ta được kết quả như ở hình 4: Học viên: Huỳnh Văn Minh – TĐH_ K24 Trang 7 Tiểu luận: NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NEURAL Nhận xét kết quả: Đáp ứng của mạng nơ-ron được đào tạo và đáp ứng thực của đối tượng tương đối trùng nhau. Bây giờ, ta muốn rằng mạng nơ-ron vừa được đào tạo ở trên có thể đưa ra các đáp ứng trùng với đáp ứng thực của đối tượng ứng với cùng một tín hiệu vào khác với các tín hiệu vào đã được sử dụng để đào tạo mạng. Nếu hai đáp ứng trùng nhau thì mạng nơ-ron đó có thể sử dụng để nhận dạng đối tượng rất tốt. Còn nếu hai đáp ứng chưa trùng nhau thì ta cần phải quay lại bước 1 để thu thêm dữ liệu đào tạo và đào tạo thêm cho mạng. Trong ví dụ này, ta tìm đáp ứng của mạng nơ-ron và đáp ứng thực của đối tượng ứng với tín hiệu vào theo hàm sin và cos: )1,0sin(5,2)( kku π = với k є [0,200] )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]); xlabel('Timestep'); ylabel('Plant(solid) NN Output(dotted)'); Sau khi mô phỏng, ta được kết quả như ở hình 5: Học viên: Huỳnh Văn Minh – TĐH_ K24 Trang 9 Hình 5: Đáp ứng của mạng nơ-ron và đáp ứng thực của đối tượng ứng với một đầu vào khác Tiểu luận: NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NEURAL Nhận xét: Kết quả mô phỏng cho ta thấy đáp ứng của mạng nơ-ron được đào tạo và đáp ứng thực của đối tượng tương đối trùng nhau. Do vậy ta không cần phải đào tạo thêm cho mạng. 6 Màn hình giao diện(GUI): Đây là màn hình giao diện giữa người và máy để vẽ đồ thị cho thấy được độ bám của mạng nơ-ron theo đáp ứng thực của đối tượng . Đối với ví dụ trên ta có thể thay đổi biên độ A hay hệ số góc ϕ của hàm sin hoặc cos thì ta thấy được độ bám theo đối tượng thực của mạng nơ-ron tốt hay không tốt. Biểu diễn trong MATLAB lấy tên file Huynh_Van_Minh_dothi.m như sau: % Tao khung do thi ve tu file 'Name'dap ung ham sin cos figNumber=figure('Name','DAP_UNG_HAM_SIN_COS','NumberTitle','on','Visible',' on'); colordef(figNumber,'black') axes('Units','normalized','Position',[0.10 0.25 0.60 0.65]); set(gcf,'DefaultUicontrolUnit','Normalized') frame02 = uicontrol(gcf,'Style','frame', 'Position',[0.775 0.05 0.2 0.8]); set(frame02,'BackgroundColor', [0.5 0.5 0.5]); edit_k= uicontrol(gcf,'Style', 'Edit', 'String','4','Position',[0.8 0.1 0.1 0.05], 'HorizontalAlignment','Right','callback','DAP_UNG_HAM_SIN_COS'); slider_yp(k+1) = uicontrol(gcf, 'Style', 'Slider', 'Min', 0 ,'Max', 10, 'Value',4, 'Position',[0.8 0.17 0.15 0.05],'Callback','DAP_UNG_HAM_SIN_COS'); slider_out1(k-1) = uicontrol(gcf, 'Style', 'Slider', 'Min', 0,'Max',10, 'Value',1, '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 [...]... 0.5 0.4 ]); pause(0. 5); set(nhan5,'BackgroundColor', [0.9 0.0 0.9 ]); pause(0. 5); set(nhan5,'BackgroundColor', [0.4 0.9 0.6 ]); pause(0. 5); set(nhan5,'BackgroundColor', [0.9 0.3 0.07 ]); pause(0. 5); set(nhan5,'BackgroundColor', [0.9 0.9 0.0 ]); Sau khi mô phỏng, ta được kết quả như ở hình 6: Học viên: Huỳnh Văn Minh – TĐH_ K24 Trang 11 Tiểu luận: NHẬN DẠNG ĐỐI TƯỢNG ĐIỀU KHIỂN DÙNG MẠNG NEURAL KẾT LUẬN Nhờ... khả năng học, mạng có thể thích nghi với sự thay đổi tham số của đối tượng điều khiển trong quá trình hoạt động Vì thế, nhận dạng đối tượng điều khiển sử dụng mạng nơ-ron là rất hiệu quả Kết quả mô phỏng trên MATLAB cũng cho thấy đáp ứng của mạng nơ-ron bám theo đáp ứng thực của đối tượng điều khiển là rất tốt  - Hình 6: Đáp ứng của mạng nơ-ron và đáp ứng thực của đối tượng ứng...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' , 'Position',[0.1... 0.04],'HorizontalAlignment','center '); set(nhan4,'BackgroundColor', [0.5 0.5 0.9 ]); nhan5 = uicontrol(gcf, 'Style', 'Text', 'String','HUYNH VAN MINH 2013- neural thay HIEN', 'Position',[0.1 0.05 0.6 0.04],'HorizontalAlignment','center '); set(nhan5,'BackgroundColor', [0.5 0.5 0.9 ]); nhan6 = uicontrol(gcf, 'Style', 'Text', 'String','MENU DIEU KHIEN', 'Position',[0.775 0.87 0.2 0.04], 'HorizontalAlignment','center '); set(nhan6,'BackgroundColor',... thấy đáp ứng của mạng nơ-ron bám theo đáp ứng thực của đối tượng điều khiển là rất tốt  - Hình 6: Đáp ứng của mạng nơ-ron và đáp ứng thực của đối tượng ứng với một đầu vào khác Học viên: Huỳnh Văn Minh – TĐH_ K24 Trang 12

Ngày đăng: 05/11/2014, 15:51

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan