Các luật học của Anfis và ứng dụng điều khiển thích nghi vị trí robot hai khâu
Tóm tắt Các luật học của Anfis và ứng dụng điều khiển thích nghi vị trí robot hai khâu: ... )x(cxln)x(aln )x(1)yf)(yy( )x(b E i j iii j i ij i A j m M 1j j j i j i )x(cx )x(b )x(1)yf)(yy( .2 )x(c E i j ii i j i ij i A j m M 1j j j i j i ... (16) với: ),k(q1 ),1k(q1 ),2k(q1 ),k(q2 ),1k(q2 )2k(q2 tương ứng là vị trí của các khâu thứ nhất, thứ hai tại thời điểm thứ k, (k-1), (k-2); ),k(1 ),1k(1 ),2k(1 ),k(2 ),1k(2 )2k(2 tương ứng là mômen quay của khâu thứ nhất, thứ hai tại các thời điểm thứ k, (k- 1)... i j is s imssM 1j js js i j is s x)qq( )x(p E T 1t 2 4 1j 4 1i )ix( j is ...
TẠP CHÍ KHOA HỌC & CÔNG NGHỆ CÁC TRƯỜNG ĐẠI HỌC KỸ THUẬT SỐ 70 - 2009 33 CÁC LUẬT HỌC CỦA ANFIS VÀ ỨNG DỤNG ĐIỀU KHIỂN THÍCH NGHI VỊ TRÍ ROBOT HAI KHÂU LEARNING RULES OF ANFIS AND APPLICATION FOR POSITION ADAPTIVE CONTROLLING OF TWO-LINK ROBOT Phạm Hữu Đức Dục, Phạm Minh Đạo, Phạm Văn Thịnh, Chu Bình Minh Trường Đại học Kinh tế - Kỹ thuật Công nghiệp TÓM TẮT ANFIS (Mạng thích nghi dựa trên cơ sở hệ suy luận mờ) là một mạng nơron mờ đang được quan tâm nghiên cứu. Các luật học của ANFIS khi sử dụng các dạng hàm liên thuộc khác nhau được tổ hợp đóng gói trong các hàm tiện ích của phần mềm Matlab, do đó không tiện cho việc ứng dụng trong bài toán điều khiển. Bài báo đề xuất luật học để cập nhật các thông số điều chỉnh của ANFIS khi sử dụng hàm liên thuộc có dạng hình chuông cho các biến ngôn ngữ mờ ở đầu vào và các hệ số của các hàm tuyến tính ở đầu ra, sau đó để khẳng định cho tính đúng đắn của các luật điều chỉnh nói trên tiến hành ứng dụng ANFIS đóng vai trò là bộ điều chỉnh thông minh điều khiển thích nghi vị trí rôbôt hai khâu. Kết quả mô phỏng trên Matlab khi sử dụng bộ điều chỉnh nói trên ứng dụng ANFIS sẽ cho thấy tính ưu việt và khả thi của giải pháp này. ABSTRACT ANFIS (Adaptive Network-based Fuzzy Inference System) is Fuzzy–Neuron Network, has been studying in many countries. Learning rules of ANFIS when using other membership functions integrated in Matlab software, so are not suitable for applying in controlling. This paper proposes the learning rules updating adjusted parameters of ANFIS when using the bell-shaped membership fuctions of the fuzzy linguistics variables in the inputs and coefficients of the linear functions in the output, then to prove the correctness of these learning rules by applying ANFIS in intelligent controller for adaptive controlling of the position of two-link robot. Result of simulation by Matlab software when using ANFIS in controller will demonstrate advantage and feasible of this solution. I. MỞ ĐẦU ANFIS (Adaptive Network-based Fuzzy Inference System) là một mạng nơron mờ được quan tâm nghiên cứu. Các luật học của nó khi sử dụng các dạng hàm liên thuộc khác nhau được tổ hợp đóng gói trong các hàm tiện ích của phần mềm Matlab, không tiện cho việc ứng dụng trong bài toán điều khiển. Vấn đề đặt ra là cần nghiên cứu đưa các luật học nói trên về dạng toán học tường minh. Bài báo này đề xuất các luật học cung cấp cho ANFIS khi sử dụng hàm liên thuộc dạng hình chuông ở lớp 2, để minh chứng cho tính đúng đắn của các luật nói trên tiến hành ứng dụng ANFIS đóng vai trò là bộ điều chỉnh thông minh điều khiển thích nghi vị trí rôbôt hai khâu. Kết quả mô phỏng trên Matlab sẽ cho thấy tính ưu việt của giải pháp này. II. LUẬT ĐIỀU CHỈNH CỦA ANFIS 2.1 Cấu trúc của ANFIS ANFIS được Jang [1] đề xuất sử dụng luật học mờ TSK (Takasi -Sugeno- Kang). Luật học mờ thứ j của ANFIS là jR có dạng: IF 1x is j 1A AND 2x is j 2 A .... AND nx is j nA THEN n 1i i j i j 0j xppfy (1) với: ix , y tương ứng là các biến vào, ra; )x(A i j i là biến ngôn ngũ mờ ứng với biến đầu vào đầu vào ix ; Rp j 1 là hệ số của hàm tuyến tính jf ; i = 1, 2,..., n; j = 1, 2, ..., M. Cấu trúc ANFIS gồm 6 lớp như sau: Lớp 1: Là lớp đầu vào có tín hiệu vào ix . Lớp 2: Mỗi phần tử là một hàm )x( ij i A . TẠP CHÍ KHOA HỌC & CÔNG NGHỆ CÁC TRƯỜNG ĐẠI HỌC KỸ THUẬT SỐ 70 - 2009 34 Lớp 3: Mỗi phần tử jR tương ứng thực hiện một luật thứ j: n 1i i j ij )x( (2) Lớp 4: Mỗi phần tử N tương ứng thực hiện phép tính: M 1j jjj (3) Lớp 5: Mỗi phần tử thứ j thực hiện phép tính: )xpp( n 1i i j i j 0j (4) Lớp 6: Có một phần tử tính toán giá trị đầu ra: M 1j jj M 1j j M 1j jj fμμfμy (5) Sai lệch trung bình bình phương giữa hàm đầu ra mong muốn ym và hàm đầu ra y: 2 M 1j n 1i )ix( j i A M 1j j n 1i )ix( j i A m fy 2 1 E (6) 2.2 Luật học của ANFIS Vấn đề đặt ra là cần tìm các luật học cập nhật bộ các thông số điều chỉnh ở các lớp 2 và 5 cho ANFIS khi sử dụng hàm liên thuộc ở lớp 2 ở dạng hình chuông: j i b2j i j ii ij i A a/cx1 1 )x( (7) Luật cập nhật bộ thông số điều chỉnh trong quá trình học của ANFIS trường hợp sử dụng hàm liên thuộc có dạng hàm hình chuông được theo các biểu thức như sau: )x(a E )t(a)1t(a i j i a j i j i (8) )x(b E )t(b)1t(b i j i b j i j i (9) )x(c E )t(c)1t(c i j i c j i j i (10) )x(p E )t(p)1t(p i j i p j i j i (11) với pcba ,,, là các hệ số học. [4] đã chứng minh được các thành phần đạo hàm riêng của sai lệch E đối với các thông số điều chỉnh có dạng sau đây. Do khuôn khổ bài báo có hạn do đó chỉ đưa ra kết quả của các đạo hàm riêng này. )x(a )x(b )x(1)yf)(yy( .2 )x(a E i j i i j i ij i A j m M 1j j j i j i )x(cxln)x(aln )x(1)yf)(yy( )x(b E i j iii j i ij i A j m M 1j j j i j i )x(cx )x(b )x(1)yf)(yy( .2 )x(c E i j ii i j i ij i A j m M 1j j j i j i i m M 1j j j i j i x)yy( )x(p E III. ỨNG DỤNG ANFIS TRONG ĐIỀU KHIỂN THÍCH NGHI VỊ TRÍ RÔBÔT HAI KHÂU 3.1 Động học rôbôt hai khâu Hình 1. Mô hình động học rôbôt hai khâu Hình 1 mô tả mô hình rôbôt hai khâu. Theo [3] phương trình động học vào-ra rôbôt hai khâu có dạng như sau: (12) HH HH gHgHqhH)qq2(qhH gHgHqhH)qq2(qhH HHHH 1 q q 2 1 1121 1222 211121 . 2 1112 . 1 . 2 . 21 212122 . 2 1122 . 1 . 2 . 22 21122211 2 .. 1 .. với: q1, q2 là vị trí của khâu thứ nhất và thứ hai; 1, 2 là mômen điều khiển khâu thứ nhất và thứ TẠP CHÍ KHOA HỌC & CÔNG NGHỆ CÁC TRƯỜNG ĐẠI HỌC KỸ THUẬT SỐ 70 - 2009 35 hai; m1, m2 là khối lượng khâu thứ nhất và thứ hai; l1, l2 là độ dài của khâu thứ nhất và thứ hai; lc1, lc2 là độ dài từ điểm nối khâu thứ nhất và khâu thứ hai đến trọng tâm của các khâu đó; I1, I2 là mômen quán tính khâu thứ nhất và thứ hai; m3 là khối lượng phụ tải; g là gia tốc trọng trường; )];qcos(ll.2ll[m )]qcos(ll.2ll[mlmIIH 221 2 2 2 13 22c1 2 2c 2 12 2 1c12111 2 23 2 2222 lmlmH ; )];qcos(ll.l[m)]qcos(ll.l[mHH 221 2 23221 2 222112 )];qcos(l)qqcos(l[gm)qcos(glmg 11212c211c11 )qqcos(glmg 212c22 ; )qsin(llm h 22c12 ; 3.2 Ứng dụng ANFIS trong điều khiển thích nghi vị trí rôbôt hai khâu Phần này trình bày ứng dụng của ANFIS điều khiển thích nghi vị trí rôbôt hai khâu. Từ các luật học của ANFIS khi sử dụng hàm liên thuộc có dạng hình chuông ở lớp 2 đã chứng minh được ở phần 2, dựa vào động học của rôbôt hai khâu, thực hiện ứng dụng ANFIS đóng vai trò là bộ điều khiển thích nghi vị trí rôbôt hai khâu. Sơ đồ ứng dụng ANFIS điều khiển thích nghi vị trí rôbôt hai khâu trình bày ở hình 2, trong đó sử dụng hai bộ điều chỉnh ứng dụng ANFIS là: ANFIS 1 và ANFIS 2. Vấn đề đặt ra là cần chọn số lượng nút ở mỗi lớp, số đầu vào của lớp 1, số lượng hàm liên thuộc của lớp 2, số lượng tín hiệu ra của lớp 6 để tìm được các mô men quay 1 , 2 sao cho vị trí rôbôt q1, q2 bám theo được các vị trí mẫu tương ứng là qm1, qm2. Hình 2. Sơ đồ ứng dụng ANFIS điều khiển thích nghi vị trí rôbôt hai khâu Viết lại (12) ta được: )m,q,,(u)m,q,q,q,q(fq 32211322 . 11 . 11 .. (13) )m,q,,(u)m,q,q,q,q(fq 32212322 . 11 . 22 .. (14) với: HHHH gHgHqhH)qq2(qhH (.)f 21122211 212122 . 2 1122 . 1 . 2 . 22 1 ; 21122211 211121 . 2 1112 . 1 . 2 . 21 2 HHHH gHgHqhH)qq2(qhH (.)f ; 21122211 122221 1 HHHH HH (.)u ; 21122211 211121 2 HHHH HH (.)u . Biến đổi (13) và (14) ra dạng rời rạc có: )2k(),1k(),k(),2k(),1k(),k(u )2k(q),1k(q),2k(q),1k(qf)k(q 222111d1 2211d11 (15) )2k(),1k(),k(),2k(),1k(),k(u )2k(q),1k(q),2k(q),1k(qf)k(q 222111d2 2211d22 (16) với: ),k(q1 ),1k(q1 ),2k(q1 ),k(q2 ),1k(q2 )2k(q2 tương ứng là vị trí của các khâu thứ nhất, thứ hai tại thời điểm thứ k, (k-1), (k-2); ),k(1 ),1k(1 ),2k(1 ),k(2 ),1k(2 )2k(2 tương ứng là mômen quay của khâu thứ nhất, thứ hai tại các thời điểm thứ k, (k- 1), (k-2). Như vậy tín hiệu cần điều khiển ),k(q1 )k(q2 là những hàm nhiều biến phụ thuộc những giá trị lưu giữ ở các thời điểm của vị trí và mômen trước đó của cả hai khâu. Do đó chọn lớp vào của hai bộ điều chỉnh ANFIS 1 và ANFIS 2 có 4 nút tương ứng với 4 tín hiệu vào là x1; x2; x3; x4, với: 11m11 qqex (17); 22m23 qqex (18) 1 . 2 ex (19); 2 . 4 ex (20) trong đó: 1mq và 2mq tương ứng là vị trí mẫu của khâu 1 và khâu 2 của rôbôt. ANFIS 1 và ANFIS 2 đều có 1 nút ra ở lớp 6 để cung cấp tín hiệu điều khiển tương ứng là các mômen quay 1 và 2 cho hai khâu của rôbôt, thực hiện các luật sau đây: Luật học jsR : IF 1x is j s1A AND 2x is j s2A AND 3x is j s3A AND 4x is j s4A , THEN 4 j s43 j s32 j s21 j s1js xpxpxpxpf . với: i = 1, 2, 3, 4; j = 1, 2, 3, 4; s =1, 2. TẠP CHÍ KHOA HỌC & CÔNG NGHỆ CÁC TRƯỜNG ĐẠI HỌC KỸ THUẬT SỐ 70 - 2009 36 ANFIS 1, ANFIS 2 có cấu trúc gồm 6 lớp theo hình 3 dưới đây. Trong đó ix là các biến đầu vào (j =1, 2, 3, 4; s=1, 2 ), s là biến đầu ra, )x(A i j is là các biến ngôn ngũ mờ của biến đầu vào ix , )x( i j isA là hàm liên thuộc có dạng hình chuông của mỗi biến ngôn ngữ mờ ở đầu vào, Rp j is là các hệ số của hàm tuyến tính: 4 1i i j isjs xpf . Xác định các thông số điều chỉnh của ANFIS 1, ANFIS 2 ở lớp 2 và 5, sao cho tín hiệu vị trí thực của rôbôt 1q và 2q bám theo được các tín hiệu vị trí mẫu mong muốn tương ứng là 1mq và 2mq , tức là bảo đảm được sai lệch vị trí Es là nhỏ nhất. T 1t 2 smss )t(q)t(q 2 1 E (s=1, 2;t=1,..., T). Hình 3. Sơ đồ ANFISs có 4 đầu vào và 1 đầu ra sử dụng trong ứng dụng điều khiển thích nghi vị trí rôbôt hai khâu (s = 1, 2) Mỗi bộ ANFIS có 4 đầu vào và 1 đầu ra biểu diễn trên hình 3. Trong đó: Lớp 1: Có 4 nút tương ứng với mỗi một tín hiệu vào xi (i = 1, 2, 3, 4). Lớp 2: Mỗi phần tử là một hàm liên thuộc )x( i j isA có dạng hàm hình chuông. Lớp 3: Mỗi phần tử R tương ứng thực hiện một luật thứ j: 4 1i i j isjs )x( ; Lớp 4: Thực hiện tính toán: 4 1j js js js ; Lớp 5: Tính toán giá trị : )xp( 4 1i i j isjs . Lớp 6: Thực hiện phép tổng tính giá trị đầu ra: 4 1j jsjss f . Luật học của mỗi bộ ANFIS như sau: )x(a E )t(a)1t(a i j is s a j is j is )x(b E )t(b)1t(b i j is s b j is j is )x(c E )t(c)1t(c i j is s c j is j is )x(p E )t(p)1t(p i j is s p j is j is pcba ,,, là các hệ số học. Trong đó: )x(a )x(b 1 )x( 1 )x()qf)(qq( .2 )x(a E i j is i j is ij is A ij is A sjsmssM 1j js js i j is s )x(cxln)x(aln. 1 )x( 1 )x()qf)(qq( .2 )x(b E i j isii j is ij is A ij is A sjsmssM 1j js js i j is s )x(cx )x(b 1 )x( 1 )x()qf)(qq( .2 )x(c E i j isi i j is ij is A ij is A sjsmssM 1j js js i j is s imssM 1j js js i j is s x)qq( )x(p E T 1t 2 4 1j 4 1i )ix( j is A 4 1j js 4 1i )ix( j is A mss )t(f)t( )t(q 2 1 E TẠP CHÍ KHOA HỌC & CÔNG NGHỆ CÁC TRƯỜNG ĐẠI HỌC KỸ THUẬT SỐ 70 - 2009 37 Thực hiện mô phỏng trên Matlab [4,5] theo phương pháp học trực tiếp. Cho giá trị của các thông số rôbôt: m1=1kg; m2=1kg; l1=1m;l2=1m;lc1=0.5m; lc2=0.5m; I1=0.2kgm 2 ; I2=0.2kg m 2; phụ tải m3 có dạng đồ thị hình 16. Kết quả mô phỏng được các đồ thị bộ các hàm liên thuộc ở lớp 2 tại thời điểm lấy mẫu t = 900 tương ứng với mỗi một đầu vào x1, x2, x3, x4 khi sử dụng các hàm liên thuộc dạng hình chuông ở lớp 2 của ANFIS 1 và ANFIS 2 được biểu diễn từ hình 4 đến hình 11; Vị trí mẫu qm1, qm2 (nét liền) và vị trí thực sau điều khiển q1, q2(nét đứt) khâu thứ nhất, thứ hai của rôbôt vẽ trên hình 12, 13, thấy rằng vị trí của rôbôt hai khâu q1 và q2 đã bám theo được các vị trí mẫu tương ứng là qm1 và qm2; Mômen điều khiển 1, 2 là đầu ra của ANFIS 1, ANFIS 2 biểu diễn trên hình 14, 15. Kết quả hệ số hàm tuyến tính tại t =900 như sau: -5 -4 -3 -2 -1 0 1 2 3 4 5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -5 -4 -3 -2 -1 0 1 2 3 4 5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -5 -4 -3 -2 -1 0 1 2 3 4 5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Hình 4. Các hàm liên thuộc đầu vào thứ nhất ANFIS 1 tại thời điểm lấy mẫu t=900. Hình5.Các hàm liên thuộc đầu vào thứ hai ANFIS 1 tại thời điểm lấy mẫu t=900. Hình 6. Các hàm liên thuộc đầu vào thứ ba của ANFIS 1 tại thời điểm lấy mẫu t=900. -5 -4 -3 -2 -1 0 1 2 3 4 5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -5 -4 -3 -2 -1 0 1 2 3 4 5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -5 -4 -3 -2 -1 0 1 2 3 4 5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Hình 7. Các hàm liên thuộc đầu vào thứ tư của ANFIS 1 tại thời điểm lấy mẫu t=900. Hình 8. Các hàm liên thuộc đầu vào thứ nhất ANFIS 2 tại thời điểm lấy mẫu t=900. Hình 9. Các hàm liên thuộc đầu vào thứ hai ANFIS 2 thời điểm lấy mẫu t=900. -5 -4 -3 -2 -1 0 1 2 3 4 5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -5 -4 -3 -2 -1 0 1 2 3 4 5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 100 200 300 400 500 600 700 800 900 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 Hình 10. Các hàm liên thuộc đầu vào thứ ba ANFIS 2 tại thời điểm lấy mẫu t=900. Hình 11. Các hàm liên thuộc đầu vào thứ tư ANFIS 2 thời điểm lấy mẫu t=900. Hình 12. Đồ thị vị trí mẫu qm1 (nét liền) và vị trí thực sau điều khiển q1 (nét đứt). 0 100 200 300 400 500 600 700 800 900 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0 100 200 300 400 500 600 700 800 900 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0 100 200 300 400 500 600 700 800 900 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 Hình 13. Đồ thị vị trí mẫu qm2 (nét liền) và vị trí thực sau điều khiển q2 (nét đứt). Hình 14. Đồ thị mômen điều khiển 1 là đầu ra của ANFIS 1. Hình 15. Đồ thị mômen điều khiển 2 là đầu ra của ANFIS 2. TẠP CHÍ KHOA HỌC & CÔNG NGHỆ CÁC TRƯỜNG ĐẠI HỌC KỸ THUẬT SỐ 70 - 2009 38 p11(900)=[0.3590 0.4398 0.43840.5633]; p12(900)=[0.5450 0.8097 0.67920.1203]; p13(900)=[0.6619 0.4891 0.25860.5408]; p14(900)=[0.7575 0.7605 0.86040.2551]. p21(900)=[0.4002 0.2352 0.96500.9481]; p22(900)=[1.0751 0.5042 0.28800.0681]; p23(900)=[0.0846 0.8041 0.59860.2847]; p24(900)=[0.0089 0.3921 0.60840.2956]. 0 100 200 300 400 500 600 700 800 900 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Hình 16. Đồ thị khối lượng phụ tải m3. IV. KẾT LUẬN Từ các kết quả mô phỏng trên đây có thể kết luận được rằng thuật toán sử dụng cho các luật điều chỉnh thông số ANFIS đề xuất ở phần 2 là tin cậy được vì trong ứng dụng ANFIS là bộ điều chỉnh vị trí rôbôt hai khâu q1 và q2 đã bám theo được các tín hiệu vị trí mẫu tương ứng là qm1 và qm2. Như vậy giải pháp đề xuất ứng dụng ANFIS trong bộ điều chỉnh thích nghi vị trí rôbôt hai khâu là đúng đắn. Cũng có thể ứng dụng ANFIS trong các bài toán nhận dạng và điều khiển các đối tượng phi tuyến khác. TÀI LIỆU THAM KHẢO 1. Jang J.S.R.; ANFIS: Adaptive-Network-Basic fuzzy inference systems; IEEE Transactions on Systems, Man, and Cybernetics, 665-685, Vol. 23, No. 3, May/June, (1993). 2. Somlo J., Lantos B., Pham Thuong Cat; Advance Robot Control; Budapest, 1997. 3. Phạm Hữu Đức Dục, ...; Nghiên cứu ứng dụng mạng nơron mờ trong điều khiển thích nghi rôbôt hai khâu; TT báo cáo KH Hội nghị TQ về TĐH (VICA 6), 2005, 107-112. 4. Phạm Hữu Đức Dục, P.M. Đạo, P.V. Thịnh, C.B. Minh; Nghiên cứu các luật điều chỉnh của ANFIS và ứng dụng điều khiển thích nghi vị trí rôbôt hai khâu; Đề tài NCKH cấp Bộ, Bộ Công Thương, 2008. 5. Matlab-The Language of Technical Computing; 1996. Địa chỉ liên hệ: Phạm Hữu Đức Dục - Tel: 0913.238.632 Trường Đại học Kinh tế - Kỹ thuật công nghiệp
File đính kèm:
- cac_luat_hoc_cua_anfis_va_ung_dung_dieu_khien_thich_nghi_vi.pdf