T¹p chÝ Khoa häc & C«ng nghÖ - Sè 3(43)/N¨m 2007<br />
<br />
MỘT PHƯƠNG PHÁP NÂNG CAO CHẤT LƯỢNG<br />
HỆ ĐIỀU KHIỂN TAY MÁY 3 THANH NỐI<br />
Lại Khắc Lãi (Trường ĐH Kỹ thuật Công nghiệp – ĐH Thái Nguyên)<br />
<br />
1. Mở đầu<br />
Hệ điều khiển chuyển động nhiều trục được sử dụng trong nhiều lĩnh vực như các máy cắt gọt<br />
kim loại CNC, máy cán thép hay các chuyển động của robot, ... Đặc điểm chung nhất của các hệ này là<br />
đồng thời có nhiều chuyển động và các chuyển động đó các tác động xuyên chéo nhau lẫn nhau. Muốn<br />
nâng cao chất lượng hệ chuyển động nhiều trục thì việc đầu tiên phải có biện pháp khắc phục những ảnh<br />
hưởng xuyên chéo đó. Các bộ điều khiển PID kinh điển không thể thực hiện được điều này mà cần phải<br />
có các bộ điều khiển thích nghi dựa trên cơ sở lý thuyết điều khiển hiện đại. Trong bài báo này, tác giả đề<br />
xuất một phương pháp dùng bộ điều khiển thích nghi mờ theo mô hình mẫu để điều khiển chuyển động<br />
các khớp của tay máy 3 thanh nối nhằm nâng cao chất lượng của hệ thống. Các kết quả mô phỏng cho<br />
thấy tính ưu việt và tính khả thi của phương pháp.<br />
2. Mô tả toán học hệ điều điều khiển tay máy 3 thanh [3]:<br />
Xét tay máy có sơ đồ động học như hình 1. Hệ có 3<br />
thanh nối: Thanh I quay quanh trục Z0 ≡ Z1 (coi là khối trụ<br />
tròn có bán kính R, khối lượng m1); thanh II có chiều dài l2,<br />
khối lượng m2, tham gia hai chuyển động: Chuyển động<br />
quay theo quanh trục Z2 và chuyển động quay tương đối<br />
quanh trục Z1 ; thanh III có chiều dài l3, khối lượng m3, tham<br />
gia các chuyển động: Chuyển động quay theo quanh trục Z3<br />
và hợp chuyển động tương đối hay còn gọi là chuyển động<br />
song phẳng tương đối quanh trục Z2 và Z1.<br />
Chọn hệ tọa độ góc để biểu diễn hệ ĐKCĐ nhiều<br />
trục như trên hình 1. Hệ tọa độ X0Y0Z0 được gắn cố định với<br />
nền móng, hệ tọa độ X1Y1Z1 được gắn với tâm của chuyển<br />
động quay khớp I( ϕ1 ) với trục quay là Z1 trùng với trục Z0,<br />
hệ tọa độ X2Y2Z2 được gắn với chuyển động quay khớp<br />
II( ϕ 2 ) với trục quay là :trục Z2, hệ tọa độ X3Y3Z3 được gắn<br />
với tâm của chuyển động quay khớp III ( ϕ 3 ) với trục Z3.<br />
<br />
Z0 ≡ Z1<br />
Zi<br />
<br />
ϕ3<br />
<br />
Z3<br />
<br />
I3<br />
<br />
l2<br />
<br />
Z2<br />
<br />
ϕ2<br />
<br />
l1<br />
<br />
III<br />
II<br />
<br />
Yi<br />
<br />
I<br />
O<br />
<br />
Y0 ≡ Y1<br />
<br />
Ri<br />
<br />
ϕ1<br />
Xi<br />
<br />
X0 ≡ X1<br />
<br />
Hình 1: Sơ đồ động học tay máy 3 thanh<br />
<br />
Hệ phương trình Lagrange 2 mô tả các chuyển động là:<br />
M 1 1ϕ<br />
ɺɺ 1 + M 1 2 ϕ<br />
ɺɺ 2 + M 1 3 ϕ<br />
ɺɺ 3 + N 1 1 1 ϕɺ 1 ϕɺ 2 + N 1 1 2 ϕɺ 1 ϕɺ 3 + N 1 1 3 ϕɺ 2 ϕɺ 3 + H 1 1 2 ϕɺ 22 + H 1 1 3 ϕɺ 32 = Q 1<br />
<br />
ɺɺ 1 + M 2 2 ϕ<br />
ɺɺ 2 + M 2 3 ϕ<br />
ɺɺ 3 + N 2 1 2 ϕɺ 1 ϕɺ 3 + N 2 1 3 ϕɺ 2 ϕɺ 3 + H 2 1 1 ϕɺ 12 + H 2 1 2 ϕɺ 22 + H 3 1 3 ϕɺ 32 + G 2 = Q 2<br />
M 2 1ϕ<br />
<br />
ɺɺ 1 + M 3 2 ϕ<br />
ɺɺ 2 + M 3 3 ϕ<br />
ɺɺ 3 + N 3 1 2 ϕɺ 1 ϕɺ 3 + H 3 1 1 ϕɺ 1 ϕɺ 3 + H 3 1 1 ϕɺ 12 + H 3 1 2 ϕɺ 22 + H 3 1 3 ϕɺ 32 + G 3 = Q 3<br />
M 3 1 ϕ<br />
<br />
Trong đó : M 1 1<br />
<br />
= A + (<br />
<br />
1<br />
1<br />
B + E ) cos2 ϕ 2 +<br />
C co s(ϕ 3 − ϕ 2 ) − D co s ϕ 2 co s(ϕ 3 − ϕ 2 )<br />
3<br />
2<br />
<br />
1<br />
1<br />
M 12 = ( B + E ) cos 2 ϕ 2 + C cos( ϕ 3 − ϕ 2 ) − D cos ϕ 2 cos( ϕ 3 − ϕ 2 )<br />
3<br />
2<br />
<br />
44<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 3(43)/N¨m 2007<br />
<br />
1<br />
1<br />
3<br />
C cos( ϕ 3 − ϕ 2 ) cos ϕ 3 − D ( cos( ϕ 2 + ϕ 3 ) + cos( ϕ 3 − ϕ 2 ) + E cos ϕ 2<br />
2<br />
4<br />
4<br />
<br />
M 13 =<br />
<br />
1<br />
1<br />
M 21 = ( B + E) cos 2 ϕ2 + C cos 2 (ϕ3 − ϕ2 ) − D cos(ϕ3 − ϕ2 ) cos ϕ2<br />
3<br />
2<br />
1<br />
1<br />
B + E ) co s 2 ϕ 2 + C co s 2 (ϕ 3 − ϕ 2 ) − D co s(ϕ 3 − ϕ 2 ) co s ϕ 2<br />
3<br />
2<br />
1<br />
3<br />
1<br />
C co s(ϕ 3 − ϕ 2 ) co s ϕ 3 − D [ co s(ϕ 3 − ϕ 2 ) + co s(ϕ 2 + ϕ 3 ) + 2 E co s ϕ 2<br />
2<br />
4<br />
4<br />
1<br />
3<br />
1<br />
C co s(ϕ 3 − ϕ 2 ) co s ϕ 3 − D [ co s(ϕ 3 − ϕ 2 ) + co s(ϕ 2 + ϕ 3 ) + E co s ϕ 2<br />
2<br />
4<br />
4<br />
1<br />
3<br />
1<br />
C co s(ϕ 3 − ϕ 2 ) co s ϕ 3 − D [ co s(ϕ 3 − ϕ 2 ) + co s(ϕ 2 + ϕ 3 ) + E co s ϕ 2<br />
4<br />
2<br />
4<br />
1<br />
C cos 2 ϕ 3 − D cos ϕ 3 + E<br />
2<br />
<br />
M<br />
<br />
22<br />
<br />
= (<br />
<br />
M<br />
<br />
23<br />
<br />
=<br />
<br />
M<br />
<br />
31<br />
<br />
=<br />
<br />
M<br />
<br />
32<br />
<br />
=<br />
<br />
M<br />
<br />
33<br />
<br />
=<br />
<br />
N 111 = − (<br />
N 112 = [<br />
<br />
N113 =<br />
<br />
1<br />
1<br />
B + E ) s in 2 ϕ 2 + C s in ( ϕ 3 − ϕ 2 ) − D s in ( ϕ 3 − ϕ 2 )<br />
3<br />
2<br />
<br />
1<br />
C s in 2 ( ϕ 3 − ϕ 2 ) + D s in ( ϕ 3 − ϕ 2 ) c o s ϕ 2<br />
2<br />
<br />
1<br />
1<br />
1<br />
3<br />
C sin(ϕ3 − ϕ2 ) cos ϕ3 − C sin 2(ϕ3 − ϕ 2 ) + D[ sin(ϕ2 + ϕ3 ) − sin(ϕ3 − ϕ2 ) + sin(ϕ3 − ϕ2 ) cos ϕ2 ] − 2E sin ϕ2<br />
2<br />
2<br />
4<br />
4<br />
<br />
1<br />
1<br />
C sin(2 ϕ 3 − ϕ 2 ) + D[ sin( ϕ 2 + ϕ 3 ) +<br />
2<br />
4<br />
1<br />
1<br />
= C sin(2 ϕ 3 − ϕ 2 ) + D[ sin( ϕ 2 + ϕ 3 ) +<br />
2<br />
4<br />
<br />
H 112 =<br />
H 113<br />
<br />
3<br />
sin( ϕ 3 − ϕ 2 )]<br />
4<br />
3<br />
sin( ϕ 3 − ϕ 2 )<br />
4<br />
<br />
1<br />
1<br />
C sin 2 ( ϕ 3 − ϕ 2 ) − C sin ( ϕ 3 − ϕ 2 ) co s ϕ 3 + D [sin ( ϕ 3 − ϕ 2 ) co s ϕ 2<br />
2<br />
2<br />
1<br />
3<br />
− sin ( ϕ 3 + ϕ 2 ) + sin ( ϕ 3 − ϕ 2 )] + E sin ϕ 2<br />
4<br />
4<br />
1<br />
= − C sin 2 ( ϕ 3 − ϕ 2 ) + D [sin ( ϕ 3 − ϕ 2 ) co s ϕ 2 ]<br />
2<br />
<br />
N 212 = −<br />
<br />
N 213<br />
H<br />
<br />
211<br />
<br />
H<br />
<br />
212<br />
<br />
H<br />
<br />
213<br />
<br />
G2<br />
<br />
1<br />
1<br />
1<br />
1<br />
B +<br />
E ) s in 2 ϕ 2 −<br />
C s in 2 (ϕ 3 − ϕ 2 ) +<br />
D s in (ϕ 3 − ϕ 2 )<br />
6<br />
2<br />
4<br />
2<br />
1<br />
1<br />
1<br />
1<br />
= −( B +<br />
E ) s in 2 ϕ 2 +<br />
C s in 2 (ϕ 3 − ϕ 2 ) −<br />
D s in (ϕ 3 − ϕ 2 )<br />
6<br />
2<br />
4<br />
2<br />
1<br />
1<br />
3<br />
= − C s in ( 2 ϕ 3 − ϕ 2 ) + D [ s in (ϕ 3 − ϕ 2 ) +<br />
s in (ϕ 3 + ϕ 2 )]<br />
2<br />
4<br />
4<br />
<br />
= (<br />
<br />
= − (m 2 g d 2 + m 3 g l 2 ) co s ϕ 2 + m 3 g d 3 co s( ϕ 3 − ϕ 2 )<br />
1<br />
3<br />
1<br />
C sin ( ϕ 3 − ϕ 2 ) co s ϕ 3 − D[ sin ( ϕ 3 − ϕ 2 ) − sin ( ϕ 2 + ϕ 3 ) +<br />
2<br />
4<br />
4<br />
1<br />
+ sin ( ϕ 3 − ϕ 2 ) co s ϕ 2 ] − E co s ϕ 2 + C sin 2 ( ϕ 3 − ϕ 2 )<br />
2<br />
<br />
N 3 12 = + [<br />
<br />
45<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 3(43)/N¨m 2007<br />
<br />
H 311 =<br />
<br />
1<br />
1<br />
C sin 2 ( ϕ 3 − ϕ 2 ) − D sin ( ϕ 3 − ϕ 2 ) co s ϕ 2<br />
4<br />
4<br />
<br />
1<br />
3<br />
1<br />
1<br />
1<br />
H312 = Csin(ϕ3 −ϕ2 )cosϕ3 − D[ sin(ϕ3 −ϕ2 ) − sin(ϕ2 +ϕ3 ) + sin(ϕ3 −ϕ2 )cosϕ2 ] − Ecosϕ2 + Csin2(ϕ3 −ϕ2 )<br />
2<br />
4<br />
4<br />
2<br />
4<br />
H313 = C3 sin 2ϕ3 − D sin ϕ3 ;G 3 = m3 gd 3 cos ϕ3<br />
<br />
3. Cấu trúc điều khiển mờ thích nghi:[2]<br />
Để điều khiển các chuyển động của tay máy ta dùng các bộ điều khiển mờ thích<br />
nghi có cấu trúc như hình 2.<br />
Bộ điều khiển mờ thích nghi<br />
yd<br />
y<br />
u<br />
có thể có nhiều đầu vào gồm<br />
Đối tượng<br />
e sai lệch và các đạo hàm của<br />
chúng, trong bài báo này ta chỉ<br />
thiết kế bộ điều khiển mờ<br />
Bộ điều khiển mờ<br />
thích nghi có 2 đầu vào e và<br />
u = u(e,θ) = θTξ(e)<br />
d<br />
dt<br />
e’. Bộ điều khiển mờ có nhiệm<br />
vụ tạo ra tín hiệu điều khiển<br />
Luật thích nghi<br />
⋮<br />
u, sao cho quĩ đạo đầu ra của<br />
θ’ = γeTpnξ(e)<br />
đối tượng (y) bám theo quĩ đạo<br />
cho trước (yd ), cho dù có sự<br />
Hình 2: Sơ đồ cấu trúc bộ điều khiển mờ thích nghi<br />
thay đổi thông số và cấu trúc<br />
của đối tượng.<br />
<br />
[<br />
<br />
j<br />
<br />
]<br />
<br />
j<br />
<br />
Mỗi đầu vào có 7 hàm liên thuộc rải đều trên miền α min , α max với j = 1, 2 là số đầu<br />
vào:<br />
<br />
(<br />
<br />
)<br />
<br />
µ A j (e j ) = µ e j ; δ1j , α1j = 1 −<br />
1<br />
<br />
1<br />
1+ e<br />
<br />
(<br />
<br />
−δ1j e j + α1j<br />
<br />
)<br />
<br />
(<br />
<br />
p<br />
<br />
(<br />
<br />
)<br />
<br />
j<br />
j<br />
Với p = 2, 3 ... , Nj -1 , còn µ A j (e j ) = µ e j ; δ N j , α N j =<br />
N<br />
<br />
Trong đó:<br />
<br />
)<br />
<br />
j<br />
j<br />
; µ A j (e j ) = µ e j ; δ p , α p = e<br />
<br />
(<br />
<br />
−δ pj e j − α pj<br />
<br />
)2<br />
<br />
1<br />
1+ e<br />
<br />
j <br />
j <br />
−δ N<br />
e −α N <br />
j j<br />
j<br />
<br />
j<br />
j<br />
α min<br />
= α1j < α 2j < ⋯ < α Nj −1 < α Nj = α max<br />
<br />
- Bộ điều khiển mờ có 7x7 = 49 luật điều khiển với luật Ru<br />
<br />
i1 … i n<br />
<br />
là:<br />
<br />
if e1 = A1i1 and e 2 = A i22 and⋯and e n = A inn then u = Bi1⋯in<br />
Trong đó i1 = 1, 2 ... , N1 ; ... in = 1, 2, ... , Nn là số hàm liên thuộc cho mỗi biến đầu<br />
vào; B i1⋯i n là tập mờ đầu ra sẽ được xác định.<br />
Sử dụng luật hợp thành PROD, mờ hoá theo đường singleton và giải mờ bằng phương<br />
pháp trung bình trọng tâm ta thu được bộ điều khiển mờ:<br />
46<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 3(43)/N¨m 2007<br />
n<br />
N<br />
N<br />
∑ i =1⋯ ∑ i =1 y i ⋯i ∏ j=1 µ A (e j )<br />
1<br />
<br />
u = u (e, θ ) =<br />
<br />
<br />
<br />
n<br />
<br />
<br />
<br />
j<br />
ij<br />
<br />
<br />
<br />
<br />
<br />
n<br />
N<br />
N<br />
∑ i1 1=1⋯ ∑ i n n=1 ∏ j=1 µ A j (e j )<br />
ij<br />
<br />
<br />
<br />
1<br />
<br />
1<br />
<br />
n<br />
<br />
n<br />
<br />
u = θ T ξ(e )<br />
<br />
(1)<br />
<br />
(2)<br />
<br />
Trong đó: ξ(e) là tập hợp hàm mờ cơ sở đã biết.<br />
<br />
∏ j=1 µ A<br />
n<br />
<br />
ξ(e ) =<br />
<br />
∑<br />
<br />
N1<br />
i1 =1<br />
<br />
⋯∑<br />
<br />
Nn<br />
i n =1<br />
<br />
j<br />
ij<br />
<br />
(e )<br />
j<br />
<br />
(3)<br />
<br />
n<br />
<br />
∏ j=1 µ Aij (e j )<br />
j<br />
<br />
<br />
<br />
y i1 ⋯i n là điểm trọng tâm của Bi1 ⋯i n , chúng sẽ được chỉnh định theo luật thích nghi<br />
cho phù hợp với đối tượng.<br />
θ là một véc tơ gồm tập hợp các y i ⋯i với i1 =1 ... N1;... i2 = 1 ... N2<br />
1<br />
n<br />
Các thông số θ được chỉnh định nhờ sử dụng luật thích nghi sau:<br />
<br />
θɺ = γe T Pn ξ(e)<br />
<br />
(4)<br />
<br />
Trong đó γ là 1 hằng số dương xác định tốc độ của thuật toán còn pn là cột cuối cùng<br />
của ma trận P, với P là nghiệm của phương trình Lyapunov.<br />
Fi1''<br />
Momen<br />
In1 Out1<br />
<br />
DKMT N1<br />
<br />
Fi1<br />
Fi'<br />
<br />
DA DK<br />
<br />
Dat vi tri 1<br />
<br />
Fi1'<br />
<br />
Fi''<br />
<br />
Fi2''<br />
<br />
Fi<br />
<br />
Fi2'<br />
<br />
MK1<br />
<br />
Fi2<br />
<br />
DC1<br />
<br />
Fi3''<br />
Fi3'<br />
Fi3<br />
<br />
Khop1<br />
<br />
Mux<br />
<br />
Fi1''<br />
<br />
Scope<br />
<br />
Fi1'<br />
Fi1<br />
Fi2''<br />
Fi2'<br />
DA DK<br />
<br />
Fi''<br />
<br />
MK2<br />
<br />
Fi2<br />
<br />
In1 Out1<br />
<br />
Fi3''<br />
<br />
Fi'<br />
<br />
Fi3'<br />
<br />
Dat vi tri 2<br />
DKMT N2<br />
<br />
Mo men<br />
<br />
Fi<br />
<br />
Fi3<br />
<br />
Khop 2<br />
<br />
DC2<br />
<br />
Fi1''<br />
Fi1'<br />
Fi1<br />
Fi2''<br />
Fi''<br />
In1 Out1<br />
<br />
DA DK<br />
<br />
DKMT N3<br />
<br />
Mo men<br />
<br />
DC3<br />
<br />
MK3<br />
<br />
Fi2<br />
Fi'<br />
<br />
Dat vi tri 3<br />
<br />
Fi2'<br />
Fi3''<br />
Fi3'<br />
<br />
Fi<br />
<br />
Fi3<br />
<br />
Khop 3<br />
<br />
Hình 3: Sơ đồ mô phỏng hệ điều khiển tay máy 3 thanh nối trên MATLAB<br />
<br />
47<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 3(43)/N¨m 2007<br />
<br />
Sau khi thiết kế được các bộ điều khiển mờ thích nghi, ta ghép chúng vào đối tượng điều<br />
khiển và tiến hành mô phỏng trên MATLAB với các thông số như sau:<br />
L1 = 0,06m;<br />
m3 = 12kg; d3 = 0,2m.<br />
<br />
m1 = 20kg; d1 = 0,3m; L2 = 0,6m; m2 = 12kg; d2 = 0,2m; L3 = 0,5m;<br />
<br />
3.5<br />
<br />
2.5<br />
<br />
3<br />
<br />
2<br />
1.5<br />
<br />
2.5<br />
1<br />
<br />
2<br />
<br />
0.5<br />
<br />
Điều khiển mờ thích nghi<br />
<br />
0<br />
<br />
1.5<br />
<br />
PID kinh điển<br />
<br />
Điều khiển mờ thích nghi<br />
<br />
1<br />
<br />
-0.5<br />
-1<br />
<br />
0.5<br />
<br />
-1.5<br />
<br />
PID kinh điển<br />
0<br />
<br />
-2<br />
<br />
0<br />
<br />
0.5<br />
<br />
1<br />
<br />
1.5<br />
<br />
2<br />
<br />
2.5<br />
<br />
3<br />
<br />
0<br />
<br />
Hình 4: Quĩ đạo của khớp 1 khi dùng PID<br />
kinh điển và Điều khiển mờ thích nghi<br />
<br />
0.5<br />
<br />
1<br />
<br />
1.5<br />
<br />
2<br />
<br />
2.5<br />
<br />
3<br />
<br />
Hình 5: Quĩ đạo của khớp 2 khi dùng PID<br />
kinh điển và Điều khiển mờ thích nghi<br />
<br />
Kết quả mô phỏng được thể hiện trên hình từ hình 4 đến hình 6. Trong đó hình 4 đến<br />
hình 6 là quĩ đạo của các chuyển động 1 khi dùng PID kinh điển và dùng bộ điều khiển mờ, hình<br />
7 là quĩ đạo không gian của 3 chuyển động.<br />
3<br />
2.5<br />
2<br />
<br />
1.5<br />
<br />
1.5<br />
<br />
1<br />
<br />
1<br />
<br />
0.5<br />
<br />
0.5<br />
<br />
Điều khiển mờ thích nghi<br />
<br />
0<br />
<br />
0<br />
<br />
PID kinh điển<br />
<br />
-0.5<br />
<br />
-0.5<br />
-1<br />
4<br />
<br />
-1<br />
<br />
4<br />
<br />
2<br />
<br />
-1.5<br />
<br />
3<br />
2<br />
<br />
0<br />
<br />
-2<br />
<br />
0<br />
<br />
0.5<br />
<br />
1<br />
<br />
1.5<br />
<br />
2<br />
<br />
2.5<br />
<br />
Hình 6: Quĩ đạo của khớp 3 khi dùng PID<br />
kinh điển và Điều khiển mờ thích nghi<br />
<br />
3<br />
<br />
1<br />
-2<br />
<br />
0<br />
<br />
Hình 7: Quĩ đạo không gian của 3<br />
chuyển động<br />
<br />
4. Kết luận<br />
Từ các kết quả mô phỏng ta thấy rằng khi dùng bộ điều khiển mờ thích nghi, quĩ đạo của<br />
các chuyển động bám quĩ đạo đặt sát hơn so với khi dùng bộ điều khiển kinh điển. Bộ điều<br />
khiển có cấu trúc như trên có thể sử dụng để điều khiển các hệ nhiều chuyển động trong thực tế.<br />
48<br />
<br />