Phạm Hữu Đức Dục Tạp chí KHOA HỌC & CÔNG NGHỆ 57(9): 57 – 62 
 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. 
• 1. MỞ ĐẦU ANFIS là mạng nơron mờ được [1], [2] 
 Nhận dạng đối tượng phi tuyến thông giới thiệu. Luật học dạng TSK (Takasi, 
 thường là bài toán rất phức tạp. Để nâng Sugeno và Kang) thứ j có dạng: 
 cao tính thông minh cho thiết bị nhận j j j
 R : IF u1 is A AND u2 is A2 .... AND 
 dạng thường ứng dụng các giải pháp sử 1
 j n j
 dụng mạng nơron, hệ mờ, mạng nơron j = µ + ∑
 u n is An THEN f j j(p0 pi ui ) ; 
 mờ.... ANFIS (Adaptive Network-based i=1
 Fuzzy Inference System) là một mạng 
 nơron mờ nổi tiếng, hiện đang được các với u , y tương ứng là các biến đầu vào, 
 i j
 nhà khoa học quan tâm trong các lĩnh v ực đầu ra; Ai (ui ) là các biến ngôn ngữ mờ; 
 j ∈
 nhận dạng và điều khiển đối tượng phi p1 R là hệ số của hàm tuyến tính f j (i = 
 tuyến. 1, 2,..., n; j = 1, 2, ..., M ). 
 Bài báo này giới thiệu ANFIS, sau đó đề Cấu trúc của ANFIS gồm 6 lớp như 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 Lớp 1: Là lớp đầu vào, mỗi nút thứ i có 
 vào và các hệ số của hàm tuyến tính của tín hiệu vào ui . 
 đầu ra khi mạng nơron mờ này sử dụng 
 Lớp 2: Mỗi phần tử tương ứng là một hàm 
 hàm liên thuộc dạng Gauss. Để minh 
 liên thuộc µ j (ui ) . 
 chứng cho tính đúng đắn của các luật điều A
 chỉnh vừa được đề xuất, bài báo này thực i
 hiện ứng dụng chúng trong bài toán nhận Lớp 3: Mỗi phần tử R j tương ứng thực 
 dạng một đối tượng phi tuyến mạnh đó là 
 n j
 µ = ∏ µ
 vị trí con lắc ngược. hiện một luật thứ j: j i (ui ) . 
 i=1
 2. ANFIS 
 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, Tel:0913238632, 
 Email: 
[email protected] 
 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên  
Phạm Hữu Đức Dục Tạp chí KHOA HỌC & CÔNG NGHỆ 57(9): 57 – 62 
 µ thông số nói trên. Do khuôn khổ bài báo 
 µ = j . 
 j M có hạn nên không trình bày phần chứng 
 ∑ µ j minh, chỉ cung cấp kết quả của các luật 
 j=1
 này. 
Lớp 5: Mỗi phần tử j thực hiện phép tính: - Luật cập nhật thông số điều chỉnh ở lớp 
 j n j 5: 
 f = µ (p + ∑ p u ) . 
 j j 0 i i ∂E
 i=1 j + = j − η ; 
 pi (k 1) pi (k) p
 ∂p j
Lớp 6: Có một phần tử thực hiện phép i
tính giá trị đầu ra: với: 
 ∂E uiµ j
 = (y − yd ) ; 
 M j M
 ∂p
 ∑ µ jf j i ∑ µ j
 j=1 M j=1
 y = = ∑ µ jf j , 
 M j=1 - Luật cập nhật bộ thông số điều chỉnh ở lớp 
 ∑ µ j
 j=1 2: 
 j
 −(u −c )2
Sai lệch trung bình bình phương giữa vị i i
 d δj 2
trí mong muốn y và vị trí y: 2.( i )
 µ j (ui ) = e ; 
 2 A
     i
 M  n 
  ∑ ∏ µ j f j 
   A (u )  
 1 d 2 1 d j=1i=1 i i  
 E = (y − y) = y −  j + = j − η ∂E
 2 2  M  n   ci (k 1) ci (k) c ; 
 ∑  ∏ µ  j
   j   ∂c
  j=1i=1 Ai (ui)   i
Để E cực tiểu (hay y bám theo được yd ) cần với: 
 j
tìm đư ợc luật cập nhật bộ thông số điều ∂E (f j − y)(ui − a (ui ))µ j
 = (y − yd ) i ; 
chỉnh gồm: thông số của hàm liên thuộc ở j j M
 ∂c δ 2 ∑ µ
lớp 2 và bộ thông số i i (ui ) j
 j j j j j j=1
{p0 ,p1,p2 ,...,pi ,...,pn } ở 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 
 ∂E
 δ j + = δ j − η ; 
chỉnh nói trên khi ANFIS sử dụng hàm i (k 1) i (k) δ
 ∂δ j
liên thuộc Gauss, sau đó ứng dụng các i
luật đó trong nhận dạng vị trí con lắc 
ngược. với: 
 j 2
3. LUẬT ĐIỀU CHỈNH CỦA ANFIS VÀ ∂E (f j − y)(ui − a (ui)) µ j
 = (y − yd) i ; 
ỨNG DỤNG ANFIS NHẬN DẠNG VỊ j M
 ∂δ δj 3 ∑ µ
 i i (ui) j
TRÍ CON LẮC NGƯỢC j=1
3.1. Luật điều chỉnh của ANFIS 
 trong đó: η η , η là các hệ số học. 
Vấn đề đặt ra là cần tìm các luật cập nhật p, c δ
bộ các thông số điều chỉnh ở các lớp 3.2. Ứng dụng ANFIS nhận dạng vị trí 
2 và 5 cho ANFIS khi sử dụng hàm liên con lắc ngược 
thuộc Gauss thực hiện theo phương pháp 3.2.1. Động học hệ xe goòng-con lắc 
hạ gradient để tìm các luật điều chỉnh các ngược 
 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên  
Phạm Hữu Đức Dục Tạp chí KHOA HỌC & CÔNG NGHỆ 57(9): 57 – 62 
Hình 1 mô tả hệ xe goòng-con lắc ngược ngược(m); f là lực đẩy tác động vào xe 
[3]. Phương trình động học có dạng: (N); g là gia tốc trọng trường và 
 x = x ; 1
 1 2 a = . 
 m + M
 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 
 Hình 1. Mô hình hệ xe goòng-con lắc ngược x1(k) trình bày ở hình 2. Hình 3 là 
 ngược 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à x1(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ứ x1(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), 
 Hình 2. Sơ đồ ứng dụng mạng nơron ∧
 x1(k-1) và có 1 đ ầu ra là x1(k) . Chọn số 
 Elman nhận dạng vị trí con lắc ngược 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 
 − 2 − 1 4
 g sin(x1) amlx2 sin(2x1) / 2 a cos(x1)f học tương ứng từ R đến R và ở lớp 5 
x 2 = 
 4 2 thực hiện tính toán các hàm tuyến tính: 
 l − amlcos (x1)
 3 j 2 j
 = µ + ∑
 f j j(p0 pi ui ) 
 i=1
với: x1 và x 2 tương ứng là vị trí (rad) và 
tốc độ góc (rad/s) của con lắc ngược; m (với j=1, 2, 3, 4) 
và M tương ứng là khối lượng con lắc Quá trình nhận dạng được tiến hành trong 
ngược (kg) và khối lượng xe goòng (kg); l hai giai đoạn: học và kiểm tra sau đây. 
là một nửa chiều dài của con lắc 
 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên  
Phạm Hữu Đức Dục Tạp chí KHOA HỌC & CÔNG NGHỆ 57(9): 57 – 62 
 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. 
 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên  
Phạm Hữu Đức Dục Tạp chí KHOA HỌC & CÔNG NGHỆ 57(9): 57 – 62 
- Giai đoạn học thị hình 8 đư( ờng nét liền). Thực hiện 
Thực hiện quá trình tính toán số liệu giai đoạn học trên Matlab với các luật 
vào/ra của vị trí con lắc ngược. Thông số cập nhật thông số như sau. 
sử dụng trong quá trình mô phỏng: m = ∂E
 j + = j − η ; 
 2 pi (t 1) pi (t) p
0.1 (kg); M = 10(kg); g = 9.8 (m/s ); l ∂ j
 pi
= 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). với: 
Thực hiện chạy mô hình tính toán thông 
 ∂E ∧ uiµ j
số vào-ra trên Matlab/Simulink (hình 3) = (x1− x ) 
 j 1 4
 ∂p
được đồ thị biểu diễn vị trí thực x1 của i ∑ µ j
 j=1
con lắc ngược của giai đoạn học trên đồ 
 1 1 1
 0.8 0.9
 0.8
 0.6 0.8
 0.7
 0.4
 0.6
 0.2 0.6
 0.5
 0
 0.4
 -0.2 0.4
 0.3
 -0.4
 0.2
 -0.6 0.2
 0.1
 -0.8
 0
 0 10 20 30 40 50 60 70 80
 -1 0
 0 10 20 30 40 50 60 70 80 90 0 10 20 30 40 50 60 70 80 
 Hình 5. Đồ thị lực tác dụng Hình 6. Bộ hàm liên thuộc Hình 7. Bộ hàm liên thuộc 
 f(k) trong giai đoạn học ban đầu của đầu vào f(k) ban đầu của đầu vào 
 x1(k-1) 
 2.5 1 1
 0.9 0.9
 2
 0.8 0.8
 0.7 0.7
 1.5
 0.6 0.6
 1 0.5 0.5
 0.4 0.4
 0.5
 0.3 0.3
 0.2 0.2
 0
 0.1 0.1
 -0.5 0 0
 0 10 20 30 40 50 60 70 80 90 0 10 20 30 40 50 60 70 80 0 10 20 30 40 50 60 70 80 
 Hình 8. Đồ thị x1(k)(nét 
 ∧ Hình 9. Bộ hàm liên thuộc Hình 10. Bộ hàm liên 
 liền), x1(k) (nét đứt) giai 
 sau khi học của đầu vào thuộc sau khi học của đầu 
 đoạn học 
 f(k) vàox1(k-1) 
 1
 2
 0.8
 2
 0.6
 1.5 0.4 1.5
 0.2
 1
 0 1
 0.5
 -0.2
 0
 2 -0.4 0.5
 1.5 1
 -0.6
 1 0.5
 0
 0.5 -0.8
 -0.5 0
 0 -1 0 10 20 30 40 50 60 70 80
 -1
 30 35 40 45 50 55 60 65 70 
 Hình 11 . Đồ thị 3 chiều Hình 13. Đồ thị x (k) (nét 
 Hình 12 . Đồ thị lực tác 1
 ∧ ∧
 quan hệ f(k), x1(k-1), x1 dụng f(k) giai đoạn kiểm liền), x1(k) (nét đứt) kiểm 
 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên  
Phạm Hữu Đức Dục Tạp chí KHOA HỌC & CÔNG NGHỆ 57(9): 57 – 62 
 (k) giai đoạn học tra tra 
 − − j 2 bộ thông số điều chỉnh của ANFIS ở lớp 5 
 (ui ci )
 j như sau: 
 2.(δ )2
 µ (u ) = e i ; 
 j i p1=[0.0008 0.4591 0.0139]; 
 Ai
 p2=[0.0004 0.1260 -0.0497]; 
 c j(k +1) = c j(k) − η ∂E ; p3=[0.0071 -0.3223 -0.0234]; 
 i i c j
 ∂c
 i p4=[0.0144 0.0608 0.0650]. 
 với sai lệch: E=1.53604.10-4. 
 ∧
 ∧ − − j µ
 ∂E (f j x1)(ui ai (ui )) j
 = (x1− x ) ; 
 j 1 4 * Giai đoạn kiểm tra 
 ∂c δ j 2 µ
 i i (ui ) ∑ j Thực hiện tính toán bộ tín hiệu vào/ra giai 
 j=1 đoạn kiểm tra bằng cách cho trước lực tác 
 dụng f (hình 12) với vai trò là tín hiệu vào 
 ∂E
 δ j + = δ j − η của sơ đồ mô phỏng trên Matlab/Simulink 
 i (k 1) i (k) δ . 
 ∂δ j (hình 3). Thực hiện chạy mô phỏng để 
 i tính toán dữ liệu vào/ra trong giai đoạn 
với: kiểm tra, được đồ thị tín hiệu ra biểu diễn 
 vị trí x1 của con lắc ngược của giai đoạn 
 ∧
 j 2 kiểm tra trên đồ thị hình 13 đư( ờng nét 
 ∂E ∧ (f j − x1)(ui − a (ui)) µ j
 = (x − x ) i ; liền). 
 j 1 1 4
 ∂δ δj 3 ∑ µ
 i i (ui) j Căn cứ vào kết quả thông số điều chỉnh 
 j=1 tìm được của ANFIS trong giai đoạn học, 
 ∧ đưa bộ dữ liệu vào/ra giai đoạn kiểm tra 
 1 T 2
 E = ∑ (x (k) − x1(k)) ; nói trên vào ANFIS, đư ợc các đồ thị kết 
 2 1
 k=1 quả của giai đoạn kiểm tra từ hình 12 đ ến 
 hình 14. Từ các kết quả mô phỏng trên 
với: i = 1, 2; j = 1, 2, 3, 4; p là ma trận 
 đây của Matlab, thấy đượ∧c rằng các tín 
hệ số kích. hiệu tính toán nhận dạng x1(k) ở đầu ra 
 của ANFIS luôn bám rất sát theo được tín 
 2 hiệu vị trí thực của con lắc ngược x1(k) 
 1.5 trong cả hai giai đoạn học và kiểm tra 
 1
 0.5 (trên các đồ thị hình 8 và 13). 
 0
 2 Do đó chứng tỏ được rằng ứng dụng thiết 
 1.5 1
 1 0.5
 0
 0.5 -0.5 bị nhận dạng ANFIS (hình 4) cùng với 
 0 -1
 các luật điều chỉnh cập nhật cho bộ thông 
 số ở các lớp 2 và 5 đã nh ận dạng được vị 
 Hình 14. Đồ thị 3 chiều quan hệ 
 trí con lắc ngược với sai lệch của giai 
 ∧ đoạn học trong phạm vi cho phép. Mặt 
 f(k), x1(k-1), x1(k) giai đoạn kiểm tra khác cũng cần thấy rằng với cấu trúc của 
 T thiết bị nhận dạng (hình 4) không phức 
thước (3x4); u(k)=[f(k) x1(k-1)] ; f=[f1 f2 f3 
 T tạp (chỉ có hai đ ầu vào ứng với hai tín 
f4] . hiệu f(k), x1(k-1); mỗi đầu vào chỉ có hai 
Thực hiện mô phỏng trên Matlab cho giai hàm liên thuộc dạng Gauss; cùng bốn luật 
 j 
đoạn học trong 1.000 chu kỳ. Kết quả mô học R (với j = 1, 2, 3, 4) ANFIS đã nh ận 
phỏng được trình bày trên cácđ ồ thị từ dạng được đối tượng có mức độ phi 
hình 5 đ ến hình 11, số liệu tính toán của tuyến mạnh đó là vị trí con lắc ngược. Từ 
 đó khẳng định được ứng dụng ANFIS 
 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên  
Phạm Hữu Đức Dục Tạp chí KHOA HỌC & CÔNG NGHỆ 57(9): 57 – 62 
cùng với các luật điều chỉnh được đề xuất [5].  (1996), 
trên đây là một giải pháp có nhiều ưu Matlab-The Language of Technical 
điểm, nâng cao được độ thông minh của Computing; The MatthWorks. 
thiết bị nhận dạng vị trí con lắc ngược nói 
riêng và có thể áp dụng cho nhận dạng đối 
tượng phi tuyến nói chung. 
IV. KẾT LUẬN 
Kết quả mô phỏng trên đây đã ch ỉ ra rằng 
các luật điều chỉnh được đề xuất cho 
ANFIS khi sử dụng hàm liên thuộc dạng 
Gauss là đúng đắn. Để giải quyết bài toán 
nhận dạng vị trí con lắc ngược là phần tử 
phi tuyến mạnh, chỉ cần sử dụng thiết bị 
nhận dạng ứng dụng ANFIS với cấu trúc 
và bộ các thông số điều chỉnh ở các lớp 2 
và 5 không quá phức tạp, đã đạt được sai 
lệch có thể chấp nhận được. Điều này góp 
phần khẳng định được ANFIS là một 
mạng nơron mờ có nhiều ưu điểm, không 
những có thể ứng dụng nó trong bài toán 
nhận dạng đối tượng phi tuyến mà còn có 
thể ứng dụng nó trong trường hợp điều 
khiển các đối tượng phi tuyến có độ phức 
tạp cao. 
 TÀI LIỆU THAM KHẢO 
[1]. C.T. Lin, C.S. George Lee, (1996), 
Neural fuzzy systems, Prentice Hall 
Internatinal, Inc. 
[2]. J.S.R. Jang, (May/June 1993), “ANFIS: 
Adaptive-Network-Basec fuzzy inference 
systems”, IEEE Transactions on Systems, 
Man, and cybernetics, 665-685, Vol. 23, 
No. 3. 
[3]. L. K. Wong, Frank H. F. Leung, Peter 
K. S. Tam, (1998),” Lyapunov-Function-
Based Design of FuzzyLogic Controllers 
and Its Application on Combining 
Controllers”, IEEE Transactions on 
Industrial Electronics, 502-509, Vol. 45, 
No. 3. 
[4]. Narendra, Parthasarathy, (1990), 
“Identification and control of dynamical 
systems using Neural Networks”, IEEE. 
Trans. on Neural Networks, No.1, 4-27, 
 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên  
Phạm Hữu Đức Dục Tạp chí KHOA HỌC & CÔNG NGHỆ 57(9): 57 – 62 
 SUMMARY 
 ANFIS AND APPLYING TO IDENTIFY THE POSITION OF THE INVERTED 
 PENDULUM 
 Pham Huu Duc Duc* 
 University of Economics and Business Admnistration, University of Technology 
 • 
 ANFIS (Adaptive Network-based Fuzzy Inference System) is the modern fuzzy-neural 
 network, which is used by scientists to identify and control a nonlinear objects. This paper 
 proposes an update parameters learning rule for the Gaussian membership fuction of the 
 fuzzy linguistics variable in inputs and coefficients of the linear function in the output of 
 ANFIS and applying to identify the position of the inverted pendulum. 
Key words: ANFIS, the Gaussian membership fuction, identification, the inverted pendulum. 
* Pham Huu Duc Duc, Tel:0913238632, 
Email: 
[email protected] 
 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên