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
Tóm tắ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
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
điều khiển Rô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ều khiển cho độ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ề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
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]
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ều khiể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ều khiể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ều khiể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ều khiển mờ
Luật điều khiển mờ 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ều khiển mờ ở 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ều
khiển ở mức cao:
Tác động điều khiể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ều khiể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ều khiển mờ cho mặt trượt
2.2 HỆ ĐIỀU KHIỂN TỰ CHỈNH MỜ 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ều khiể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ề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à
đầu ra của bộ điều khiể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ều khiển khác nhau.
Giả sử ta thiết kế hệ điều khiển PD. Phương trình bộ
điều khiể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ệu cho mô 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ều khiển mờ 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ột vài vấn đề điều khiển tự chỉnh
cho rôbốt. Các kết quả mô phỏng cho thấy các thuật
toán hội tụ nhanh và đáp ứng được yêu cầu đế ra.
TÀI LIỆ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ề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