MỘTVÀI THUẬT TOÁNĐIỀUKHIỂN TỰ CHỈNHMỜCHOĐIỀUKHIỂNRÔ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: Bài báo đề cập đến mộtvàithuậtđiềukhiểntựchỉnhmờchođiềukhiển rôbốt. Thông qua các thuật toánđiềukhiển này tác giả muốn trình bầy một quá trình xấp xỉ phi tuyến chođiềukhiểnRôbốt Abstract: The paper presents some self tuning fuzzy algorithm for robot control. Through these algorithms the author wants to describe the method to non_linear approximation for robot control 1. MỞ ĐẦU: 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ư 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 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ềukhiểncho động học phi tuyến 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à phương pháp khả thi, có thể xấp xỉ vạn năng với mức độ chính xác tuỳ ý cho nhiêu quá trình công nghiệp [1,2], nhất là trong lĩnh vực điềukhiển Rôbốt. Bài báo này trình bầy mộtvài thuật toánđiềukhiển tự chỉnhmờchođiềukhiểnRôbốt [1,2,3,6,7] 2. CÁC THUẬT TOÁNĐIỀUKHIỂNMỜ CHO ĐIỀUKHIỂNRÔBỐT 2.1 HỆ ĐIỀUKHIỂNMỜ LAI THÍCH NGHI Cho hệ điềukhiển dạng [2] uxgxfx n )()( )( += (1) Với: TnT n xxxxxxx ], .,,[], .,,[ )1( 21 − == & là vector 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ềukhiển ra. Gọi y m là tín hiệu yêu cầu và vector sai số bám e được định nghĩa: ], .,,,[ )1(210 − = n mmmm T m yyyyy (2) xyxye mm ˆˆ ; −=−= e (3) . Tn eeee ), .,,( )1( − = & Ta phải chọn sao cho tất cả các nghiệm của đa thức nằm trong nửa ta trái của mặt phảng phức, do đó tác động điềukhiển có dạng : T nn kkkK ), .,,( 11 − = nn sks ++ − 1 1 n k+ . [ ] c Tn m ueKyxf xg −++−= )( )( ˆ )( ˆ 1 u (4) Với [ ] T nn kkkK 11 , .,, − = )( ˆ xf )( ˆ xg ta có e(t) → 0, khi t →∞ avà tín hiệu ra y (hoặc x) sẽ tiệm cận đến quĩ đạo yêu cầu y m . Hàm và sẽ được ước lượng từ f(x), g(x) [2]. Từ (1) và (4) ta sẽ có hệ điềukhiển kín (5) 0 =+++ − ekeke n nn . )1( 1 Ta chọn dạng luật điều khiển: u= u c + u s (6) [ ] o Tn mc ueKyxf xg u −++−= )( )( ˆ )( ˆ 1 (7) Vậy và (8) )()( ˆ xxf T f ψθ = )()( ˆ xxg T g ηθ = 1. Thiết kế hệ điềukhiểnmờ Luật điềukhiểnmờ có dạng E is f then A is x and . and A is x if i nn i 1 1 ˆ i R (9) ……. F is g then B is x and . and B is x if i nn i 1 1 ˆ * R với . 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à theo phương pháp giảI bằng trọng tâm ta có tín hiệu ra của hệ mờ: ii BA 11 1 ∑ ∏ ∑ ∏ = = = = = h i n j j A h i n j j A i x xy xf i j i j 1 1 1 1 ))(( ))(( )( ˆ µ µ (10) ∑ ∏ ∑ ∏ = = = = = h i n j j B h i n j j B i x xy xg i j i j 1 1 1 1 ))(( ))(( )( ˆ µ µ (11) Với: )( j A x i j µ : Hàm thuộc của biến mờ x j h : Số luật mờ dạng IF-THEN y -i :Điểm tại đó có Và ψ 1)()( == i F i E yy µµ I , η được định nghĩa: ∑ ∏ ∏ = = = = h i n j j A n j j A i x x x i j i j 1 1 1 ))(( )( )( µ µ ψ (12) ∑ ∏ ∏ = = = = h i n j j B n j j B i x x x i j i j 1 1 1 ))(( )( )( µ µ η (13) 2. Thiết kế hệ điềukhiểnmờ ở mức cao Thay thế (7) vào (1) có: (14) uxgxgxfxfeKe Tn ])()( ˆ [)]()( ˆ [ )( −+−+−= Một số yêu cầu cần phải thỏa khi thiết kế bộ điềukhiển ở mức cao: Tác động điềukhiển u s cần phải chọn - Đảm bảo x sẽ bị chặn - Ở mức cao thì u s phải có giá trị không khi trọng thái hệ thống ổn định và khác không khi e vượt ra ngoài khoảng ổn định. Có nghĩa là e → 0 thì x → y m Với vector sai số bám e=(e,e 1 … e (n-1) ) và mặt trượt được chọn s(e,t)= λ e+ (15) e & Trong đó λ là hằng số xác định dương và điều kiện cho chế độ trượt là: s s ≤ - η |s| (16) & η là hằng số xác định dương. Đạo hàm (15) có: s(e,t)=x (n) – x d (n) + a 1 e (n-1) +… a n-1 e (17) & và u s chọn: u s =u n -K s sgn(s) (18) và u n =x d (n) - a 1 e (n-1) -… - a n-1 e & có thể viết: )sgn( )( ˆ 1 )1 )( ˆ 1 ()( ˆ sK xg u xg xfs n −−+ / = & (19) Từ (18) có thể viết u f = -K s sign(s) sẽ tồn tạI K s * sao cho thoả mãn điều kiện trượt K s - K * < ζ (20) 3. Qúa trình chỉnh định Nhiệm vụ của quá trình tựchỉnh là xác định một cơ chế tựchỉnh vớI luật mờ: i s i n i 1 1 C is K then A is s and A is s if & i R (21) Trong đó K s có thể tính: K s = )( 1 1 11 11 x C T n i BA i B n i A ii ii ϕξ µµ µµ = ∑ ∑ = = (22) Với ξ =[c 1 , c 2 …… c m ] T là vector các thông số tự chỉnh, và ϕ (x)=[ ϕ 1 … ϕ m ] T là hàm mờ sau: ∑ = = n i BA BA ii ii x 1 11 11 )( µµ µµ ϕ (23) Gọi ξ * là vector tối ưu sao cho tác động điềukhiển trong chế độ trượt là nhỏ nhất: (24) * ξξε −= Vậy , ta chọn hàm Lyapunov dạng: )( * xK T ϕξ = && ) 1 ( 2 1 2 εε γ T sV += (25) VớI γ là hằng số dương Đạo hàm (25) εε γ & & & T ssV 1 += (26) Thay thể (20) và (24) vào (26) có: 2 εε γ & & T Sn sK xg u xg xfsV 1 || )( ˆ 1 ])1 )( ˆ 1 ()( ˆ [ +−−+= ε γ ς w T ffn sKK xg sK xg u xg xfs 1 ||)( )( ˆ 1 |}| )( ˆ 1 ])1 )( ˆ 1 ()( ˆ [{ * +++−−−+= |)|( 1 || 11 sWs T γβεε γ ςβη −− −++−≤ & (27) ε & R * (k) là quan hệ mờ ở thời điểm t=(k-n)T Vậy tác động thích nghi có dạng: (28) |)| 1 sW γβε − = & Hàm Lyapunov với )( ˆ 1 xg = β sẽ cho: (29) || 1 sV ςβη − +−≤ & S(t) S’() N NB NM NS Z PS PM PB P N PB PM PM PS PS Z NS NS NM Z PM PM PS PS Z NS NS NM NM P PM PS PS Z NS NS NM NM NM Bảng 1 Luật điềukhiểnmờcho mặt trượt 2.2 HỆ ĐIỀUKHIỂNTỰCHỈNHMỜ VỚI THAY ĐỔI CẤU TRÚC Ta có thể thấy quan hệ mờ mới được hình thành theo luật suy diễn sau [7] R 1 : if x is A 1 and y is B 1 then z is C 1 (30) R 2 : if x is A 2 and y is B 2 then z is C 2 ……. Từ dạng luật trên cho ta tác động ra C’ như sau: U o n i i RBAC 1 )','(' = = ()','( 1 U o n i i andBABA = = ) ii C→ Trong đó A,B,C là các tập mờ, R là quan hệ mờ của cả luật và: R(k+1)=R(k) but not R * (k) else R ** (k) (31) R(k+1)=R * (k) but not R * (k) else R ** (k) (32) R(k+1)=R(k) or (R * (k) but not R * (k)) else R ** (k) (33) Trong đó :R(k) là quan hệ mờ ở thời điểm t=kT R ** (k) là quan hệ mờ thay đổi ở thời điểm t=(k-n)T 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 trình bổ sung tri thức phải được thực hiện thường kỳ bằng các cách. • 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 Giả sử là hệ điềukhiển ở thời điểm hiện tại t=kT, thời đ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 có các quan hệ mờtừ các thời điểm như sau: Quan hệ mờ ở thời điểm t=kT R(kT): E(kT) → C(kT) → U(kT) (34) Quan hệ mờ ở thời điểm t=(k-n)T R*(kT): E(kT) → C(kT) → U(kT) (35) Quan hệ mờ được thay đổi ở thời điểm t=(k-n)T R**(kT): E(kT) → C(kT) → U(kT) (36) Dạng (31) có thể viết R(k+1)= R(kT) ∪ (R(kT) ∩ )(* kTR ) ∪ R**(kT) (37) Tương tựtừ (32) R(k+1)=R*(KT) ∪ (R(kT) ∩ )(* kTR ) ∪ R**(kT) (38) Tương tựtừ (33) R (k+1 )=(R(kT) ∪ R*(KT)) ∪ (R(kT) ∩ )(* kTR ) ∪ R**(kT) (39) Định lý 3.4 Dạng luật suy diễn (34), (35), (36) là quá trình bổ sung tri thực vào hệ luật lúc ban đầu dạng E(k)→C(k)→U(k) Chứng minh : Thật vậy từ (34-36) có thể viết 3 )(* kTR =Ie × Ic × Iu-E((k-n)T) × C((k-n)T) × U((k-nT)) =( ))(( TnkE − × Ic × Iu) ∨ = (Ie × ( ))(( TnkC − × Iu) ∨ = (Ie × Ic × ( ))(( Tnk −U ) (40) Thay thế (40) vào (38) ta có: R(k+1)=R(kT) ∧ ( ))(( TnkE − × Ic × Iu) ∨ R(kT) ∧ (Ie × ( ))(( TnkE − × Iu) ∨ R(kT) ∧ (Ie × Ic × ( ))(( TnkE − ) ∨ R*(kT) Với R(kT) có thể viết R(kT)=[Ek × Ck × Uk] (41) Vậy: R(k+1)T= Ek ∧ ( ))(( TnkE − × Ck × Uk) ∨ Ek × (Ck ∧ ( ))(( TnkC − ) × Uk) ∨ Ek × Ck × (Uk ∧ ( ))(( TnkE − ) ∨ E(k-n)T × C(k-n)T × V(k-n)T (42) Phương trình (42) cho ta thêm 4 luật ở thời điển kT vào hệ luật ban đầu dạng E(k) → C(k) → U(k) 2.3 THUẬT TOÁN THIẾT KẾ TỰ CHỈNH QUA THAY ĐỔI LUẬT Bộ điềukhiểntự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ềukhiểnmờ và V là đầu ra của bộ điềukhiển mờ. Quá trình chỉnh định được thực hiện theo [3,5,7] V=< α E-(1- α )C> (43) Trong đó <.> là phép hợp và α nhận các giá trị trong đoạn {0,1]. Các giá trị của α sẽ nhận được từ phép suy diễn mờ. Bằng việc thay đổi giá trị α ta sẽ nhận được các tín hiệu điềukhiển khác nhau. Giả sử ta thiết kế hệ điềukhiển PD. Phương trình bộ điềukhiển PD có thể miêu tả dưới dạng u PD = α e+(1- α ) e với e(t)=r(t)-y(t) (44) 3. MÔ PHỎNG QUẢ TRÌNH Hệ phương trình động học của Rôbốt như sau: )(),()( τξξξξ qgM =− && (45) R va 2 ∈== θθθθξ T 21 ][ + = (46) 2221 1211 MM MM 2 1 θ θ && && ),( ),( 2 1 θθ θθ & & g g )( )( 2 1 tq tq Ta có = (47) 2 1 θ θ && && )(),()[( 1 tqgM +− − θθθ & Với: ( ) θ 1 − M = (48) −− −− )()( )()( 1 22 1 21 1 12 1 11 θθ θθ MM MM An universe which always exists for practical problem because of several properties enjoyed by M and define: 321423311 uuXXXX ====== q q 121 θθθθ && (49) X=(X 1 , X 2 , X 3 . X 4 ) (50) We have: 21 XX = & MX 1 112 = − & ]u(x)g)[x,(xM]u(x)g)[x,(x 2221 1 121121 +−++− − (51) 43 XX = & ]u(x)g)[x,(xM]u(x)g)[x,(xMX 2221 1 221121 1 214 +−++−= −− & Vậy M 11 =I 1 +I 2 +(1/4)m 1 L 1 2 +m 2 [L 1 2 +(1/4)L 2 2 +L 1 L 2 cos( θ 2 ) M 12 =M 21 =I 2 +(1/4)m 2 L 2 2 +(1/2)L 1 L 2 m 2 cos( θ 2 ) ; M 22 =I 2 +(1/4)m 2 L 2 2 ),( ),( ),( ),( ),( 4 3 2 1 uxf uxf uxf uxf uxfX == & (52) Vậy (52) như dạng (1) Các số liệuchomô phỏng: Độ dài khớp L 1 =L 2 =1m; Khối lượng khớp: m 1 =m 2 =50 kg; Moment inertia của hai khớp: I l1 =I l2 =10kg.m 2 4 Luật điềukhiểnmờcho mặt trượt bảng 1 -0 Hình 1. Kết quả quá trình mô phỏng tay máy 2 bậc tự do θ 1 , θ 2 cho các thuật trên (đỏ-yêu cầu, 4. KẾT LUẬN Bài báo đề cập đến mộtvài vấn đề điềukhiểntựchỉnhcho rôbốt. Các kết quả mô phỏng cho thấy các thuậttoán hội tụ nhanh và đáp ứng được yêu cầu đế ra. TÀILIỆU THAM KHẢO [1] Lin C.T., Lee C.S.G, Neuron Fuzzy Systems, Prentince-Hall International. 1996 0 10 20 30 40 50 -1.5 -1 .5 0 0.5 1 1.5 [2] Wang L.X, A course in Fuzzy systems and control, Prentince-Hall International. 1997 [3] Le Ba Dung, A kind of self_tuning PID Controller, Journal of Computer Sciences and Cybernetics Hanoi No1/1995 [4] Hunt K.J et all, Neuron networks for control systems, automatica, Vol 28, No.6, 1992, pp 1083-1112 [5] Le Ba Dung, An updating algorithm for fuzzy logic control (in Vietnamese), Proceeding of the second Vietnam conference on automation, Hanoi 1996 [6] Lê Bá Dũng, Báo cáo đề tài cấp TTKHTN&CNQG về điềukhiểnRô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ềukhiển mờ, BC nhánh DT cấp NN KH- 09/04 5 . 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 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. chỉnh mờ cho điều khiển Rôbốt [1,2,3,6,7] 2. CÁC THUẬT TOÁN ĐIỀU KHIỂN MỜ CHO ĐIỀU KHIỂN RÔBỐT 2.1 HỆ ĐIỀU KHIỂN MỜ LAI THÍCH NGHI Cho hệ điều khiển dạng [2]