Ứng dụng mạng nơ ron trong nhận dạng và điều khiển

72 14 2
Ứng dụng mạng nơ ron trong nhận dạng và điều khiển

Đ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

Nhan đề : Ứng dụng mạng nơron trong nhận dạng và điều khiển Tác giả : Tạ Thị Chinh Người hướng dẫn: Nguyễn Hoài Nam Từ khoá : Mạng nơron Năm xuất bản : 2020 Nhà xuất bản : Trường đại học Bách Khoa Hà Nội Tóm tắt : Tổng quan về mạng nơ ron và ứng dụng; phương pháp điều khiển dự báo dựa trên mạng nơ ron; thiết kế bộ điều khiển dự báo cho cánh tay máy một bậc tự do.

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Ứng dụng mạng nơ-ron nhận dạng điều khiển TẠ THỊ CHINH Ngành Kỹ thuật Điều khiển Tự động hóa Giảng viên hướng dẫn: TS Nguyễn Hồi Nam Viện: Điện HÀ NỘI, 2020 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Ứng dụng mạng nơ-ron nhận dạng điều khiển TẠ THỊ CHINH Ngành Kỹ thuật Điều khiển Tự động hóa Giảng viên hướng dẫn: TS Nguyễn Hoài Nam Chữ ký GVHD Viện: Điện HÀ NỘI, 2020 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Họ tên tác giả luận văn: Tạ Thị Chinh Đề tài luận văn: Ứng dụng mạng nơ-ron nhận dạng điều khiển Chuyên ngành: Kỹ thuật điều khiển tự động hóa Mã số HV: CB180117 Tác giả, Người hướng dẫn khoa học Hội đồng chấm luận văn xác nhận tác giả sửa chữa, bổ sung luận văn theo biên họp Hội đồng ngày 29/10/2020 với nội dung sau: - Thống kí hiệu luận văn - Đã sửa chữa lỗi tả, bỏ đại từ ta phần tóm tắt kết luận chương - Đưa định nghĩa Robot công nghiệp vào mục 1.5 Ngày tháng năm 2020 Giáo viên hướng dẫn Tác giả luận văn TS Nguyễn Hoài Nam Tạ Thị Chinh CHỦ TỊCH HỘI ĐỒNG LỜI CẢM ƠN Trước tiên, tơi xin bày tỏ lịng biết ơn chân thành sâu sắc tới người trực tiếp hướng dẫn khoa học TS Nguyễn Hoài Nam Thầy tạo điều kiện gợi mở cho tơi nhiều ý tưởng, ln tận tình hướng dẫn suốt thời gian nghiên cứu thực luận án Đồng thời xin gửi lời cảm ơn đến thầy cô môn Điều khiển tự động – Viện Điện – Trường Đại học Bách khoa Hà Nội, nhiệt tình có góp ý xây dựng để tơi hồn thành luận văn Tơi xin trân trọng cảm ơn tới Ban giám hiệu, Viện đào tạo sau đại học, Viện điện - Trường Đại học Bách khoa Hà Nội tạo điều kiện thuận lợi cho tơi q trình học tập nghiên cứu để hồn thành luận văn Xin chân thành cảm ơn! Hà Nội, ngày tháng Tác giả Tạ Thị Chinh năm 2020 MỤC LỤC DANH MỤC HÌNH VẼ i DANH MỤC CÁC CHỮ CÁI VIẾT TẮT VÀ KÝ HIỆU ii CHƯƠNG MẠNG NƠ-RON VÀ ỨNG DỤNG 1.1 Lịch sử phát triển mạng nơ-ron 1.2 Mạng nơ-ron nhân tạo 1.3 Ứng dụng mạng nơ-ron 1.4 Mơ hình nơ-ron nhân tạo 1.4.1 Mơ hình nơ-ron 1.4.2 Cấu trúc mạng 1.5 Ứng dụng điều khiển 12 1.5.1 Nhận dạng hệ thống 12 1.5.2 Thiết kế điều khiển 12 1.5.3 Ứng dụng cánh tay Robot bậc tự 18 1.6 Kết luận chương 19 CHƯƠNG PHƯƠNG PHÁP ĐIỀU KHIỂN DỰ BÁO DỰA TRÊN MẠNG NƠRON 20 2.1 Phương pháp điều khiển dự báo 20 2.2 Phương pháp điều khiển dự báo dựa mạng nơ-ron 22 2.2.1 Nhận dạng dùng mạng nơ-ron 22 2.2.2 Phương pháp tối ưu 28 2.2.3 Mơ hình mạng nơ-ron 42 2.3 Kết luận chương 45 CHƯƠNG THIẾT KẾ BỘ ĐIỀU KHIỂN DỰ BÁO CHO CÁNH TAY MÁY MỘT BẬC TỰ DO 46 3.1 Mơ hình tốn cánh tay máy bậc tự 46 3.2 Nhận dạng dùng mạng nơ-ron 47 3.3 Tuyến tính hóa mạng nơ-ron 52 3.4 Thiết kế điều khiển dự báo dùng mạng nơ-ron 54 3.5 Kết mô 57 3.6 Kết luận chương 58 KẾT LUẬN- KIẾN NGHỊ 60 TÀI LIỆU THAM KHẢO 61 PHỤ LỤC 62 DANH MỤC HÌNH VẼ Hình 1.1 Mạng nơ-ron sinh học [8] Hình 1.2 Sơ đồ mơ hình nơ-ron đầu vào Hình 1.3 Đồ thị hàm a=tansig(n) Hình 1.4 Mơ hình nơ-ron với R đầu vào Hình 1.5 Sơ đồ rút gọn nơ-ron với R đầu vào Hình 1.6 Sơ đồ cấu trúc lớp nơ-ron [3] Hình 1.7 Cấu trúc mạng nơ-ron lớp Hình 1.8 Sơ đồ rút gọn R đầu vào S nơ-ron Hình 1.9 Cấu trúc mạng nơ-ron lớp 10 Hình 1.10 Sơ đồ rút gọn mạng nơ-ron lớp 10 Hình 1.11 Sơ đồ mạng hồi quy 11 Hình 1.12 điều khiển theo nguyên tắc phản hồi đầu [2] 12 Hình 2.1 Cấu trúc hệ điều khiển dự báo 20 Hình 2.2 Đường đồng mức, véc-tơ gradient quỹ đạo tìm nghiệm tối ưu [2] 37 Hình 2.3 Nguyên tắc làm việc phương pháp tìm nghiệm có hướng (line search) [2] 38 Hình 3.1 Cánh tay máy bậc tự 47 Hình 3.2: Tín hiệu đầu vào mẫu 48 Hình 3.3 Tạo đầu mẫu từ mơ hình Simulink 48 Hình 3.4 Tín hiệu đầu mẫu 49 Hình 3.5 Cấu trúc mạng nơ-ron đối tượng nnp 50 Hình 3.6 Mơ hình huấn luyện cánh tay máy 50 Hình 3.7 Đáp ứng đầu mạng nơ-ron sai số 51 Hình 3.8 Đồ thị hàm mục tiêu 51 Hình 3.9 Tín hiệu điều khiển tối ưu 58 Hình 3.10 Đáp ứng đầu giá trị đặt 58 Bảng 2.1: Bảng cơng thức tính ma trận Hesse 34 i DANH MỤC CÁC CHỮ CÁI VIẾT TẮT VÀ KÝ HIỆU Chữ viết tắt Giải thích IEEE Institute of Electrical and Electronic Engineer IJCNN International Joint Conference on Neural Networks ANN Mạng nơ-ron nhân tạo IC Vi mạch ARMA Autoregressive moving average NNc Neural- network control NNp Neural-network plant NN Neural-network MAC Model Algorithmic Control DMC Dynamic Matrix Control GPC Generalized Predictive Control Anns Mạng nơ-ron nhân tạo RBF Radial Basis Function LTI tuyến tính tham số LM Levenberg Marquardt MPC Model Predictive Control LS Least Square MLP MultiLayer Preceptron Neural Networks ii CHƯƠNG MẠNG NƠ-RON VÀ ỨNG DỤNG 1.1 Lịch sử phát triển mạng nơ-ron Từ năm 1890, nghiên cứu nhà tâm lý học William phát hệ nơ-ron thần kinh người Đến năm 1943, nhà thần kinh học Warren Mcculloch nhà tốn học Walter Piits có cơng trình nghiên cứu mạng nơron nhân tạo tính hàm đại số logic, họ xây dựng mạng nơ-ron đơn giản mạch điện Đây coi nguồn gốc lĩnh vực mạng nơ-ron Đầu năm 1950, Nathanial Rochester có mơ mạng nơ-ron phịng thí nghiệm nghiên cứu IBM Năm 1956, dự án Dartmouth nghiên cứu trí tuệ nhân tạo (Artificial Intelligence) mở thời kỳ phát triển lĩnh vực trí tuệ nhân tạo lẫn nơ-ron Sau đó, John von Neumann sử dụng role điện áp đèn chân không mô nơ-ron đơn giản Năm 1958, nhà sinh học Frank Rosenblatt nghiên cứu perception luật học Mạng perception có khả nhận dạng mẫu, nhiên giải số tốn mà thơi, khơng dùng cho hàm logic phức Năm 1959, Bernard Windrow Ted Hoff thuộc trường đại học Stanford đưa luật học dùng để huấn luyện mạng nơ-ron tuyến thích nghi MADALINE, mạng có cấu trúc khả tương tự mạng mạng perceptron Rosenblatt Luật học Windrow Hoff sử dụng Tuy nhiên nghiên cứu bị dừng lại nhiều thập kỷ sau Một mạng nơ-ron phát triển độc lập, thực nhớ Kohonen Anderson nghiên cứu vào năm 1972 Năm 1973 Von Der Marlsburg đưa trình học cạnh tranh mạng tự tổ chức Self-organization Năm 1974 Paul Werbos phát triển ứng dụng phương pháp Back-propagation (lan truyền ngược) Các mạng biết đến nhiều áp dụng rộng rãi ngày Đầu năm 80, John Hopfield đưa mạng nơ-ron hồi quy David Rumelhart James Mcclelland tác giả đưa thuật toán lan truyền ngược để huấn luyện mạng Perceptron nhiều lớp Vào đầu năm 1990, thuật toán Leven-berg Marquart Martin Hagan đề xuất để huấn luyện mạng Bên cạnh cịn có phương pháp Bayes sử dụng nhiều việc huấn luyện mạng nhiều lớp Cũng thời gian này, Lecun đồng tác giả nghiên cứu ứng dụng mạng nơ-ron nhiều lớp để xử lý ảnh, mạng nơ-ron gọi mạng tích chập (Convolutional Networks) ứng dụng nhiều lĩnh vực xử lý ảnh, giọng nói tín hiệu Từ sau năm 1987 đến nay, mạng nơ-ron trở thành vấn đề quan tâm nước, hội thảo quốc tế liên tục diễn để phát triển nơ-ron cách triệt để nhất: viện vật lý Hoa Kỳ tổ chức họp hàng năm mạng nơ-ron ứng dụng tin học năm 1985, hội thảo quốc tế mạng nơron Viện kỹ sư điện điện tử IEEE (Institute of Electrical and Electronic Engineer) Hàng năm giới mở hội nghị toàn cầu chuyên Neural IJCNN (International Joint Conference on Neural Networks) 1.2 Mạng nơ-ron nhân tạo Mạng nơ-ron nhân tạo (anns) hay hệ thống kết nối hệ thống tính tốn lấy cảm hứng từ mạng thần kinh sinh học cấu thành não Một ANN dựa tập hợp đơn vị kết nối gọi tế bào thần kinh nhân tạo (artificial Nơ-rons) tương tự tế bào thần kinh sinh học não Mỗi khớp (synapse) nơ-ron truyền tín hiệu đến nơ-ron khác Tế bào thần kinh nhân tạo (post - synaptic) xử lý tín hiệu sau truyền xuống tín hiếu tới nơ-ron kết nối với Các nơ-ron có trạng thái, thường biểu thị số thực, thường nằm khoảng từ đến Các nơ-ron khớp thần kinh có trọng số thay đổi tiến hành học tập, tăng giảm cường độ tín hiệu mà truyền xuống Thơng thường, nơ-ron tổ chức theo lớp Các lớp khác thực loại biến đổi khác đầu vào chúng Tín hiệu truyền từ lớp (đầu vào), đến lớp (đầu ra) cuối cùng, sau qua lớp nhiều lần Mục tiêu ban đầu mạng nơ-ron giải vấn đề theo cách tương tự não người Theo thời gian, ý tập trung vào việc phù hợp với khả cụ thể, dẫn đến sai lệch so với sinh học truyền ngược, truyền thông tin theo hướng ngược lại điều chỉnh mạng để phản ánh thông tin Hình 1.1 Mạng nơ-ron sinh học [8] Neural Networks sử dụng nhiều nhiệm vụ, bao gồm thị giác máy tính, nhận dạng giọng nói, dịch máy, lọc mạng xã hội chẩn đoán y tế Tính đến năm 2017, Neural Networks thường có vài nghìn đến vài triệu đơn vị hàng triệu kết nối Mặc dù số nhỏ số lượng tế bào thần kinh não người, mạng thực nhiều nhiệm vụ cấp độ vượt xa người (ví dụ: nhận diện khn mặt, chơi “Go” …) 1.3 Ứng dụng mạng nơ-ron Mạng nơ-ron ứng dụng nhiều để giải toán thực tế phân loại (ảnh, giọng nói, tín hiệu), xấp xỉ, dự báo, nhận dạng hệ thống thiết kế điều khiển Sau số ứng dụng mạng nơ-ron : • Điện tử: bố trí chíp IC, điều khiển trình, phân tích lỗi chip, thị lực máy, tổng hợp tiếng nói, mơ hình hóa phi tuyến • Robot: điều khiển quỹ đạo, xe nâng hàng, điều khiển tay máy, hệ thống thị giác, xe tự hành Hình 3.7 Đáp ứng đầu mạng nơ-ron sai số Hình 3.8 Đồ thị hàm mục tiêu Nhận xét: - Giá trị hàm mục tiêu: Giá trị hàm mục tiêu giảm nhanh tiến tới không - Đáp ứng đầu ra: Đáp ứng đầu dao động đoạn [-2;2], đáp ứng tín hiệu điều khiển mong muốn 51 - Giá trị sai số: Giá trị sai số nhỏ nằm khoảng [-0.05;0.05] 3.3 Tuyến tính hóa mạng nơ-ron Đầu mơ hình mạng nơ-ron: = a (t ) LW 1,2 a1 + b với b bias, a véc-tơ đầu ra, LW i , j ma trận trọng số liên kết véc-tơ đầu lớp j với đầu vào lớp i Đầu lớp nơ-ron thứ là: a = f (n1 ) 1 : fi1 (ni1 ) = en − e− n = tagsig (n) en + e− n  u (t − 1)   y (t − 1)  1 n = IW 1,1  + IW 1,2   +b u (t − 2)   y (t − 2)  Đặt : = v1 u (t − 1) = v1 u (t − 1) = v3 y (t − 1) = v4 y (t − 2) Ta có hàm phi tuyến đầu vào phụ thuộc vào v1 , v3 , v3 , v4 a (t ) = g (v1 , v2 , v3 , v4 ) Xét thời điểm t , ta có hàm phi tuyến thời điểm là: a (t ) = g (v1 , v2 , v3 , v4 ) Coi giá trị tại thời điểm t là:  v1  v  v0 =    v3    v4  Áp dụng khai triển Taylor ta có: 52 yˆ (t ) ≈ g (v0 ) + ∑ i =1 ∂g ∂vi | v =v0 (vi − vi ,0 ) với g (v0 ) đầu mạng đầu vào thời điểm v = v0 Vì việc tính a1 phức tạp mạng có lớp Do ta dùng quy tắc đạo hàm hợp ∂yˆ ∂y ∂ n ∂y ∂ a ∂ n = a1 = = ∂v1 ∂ n ∂v1 ∂ a1 ∂ n1 ∂v1 1 ∂n = IW 1,1 ∂v1  n11   1  n2   n31  1 = n = , a 1  n4   n1   51   n6   a11   1  a2   a31   1  a4   a1   51   a6  ai1 = tanh(ni1 ) Đặt:  ∂a11   ∂n1       a ∂ F = =  ∂n          0 0 ∂a12 ∂n12 0 0 ∂a31 ∂n31 0 ∂a14 ∂n14 0 0 ∂a51 ∂n51 0 0                 ∂a6  ∂n16  với : 53 a1 = ∂y = LW 1,2 F 1.IW(1)1,1 ∂v1 = a2 ∂y 1,1 = LW 1,2 F 1.IW(2) ∂v2 = a3 ∂y = LW 1,2 F 1.IW(1)1,2 ∂v3 = a4 ∂y 1,2 = LW 1,2 F 1.IW(2) ∂v4 Tín hiệu đầu thực tế: y= yˆ − g (u0 ) 1,1 1,1 (u (t − 1) − u0 (t − 1)) + IW(2) (u (t − 2) − u0 (t − 2)) = LW 1,2 F ( IW(1) 1,2 1,1 ( y (t − 1) − y0 (t − 1)) + IW(2) ( y (t − 2) − y0 (t − 2))) + IW(1) với: yˆ = g (v0 ) + a1 (v1 − v1,0 ) + a2 (v2 − v2,0 ) + a3 (v3 − v3,0 ) + a4 (v4 − v4,0 ) [5] 3.4 Thiết kế điều khiển dự báo dùng mạng nơ-ron Đáp ứng xấp xỉ đầu hệ thống là: yˆ (t ) = a1v1 + a2 v2 + a3 v3 + a4 v4 + e(t ) (3.4) Với y ( t ) đáp ứng đầu thời điểm t , a1 , a2 , a3 , a4 hệ số, e(t ) = g (v0 ) − a1v1,0 − a2v2,0 − a3v3,0 − a4v4,0 Áp dụng định luật điều khiển (2.69) cho toán ta mơ hình dự báo: = J ∑ [ yd − yˆ (t + k )] + ρ ∑ [ ∆u (t + k )] → = k 1= k (3.5) Trong thời điểm dự báo t = t + k ta có giá trị đặt yd , ∆u giá trị sai lệch u thời điểm ( t + k + 1) ( t + k ) Với : ∆u (t ) = u (t ) − u (t − 1) ∆u (t + 1) = u (t + 1) − u (t ) (3.6) ∆u (t + 2) = u (t + 2) − u (t + 1) 54 với u là:  u (t )  = u  u (t + 1)  u (t + 2)  Từ phương trình hàm J (u ) (3.5) ta có phương trình tốn sau: J= (u ) T u Au + Bu + C → (3.7) A ma trận có kích thước 3x3 , ma trận đối xứng AT = A , B ma trận 3x1 C số Đạo hàm hàm J theo u ta được: ∂J = Au + B = ∂u (3.8) u* = − A−1 B (3.9) Nghiệm (3.8) là: Từ (3.5) ta có đáp ứng đầu thời điểm t + 1, t + 2, t + là: yˆ (t += 1) a1 y (t ) + a2 y (t − 1) + a3u (t ) + a4 u (t − 1) + e(t ) (3.10) yˆ (t + 2) = a1 y (t + 1) + a2 y (t ) + a3u (t + 1) + a4 u (t ) + e(t ) (3.11) yˆ (t + 3) = a1 y (t + 2) + a2 y (t + 1) + a u (t + 2) + a4 u (t + 1) + e(t ) (3.12) Biến đổi công thức (3.6) ta được:  yd − yd y (t + k ) + y (t + k )  +ρ ∑ ∆u (t + k ) ∑ = k 1= k = J = yd − yd y (t + 1) + y (t + 1) + yd − yd y (t + 2) + y (t + 2) + yd − yd y (t + 3) + y (t + 3) + (3.13) ρ ( ∆u (t ) + ∆u (t + 1) + ∆u (t + 2) ) 55 Thay (3.7), (3.11), (3.12), (3.13) vào (3.14) ta được: J= yd − yd ( a1 y (t ) + a2 y (t − 1) + b1u (t ) + b2u (t − 1) + e(t ) ) + ( a1 y (t ) + a2 y (t − 1) + b1u (t ) + b2u (t − 1) + e(t ) ) + yd − yd ( a1 y (t + 1) + a2 y (t ) + b1u (t + 1) + b2u (t ) + e(t ) ) + ( a1 y (t + 1) + a2 y (t ) + b1u (t + 1) + b2u (t ) + e(t ) ) + yd − yd ( a1 y (t + 2) + a2 y (t + 1) + b1u (t + 2) + b2u (t + 1) + e(t ) ) + ( a1 y (t + 2) + a2 y (t + 1) + b1u (t + 2) + b2u (t + 1) + e(t ) ) 2 + ρ ( u (t ) − u (t − 1) ) + ( u (t + 1) − u (t ) ) + ( u (t + 2) − u (t + 1) )    Đặt: m = a1 y (t ) + a2 y (t − 1) + e(t ) m2 = a1 y (t + 1) + a2 y (t ) + e(t ) m3 = a1 y (t + 2) + a2 y (t + 1) + e(t ) Ta được: J= yd − yd ( m1 + b1u (t ) + b2u (t − 1) ) + ( m1 + b1u (t ) + b2u (t − 1) ) + yd − yd ( m2 + b1u (t + 1) + b2u (t ) ) + ( m2 + b1u (t + 1) + b2u (t ) ) + yd − yd ( m3 + b1u (t + 2) + b2u (t + 1) ) + ( m3 + b1u (t + 2) + b2u (t + 1) ) 2 2 + ρ ( u (t ) − u (t − 1) ) + ( u (t + 1) − u (t ) ) + ( u (t + 2) − u (t + 1) )    J = yd − yd [ m1 + m2 + m3 + b2u (t − 1) + (b1 + b2 )u (t ) + (b1 + b2 )u (t + 1) + b1u (t + 2) ] +  m12 + b12u (t ) + b22u (t − 1) + 2m1b1u (t ) + 2b1b2u (t − 1)u (t ) + 2m1b2u (t − 1)  +  m22 + b12u (t + 1) + b22u (t ) + 2m2b1u (t + 1) + 2b1b2u (t )u (t + 1) + 2m2b2u (t )  +  m32 + b12u (t + 2) + b22u (t + 1) + 2m3b1u (t + 2) + 2b1b2u (t + 1)u (t + 2) + 2m3b2u (t + 1)  + ρ [ u (t ) − 2u (t − 1)u (t ) + u (t − 1) +u (t + 1) − 2u (t )u (t + 1) + u (t ) + u (t + 2) − 2u (t + 1)u (t + 2) + u (t + 1) ] 56 J = yd − yd [ m1 + m2 + m3 + b2u (t − 1) ] + m12 + b22u (t − 1) + 2m1b2u (t − 1) + m22 + m32 + ρ u (t − 1) +u (t ) b12 + b22 + ρ  + u (t + 1) b12 + b22 + ρ  + u (t + 2) b12 + ρ  +u (t )u (t + 1) [ 2b1b2 − ρ ] + u (t + 1)u (t + 2) [ 2b1b2 − ρ ] (3.14) +u (t ) [ −2 yd (b1 + b2 ) + 2m1b1 + 2b1b2u (t − 1) + 2m2b2 − ρ u (t − 1) ] +u (t + 1) [ −2 yd (b1 + b2 ) + 2m2b1 + 2m3b2 ] +u (t + 2) [ −2 yd b1 + 2m3b1 ] Kết hợp (3.9) (3.15) ta được: b12 + b22 + ρ  = A  2b1b2 − ρ  2b1b2 − ρ b12 + b22 + ρ 2b1b2 − ρ   2b1b2 − ρ  b12 + ρ  (3.15)  −2 yd (b1 + b2 ) + 2m1b1 + 2b1b2u (t − 1) + 2m2b2 − ρ u (t − 1)   = −2 yd (b1 + b2 ) + 2m2b1 + 2m3b2 B     −2 yd b1 + 2m3b1 (3.16) Kết luận: Qua q trình tính tốn ta tìm :  u ∗ (t )   ∗  − A−1 B u ∗ (t ) =  u (t + 1)  =  u ∗ (t + 2)  (3.17) Ở chu kì tiếp theo, ta đưa u ∗ (t ) điều khiển đối tượng thực lại bước để tìm u ∗ (t + 1) 3.5 Kết mơ Dùng mơ hình (3.3) để mơ tay máy cơng thức (3.17) để tính tốn tín hiệu điều khiển tối ưu MPC Chọn ρ = 0.05 chu kì lấy mẫu 5000 Kết mơ thực hình (3.9) (3.10) 57 u u -2 -4 -6 10 15 20 25 30 35 40 45 Giây Hình 3.9 Tín hiệu điều khiển tối ưu Trong hình 3.9, u tín hiệu điều khiển tối ưu 0.8 y r 0.6 0.4 y 0.2 -0.2 -0.4 -0.6 10 15 25 20 30 35 40 45 Giây Hình 3.10 Đáp ứng đầu giá trị đặt Trong hình 3.10, y đầu đối tượng r giá trị đặt Nhận xét: Bộ điều khiển MPC làm cho đầu bám sát với tín hiệu mẫu 3.6 Kết luận chương Trong phần này, phương pháp LM dựa thuật toán lan truyển ngược sử dụng để huấn luyện mạng nơ-ron cho đối tượng Sau huấn luyện mạng nơron, thu tham số tối ưu mạng Quan hệ vào mạng phi tuyến, 58 dùng mơ hình mạng để thiết kế điều khiển dự báo gặp khó khăn Cho nên, mạng nơ-ron tuyến tính hóa xung quanh điểm làm việc tại, hàm mục tiêu có dạng bậc hai, cơng thức tổng qt tìm nghiệm tối ưu xây dựng Để kiểm chứng, chương trình mơ tính tốn tín hiệu điều khiển tối ưu viết Kết thu thể tính đắn thuật tốn khả thi thực tế 59 KẾT LUẬN- KIẾN NGHỊ Luận văn “Ứng dụng mạng nơ-ron nhận dạng điều khiển” kết luận kiến nghị sau: • Kết luận: + Đã nghiên cứu phương pháp điều khiển dựa sở mạng nơ-ron + Đã tìm hiểu nghiên cứu phương pháp điều khiển dự báo MPC dựa mạng nơ-ron + Đã tiến hành mô kiểm chứng cho cánh tay máy Matlab + Đã viết chương trình, nhận dạng dùng mạng nơ-ron, tuyến tính hóa mạng nơron tìm tín hiệu điều khiển tối ưu cho MPC • Kiến nghị: + Tiếp tục nghiên cứu toán MPC sử dụng mạng nơ-ron có đầu vào ràng buộc sử dụng mơ hình phi tuyến + Luận văn cịn số hạn chế: dừng lại mô cho hệ thống vào 60 TÀI LIỆU THAM KHẢO [1] Martin T Hagan, Howard B Demuth, Mark H Beale, Orlando De Jesus, "Neural Network Design," Ebook [2] Nguyễn Dỗn Phước, “Tối ưu hóa điều khiển điều khiển tối ưu”, Nhà xuất Bách Khoa Hà Nội, ngày 28 tháng 09 năm 2016 [3] Nguyễn Hoài Nam, “Bài giảng Điều khiển mờ mạng nơ-ron” [4] Trần Việt Dũng, Trần Xuân Hiên, Nguyễn Xuân Thảo, ‘’Toán học cao cấp”, tập 2, Giải tích, Nhà xuất Giáo dục, năm 2005 [5] Nørgård, Peter Magnus; Sørensen, Paul Haase; Poulsen, Niels Kjølstad; Ravn, Ole; Hansen, Lars Kai, “Intelligent predictive Control of Nonlienar Processes Using” Proceedings of the 1996 IEEE International Symposium on Intelligent Control [6] Nguyễn Mạnh Tiến, “Điều khiển Robot công nghiệp”, Nhà xuất Khoa học Kỹ thuật, tháng năm 2007 [7] GS.TS.Nguyễn Doãn Phước, “Lý thuyết điều khiển tuyến tính”, Nhà xuất Khoa học Kỹ thuật, năm 2009 [8] https://atyschool.vn/sinh-hoc-8-noron-te-bao-than-kinh/ 61 PHỤ LỤC Chương trình code điều khiển • Chương trình tạo tín hiệu đàu vào mẫu: tmin = 1; tmax = 1; umin = -10; umax = 10; Ts = 0.01; % Sampling time t_desired = 50000; % number of samples data_length = 0; t_data = 0; % store time ref_data = rand*umax; % store reference input while data_length < t_desired a = tmin + rand*(tmax-tmin); b = umin + rand*(umax-umin); t = [data_length+Ts data_length+a]; t_data = [t_data t]; ref_data = [ref_data b b]; data_length = data_length + a; end reference_input = [t_data;ref_data]'; plot(t_data,ref_data) grid on xlabel('Giây') ylabel('p') • Chương trình tạo mạng huấn luyện mạng nơ-ron cho đối tượng NNp: net=narxnet(1:2,1:2,6); % view(net); net.trainFcn='trainlm'; net.performFcn='mse'; net.trainParam.goal=1e-5; net.trainParam.epochs=1000; % net.trainParam.min_grad=1e-10; net.trainParam.time=inf; % net.trainParam.sigma=5e-5; % net.trainParam.lambda=5e-10; 62 net.trainParam.max_fail=10000; T1 = t1(:,1); x=num2cell(R1'); t=num2cell(T1'); [xs,xi,ai,ts]=preparets(net,x,{},t); [net,tr]=train(net,xs,ts,xi,ai); y=net(xs,xi,ai); y=cell2mat(y); figure(1) n=length(xs); ti=1:n; y1=cell2mat(ts); subplot(2,1,1) plot(ti,y,'r-.',ti,y1,'b') legend('y','t') grid on subplot(2,1,2) plot(ti,y-y1,'r') grid on legend('Sai so') figure(2) semilogx(tr.perf) grid on title('MSE') • Chương trình sử dụng MPC load chinh_net; yd = 0.7*[1 1]'; v0 = [0 0 0]'; %v0=[y(t-1) y(t-2) u(t-1) u(t-2)]' t = 0; yra = 0; u = 0; ro = 05; Tm = 0.01; yt = 0; y0 = [0;0]; global utemp; de = zeros(2,1); yt = 0; sp = 0; for k = Tm:4500 63 if k > 1500 yd = -0.5*[1 1]'; end if k > 3000 yd = 0.4*[1 1]'; end sp = [sp yd(1)]; t=[t k]; % yd = md + 0.02*de; %Tinh toan thong so cua mo hinh mang Noron dung de du bao n1 = net.iw{1,1}*v0([3 4],:) + net.iw{1,2}*v0([1 2],:) + net.b{1}; %dau vao net a1 = tanh(n1); %dau lop a2 = net.lw{2,1}*a1+net.b{2}; %dau lop %Xap xi y(t) = A1*y(t-1) + A2*y(t-2) + B1*u(t-1) + B2*u(t-2) + e(t'); %Ky hieu t' khac t cho thay no khac voi t, no la thoi diem dang xet, t la bien thoi gian; A1=net.iw{1,2}(:,1)'*diag(1-(tanh(n1)).^2)*(net.lw{2,1})'; A2=net.iw{1,2}(:,2)'*diag(1-(tanh(n1)).^2)*(net.lw{2,1})'; B1=net.iw{1,1}(:,1)'*diag(1-(tanh(n1)).^2)*(net.lw{2,1})'; B2=net.iw{1,1}(:,2)'*diag(1-(tanh(n1)).^2)*(net.lw{2,1})'; et = a2 - A1*v0(1) - A2*v0(2) - B1*v0(3) - B2*v0(4); %et o day chinh la nh e(t') o chu thich tren A = [B1^2+(A1*B1+B2)^2+2*ro B1^2+2*ro -ro; -ro B1*(A1*B1+B2) 0; B1*(A1*B1+B2) ro]; K1 = 2*B1*(et+A1*yt+A2*v0(1)+B2*v0(3)) + 2*((A1+1)*et+(A1^2+A2)*yt+A1*A2*v0(1)+A1*B2*v0(3))*(A1*B1+B2)2*yd(2)*(A1*B1+B2)-2*yd(1)*B1-2*ro*v0(3); K2 = 2*(A1+1)*et + (A1^2+A2)*yt+A1*A2*v0(1) + A1*B2*v0(3)*B1 2*yd(2)*B1; B = [K1;K2;0]; %Cuc tieu hoa ham muc tieu dang toan phuong ut=-inv(A)*B; 64 u=[u ut(1)]; utemp=ut(1); [ttemp,ytemp] = ode45(@(ttemp,ytemp) canhtaymay(ttemp,ytemp),[0 0.01],y0); y0 = ytemp(end,:)'; yt=ytemp(end,1); yra=[yra yt]; %Cap nhat vecto trang thai ban dau cho vong lap sau v01 = [yt v0(1) ut(1) v0(3)]'; %yt = y(t) v0(1)=y(t-1) ut(1)=u(t) v0(3)=u(t-1) v0 = v01; end n = length(u); ts = 0:Tm:(n-1)*Tm; figure(1) plot(ts,u); legend('u'); grid on; xlabel('Giây') ylabel('u') figure(2) plot(ts,yra,'b',ts,sp,'r-.'); legend('y','r'); grid on; xlabel('Giây') ylabel('y') 65 ... mạng nơ- ron điều khiển, từ nhận dạng hệ thống, hay thiết kế điều khiển Các chương sau vào phân tích cụ thể ứng dụng mạng nơ- ron vào phương pháp điều khiển dự báo Và vào toán cụ thể thiết kế điều. .. TẮT VÀ KÝ HIỆU ii CHƯƠNG MẠNG NƠ -RON VÀ ỨNG DỤNG 1.1 Lịch sử phát triển mạng nơ- ron 1.2 Mạng nơ- ron nhân tạo 1.3 Ứng dụng mạng nơ- ron 1.4 Mô hình nơ- ron nhân... 1.3 Ứng dụng mạng nơ- ron Mạng nơ- ron ứng dụng nhiều để giải toán thực tế phân loại (ảnh, giọng nói, tín hiệu), xấp xỉ, dự báo, nhận dạng hệ thống thiết kế điều khiển Sau số ứng dụng mạng nơ- ron

Ngày đăng: 27/04/2021, 12:17

Mục lục

  • MỤC LỤC

  • CHƯƠNG 1

  • CHƯƠNG 2.

  • CHƯƠNG 3

  • KẾT LUẬN- KIẾN NGHỊ

  • TÀI LIỆU THAM KHẢO

  • PHỤ LỤC

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

Tài liệu liên quan