31<br />
TẠP CHÍ KHOA HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI, SỐ 20 - 08/2016<br />
<br />
<br />
NHẬN DẠNG HỆ THỐNG PHI TUYẾN MIMO<br />
SỬ DỤNG MẠNG NƠ-RON RBF<br />
IDENTIFICATION OF MIMO NONLINEAR SYSTEM<br />
USING RADIAL BASIS FUNCTION NEURAL NETWORKS<br />
Phạm Thanh Tùng1, Đồng Văn Hướng2, Nguyễn Chí Ngôn3<br />
1<br />
Trường Đại học SPKT Vĩnh Long<br />
2<br />
Trường Đại học GTVT TpHCM<br />
3<br />
Trường Đại học Cần Thơ<br />
Tóm tắt: Bài báo này trình bày phương pháp nhận dạng hệ thống phi tuyến MIMO (Multiple-<br />
Input-Multiple-Output) sử dụng mạng nơ - ron RBF (Radial Basis Function Neural Networks). Phương<br />
pháp này được ứng dụng để nhận dạng đối tượng robot di động đa hướng (Omni-Directional Mobile<br />
Robot). Đây là một loại robot holonomic có thể di chuyển dễ dàng trong những không gian nhỏ, hẹp do<br />
khả năng di chuyển một cách linh hoạt, vừa quay vừa tịnh tiến đồng thời và độc lập. Mô hình robot di<br />
động đa hướng là một hệ MIMO phi tuyến. Việc nhận dạng tham số mô hình của đối tượng này đòi hỏi<br />
phải thiết lập nhiều phép đo phức tạp. Trong nghiên cứu này, mạng nơ - ron RBF được xây dựng và<br />
huấn luyện trực tuyến dựa trên dữ liệu vào ra của đối tượng. Kết quả mô phỏng trên phần mềm MATLAB<br />
cho thấy phương pháp nhận dạng đã đề xuất mang lại hiệu quả cao và ổn định kể cả đối với trường hợp<br />
có nhiễu tác động vào hệ thống.<br />
Từ khóa: Hệ thống phi tuyến, mạng nơ - ron, MIMO, nhận dạng hệ thống, RBF.<br />
Abstract: This paper presents a method for identification of MIMO nonlinear systems using<br />
Radial Basis Function neural networks. This method is applied to identify the Omni-Directional Mobile<br />
Robot model. This is a holonomic robot that can operate easily in small and narrow spaces, due to the<br />
ability of flexible rotational and translational moving, simultaneously and independently. The Omni-<br />
directional mobile robot is a MIMO nonlinear system. Identifying the parametric model of that robot<br />
requires several measurement tools. In this study, the RBF neural networks are developed and trained<br />
by an online training algorithm based on input-output data of the object. The simulation results in<br />
MATLAB indicates that the proposed identifying method is efficient and stable even under effecting of<br />
noises.<br />
Keywords: Multiple – Input – Multiple – Output, neural network, nonlinear system, RBF, system<br />
identification.<br />
1. Giới thiệu lớn và đa biến (MIMO) ta cần phải sử dụng<br />
Mạng nơ - ron nhân tạo (Aritificial Neural các phương pháp nhận dạng hiện đại mới đảm<br />
Networks) được giới thiệu năm 1990 cho kỹ bảo độ chính xác mong muốn.<br />
thuật điều khiển thích nghi các hệ thống động Các nghiên cứu trước đây chủ yếu tập<br />
học phi tuyến. Từ đó, mạng nơ - ron nhân tạo trung nhận dạng mô hình hệ phi tuyến SISO<br />
nhiều lớp nói chung và mạng nơ - ron RBF nói [3, 4], trong khi nghiên cứu này tiếp cận đến<br />
riêng, được sử dụng nhiều trong điều khiển và đối tượng MIMO. Giải pháp đề xuất được<br />
nhận dạng hệ thống [1]. kiểm nghiệm thông qua việc nhận dạng đối<br />
Nhận dạng hệ thống là bước đầu tiên và tượng robot di động đa hướng. Đây là một loại<br />
quan trọng nhất của nhiều lĩnh vực khoa học, robot có thể di chuyển dễ dàng trong những<br />
đặc biệt trong lĩnh vực điều khiển và tự động không gian nhỏ, hẹp do khả năng di chuyển<br />
hóa. Trong [2] đã đề cập nhiều phương pháp một cách linh hoạt, vừa quay vừa tịnh tiến<br />
nhận dạng khác nhau đối với nhận dạng off- đồng thời và độc lập. Mô hình robot di động<br />
line và online, các phương pháp này đều có đa hướng là một hệ MIMO phi tuyến. Kết quả<br />
chung nhược điểm là độ chính xác không cao, nhận dạng được kiểm tra thông qua mô phỏng<br />
chỉ phù hợp cho các đối tượng có tính phi trên phần mềm MATLAB trong phần 3.2.<br />
tuyến yếu. Khi đối tượng có tính phi tuyến 2. Nhận dạng hệ thống phi tuyến mimo<br />
mạnh, làm việc trong phạm vi rộng, chịu nhiễu sử dụng mạng nơ - ron RBF<br />
32<br />
Journal of Transportation Science and Technology, Vol 20, Aug 2016<br />
<br />
<br />
2.1. Hệ thống phi tuyến MIMO h j làhàm Gauss của nơ-ron thứ j có phương<br />
Cho hệ thống phi tuyến MIMO được biểu trình mô tả như sau:<br />
diễn bởi phương trình trạng thái (1) [5]: 2<br />
x - cj<br />
x(t) = f(x(t),u(t)) h j = exp(- ) , với j = 1, 2 …, m (2)<br />
(1) 2b 2j<br />
y(t) = g(x(t),u(t))<br />
Trong đó: Trong đó, m là số nút ẩn,<br />
u(t): Tín hiệu vào; c j = c j1 c j2 ... c jn là véc - tơ tâm của nơ -<br />
y(t): Tín hiệu ra; ron thứ j; véc - tơ độ rộng của hàm Gauss là<br />
b = b1 b 2 ... b m <br />
x(t): Vector biến trạng thái (n x 1); T<br />
, với b j > 0 mô tả giá trị độ<br />
f(.), g(.): Các hàm phi tuyến. rộng của hàm Gauss của nơ-ron thứ j.<br />
Bằng cách cung cấp cho hệ thống một tín Với giá trị trọng số là<br />
hiệu điều khiển u(t), ta sẽ đo được tín hiệu ở T<br />
ngõ ra y(t). Để nhận dạng mô hình hệ phi w = w1 w 2 ... w m thì ngõ ra của mạng nơ<br />
tuyến MIMO, ta thực hiện các bước sau [2]: - ron RBF được xác định là:<br />
- Thu thập dữ liệu vào ra. y(t) = w1h1 +w 2 h 2 +...+w m h m (3)<br />
- Tiền xử lý dữ liệu.<br />
- Chọn cấu trúc mô hình. Để huấn luyện mạng nơ-ron RBF, hàm<br />
- Ước lượng thông số. mục tiêu được định nghĩa như (4):<br />
- Đánh giá chất lượng mô hình. 1<br />
E(t) = (y(t) - y(t))2 (4)<br />
Phần tiếp theo, bài báo sẽ trình bày 2<br />
phương pháp ứng dụng mạng nơ-ron RBF Giải thuật cập nhật các thông số của mạng<br />
nhận dạng hệ phi tuyến MIMO. nơ-ron RBF theo phương pháp Gradient<br />
2.2. Mạng nơ-ron RBF cho nhận dạng Descent như sau [1]:<br />
Mạng nơ-ron RBF được sử dụng có cấu E<br />
trúc gồm lớp vào, lớp ẩn và lớp ra. Các nơ-ron Δw j (t)= - η = η(y(t) - y(t))h j (5)<br />
w j<br />
ở lớp ẩn được kích hoạt bằng hàm cơ sở xuyên<br />
tâm RBF [1]. Lớp ẩn bao gồm một mảng các w j (t) = w j (t - 1)+Δw j (t)+α <br />
w j (t -1) - w j (t - 2) (6)<br />
đơn vị tính toán được gọi là nút ẩn. Mỗi nút ẩn<br />
2<br />
chứa một vector tâm c có cùng kích thước với E<br />
<br />
x - cj<br />
Δb j (t)= - η =η y(t) - y(t) w j h j (7)<br />
vector ngõ vào x; khoảng cách Euclidean giữa b j b3j<br />
tâm c và vector ngõ vào x được định nghĩa bởi:<br />
b j (t) = b j (t -1)+Δb j (t)+α <br />
b j (t -1) - b j (t - 2) (8)<br />
x(t) - c (t) .<br />
j<br />
E<br />
<br />
x j - c ji<br />
Δc ji (t) = - η =η y(t) - y(t) w j (9)<br />
Mô hình nhận dạng đối tượng dùng mạng c ji b2j<br />
nơ-ron RBF được trình bày như hình 1:<br />
c ji (t) = c ji (t -1)+Δc ji (t)+α <br />
c ji (t -1) - c ji (t - 2) (10)<br />
Trong đó, η (0,1) là tốc độ học và<br />
α (0,1) là hệ số mô - men.<br />
3. Nhận dạng robot di động đa hướng<br />
3.1. Mô hình đối tượng<br />
Mô hình robot sẽ được trình bày dựa trên<br />
một số giả định đơn giản [6]. Giả sử các bánh<br />
Hình 1. Cấu trúc mạng RBF cho nhận dạng.<br />
xe không trượt theo hướng chuyển động. Lực<br />
Trong mạng nơ - ron RBF, ma sát lên bánh xe không cùng hướng với lực<br />
x = x1 x2 .... x n là véc - tơ ngõ vào và<br />
T tác dụng được bỏ qua. Lực ma sát trên trục<br />
động cơ và hộp số đơn giản là hệ số ma sát<br />
33<br />
TẠP CHÍ KHOA HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI, SỐ 20 - 08/2016<br />
<br />
<br />
nhớt. Hằng số thời gian động cơ điện cũng 1 0 cos( π ) -cos( π ) <br />
được bỏ qua. m 0 0 6 <br />
Cấu tạo thân robot được trình bày như 1 <br />
6<br />
π π <br />
H=0 0 ; B = -1 sin( ) sin( ) <br />
hình 2 và 3: L L <br />
m 6 6<br />
0 0 1 <br />
L<br />
<br />
I z <br />
Trong đó:<br />
r: Vận tốc góc (rad/s);<br />
u, v: Vận tốc dài (m/s);<br />
E1, E2, E3: Các điện áp lên các động cơ<br />
(V);<br />
Hình 2. Hệ tọa độ thân xe {B} và hệ tọa độ {W}.<br />
x, y: Vị trí của robot (m);<br />
Ψ: Góc xác định hướng của robot (rad);<br />
m: Khối lượng robot (kg);<br />
Iz: Mô - men quán tính (kgm2);<br />
R: Bán kính thân robot (m);<br />
n: Tỷ số truyền của hộp số;<br />
J0: Quán tính kết hợp của động cơ, giảm<br />
Hình 3. Lực tác dụng lên robot. tốc và bánh xe lên trục động cơ (kg.m2);<br />
Mỗi bánh xe được đặt sao cho trục hướng k3: Hệ số suất điện động;<br />
vào tâm robot và các trục bánh xe hợp với<br />
k2: Hệ số mô-men động cơ;<br />
nhau một góc 1200. Việc mô tả hoạt động của<br />
robot sử dụng hai hệ trục tọa độ: hệ tọa độ thân Ra: Điện trở phần ứng (Ω);<br />
xe {B} và hệ tọa độ không gian robot hoạt b0: Hệ số ma sát nhớt của động cơ, giảm<br />
động {W} như hình 2. Hệ tọa độ {B} được tốc và bánh xe (N.m.s);<br />
gắn cố định trên thân robot di chuyển, với gốc L: Điện cảm phần ứng (H).<br />
tọa độ đặt tại tâm hình học của robot. Hệ tọa Phươngg trình (11) và (12) cho thấy robot<br />
độ {W} được gắn cố định trong không gian chuyển động như một hệ phi tuyến MIMO có<br />
hoạt động của robot. liên hệ động lực học với nhau. Phần tử<br />
Từ hình 2 và hình 3, ta có được phương<br />
rv - ru 0 trong (12) là do chuyển động<br />
T<br />
trình động học robot được cho bởi ma trận<br />
chuyển hệ tọa độ từ hệ tọa độ thân về hệ tọa quay của robot.<br />
độ {W} và {B}: 3.2. Kết quả mô phỏng<br />
x cos (t ) - sin (t ) 0 u Robot di động đa hướng được nhận dạng<br />
y sin (t ) cos (t ) 0 v (11) và mô phỏng với các thông số từ sản phẩm<br />
0 0 1 r thực tế, gồm: R=0,0508; m=15; J0=5.10-3;<br />
n=50; b0=5,983.10-6; k2=0,06; k3=0,06;<br />
u -1 rv -1 T k 2 k 3 n 2 u k2n E1 Ra=0,9; L=0,23. Kết quả nhận dạng và sai số<br />
v = G - ru - G HBB ( +b 0 ) 2 v E 2 <br />
-1<br />
+G HB (12)<br />
r 0 R r RR a E nhận dạng các tín hiệu ngõ ra x, y và được<br />
Ra<br />
3<br />
thể hiện ở các hình từ hình 4 đến hình 9 với<br />
Trong đó: các tín hiệu vào khác nhau. Từ hình 10 đến<br />
T<br />
2<br />
n J0 hình 12 là kết quả khi nhiễu va chạm tác động<br />
G = (1+HBB 2<br />
) vào ngõ ra của hệ thống.<br />
R<br />
Khi tín hiệu vào là hằng số<br />
Hình 4 – 6 là kết quả nhận dạng và sai số<br />
nhận dạng của các ngõ ra x, y và với các tín<br />
34<br />
Journal of Transportation Science and Technology, Vol 20, Aug 2016<br />
<br />
<br />
hiệu vào là hằng số. Đáp ứng của hệ thống mong muốn và sai số nhận dạng tiến về 0<br />
bám theo tín hiệu cần nhận dạng sau thời gian khoảng 1 giây.<br />
khoảng 1 giây, sai số nhận dạng tiến về 0. Các 2<br />
ideal signal<br />
<br />
giá trị ban đầu của α , Δb, Δw, Δc được chọn<br />
<br />
<br />
<br />
<br />
xout and xmout<br />
1 signal identification<br />
<br />
<br />
theo phương pháp thử sai thực nghiệm, được 0<br />
<br />
<br />
khởi tạo ngẫu nhiên với giá trị nhỏ và tăng dần -1<br />
<br />
<br />
để lựa chọn bộ giá trị tốt nhất. -2<br />
0 1 2 3 4 5 6 7 8 9 10<br />
time(s)<br />
1.5<br />
ideal signal 0.6<br />
xout and xmout<br />
<br />
<br />
<br />
<br />
1 signal identification<br />
0.4<br />
0.5<br />
<br />
<br />
<br />
<br />
error<br />
0.2<br />
0<br />
0<br />
-0.5<br />
0 1 2 3 4 5 6 7 8 9 10 -0.2<br />
time(s) 0 1 2 3 4 5 6 7 8 9 10<br />
time(s)<br />
1.5<br />
<br />
1 Hình 7. Kết quả nhận dạng và sai số của ngõ ra x<br />
2<br />
error<br />
<br />
<br />
<br />
<br />
0.5<br />
<br />
<br />
<br />
yout and ymout<br />
0 1<br />
<br />
-0.5<br />
0 1 2 3 4 5 6 7 8 9 10 0<br />
time(s) ideal signal<br />
signal identification<br />
Hình 4. Kết quả nhận dạng và sai số của ngõ ra x. -1<br />
0 1 2 3 4 5 6 7 8 9 10<br />
2 time(s)<br />
<br />
0.5<br />
yout and ymout<br />
<br />
<br />
<br />
<br />
1<br />
0<br />
error<br />
<br />
<br />
<br />
<br />
0<br />
ideal signal<br />
-0.5<br />
signal identification<br />
-1<br />
0 1 2 3 4 5 6 7 8 9 10<br />
time(s) -1<br />
0 1 2 3 4 5 6 7 8 9 10<br />
1.5 time(s)<br />
<br />
1 Hình 8. Kết quả nhận dạng và sai số của ngõ ra y<br />
error<br />
<br />
<br />
<br />
<br />
0.5 4<br />
siout and simout<br />
<br />
<br />
<br />
<br />
0 3<br />
<br />
-0.5 2<br />
0 1 2 3 4 5 6 7 8 9 10<br />
time(s)<br />
1 ideal signal<br />
Hình 5. Kết quả nhận dạng và sai số của ngõ ra y. 0<br />
signal identification<br />
0 1 2 3 4 5 6 7 8 9 10<br />
time(s)<br />
15<br />
1<br />
siout and simout<br />
<br />
<br />
<br />
<br />
10<br />
0.5<br />
5<br />
error<br />
<br />
<br />
<br />
<br />
0<br />
0<br />
ideal signal<br />
signal identification -0.5<br />
-5<br />
0 1 2 3 4 5 6 7 8 9 10<br />
time(s) -1<br />
0 1 2 3 4 5 6 7 8 9 10<br />
4 time(s)<br />
<br />
2<br />
Hình 9. Kết quả nhận dạng và sai số của ngõ ra <br />
error<br />
<br />
<br />
<br />
<br />
0<br />
Khi nhiễu va chạm tác động vào ngõ<br />
-2<br />
0 1 2 3 4 5 6 7 8 9 10 ra hệ thống<br />
time(s)<br />
Hình 10 – 12 trình bày kết quả nhận dạng<br />
Hình 6. Kết quả nhận dạng và sai số của ngõ ra <br />
khi nhiễu va chạm tác động vào ngõ ra của hệ<br />
Khi tín hiệu vào là hàm Step thống. Các ngõ ra x, y, ψ và sai số nhận dạng<br />
Kết quả nhận dạng và sai số nhận dạng của chúng vẫn ổn định. Điều này chứng tỏ mô<br />
của các ngõ ra x, y và với các tín hiệu vào hình nhận dạng đã đề xuất đáp ứng tốt kể cả<br />
là hàm Step được trình bày ở Hình 7 – 9. Đáp khi có nhiễu tác động vào ngõ ra của hệ thống.<br />
ứng của hệ thống nhanh chóng đạt giá trị<br />
35<br />
TẠP CHÍ KHOA HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI, SỐ 20 - 08/2016<br />
<br />
2<br />
ideal signal<br />
4. Kết luận<br />
Bài báo này trình bày một phương pháp<br />
xout and xmout<br />
1 signal identification<br />
<br />
0 nhận dạng hệ thống phi tuyến MIMO sử dụng<br />
-1 mạng nơ - ron RBF. Phương pháp này được<br />
-2 ứng dụng để nhận dạng Omni - Directional<br />
0 1 2 3 4 5 6 7 8 9 10<br />
time(s) Mobile Robot. Ưu điểm của phương pháp này<br />
2 là thiết kế đơn giản, mang lại hiệu quả cao đối<br />
1<br />
với hệ thống phi tuyến MIMO như Omni -<br />
Directional Mobile Robot. Kết quả mô phỏng<br />
error<br />
<br />
<br />
<br />
<br />
0<br />
cho thấy bộ nhận dạng được thiết kế đạt hiệu<br />
-1 quả cao, sai số nhận dạng hội tụ về 0 đối với<br />
0 1 2 3 4 5 6 7 8 9 10<br />
time(s) các tín hiệu vào khác nhau và ổn định đối với<br />
Hình 10. Kết quả nhận dạng và sai số của x khi nhiễu tác động của nhiễu va chạm. Hiệu quả của bộ<br />
va chạm tác động ngõ ra. nhận dạng phụ thuộc vào sự điều chỉnh các giá<br />
4<br />
ideal signal trị α , Δb, Δw, Δc và sự lựa chọn số lượng nơ<br />
- ron ở lớp ẩn. Tuy nhiên vẫn chưa có phương<br />
yout and ymout<br />
<br />
<br />
<br />
<br />
signal identification<br />
2<br />
<br />
pháp cụ thể để tìm được các giá trị tối ưu mà<br />
phụ thuộc vào việc mô phỏng và đánh giá.<br />
0<br />
<br />
<br />
-2<br />
0 1 2 3 4 5 6 7 8 9 10<br />
Vấn đề này sẽ được giải quyết bằng cách kết<br />
time(s) hợp với giải thuật di truyền trong bài báo<br />
3<br />
sau<br />
2<br />
Tài liệu tham khảo<br />
error<br />
<br />
<br />
<br />
<br />
1<br />
[1] Jinkun Liu (2013), Rabias basis function (RBF)<br />
0<br />
neural network control for mechanical systems,<br />
-1<br />
0 1 2 3 4 5 6 7 8 9 10<br />
Springer.<br />
time(s)<br />
[2] Ljung, L. (1999), System Identification - Theory<br />
Hình 11. Kết quả nhận dạng và sai số của y khi nhiễu for the User, Prentice Hall, Upper SaddleRiver,<br />
va chạm tác động ngõ ra. N.J., 2nd edition.<br />
4 [3] Muhammad Asif Arain, Helon Vicente Hultmann<br />
Ayala,<br />
siout and simout<br />
<br />
<br />
<br />
<br />
3<br />
and Muhammad Adil Ansari (2012), Nonlinear<br />
2<br />
System Identification Using Neural Network,<br />
1<br />
ideal signal IMTIC 2012, CCIS 281, pp. 122–131.<br />
signal identification<br />
0<br />
0 1 2 3 4 5 6 7 8 9 10 [4] C. Pislaru, A. Shebani (2014), Identification of<br />
time(s) Nonlinear Systems Using Radial Basis Function<br />
0.6 Neural Network, International Scholarly and<br />
0.4 Scientifie Research & Innovation, Vol: 8, No: 9,<br />
pp. 1583-1588.<br />
error<br />
<br />
<br />
<br />
<br />
0.2<br />
[5] PGS.TS. Dương Hoài Nghĩa (2007): Điều khiển<br />
0<br />
hệ thống đa biến, NXB Đại học Quốc gia<br />
-0.2<br />
0 1 2 3 4 5 6 7 8 9 10 TpHCM.<br />
time(s)<br />
[6] Y. Liu, X. Wu, J. Zhu, J. Lew (2008), Omni<br />
Hình 12. Kết quả nhận dạng và sai số của khi directional mobile robot controlby trajectory<br />
nhiễu va chạm tác động ngõ ra. linearization, Robotics and Autonomous Systems<br />
56, pp. 461 – 479.<br />
Việc áp dụng luật cập nhật trọng số online Ngày nhận bài: 27/05/2016<br />
để nhận dạng đối tượng bằng mạng nơ - ron<br />
Ngày chuyển phản biện: 30/05/2016<br />
RBF thông qua mô phỏng trên MATLAB –<br />
Ngày hoàn thành sửa bài: 14/06/2016<br />
SIMULINK cho thấy được khả năng ưu việt<br />
Ngày chấp nhận đăng: 21/06/2016<br />
của thuật toán nhận dạng: Đáp ứng đầu ra luôn<br />
bám sát tín hiệu đặt mong muốn sau thời gian<br />
khoảng 1 giây và sai số nhận dạng tiến tới<br />
bằng 0, hệ làm việc xác lập và ổn định.<br />