Tải bản đầy đủ (.doc) (14 trang)

TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT ỨNG DỤNG MẠNG NƠ RON ĐIỀU KHIỂN CÁNH TAY MÁY

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 (843.24 KB, 14 trang )

ĐẠ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
.


KẾT LUẬN – KIẾN NGHỊ
Kết luận:
Nhận dạng được mô hình cánh tay máy một bậc tự do
trong phòng thí nghiệm bằng mạng nơ-ron.
Thiết kế bộ điều khiển nơ-ron theo mô hình mẫu cho cánh
tay máy một bậc tự do.
Viết được chương trình mô phỏng 2 chiều cho cánh tay
máy một bậc tự do trong Matlab.
Thiết kế và chế tạo thử nghiệm thành công cánh tay máy
một bậc tự do, có thể làm mô hình thực nghiệm cho các phương
pháp điều khiển khác.
Chưa cài đặt được bộ điều khiển dùng mạng nơ-ron cho
thiết bị thực trong Simulink (máy tính, Card Arduino 823).
Đã cài đặt được bộ điều khiển PID cho thiết bị thực trong
Simulink và thực hiện điều khiển thời gian thực cho cánh tay máy
một bậc tự do cho kết quả kiểm chứng đạt chất lượng điều khiển
khá tốt. Hệ thống mô hình làm việc được.
Kiến nghị:
Do quá trình nghiên cứu chế tạo mô hình thử nghiệm cánh
tay máy một bậc tự do chiếm nhiều thời gian nên công việc ứng
dụng bộ điều khiển chạy thử nghiệm trên mô hình thực đạt kết
quả chưa cao.
Định hướng nghiên cứu trong thời gian tới tiếp tục cài đặt
hệ thống kết nối mạng nơ-ron trong hệ thống Simulink.
Nâng cao chất lượng của bộ điều khiển nơ-ron cho cánh
tay máy một bậc tự do.
21
3.2.8. Điều khiển thực cho cánh tay máy một bậc tự do
Sử dụng PID trong Matlab Simulink kết hợp với Card
Arduino để điều khiển cánh tay máy.

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,

khả năng thích nghi kém.
Để kiểm tra tính khả thi của mạng nơ-ron trong nhận dạng và
điều khiển cánh tay máy, chúng tôi sẽ thiết kế và chế tạo thử
nghiệm cánh tay máy một bậc tự do và thử nghiệm các thuật toán
điều khiển trong thời gian thực.
Song song với phương pháp điều khiển bằng mạng nơ-ron còn
có những phương pháp điều khiển khác có tính hiệu quả cao như
phương pháp điều khiển kinh điển PID (Proportional Integral
Derivative), phương pháp điều khiển thích nghi bền vững
Điều khiển bám ổn định tốc độ động cơ, cơ cấu chấp hành là
nhiệm vụ hàng đầu đang được đặt ra cho bài toán điều khiển hệ
thống.
1
20
Để thực hiện được bài toán điều khiển ta cần xây dựng mô
hình toán mô tả tính chất động lực học của nó với đầy đủ những
yếu tố kết cấu cơ khí, vật liệu của nó. Từ mô hình toán cụ thể mới
có thể phân tích được và lựa chọn phương pháp điều khiển thích
hợp. Nhìn chung, nhiệm vụ điều khiển bám ổn định hay quỹ đạo
góc của chuyển động là một bài toán rất phức tạp.
Mục tiêu nghiên cứu
Ứng dụng mạng nơ-ron nhận dạng và điều khiển cánh tay máy
một bậc tự do.
Thiết kế và chế tạo thử nghiệm cánh tay máy một bậc tự do.
Đối tượng và phạm vi nghiên cứu
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.
Ý nghĩa khoa học và thực tiễn đề tài
Với phương pháp nhận dạng và điều khiển bằng mạng nơ-ron,

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

tần số nhưng lệch pha 90 độ.
3.2.2. Thuật toán đo tốc độ động cơ
Gọi số xung xuất ra từ kênh A (kênh B) trong 1s là: n. Số xung
của đĩa Encoder là: Ne (khi động cơ quay được 1 vòng thì trên
kênh A hoặc B sẽ xuất ra Ne xung). Suy ra tốc độ động
cơ:
n
v
Ne
=
(vòng/giây).
Vậy để đo được tốc độ động cơ, bạn chỉ cần đếm được số xung
xuất ra từ 1 trong 2 kênh A và B trong thời gian 1s hay nói cách
khác đó chính là tần số của xung Encoder. Thời gian 1s này còn
được gọi là thời gian lấy mẫu, tuy nhiên nếu chọn thời gian lấy
mẫu quá lớn (1s) sẽ dẫn đến sai số trong việc đếm số xung, làm
mất thời gian thực thi của vi điều khiển và làm cho quá trình hiệu
chỉnh tốc độ (nếu có) không được liên tục vì vậy việc chọn thời
gian lấy mẫu rất quan trọng, không được quá lớn và không được
quá bé.
Gọi thời gian lấy mẫu là: Ts. Gọi số xung Encoder xuất ra
trong thời gian Ts là ns.
Tốc độ động cơ:
.1000
.
ns
v
NeTs
=
Kinh nghiệm lấy mẫu sao cho thươ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

( ) ( w ( ) )
m
i j i
j
y k a x k
θ
=
= −

y
i

Σ
a(.)
θ
i
x
1
w
i1
w
i2
x
2
x
m
w
im
PE
i

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

: Bias.
a(.):

Hàm truyền.
1.1.2.2. Hàm truyền
Một số hàm thông dụng:
Hàm bước nhảy đơn vị:
Chương 3
THIẾT KẾ, CHẾ TẠO MÔ HÌNH CÁNH TAY MÁY MỘT
BẬC TỰ DO TRONG PHÒNG THÍ NGHIỆM
3.1 Thiết kế và chế tạo mô hình cánh tay máy một bậc tự do
trong phòng thí nghiệm.
3.2. Mô hình thí nghiệm cánh tay máy một bậc tự do
Cấu trúc mô hình bàn thí nghiệm cánh tay máy một bậc tự do
với bốn phần cơ bản gồm:
- Máy tính xách tay: Core i3, 1,8Hz, Ram 4G – Phần mềm
Matlab 2013a.
- Card điều khiển Arduino.
- Động cơ DC Encoder 334 xung.
- IC L298N.
- IC SN74HC08N.
- Bo mạch đa năng.
- Tay máy: kích thước 250 mm x 25 mm x 0,2mm và khối
lượng 0,1 gam.
Hình 3.1. Sơ đồ khối mô hình thí nghiệm.
x
1
x
i
x

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

1 nếu f ≥ 0
a(f) =
0 nếu f < 0
4
17
Nhận xét:
Tín hiệu ra của mạng nơ-ron đối tượng bám được theo tín hiệu
ra của mô hình mẫu. Do đó chúng ta có thể sử dụng bộ điều khiển
là mạng nơ-ron đã được huấn luyện ở trên làm bộ điều khiển cho
mô hình cánh tay máy một bậc tự do thực.
Ở chương tiếp theo chúng tôi sẽ trình bày quá thiết kế, chế tạo
mô hình cánh tay máy thực trong phòng thí nghiệm và hệ thống
vi xử lý arduino 328 kết nối với máy tính.
Hàm dấu:
Hàm dốc:
Hàm tuyến tính:
( )a f net f
= =
Hàm logsig:
1
( ) , 0
1
f
a f
e
λ
λ

= >
+

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

16
0 nếu f < 0
a(f) = f nếu 0 ≤ f ≤ 1
1 nếu f > 0
Xác định các biến vào/ra và miền giá trị của các biến đó.
5
1.2.3. Thu thập dữ liệu
Thu thập một lượng lớn các mẫu dữ liệu đảm bảo nguyên tắc
ngẫu nhiên, khách quan và phủ toàn bộ không gian đầu vào. Đối
với các dữ liệu biến động kiểu chuỗi thời gian thì cần đảm bảo
trình tự các sự kiện sao cho tạo ra các thông tin cốt lõi về đối
tượng. Đối với các dữ liệu ngẫu nhiên có dạng hoàn toàn độc lập
nhau thì phải bảo đảm đã quét hết các dạng cần thiết.
1.2.4. Tiền xử lý dữ liệu
Thông thường tập dữ liệu thu thập được cần phải xử lý để đảm
bảo các yêu cầu: Dữ liệu mẫu phân bố đồng đều, đủ đại diện cho
tất cả các dạng trong một phân hoạch không gian nào đó, dữ liệu
được thu gọn trong mô hình mạng nơ-ron phù hợp.
1.2.5. Lựa chọn mô hình mạng nơ-ron
Tùy theo bản chất xử lý dữ liệu của bài toán mà ta lựa chọn
mạng nơ-ron phù hợp.
1.2.6. Huấn luyện mạng
Các thao tác thực hiện bao gồm:
- Phần dữ liệu mẫu thành ba tập con: tập mẫu học, tập kiểm
soát (để xác định khi nào dừng quá trình học) và tập kiểm thử (để
kiểm tra khả năng đón nhận, dự đoán mạng). Trong đó tập mẫu
học phải mang tính đại diện, còn tập kiểm thử gắn với dáng điệu
thực của môi trường đang xét.
- Xác định luật học
- Xác định cơ chế cập nhật trọng số các nơ-ron trong quá trình

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

Chương 2
ỨNG DỤNG MẠNG NƠ-RON NHẬN DẠNG VÀ ĐIỀU
KHIỂN CÁNH TAY MÁY MỘT BẬC TỰ DO
Để có thể nhận dạng được đối tượng bằng mạng nơ-ron chúng
ta cần phải có một tập mẫu vào ra để huấn luyện mạng. Chúng tôi
đã sử dụng hệ vi xử lý arduino 328 để kết nối giữa máy tính và
cánh tay máy. Card arduino này sẽ thu thập giá trị góc từ
encorder và đưa về máy tính, đồng thời phát tín hiệu điện áp đưa
ra động cơ để điều khiển cánh tay máy. Bộ dữ liệu mẫu sẽ được
lưu lại trong một tệp có tên là quang_data.mat.
Chúng tôi sẽ phát một chuỗi các tín hiệu điện áp có dạng hàm
bước nhẩy với biện độ ngẫu nhiền (từ -12 đến 12 V) và độ dài của
hàm bước nhẩy là ngẫu nhiên tới động cơ. Sau đó sẽ thu thập giá
trị góc của cánh tay máy. Chuỗi tín hiệu này có độ dài là 100 giây
và chu kỳ lấy mẫu được chọn là Ts = 0.05 giây.
2.1. Ứng dụng mạng nơ-ron nhận dạng mô hình cánh tay máy
một bậc tự do thực
Để nhận dạng mô hình cánh tay máy một bậc tự do thực,
chúng tôi chọn mạng nơ-ron có cấu trúc với 6 nơ-ron ở lớp thứ
nhất. Quá trình huấn luyện mạng sẽ bao gồm 2 giai đoạn.
Giai đoạn thứ nhất sẽ huấn luyện vòng hở. Ở giai đoạn này,
mạng nơ-ron sẽ bị cắt đường phản hồi từ đầu ra của mạng trở về
lớp 1, đầu vào thứ 2 là tín hiệu ra mẫu.
Giai đoạn thứ hai sẽ huấn luyện mạng kín. Sau khi huấn luyện
mạng hở, chúng tôi sẽ nối đầu ra của mạng hở với đầu vào thứ 2
của mạng. Để huấn luyện mạng kín chúng tôi sẽ chia tập dữ liệu
ban đầu là N mẫu thành các chuỗi nhỏ, mỗi chuỗi có độ dài là C
mẫu. Đầu tiên sẽ huẫn luyện mạng với các chuỗi có độ dài là C =
4, nếu thành công sẽ tăng lên thành C = 5, cứ tiếp tục như thế cho
tới khi C = N.

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 mau


Tin 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

mẫu dùng để huấn luyện mạng kín sẽ gồm RI và RT.
2.3.1 Huấn luyện mạng hở
Sau khi huấn luyện mạng hở ta thu được các kết quả như hình
vẽ 2.7 và 2.8.
8
13
t_desired = 99; % number of samples
data_length = 0;
t_data = 0; % store time
ref_data = rand*umax; % store reference input
while data_length < t_desired
a = tmin + rand*(tmax-tmin);
b = umin + rand*(umax-umin);
t = [data_length+Ts data_length+a];
t_data = [t_data t];
ref_data = [ref_data b b];
data_length = data_length + a;
end
reference_input = [t_data;ref_data]';
plot(t_data,ref_data)
title('Reference input')
grid on
save PT2612 reference_input
Tín hiệu vào mẫu này sẽ được đưa vào đầu vào của mô hình
mẫu để có được đầu ra mẫu. Sơ đồ hệ thống phát tín hiệu ra mẫu
như hình 2.5.
Hình 2.5. Sơ đồ hệ thống phát tín hiệu ra mẫu.
hiệu ra mẫu và sai số giữa đầu ra mạng hở và tín hiệu ra mẫu.
MSE là sai lệch bình phương trung bình có công thức tính như
sau:

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.

Hình 2.4. MSE của mạng kín.
Nhận xét:
Sau khi huấn luyên mạng nơ-ron ta nhận thấy, đầu ra của
mạng nơ-ron giống với đầu ra của tín hiệu mẫu. Như vậy mạng
nơ-ron này có thể được dùng để làm mô hình đối tượng cho mô
hình cánh tay máy một bậc tự do thực.
Chúng tôi sẽ sử dụng mạng nơ-ron này để huấn luyện mạng
nơ-ron cho bộ điều khiển theo mô hình mẫu.
2.2 Mô phỏng cánh tay máy một bậc tự do trong không gian
hai chiều
Để tiện cho việc mô phỏng, thử nghiệm và nghiên cứu về cánh
tay máy một bậc tự do chúng tôi viết một chương trình mô phỏng
cánh tay máy một bậc tự do trong không gian hai chiều trong môi
trường Matlab/Simulink. Chương trình này được cài đặt cho một
khối S-function. Đầu vào của khối là giá trị góc của cánh tay máy
ở thời điểm hiện tại, đầu ra sẽ là hình vẽ của cánh tay máy ở thời
điểm hiện tại.
2.3. Ứng dụng mạng nơ-ron diều khiển cánh tay máy một bậc
tự do theo mô hình mẫu
Trong phần này chúng tôi sẽ dùng một mạng nơ-ron làm bộ
điều khiển theo mô hình mẫu. Mô hình mẫu được chọn là một hệ
thống động học tuyến tính bậc hai, có hai điểm cực lặp tại -3 và
hệ số khuếch đại tĩnh là 1. Hệ thống này có hàm truyền như sau:
2
9
( )
6 9
G s
s s
=

+ +
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

×