Xem mẫu

  1. MỘT VÀI THUẬT TOÁN ĐIỀU KHIỂN TỰ CHỈNH MỜ CHO ĐIỀU KHIỂN RÔBỐT SOME SELF TUNING FUZZY CONTROL ALGORITHM FOR ROBOT CONTROL Lê Bá Dũng Viện Công nghệ Thông tin E-mail lbdung@ioit.ncst.ac.vn Tóm tắt: e = (e, e,..., e ( n−1) )T . & Ta phải chọn K = ( k n , k n −1 ,..., k1 ) sao cho T Bài báo đề cập đến một vài thuật điều khiển tự chỉnh mờ cho điều khiển rôbốt. Thông qua n −1 tất cả các nghiệm của đa thức s + k1 s + ... + k n n các thuật toán điều khiển này tác giả muốn trình bầy một quá trình xấp xỉ phi tuyến cho nằm trong nửa ta trái của mặt phảng phức, do đó tác điều khiển Rôbốt động điều khiển có dạng : Abstract: The paper presents some self tuning fuzzy algorithm for robot control. Through u= 1 ˆ ( x) g ˆ [ − f ( x) + y mn ) + K T e − u c ( ] (4) these algorithms the author wants to describe the method to non_linear approximation for [ Với K = k n , k n −1 ,..., k1 ]T ta có e(t)→0, khi t→∞ robot control avà tín hiệu ra y (hoặc x) sẽ tiệm cận đến quĩ đạo yêu 1. MỞ ĐẦU: ˆ ˆ cầu ym. Hàm f ( x ) và g ( x) sẽ được ước lượng từ f(x), g(x) [2]. Từ (1) và (4) ta sẽ có hệ điều khiển kín Trong quá trình phát triển của khoa học điều khiển, các phương pháp trước đây thường được xây dựng theo các mô hình toán học với các giả thiết cũng như e n + k1e ( n −1) + ... + k n e = 0 (5) thông qua các dàng buộc của bài toán nhằm đạt được một giải pháp có thể chấp nhận được. Nhưng trong Ta chọn dạng luật điều khiển: thực tế ít khi tồn tại các giả thiết họăc các dàng buộc như vậy. Bài toán điều khiển cho động học phi tuyến u= uc + us (6) của Rôbốt được xây dựng trên tập mờ là một trong các [ ] nội dung của tính toán mềm do A Zadeh đề xuất, và là 1 ˆ phương pháp khả thi, có thể xấp xỉ vạn năng với mức uc = − f ( x) + y mn ) + K T e − uo ( (7) độ chính xác tuỳ ý cho nhiêu quá trình công nghiệp ˆ g ( x) [1,2], nhất là trong lĩnh vực điều khiển Rôbốt. Bài báo này trình bầy một vài thuật toán điều khiển tự chỉnh Vậy mờ cho điều khiển Rôbốt [1,2,3,6,7] ˆ f ( x) = θ Tψ ( x) và f (8) 2. CÁC THUẬT TOÁN ĐIỀU KHIỂN MỜ CHO ĐIỀU KHIỂN RÔBỐT g ( x) = θ g η ( x) ˆ T 2.1 HỆ ĐIỀU KHIỂN MỜ LAI THÍCH NGHI Cho hệ điều khiển dạng [2] 1. Thiết kế hệ điều khiển mờ x (n) = f ( x) + g ( x)u (1) Luật điều khiển mờ có dạng Với: i ˆ R i if x 1 is A 1 and ... and x n is A in then f is E ( n −1) T x = [ x1 , x2 ,..., xn ] = [ x, x,..., x T & ] là vector (9) trạng thái của hệ, x(n) là đạo hàm bậc n x. f(x), g(x) chưa xác định, u là tác động điều khiển ra. ……. Gọi ym là tín hiệu yêu cầu và vector sai số bám e được định nghĩa: R * if x 1 is B 1 and ... and x n is B in then g is F i ˆ i i y m = [ y m , y1 , y m ,..., y mn−1) ] T 0 m 2 ( (2) với A1 B1 ... là các tập mờ, h là số luật mờ của hệt. Bàng phương pháp suy diễn tích, tập mờ đơn điệu và e = y m − x; e = y m − x ˆ ˆ (3) theo phương pháp giảI bằng trọng tâm ta có tín hiệu ra của hệ mờ: 1
  2. h n s s ≤ -η|s| & (16) ∑ y i (∏ µ Ai ( x j )) j η là hằng số xác định dương. Đạo hàm (15) có: ˆ f ( x) = i =1 j =1 (10) h n ∑ (∏ µ i =1 A ij ( x j )) s(e,t)=x(n) – xd(n) + a1e (n-1)+… an-1 e & (17) j =1 và us chọn: h n us=un-Kssgn(s) (18) ∑ y i (∏ µ B i ( x j )) i =1 j =1 j và un=xd(n)- a1e (n-1)-… - an-1 e & có thể viết: g ( x) = ˆ h n (11) 1 1 ∑ (∏ µ i =1 j =1 B ij ( x j )) ˆ s = f ( x) + ( & / ˆ g ( x) − 1)un − ˆ g ( x) K sgn( s ) (19) Với: Từ (18) có thể viết uf = -Kssign(s) sẽ tồn tạI Ks* sao µ Ai ( x j ) : Hàm thuộc của biến mờ xj cho thoả mãn điều kiện trượt j h : Số luật mờ dạng IF-THEN Ks - K* < ζ (20) :Điểm tại đó có µ E ( y ) = µF ( yi ) = 1 i y-i 3. Qúa trình chỉnh định Và ψ , η được định nghĩa: I n Nhiệm vụ của quá trình tự chỉnh là xác định một cơ ∏µ Aij (x j ) chế tự chỉnh vớI luật mờ: ψ ( x) = i j =1 n (12) R i if s1 is A1 and s is A in then K s is C i i & (21) h ∑ (∏ µ i =1 j =1 Aij ( x j )) Trong đó Ks có thể tính: n ∑µ i A1 µB Cii 1 n Ks= i =1 = ξ T ϕ ( x) (22) ∏ µ Bij ( x j ) j =1 ∑µ n µB η i ( x) = i i A1 h n (13) i =1 1 ∑ (∏ µ i =1 j =1 B ij ( x j )) Với ξ =[c1 , c2 …… cm]T là vector các thông số tự chỉnh, và ϕ(x)=[ϕ1 … ϕm ]T là hàm mờ sau: 2. Thiết kế hệ điều khiển mờ ở mức cao µ A µB i i ϕ ( x) = n 1 1 (23) Thay thế (7) vào (1) có: ∑µ i =1 i A1 µB i 1 ˆ e ( n ) = − K T e + [ f ( x) − f ( x)] + [ g ( x) − g ( x) ] u ˆ Gọi ξ* là vector tối ưu sao cho tác động điều khiển (14) trong chế độ trượt là nhỏ nhất: Một số yêu cầu cần phải thỏa khi thiết kế bộ điều ε = ξ −ξ* (24) khiển ở mức cao: Tác động điều khiển us cần phải chọn Vậy K = ξ && ϕ ( x) , ta chọn hàm Lyapunov *T dạng: - Đảm bảo x sẽ bị chặn 1 2 1 T V = (s + ε ε ) (25) - Ở mức cao thì us phải có giá trị không khi trọng 2 γ thái hệ thống ổn định và khác không khi e vượt ra VớI γ là hằng số dương ngoài khoảng ổn định. Có nghĩa là e→0 thì x→ym Đạo hàm (25) Với vector sai số bám e=(e,e1…..e(n-1) ) và mặt trượt 1 được chọn & V = ss + ε T ε & & γ (26) s(e,t)=λe+ e & (15) Trong đó λ là hằng số xác định dương và điều kiện Thay thể (20) và (24) vào (26) có: cho chế độ trượt là: 2
  3. R(k+1)=R*(k) but not R*(k) else R**(k) (32) & ˆ 1 1 1 V = s[ f ( x) + ( − 1)u n ] − K S | s | + ε T ε R(k+1)=R(k) or (R*(k) but not R*(k)) else R**(k) & (33) ˆ g ( x) ˆ g ( x) γ Trong đó :R(k) là quan hệ mờ ở thời điểm t=kT 1 1 * 1 w 1 ˆ ={s[ f (x)+( −1)un]− K | s|}− (Kf +ς +Kf )| s| + εTε & R*(k) là quan hệ mờ ở thời điểm t=(k-n)T ˆ g(x) ˆ g(x) ˆ g(x) γ R**(k) là quan hệ mờ thay đổi ở thời điểm t=(k-n)T 1 ≤ −η + β ς | s | + ε (ε − β γ W | s |) −1 & T −1 (27) Dạng luật ban đầu được xây dựng mới dừng lại qua γ quá trình thu nhận đượcc từ các chuyên gia. Trong quá trình vận hành tri thức đó phải được bổ sung. Qúa Vậy tác động thích nghi có dạng: trình bổ sung tri thức phải được thực hiện thường kỳ bằng các cách. ε = β −1γ W | s |) & (28) • Bổ sung thông qua các chuyên gia • Bổ sung qua quá trình học từ các thời điểm quá khứ, hiện tại, tương lai 1 Giả sử là hệ điều khiển ở thời điểm hiện tại t=kT, thời Hàm Lyapunov với β= sẽ cho: ˆ g ( x) điểm đã qua là t=(k-n), T là thời gian cắt mẫu, k=1,2...m. Tác động ở thời điểm quá khứ t=(k-n)T sẽ đóng góp vào tác động ở thời điểm hiện tại t=kT. Ta & V ≤ −η + β −1ς | s | (29) có các quan hệ mờ từ các thời điểm như sau: Quan hệ mờ ở thời điểm t=kT S(t) R(kT): E(kT)→C(kT)→U(kT) (34) S’() N NB NM NS Z PS PM PB P N PB PM PM PS PS Z NS NS NM Quan hệ mờ ở thời điểm t=(k-n)T Z PM PM PS PS Z NS NS NM NM P PM PS PS Z NS NS NM NM NM R*(kT): E(kT)→C(kT)→U(kT) (35) Bảng 1 Luật điều khiển mờ cho mặt trượt Quan hệ mờ được thay đổi ở thời điểm t=(k-n)T 2.2 HỆ ĐIỀU KHIỂN TỰ CHỈNH MỜ VỚI R**(kT): E(kT)→C(kT)→U(kT) (36) THAY ĐỔI CẤU TRÚC Dạng (31) có thể viết Ta có thể thấy quan hệ mờ mới được hình thành theo luật suy diễn sau [7] R(k+1)= R(kT)∪(R(kT)∩ R * ( kT ) )∪R**(kT) (37) R1: if x is A1 and y is B1 then z is C1 (30) Tương tự từ (32) R2: if x is A2 and y is B2 then z is C2 R(k+1)=R*(KT)∪ (R(kT) ∩ R * ( kT ) )∪ R**(kT) ……. (38) Từ dạng luật trên cho ta tác động ra C’ như sau: n Tương tự từ (33) C ' = ( A' , B' ) o U Ri = i =1 R(k+1)=(R(kT)∪R*(KT))∪(R(kT)∩ R * ( kT ) )∪R**(kT) n (39) ( A' , B ' ) o U ( Ai andBi → Ci ) i =1 Định lý 3.4 Dạng luật suy diễn (34), (35), (36) là quá Trong đó A,B,C là các tập mờ, R là quan hệ mờ của cả trình bổ sung tri thực vào hệ luật lúc ban đầu dạng luật và: E(k)→C(k)→U(k) R(k+1)=R(k) but not R*(k) else R**(k) (31) Chứng minh : Thật vậy từ (34-36) có thể viết 3
  4. R * (kT ) =Ie×Ic×Iu-E((k-n)T)×C((k-n)T)×U((k-nT)) & & M (ξ )ξ − g (ξ , ξ ) = q(τ ) (45) =( E ((k − n)T ) × Ic× Iu)∨ ξ = [ θ 1θ 2 ] T = θ va θ ∈ R2 = (Ie× ( C ((k − n)T ) × Iu)∨  M 11 M 12  θ&   g1 (θ , θ )   q1 (t )  & 1 & M  &&  + &  =  (46)  21 M 22   θ 2   g 2 (θ , θ ) q2 (t ) = (Ie× Ic× ( U ((k − n)T ) ) (40) Ta có Thay thế (40) vào (38) ta có: θ&  & &  &&  = M (θ )[− g (θ ,θ ) + q (t ) −1 R(k+1)=R(kT)∧ ( E ((k − n)T ) × Ic× Iu) ∨ 1 (47) θ2  R(kT)∧ (Ie× ( E ((k − n)T ) × Iu) ∨ Với: R(kT)∧ (Ie× Ic × ( E ((k − n)T ) )∨  M −1 (θ ) M 121 (θ ) − M −1 (θ ) =  111  (48)  M 21 (θ ) M 22 (θ )  − −1 R*(kT) Với R(kT) có thể viết An universe which always exists for practical problem R(kT)=[Ek×Ck×Uk] (41) because of several properties enjoyed by M and define: Vậy: & & θ1 = X1 θ1 = X 3 θ2 = X 3 θ2 = X 4 q1 = u1 q2 = u3 R(k+1)T= Ek∧ ( E ((k − n)T ) × Ck× Uk) ∨ (49) Ek × (Ck ∧ ( C ((k − n)T ) ) × Uk) ∨ X=(X1, X2, X3. X4) (50) We have: Ek × Ck × (Uk ∧ ( E ((k − n)T ) )∨ & X1 = X 2 E(k-n)T × C(k-n)T × V(k-n)T (42) & −1 −1 X2 = M11 (x1, x2 )[−g1(x)+ u1] + M12 (x1, x2 )[−g2 (x)+ u2 ] Phương trình (42) cho ta thêm 4 luật ở thời điển kT (51) vào hệ luật ban đầu dạng E(k)→C(k)→U(k) & X3 = X4 2.3 THUẬT TOÁN THIẾT KẾ TỰ CHỈNH QUA THAY ĐỔI LUẬT & −1 −1 X4 = M21(x1, x2 )[−g1(x)+ u1] + M22(x1, x2 )[−g2 (x)+ u2 ] Bộ điều khiển tự chỉnh qua thay đổi luật được thực hiện với E,C là các đầu vào của bộ điều khiển mờ và V là Vậy đầu ra của bộ điều khiển mờ. Quá trình chỉnh định được M11=I1+I2+(1/4)m1L12+m2[L12+(1/4)L22+L1L2cos(θ2) thực hiện theo [3,5,7] M12=M21=I2+(1/4)m2L22+(1/2)L1L2m2cos(θ2) ; V= (43) M22=I2+(1/4)m2L22 Trong đó là phép hợp và α nhận các giá trị trong f1 ( x, u ) đoạn {0,1]. Các giá trị của α sẽ nhận được từ phép suy & f ( x, u ) diễn mờ. Bằng việc thay đổi giá trị α ta sẽ nhận được X = f ( x, u ) = 2 (52) các tín hiệu điều khiển khác nhau. f 3 ( x, u ) Giả sử ta thiết kế hệ điều khiển PD. Phương trình bộ f 4 ( x, u ) điều khiển PD có thể miêu tả dưới dạng Vậy (52) như dạng (1) uPD=αe+(1-α) e với e(t)=r(t)-y(t) (44) Các số liệu cho mô phỏng: Độ dài khớp L1=L2=1m; 3. MÔ PHỎNG QUẢ TRÌNH Khối lượng khớp: m1=m2=50 kg; Moment inertia của hai khớp: Il1=Il2=10kg.m2 Hệ phương trình động học của Rôbốt như sau: 4
  5. Luật điều khiển mờ cho mặt trượt bảng 1 TÀI LIỆU THAM KHẢO 1.5 [1] Lin C.T., Lee C.S.G, Neuron Fuzzy Systems, Prentince-Hall International. 1996 1 [2] Wang L.X, A course in Fuzzy systems and control, 0.5 0 -0 .5 Prentince-Hall International. 1997 -1 [3] Le Ba Dung, A kind of self_tuning PID Controller, -1.5 40 50 Journal of Computer Sciences and Cybernetics 0 10 20 30 Hanoi No1/1995 Hình 1. Kết quả quá trình mô phỏng tay máy 2 bậc tự [4] Hunt K.J et all, Neuron networks for control systems, automatica, Vol 28, No.6, 1992, pp do θ1, θ2 cho các thuật trên (đỏ-yêu cầu, 1083-1112 [5] Le Ba Dung, An updating algorithm for fuzzy logic 4. KẾT LUẬN control (in Vietnamese), Proceeding of the second Vietnam conference on automation, Bài báo đề cập đến một vài vấn đề điều khiển tự chỉnh Hanoi 1996 cho rôbốt. Các kết quả mô phỏng cho thấy các thuật [6] Lê Bá Dũng, Báo cáo đề tài cấp TTKHTN&CNQG toán hội tụ nhanh và đáp ứng được yêu cầu đế ra. về điều khiển Rôbốt trên cơ sở CAMERA [7] Lê Bá Dũng, Các module chương trình cho nghiên cứu điều khiển mờ, BC nhánh DT cấp NN KH- 09/04 5
nguon tai.lieu . vn