ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
*****
NGUYỄN XUÂN QUANG
ĐỀ TÀI
ỨNG DỤNG MẠNG NƠ RON ĐIỀU KHIỂN
CÁNH TAY MÁY
Chuyên ngành: Kỹ thuật điều khiển và Tự động hóa
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
Thái Nguyên – 2014
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
*****
NGUYỄN XUÂN QUANG
ĐỀ TÀI
ỨNG DỤNG MẠNG NƠ RON ĐIỀU KHIỂN
CÁNH TAY MÁY
Chuyên ngành: Kỹ thuật điều khiển và Tự động hóa
Mã số: 6052 0216
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. NGUYỄN HOÀI NAM
Thái Nguyên - 2014
Nhận xét:
- Hệ thống ổn định.
- Sai số xác lập nhỏ hơn 5%.
- Bộ điều khiển hoạt động tốt trong phạm vi -50
0
đến 50
0
.
Hình 3.8. Sơ đồ bộ điều khiển cánh tay máy một bậc tự do.
Kết quả điều khiển thực thu được như sau:
- Tín hiệu màu đỏ là tín hiệu góc đặt cho cánh tay.
- Tín hiệu màu xanh là tín hiệu góc thực được đo từ cánh
tay máy như hình 3.9.
Hình 3.9. Đồ thị kết quả
điều khiển cánh tay một
bậc tự do thực nghiệm.
PHẦN MỞ ĐẦU
Tổng quan về phương pháp điều khiển nơ-ron
Mạng nơ-ron nhân tạo (Artificial Neural Networks) được xây
dựng dựa trên những hiểu biết về bộ não của con người, giúp ta
đưa ra một phương pháp mới trong lĩnh vực tiếp cận hệ thống
thông tin. Mạng nơ-ron nhân tạo có thể được dùng để giải quyết
bài toán nhận dạng mẫu (Recognition), tối ưu, nhận dạng
(Identification) và điều khiển cho các đối trong trường hợp ta
không biết mô hình toán của nó và chỉ biết thông tin vào và ra
của đối tượng.
Từ năm 1943, Mc. Culloch Pitts đã đưa ra một số liên kết cơ
bản của mạng nơ-ron. Những năm sau đó đã có nhiều công trình
nghiên cứu đề xuất và phát triển các cấu trúc, luật học cho nhiều
loại mạng nơ-ron truyền thẳng và hồi quy mới có tính hiệu quả
hơn.
Trong công nghiệp chế biến, lắp ráp và các loại rô bốt khác
nhau, cánh tay máy được sử dụng rất nhiều. Hiện tại có nhiều
phương pháp điều khiển khác nhau được áp dụng để điều khiển
cánh tay máy.
Nhưng việc áp dụng mạng nơ-ron vào điều khiển hệ thống này
còn rất hạn chế. Với những mạng nơ-ron hồi qui thông thường
hay gặp phải vấn đề tối ưu cục bộ, tốc độ huấn luyện mạng chậm,
chúng ta không cần phải sử dụng mô hình toán của đối tượng mà
chỉ cần quan tâm tới tập tín hiệu mẫu vào và ra của đối tượng
cũng như mô hình mẫu. Do đó sẽ tránh được quá trình xây dựng
mô hình toán rất là phức tạp và mất nhiều thời gian và công sức.
Phương pháp nghiên cứu
Nghiên cứu lý thuyết:
- Nghiên cứu mạng nơ-ron hồi qui, mạng RCN (Reservoir
Computing Networks) và các phương pháp huấn luyện mạng.
- Nghiên cứu các thuật toán điều khiển cánh tay máy.
- So sánh chất lượng của hệ thống điều khiển cánh tay máy với
các phương pháp điều khiển khác nhau.
Nghiên cứu thực nghiệm:
- Chạy thử nghiệm chương trình trên Matlab.
- Thực nghiệm trên mô hình vật lý để kiểm nghiệm, hoàn thiện
cấu trúc và tham số bộ điều khiển.
3.2.4. IC L298N
IC L298N là một mạch bán dẫn tích hợp trong một khối, có 15
chân. Nó có thể kiểm soát không chỉ một mà là hai động cơ. Với
điện áp ra lớn, sai số tín hiệu ra nhỏ và tản nhiệt tốt Do đó chúng
tôi lựa chọn IC L298N cho mô hình thí nghiệm.
3.2.5. IC SN74HC08N
3.2.6. Giới thiệu Card Arduino
3.2.7. Thiết kế và chế tạo bo mạch điều khiển
Sơ đồ mạch:
Hình 3.2. Cấu trúc sơ đồ mạch.
2
19
3.2.1. Động cơ DC
Động cơ Encoder V2 chạy được với điện áp nguồn DC tối đa
31V, tích hợp đĩa Encoder 334 xung, cho 2 kênh ra A và B cùng
1000
.NeTs
chẵn là tốt nhất,
dễ cho việc xử lý số liệu hơn.
INT0: Khi có cạnh xuống của tín hiệu Encoder thì biến Count
Encoder tăng lên 1, đây là biến lưu số xung Encoder trong thời
gian Ts.
3.2.3. Điều khiển tốc độ và chiều quay của động cơ
Để điều khiển tốc độ và chiều của động cơ chúng tôi sử dụng
phương pháp băm xung PWM (Pulse Width Modulation) cùng
phần cứng là IC L298N.
Chương 1
CƠ SỞ LÝ THUYẾT MẠNG NƠ-RON
1.1. Giới thiệu mạng nơ-ron
1.1.1. Mạng nơ-ron nhân tạo
Để xây dựng một mạng nơ-ron nhân tạo giống như hệ nơ-ron
con người, vào năm 1943 Mc. Culloch và Pitts đề ra cấu trúc cơ
bản của một nơ-ron thứ i trong mô hình của mạng nơ-ron nhân
tạo như hình 1.1.
Trong đó:
- x
j
(k): Tín hiệu vào thứ j ở thời điểm k.
- y
i
(k): Tín hiệu ra thứ i ở thời điểm k.
- a(.): Hàm truyền:
Quan hệ vào ra của nơ ron thứ i như sau:
ij
1
Hình 1.1. Mô hình nơ-ron của
Mc. Culloch và Pitts.
3
18
Trong đó, w
ij
biểu diễn cường độ kết nối giữa đầu vào thứ j và
nơ-ron thứ i.
1.1.2. Các thành phần cơ bản của mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo được đặc trưng bởi 3 yếu tố: phần tử
xử lý, cấu trúc và ghép nối của các phần tử xử lý, phương pháp
huấn luyện để cập nhập các trọng số w
ij
.
1.1.2.1. Nơ-ron
Mỗi nơ-ron có nhiều đầu vào và một đầu ra như hình 1.2. Hàm
tác động a(f) tạo tín hiệu ra.
Hình 1.2. Mô hình nơ-ron thứ i.
x
j
:
Tín hiệu đầu vào thứ j.
w
ij
: Trọng số để kết nối giữa x
j
nơ-ron thứ j.
b
i
m
b
i
a(.)
y
i
w
im
w
i
j
w
i
1
v
i
Σ
Card Arduino
Computer
Matlab
Động cơ DC
Encoder,
Cánh tay máy
Nguồn vào,
IC L298N,
IC
SN74HC08N
Bo mạch
Vị trí
đặt
Hàm tansig:
1
( ) 1, 0
1
f
a f
e
λ
λ
−
= − >
+
1.1.2. Cấu trúc và ghép nối của các nơ-ron
Mô hình ghép nối của các mạng nơ-ron nhân tạo có thể chia
ra làm 2 loại: Mạng truyền thẳng (Feedforward Network) và
mạng hồi tiếp (Feedback Network).
1.1.3. Phân loại mạng nơ-ron
Phân loại theo cấu trúc liên kết gồm có mạng truyền thẳng và
mạng hồi tiếp.
Phân loại theo số lớp gồm có mạng đơn và mạng đa lớp.
Phân loại theo phương pháp học gồm có học có giám sát, học
tăng cường và học không có giám sát.
1.2. Trình tự thiết kế mạng nơ-ron ứng dụng
1.2.1. Xác định bài toán
Tùy theo yêu cầu bài toán cần giải quyết cụ thể mà có thể xác
định thuộc bài toán phân lớp dữ liệu hoặc nhận dạng đối tượng
1.2.2. Xác định các biến vào ra
1 nếu f ≥ 0
a(f) =
-1 nếu f < 0
huấn luyện.
- Khởi tạo các tham số (các loại mạng khác nhau tương ứng có
các tham số khác nhau. Các trọng số, tham số ban đầu xác định
ngẫu nhiên hay theo kinh nghiệm).
- Tốc độ học.
- Tiêu chuẩn dừng học.
1.2.7. Tinh chỉnh mạng
Muốn nâng cao hiệu quả sử dụng mạng cần phải cập nhật mẫu
học, cải tiến cơ chế huấn luyện, tinh chỉnh cấu trúc và tham số
mạng.
2.3.2. Huấn luyện mạng kín
Sau khi huấn luyện mạng kín ta thu được kết quả như hình 2.9
và hình 2.10.
Hình 2.9. Network Output, Target và Error.
Hình 2.10. MSE của mạng kín.
6
15
Hình 2.7. Network Output, Target và Error.
Hình 2.8. MSE của mạng hở.
Ta nhận thấy sai số là nhỏ và chấp nhận được, do đó ta sẽ sử
dụng bộ trọng số của mạng hở sau khi huấn luyện là bộ trọng số
ban đầu để huấn luyện mạng kín.
Trong trường hợp mạng tuy đã huấn luyện tốt nhưng kết quả
không đáp ứng yêu cầu với các dữ liệu kiểm thử (hiện tượng học
quá khít) thì tiến hành:
- Tăng số liệu mẫu và huấn luyện lại mạng.
- Xem xét lại tập dữ liệu mẫu với sự tư vấn của chuyên gia.
14
7
2.1.1 Huấn luyện mạng hở
Sau khi huấn luyện mạng nơ-ron với số nơ-ron lớp 1 là n = 6,
ta thu được các kết quả như hình vẽ 2.1 và 2.2. Trong đó,
Network Output, Target và Error lần lượt là đầu ra mạng hở, tín
Tín hiệu vào mẫu và ra mẫu sẽ được lưu lần lượt vào các biến
là RI và RT. Hình 2.6 biểu diễn tín hiệu vào và ra mẫu.
0 10 20 30 40 50 60 70 80 90 100
-6
-4
-2
0
2
4
6
Tin hieu vao ra mauTin hieu vao mau
Tin hieu ra mau
Hình 2.6. Tín hiệu vào ra từ mô hình mẫu.
Sau khi có tín hiệu mẫu, chúng ta sẽ lựa chọn cấu trúc mạng
nơ-ron cho bộ điều khiển. Với đối tượng là cánh tay máy một bậc
tự do, chúng tôi chọn mạng nơ-ron cho bộ điều khiển có cấu trúc
giống như mạng nơ-ron cho đối tượng. Mạng này bao gồm hai
lớp, lớp 1 có 6 nơ-ron. Mạng này kết hợp với mạng nơ-ron của
đối tượng tạo thành một mạng kín có 4 lớp. Mạng kín này có 4
lớp, trong đó hai lớp đầu là bộ điều khiển và 2 lớp sau là mạng
nơ-ron của đối tượng đã được huấn luyện ở phần 2.1. Trong quá
trình huấn luyên mạng này, chỉ có mạng của bộ điều khiển (hai
lớp đầu) là được cập nhật, còn hai lớp sau là giữ cố định. Tập
2
1
1
( )
N
k k
k
MSE y t
N
=
= −
∑
Với
k
y
là đầu ra của mạng hở tương ứng với đầu vào mẫu thứ
k và
k
t
là đầu ra mẫu tương ứng với đầu vào mẫu thứ k.
Hình 2.1. Network Output, Target và Error.
Hình 2.2. MSE của mạng hở.
12
9
2.1.2 Huấn luyện mạng kín
Sau khi huấn luyện mạng hở, chúng ta sẽ có các bộ trọng số và
bias của mạng hở. Các giá trị này được sử dụng như là các giá trị
ban đầu cho mạng kín. Sau khi huấn luyện mạng kín ta thu được
các kết quả như hình 2.3 và hình 2.4.
Hình 2.3. Network Output, Target và Error.
+ +
Từ mô hình mẫu này chúng tôi sẽ viết một chương trình m-file
trong Matlab để tạo ra tín hiệu vào mẫu. Chương trình này sẽ tạo
ra một tín hiệu vào mẫu có dạng là một chuỗi các tín hiệu bước
nhảy có biên độ và độ dài ngẫu nhiên. Chương trình được viết
như sau:
tmin = .1;
tmax = 2;
umin = -5.5;
umax = 5.5;
Ts = 0.05; % Sampling time
11
10