Tải bản đầy đủ (.pdf) (8 trang)

Anfis và ứng dụng nhận dạng vị trí con lắc ngược

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (232.09 KB, 8 trang )

Phạm Hữu Đức Dục Tạp chí KHOA HỌC & CÔNG NGHỆ 57(9): 57 – 62
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

ANFIS VÀ ỨNG DỤNG NHẬN DẠNG VỊ TRÍ CON LẮC NGƯỢC

Phạm Hữu Đức Dục
*

Trường Đại học Kỹ thuật Công nghiệp - Đại học Thái Nguyên

TÓM TẮT
ANFIS (Adaptive Network-based Fuzzy Inference System) là mạng nơron mờ nổi
tiếng, hiện đang được các nhà khoa học quan tâm trong các lĩnh vực nhận dạng và
điều khiển đối tượng phi tuyến. Bài báo này đề xuất các luật cập nhật thông số
điều chỉnh đối với các biến ngôn ngữ mờ ở đầu vào và các hệ số của hàm tuyến
tính của đầu ra khi ANFIS sử dụng hàm liên thuộc dạng Gauss và ứng dụng chúng
trong bài toán nhận dạng vị trí con lắc ngược.
Từ khoá: ANFIS, hàm liên thuộc Gauss, nhận dạng, con lắc ngược.


*Phạm Hữu Đức Dục, Tel:0913238632,
Email:
1. MỞ ĐẦU
Nhận dạng đối tượng phi tuyến thông
thường là bài toán rất phức tạp. Để nâng
cao tính thông minh cho thiết bị nhận
dạng thường ứng dụng các giải pháp sử
dụng mạng nơron, hệ mờ, mạng nơron
mờ.... ANFIS (Adaptive Network-based
Fuzzy Inference System) là một mạng
nơron mờ nổi tiếng, hiện đang được các


nhà khoa học quan tâm trong các lĩnh v ực
nhận dạng và điều khiển đối tượng phi
tuyến.
Bài báo này giới thiệu ANFIS, sau đó đề
xuất các luật học cập nhật thông số điều
chỉnh cho các biến ngôn ngữ mờ ở đầu
vào và các hệ số của hàm tuyến tính của
đầu ra khi mạng nơron mờ này sử dụng
hàm liên thuộc dạng Gauss. Để minh
chứng cho tính đúng đắn của các luật điều
chỉnh vừa được đề xuất, bài báo này thực
hiện ứng dụng chúng trong bài toán nhận
dạng một đối tượng phi tuyến mạnh đó là
vị trí con lắc ngược.
2. ANFIS
ANFIS là mạng nơron mờ được [1], [2]
giới thiệu. Luật học dạng TSK (Takasi,
Sugeno và Kang) thứ j có dạng:
j
R
: IF
1
u
is
j
1
A
AND
2
u

is
j
2
A
.... AND
n
u
is
j
n
A
THEN
)upp(f
n
1i
i
j
i
j
0
j
j

=
+µ=
;
với
i
u
, y tương ứng là các biến đầu vào,

đầu ra;
)u(A
i
j
i
là các biến ngôn ngữ mờ;
Rp
j
1

là hệ số của hàm tuyến tính
j
f
(i =
1, 2,..., n; j = 1, 2, ..., M ).
Cấu trúc của ANFIS gồm 6 lớp như sau:
Lớp 1: Là lớp đầu vào, mỗi nút thứ i có
tín hiệu vào
i
u
.
Lớp 2: Mỗi phần tử tương ứng là một hàm
liên thuộc
)u(
ij
i
A
µ
.
Lớp 3: Mỗi phần tử

j
R
tương ứng thực
hiện một luật thứ j:

=
µ=µ
n
1i
i
j
i
j
)u(
.
Lớp 4: Mỗi phần tử N tương ứng thực
hiện phép tính:
Phạm Hữu Đức Dục Tạp chí KHOA HỌC & CÔNG NGHỆ 57(9): 57 – 62
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


=
µ
µ

M
1j
j
j
j

.
Lớp 5: Mỗi phần tử j thực hiện phép tính:
)upp(f
n
1i
i
j
i
j
0
j
j

=
+µ=
.
Lớp 6: Có một phần tử thực hiện phép
tính giá trị đầu ra:



=
=
=
µ=
µ
µ
=
M
1j

j
j
M
1j
j
M
1j
jj
f
f
y
,
Sai lệch trung bình bình phương giữa vị
trí mong muốn y
d
và vị trí y:
2
M
1j
n
1i
)
i
u(
j
i
A
M
1j
j

n
1i
)
i
u(
j
i
A
d2d
f
y
2
1
)yy(
2
1
E

























µ








µ
−=−=

=

=

=

=



Để E cực tiểu (hay y bám theo được
d
y
) cần
tìm đư ợc luật cập nhật bộ thông số điều
chỉnh gồm: thông số của hàm liên thuộc ở
lớp 2 và bộ thông số
{ }
j
n
j
i
j
2
j
1
j
0
p,...,p,...,p,p,p
ở lớp 5.
Phần sau đây đề xuất các luật điều chỉnh
cập nhật giá trị của các bộ thông số điều
chỉnh nói trên khi ANFIS sử dụng hàm
liên thuộc Gauss, sau đó ứng dụng các
luật đó trong nhận dạng vị trí con lắc
ngược.
3. LUẬT ĐIỀU CHỈNH CỦA ANFIS VÀ
ỨNG DỤNG ANFIS NHẬN DẠNG VỊ

TRÍ CON LẮC NGƯỢC
3.1. Luật điều chỉnh của ANFIS
Vấn đề đặt ra là cần tìm các luật 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 Gauss thực hiện theo phương pháp
hạ gradient để tìm các luật điều chỉnh các
thông số nói trên. Do khuôn khổ bài báo
có hạn nên không trình bày phần chứng
minh, chỉ cung cấp kết quả của các luật
này.
- Luật cập nhật thông số điều chỉnh ở lớp
5:
j
i
p
j
i
j
i
p
E
)k(p)1k(p


η−=+
;
với:

=

µ
µ
−=


M
1j
j
ji
d
j
i
u
)yy(
p
E
;
- Luật cập nhật bộ thông số điều chỉnh ở lớp
2:
2
)
j
i
.(2
2
)
j
i
c
i

u(
ij
i
A
e)u(
δ
−−

;

j
i
c
E
c
j
i
j
i
)k(c)1k(c


η−=+
;
với:

=
µδ
µ−−
−=



M
1j
j
2
i
j
i
ji
j
i
ij
d
j
i
)u(
))u(au)(yf(
)yy(
c
E
;

j
i
j
i
j
i
E

)k()1k(
δ∂

η−δ=+δ
δ
;
với:


=
µδ
µ−−
−=
δ∂

M
1j
j
3
i
j
i
j
2
i
j
i
ij
d
j

i
)u(
))u(au)(yf(
)yy(
E
;
trong đó:
δ
ηηη ,
c,p
là các hệ số học.
3.2. Ứng dụng ANFIS nhận dạng vị trí
con lắc ngược
3.2.1. Động học hệ xe goòng-con lắc
ngược
Phạm Hữu Đức Dục Tạp chí KHOA HỌC & CÔNG NGHỆ 57(9): 57 – 62
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Hình 1 mô tả hệ xe goòng-con lắc ngược
[3]. Phương trình động học có dạng:
21
xx =

;

Hình 1. Mô hình hệ xe goòng-con lắc
ngược

Hình 2. Sơ đồ ứng dụng mạng nơron
Elman nhận dạng vị trí con lắc ngược

)x(cosamll
3
4
f)xcos(a2/)x2sin(amlx)xsin(g
x
1
2
11
2
2
1
2

−−
=


với:
1
x

2
x
tương ứng là vị trí (rad) và
tốc độ góc (rad/s) của con lắc ngược; m
và M tương ứng là khối lượng con lắc
ngược (kg) và khối lượng xe goòng (kg); l
là một nửa chiều dài của con lắc
ngược(m); f là lực đẩy tác động vào xe
(N); g là gia tốc trọng trường và

Mm
1
a
+
=
.
3.2.2. Thiết lập thiết bị nhận dạng
Sử dụng sơ đồ nhận dạng song song [4]
ứng dụng ANFIS nhận dạng vị trí con lắc
ngược x
1
(k) trình bày ở hình 2. Hình 3 là
sơ đồ mô phỏng số liệu vào/ra của con lắc
ngược trên Matlab/ Simulink. Hình 4 mô
tả sơ đồ cấu trúc của ANFIS nhận dạng vị
trí con lắc ngược. Vị trí con lắc ngược tại
thời điểm k là x
1
(k)

không những chỉ phụ
thuộc vào lực tác dụng f(k) mà còn phụ
thuộc các giá trị quá khứ x
1
(k-1), mặt
khác cần thoả mãn yêu cầu về cấu trúc
của thiết bị nhận dạng không quá phức
tạp. Từ đó chọn số đầu vào của ANFIS là
2, với các tín hiệu vào tương ứng là f(k),
x

1
(k-1) và có 1 đầu ra là
)k(x
1

. Chọn số
hàm liên thuộc cho mỗi biến đầu vào là
2. Như vậy lớp 3 của ANFIS có 4 luật
học tương ứng từ R
1
đến R
4
và ở lớp 5
thực hiện tính toán các hàm tuyến tính:
)upp(f
2
1i
i
j
i
j
0
j
j

=
+µ=

(với j=1, 2, 3, 4)
Quá trình nhận dạng được tiến hành trong

hai giai đoạn: học và kiểm tra sau đây.
Phạm Hữu Đức Dục Tạp chí KHOA HỌC & CÔNG NGHỆ 57(9): 57 – 62
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Hình 3. Sơ đồ tính toán số liệu vào/ra vị trí con lắc ngược trên Matlab/Simulink.

Hình 4. Sơ đồ cấu trúc của ANFIS nhận dạng vị trí con lắc ngược.
Phạm Hữu Đức Dục Tạp chí KHOA HỌC & CÔNG NGHỆ 57(9): 57 – 62
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


- Giai đoạn học
Thực hiện quá trình tính toán số liệu
vào/ra của vị trí con lắc ngược. Thông số
sử dụng trong quá trình mô phỏng: m =
0.1 (kg); M = 10(kg); g = 9.8 (m/s
2
); l
= 4(m). với lực tác dụng f ở dạng ngẫu
nhiên trong khoảng [-1, 1] (hình 5).
Thực hiện chạy mô hình tính toán thông
số vào-ra trên Matlab/Simulink (hình 3)
được đồ thị biểu diễn vị trí thực x
1
của
con lắc ngược của giai đoạn học trên đồ
thị hình 8 (đư ờng nét liền). Thực hiện
giai đoạn học trên Matlab với các luật
cập nhật thông số như sau.

j
i
p
j
i
j
i
p
E
)t(p)1t(p


η−=+
;
với:

=

µ
µ
−=


4
1j
j
ji
1
1
j

i
u
)xx(
p
E



Hình 5. Đồ thị lực tác dụng
f(k) trong giai đoạn học

Hình 6. Bộ hàm liên thuộc
ban đầu của đầu vào f(k)

Hình 7. Bộ hàm liên thuộc
ban đầu của đầu vào
x
1
(k-1)
Hình 8. Đồ thị x
1
(k)(nét
liền),
1
x

(k) (nét đứt) giai
đoạn học

Hình 9. Bộ hàm liên thuộc

sau khi học của đầu vào
f(k)

Hình 10. Bộ hàm liên
thuộc sau khi học của đầu
vàox
1
(k-1)

Hình 11 . Đồ thị 3 chiều
quan hệ f(k), x
1
(k-1),
1
x


Hình 12 . Đồ thị lực tác
dụng f(k) giai đoạn kiểm

Hình 13. Đồ thị x
1
(k) (nét
liền),
1
x

(k) (nét đứt) kiểm
0 10 20 30 40 50 60 70 80 90
-1

-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 10 20 30 40 50 60 70 80
0
0.2
0.4
0.6
0.8
1
0 10 20 30 40 50 60 70 80
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 10 20 30 40 50 60 70 80 90

-0.5
0
0.5
1
1.5
2
2.5
0 10 20 30 40 50 60 70 80
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 10
20 30 40 50 60 70 80
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8

0.9
1
-1
-0.5
0
0.5
1
0
0.5
1
1.5
2
0
0.5
1
1.5
2
30
35
40
45
50
55
60
65
70
-1
-0.8
-0.6
-0.4

-0.2
0
0.2
0.4
0.6
0.8
1
0 10
20 30
40
50
60 70
80
0
0.5
1
1.5
2

×